diff --git a/pr-previews/pr-663/404.html b/pr-previews/pr-663/404.html deleted file mode 100644 index 0d3d7f38..00000000 --- a/pr-previews/pr-663/404.html +++ /dev/null @@ -1,57 +0,0 @@ -Theia - Cloud and Desktop IDE Platform
404

Oops!

We can't find the page you're looking for

Back to Home  →
- - \ No newline at end of file diff --git a/pr-previews/pr-663/404/index.html b/pr-previews/pr-663/404/index.html deleted file mode 100644 index 2f5252b5..00000000 --- a/pr-previews/pr-663/404/index.html +++ /dev/null @@ -1,57 +0,0 @@ -Theia - Cloud and Desktop IDE Platform
404

Oops!

We can't find the page you're looking for

Back to Home  →
- - \ No newline at end of file diff --git a/pr-previews/pr-663/8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js b/pr-previews/pr-663/8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js deleted file mode 100644 index 7d3dc943..00000000 --- a/pr-previews/pr-663/8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkTheia_Website=self.webpackChunkTheia_Website||[]).push([[205],{3451:function(e,i,t){t.d(i,{s:function(){return a},v:function(){return o}});const n=function(e,i,t,n){return void 0===n&&(n=!1),{title:e,path:"/docs/"+(i?i+"/":""),subMenu:t,indented:n}},a=[{title:"Overview"},n("Getting Started",""),n("Project Goals","project_goals"),{title:"Using the Theia IDE"},n("Getting Started","user_getting_started"),n("Installing VS Code Extensions","user_install_vscode_extensions"),n("Using AI Features","user_ai"),n("Using the dynamic Toolbar","user_toolbar"),n("Download","blueprint_download"),{title:"Adopting the Theia Platform"},n("Build your own IDE/Tool","composing_applications"),n("Extending the Theia IDE","blueprint_documentation"),n("Extensions and Plugins","extensions"),n("Authoring Theia Extensions","authoring_extensions"),n("Authoring VS Code Extensions","authoring_vscode_extensions"),n("Consuming Theia fixes without upgrading","consume_theia_fixes_master"),{title:"Platform Concepts & APIs"},n("Services and Contributions","services_and_contributions"),n("Architecture Overview","architecture"),n("Commands/Menus/Keybindings","commands_keybindings"),n("Widgets","widgets"),n("Preferences","preferences"),n("Theia AI","theia_ai"),n("Label Provider","label_provider"),n("Message Service","message_service"),n("Property View","property_view"),n("Events","events"),n("Frontend Application Contributions","frontend_application_contribution"),n("Backend Application Contributions","backend_application_contribution"),n("Communication via JSON-RPC","json_rpc"),n("Tasks","tasks"),n("Internationalization","i18n"),n("Language Support","language_support"),n("Dynamic Toolbar","toolbar"),n("Breadcrumbs","breadcrumbs"),n("Enhanced Tab Bar Preview","enhanced_tab_bar_preview"),n("Contribution Filter","contribution_filter"),n("Advanced Tips","tips")];function o(e,i,t){void 0===i&&(i=a),void 0===t&&(t={});const n=i.findIndex((i=>{let{path:t}=i;return!!t&&t.includes(e)}));return{prev:i[n-1]&&i[n-1].path?i[n-1].path:i[n-2]&&i[n-2].path&&i[n-2].path,prevTitle:i[n-1]&&i[n-1].path?i[n-1].title:i[n-2]&&i[n-2].path&&i[n-2].title,next:i[n+1]&&i[n+1].path?i[n+1].path:i[n+2]&&i[n+2].path&&i[n+2].path,nextTitle:i[n+1]&&i[n+1].path?i[n+1].title:i[n+2]&&i[n+2].path&&i[n+2].title}}},9140:function(e,i,t){t.d(i,{A:function(){return y}});var n=t(644),a=(t(6540),t(8660)),o=t(1919),r=t(4810),s=t(7361),l=t(4572),d=t(3451),m=t(7437);const c=(0,n.A)("div",{target:"e17llkhu0"})("width:30%;min-height:100vh;min-width:25rem;border-right:10px solid #f8f8f8;background-image:url(",s.A,");background-size:cover;background-position:center;background-repeat:no-repeat;.container{position:relative;min-height:100vh;min-width:25rem;padding:10rem 0;background-image:url(",s.A,"),linear-gradient(#fff, #fff);background-size:cover;background-position:center;background-repeat:no-repeat;}@media(max-width: ",o.fi.xmd,"){display:none;}.logo{display:block;height:2.8rem;margin:0 auto 13rem auto;}.links{display:flex;flex-direction:column;justify-content:center;list-style:none;min-width:21rem;width:50%;margin:0 auto;}ul{list-style:none;}li{text-align:left;&:not(:last-of-type){margin-bottom:.7rem;}}a{text-decoration:none;color:inherit;transition:all .2s;&:hover,&:focus{color:",o.Tj.blue,";padding:.2rem 0 .4rem;border-bottom:1px dashed #9dc7d9;}}.caption{font-family:'Anonymous Pro',sans-serif;font-weight:bold;text-transform:uppercase;&:not(:first-of-type){margin-top:3rem;}}.active{color:",o.Tj.blue,";padding:.2rem 0 .4rem;border-bottom:1px dashed #9dc7d9;}");var g=()=>(0,m.Y)(c,null,(0,m.Y)("div",{className:"container"},(0,m.Y)(r.N_,{to:"/"},(0,m.Y)("img",{className:"logo",src:l.A,alt:"theia logo"})),(0,m.Y)("ul",{className:"links"},d.s.map(((e,i)=>(0,m.Y)("li",{key:`${e.title}+${i}`,className:e.path?"":"caption",style:e.indented?{marginLeft:"3rem",marginTop:"1rem",listStyle:"circle",listStylePosition:"inside"}:{}},e.path?(0,m.Y)(r.N_,{to:e.path,activeClassName:"active"},e.title):e.title))))));const p=(0,n.A)("div",{target:"ewv6paa0"})("position:absolute;top:4rem;left:50%;transform:translate(-50%, -2rem);z-index:100;@media(max-width: 360px){top:9rem;}@media(min-width: ",o.fi.xmd,"){display:none;}select{font:inherit;color:inherit;padding:1rem 1.5rem;background:#fff;border:1px solid #ddd;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-image:url(","data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0iQ2FwYV8xIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgeD0iMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjU1IDI1NSIgeT0iMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjU1IDI1NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PGxpbmsgaWQ9ImRhcmstbW9kZSIgY2xhc3M9ImFjdGl2ZS1wYXRoIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+PHN0eWxlIGlkPSJkYXJrLW1vZGUtY3VzdG9tLXN0eWxlIiBjbGFzcz0iYWN0aXZlLXBhdGgiIHR5cGU9InRleHQvY3NzIi8+PGc+PGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBvbHlnb24gZmlsbD0iIzM4MzgzOCIgcG9pbnRzPSIwIDYzLjc1IDEyNy41IDE5MS4yNSAyNTUgNjMuNzUiIGNsYXNzPSJhY3RpdmUtcGF0aCIgZGF0YS1vcmlnaW5hbD0iIzAwMDAwMCIvPjwvZz48L2c+PC9nPjwvc3ZnPg==","),linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);background-repeat:no-repeat,repeat;background-position:right .7em top 50%,0 0;background-size:.65em auto,100%;}option{&:disabled{font-family:'Anonymous Pro',monospace;color:inherit;}}"),u=e=>{(0,r.oo)(e.currentTarget.value)};var h=()=>(0,m.Y)(p,null,(0,m.Y)("select",{onChange:u,defaultValue:"Select A Topic"},(0,m.Y)("option",{value:"#",selected:!0},"Select A Topic"),d.s.map(((e,i)=>(0,m.Y)("option",{key:i,value:e.path,disabled:!e.path},e.title))))),b=t(7518),I=t(9620),v="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1OS40MTQgNTkuNDE0IiBpZD0iQ2FwYV8xIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgeD0iMCIgeT0iMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNTkuNDE0IDU5LjQxNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PGxpbmsgaWQ9ImRhcmstbW9kZSIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPjxzdHlsZSBpZD0iZGFyay1tb2RlLWN1c3RvbS1zdHlsZSIgdHlwZT0idGV4dC9jc3MiLz48Zz48cG9seWdvbiBmaWxsPSIjMzgzODM4IiBwb2ludHM9IjI5LjcwNyA0NS4yNjggMCAxNS41NjEgMS40MTQgMTQuMTQ2IDI5LjcwNyA0Mi40MzkgNTggMTQuMTQ2IDU5LjQxNCAxNS41NjEiIGNsYXNzPSJhY3RpdmUtcGF0aCIgZGF0YS1vbGRfY29sb3I9IiM0OEEwREMiIGRhdGEtb3JpZ2luYWw9IiM0OEEwREMiLz48L2c+PC9nPjwvc3ZnPg==";const f=(0,n.A)("div",{target:"ex5dzuf0"})({name:"3ufj4z",styles:"display:flex;justify-content:space-between;margin-top:10rem;.arrow{display:inline-block;height:6rem;&--left{transform:rotate(90deg);}&--right{transform:rotate(270deg);}}"});var w=e=>{let{prev:i,next:t,prevTitle:n,nextTitle:a}=e;const o="Go to previous Page "+(n?`: ${n}`:""),s="Go to next page "+(a?`: ${a}`:"");return(0,m.Y)(f,null,(0,m.Y)(r.N_,{to:i,title:o,"aria-label":o,style:{pointerEvents:!i&&"none"}},(0,m.Y)("img",{src:v,alt:o,className:"arrow arrow--left",style:{opacity:i?1:".3"}})),(0,m.Y)(r.N_,{to:t,title:s,"aria-label":s,style:{pointerEvents:!t&&"none"}},(0,m.Y)("img",{src:v,alt:s,className:"arrow arrow--right",style:{opacity:t?1:".3"}})))};const x=(0,n.A)("div",{target:"e1mh6m3o0"})("display:flex;.main{position:relative;overflow-x:hidden;@media(max-width: ",o.fi.xmd,"){padding:15rem 3rem;}@media(min-width: ",o.fi.xmd,"){width:70%;}@media(max-width: ",o.fi.xmd,"){min-width:100vw;}}.docs-row{width:85%;max-width:100rem;margin:0 auto;padding-bottom:10rem;@media(max-width: ",o.fi.sm,"){width:100%;}@media(min-width: ",o.fi.sm,"){min-height:90rem;}}h1{margin-bottom:3rem;}h2{margin:2.5rem 0;font-size:2.6rem;}p{margin:1rem 0;}ul{margin-bottom:3rem;list-style-position:inside;ul{margin-left:3rem;margin-bottom:0;}}ol{margin-bottom:3rem;list-style-position:inside;ol{margin-left:3rem;margin-bottom:0;}}li{margin-top:.8rem;}li>p{display:inline;}code,pre{max-width:100%;}.doc-image{width:100%;margin:2rem 0;margin-right:auto;box-shadow:0 1.5rem 3rem rgba(0,0,0, .25);}");var y=e=>{let{children:i,canonical:t,context:n}=e;return(0,m.Y)(a.A,{canonical:t},(0,m.Y)(x,null,(0,m.Y)(g,null),(0,m.Y)(h,null),(0,m.Y)("div",{className:"main"},(0,m.Y)("div",null,(0,m.Y)("div",{className:"docs-row"},(0,m.Y)(b.A,null),i,(0,m.Y)(w,n)),(0,m.Y)(I.A,null)))))}}}]); -//# sourceMappingURL=8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js.map \ No newline at end of file diff --git a/pr-previews/pr-663/8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js.map b/pr-previews/pr-663/8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js.map deleted file mode 100644 index 799a1c31..00000000 --- a/pr-previews/pr-663/8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"8c9522e9ab04d805c32ce56d0725aa8a5b32377d-87289377e7c421d5e020.js","mappings":"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","sources":["webpack://Theia-Website/./src/docs/menu.js","webpack://Theia-Website/./src/components/DocSideBar.js","webpack://Theia-Website/./src/components/DocTopicChooser.js","webpack://Theia-Website/./src/resources/drop-down-arrow.svg","webpack://Theia-Website/./src/resources/arrow.svg","webpack://Theia-Website/./src/components/DocArrowNavigators.js","webpack://Theia-Website/./src/layouts/docs-layout.js"],"sourcesContent":["/********************************************************************************\n * Copyright (C) 2020 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nconst M = (title, path, subMenu, indented = false) => ({\n title,\n path: '/docs/' + (path ? path + '/' : ''),\n subMenu,\n indented\n})\n\nexport const MENU = [\n {\n title: 'Overview'\n },\n M(\n 'Getting Started',\n ''\n ),\n M(\n 'Project Goals',\n 'project_goals'\n ),\n {\n title: 'Using the Theia IDE'\n },\n M(\n 'Getting Started',\n 'user_getting_started'\n ),\n M(\n 'Installing VS Code Extensions',\n 'user_install_vscode_extensions'\n ),\n M(\n 'Using AI Features',\n 'user_ai'\n ),\n M(\n 'Using the dynamic Toolbar',\n 'user_toolbar'\n ),\n M(\n 'Download',\n 'blueprint_download'\n ),\n {\n title: 'Adopting the Theia Platform'\n },\n M(\n 'Build your own IDE/Tool',\n 'composing_applications'\n ),\n M(\n 'Extending the Theia IDE',\n 'blueprint_documentation'\n ),\n M(\n 'Extensions and Plugins',\n 'extensions'\n ),\n M(\n 'Authoring Theia Extensions',\n 'authoring_extensions'\n ),\n M(\n 'Authoring VS Code Extensions',\n 'authoring_vscode_extensions'\n ),\n M(\n 'Consuming Theia fixes without upgrading',\n 'consume_theia_fixes_master'\n ),\n {\n title: 'Platform Concepts & APIs'\n },\n M(\n 'Services and Contributions',\n 'services_and_contributions'\n ),\n M(\n 'Architecture Overview',\n 'architecture'\n ),\n M(\n 'Commands/Menus/Keybindings',\n 'commands_keybindings'\n ),\n M(\n 'Widgets',\n 'widgets'\n ),\n M(\n 'Preferences',\n 'preferences'\n ),\n M(\n 'Theia AI',\n 'theia_ai'\n ),\n M(\n 'Label Provider',\n 'label_provider'\n ),\n M(\n 'Message Service',\n 'message_service'\n ),\n M(\n 'Property View',\n 'property_view'\n ),\n M(\n 'Events',\n 'events'\n ),\n M(\n 'Frontend Application Contributions',\n 'frontend_application_contribution'\n ),\n M(\n 'Backend Application Contributions',\n 'backend_application_contribution'\n ),\n M(\n 'Communication via JSON-RPC',\n 'json_rpc'\n ),\n M(\n 'Tasks',\n 'tasks'\n ),\n M(\n 'Internationalization',\n 'i18n'\n ),\n M(\n 'Language Support',\n 'language_support'\n ),\n M(\n 'Dynamic Toolbar',\n 'toolbar'\n ),\n M(\n 'Breadcrumbs',\n 'breadcrumbs'\n ),\n M(\n 'Enhanced Tab Bar Preview',\n 'enhanced_tab_bar_preview'\n ),\n M(\n 'Contribution Filter',\n 'contribution_filter'\n ),\n M(\n 'Advanced Tips',\n 'tips'\n )\n]\n\nexport function getMenuContext(slug, menu = MENU, context = {}) {\n const indexOfCurrent = menu.findIndex(({path}) => {\n if (path) {\n return path.includes(slug)\n }\n return false\n })\n const prev = menu[indexOfCurrent - 1] && menu[indexOfCurrent - 1].path ?\n menu[indexOfCurrent - 1].path : menu[indexOfCurrent - 2] &&\n menu[indexOfCurrent - 2].path && menu[indexOfCurrent - 2].path\n\n const prevTitle = menu[indexOfCurrent - 1] && menu[indexOfCurrent - 1].path ?\n menu[indexOfCurrent - 1].title :\n menu[indexOfCurrent - 2] && menu[indexOfCurrent - 2].path &&\n menu[indexOfCurrent - 2].title\n\n const next = menu[indexOfCurrent + 1] && menu[indexOfCurrent + 1].path ?\n menu[indexOfCurrent + 1].path : menu[indexOfCurrent + 2] &&\n menu[indexOfCurrent + 2].path && menu[indexOfCurrent + 2].path\n\n const nextTitle = menu[indexOfCurrent + 1] && menu[indexOfCurrent + 1].path ?\n menu[indexOfCurrent + 1].title :\n menu[indexOfCurrent + 2] && menu[indexOfCurrent + 2].path &&\n menu[indexOfCurrent + 2].title\n\n return {\n prev: prev,\n prevTitle,\n next: next,\n nextTitle\n }\n}\n","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\nimport styled from '@emotion/styled'\nimport { breakpoints, colors } from '../utils/variables'\nimport { Link } from 'gatsby'\nimport Background from '../resources/background-image.png'\nimport TheiaLogoDark from '../resources/theia-logo-dark.svg'\nimport { MENU } from '../docs/menu'\n\nconst Styled = styled.div`\n width: 30%;\n min-height: 100vh;\n min-width: 25rem;\n border-right: 10px solid #f8f8f8;\n background-image: url(${Background});\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n\n .container {\n position: relative;\n min-height: 100vh;\n min-width: 25rem;\n padding: 10rem 0;\n background-image: url(${Background}), linear-gradient(#fff, #fff);\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n }\n\n @media(max-width: ${breakpoints.xmd}) {\n display: none;\n }\n\n .logo {\n display: block;\n height: 2.8rem;\n margin: 0 auto 13rem auto;\n }\n\n .links {\n display: flex;\n flex-direction: column;\n justify-content: center;\n list-style: none;\n min-width: 21rem;\n width: 50%;\n margin: 0 auto;\n }\n\n ul {\n list-style: none;\n }\n\n li {\n text-align: left;\n &:not(:last-of-type) {\n margin-bottom: .7rem;\n }\n }\n\n a {\n text-decoration: none;\n color: inherit;\n transition: all .2s;\n\n &:hover,\n &:focus {\n color: ${colors.blue};\n padding: .2rem 0 .4rem;\n border-bottom: 1px dashed #9dc7d9;\n }\n }\n\n .caption {\n font-family: 'Anonymous Pro', sans-serif;\n font-weight: bold;\n text-transform: uppercase;\n\n &:not(:first-of-type) {\n margin-top: 3rem;\n }\n }\n\n .active {\n color: ${colors.blue};\n padding: .2rem 0 .4rem;\n border-bottom: 1px dashed #9dc7d9;\n }\n`\n\nconst DocSideBar = () => {\n return (\n \n
\n \"theia\n \n
\n
\n )\n}\n\nexport default DocSideBar","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\nimport { navigate } from 'gatsby'\nimport styled from '@emotion/styled'\nimport { breakpoints } from '../utils/variables'\nimport DropDownArrow from '../resources/drop-down-arrow.svg';\nimport { MENU } from '../docs/menu'\n\nconst Styled = styled.div`\n position: absolute;\n top: 4rem;\n left: 50%;\n transform: translate(-50%, -2rem);\n z-index: 100;\n\n @media(max-width: 360px) {\n top: 9rem;\n }\n\n @media(min-width: ${breakpoints.xmd}) {\n display: none;\n }\n\n select {\n font: inherit;\n color: inherit;\n padding: 1rem 1.5rem;\n background: #fff;\n border: 1px solid #ddd;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background-image: url(${DropDownArrow}),\n linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);\n background-repeat: no-repeat, repeat;\n background-position: right .7em top 50%, 0 0;\n background-size: .65em auto, 100%;\n }\n\n option {\n &:disabled {\n font-family: 'Anonymous Pro', monospace;\n color: inherit;\n }\n }\n`\n\nconst onSelectTopic = (e) => {\n navigate(e.currentTarget.value)\n}\n\nconst DocTopicChooser = () => (\n \n \n \n)\n\nexport default DocTopicChooser","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0iQ2FwYV8xIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgeD0iMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjU1IDI1NSIgeT0iMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjU1IDI1NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PGxpbmsgaWQ9ImRhcmstbW9kZSIgY2xhc3M9ImFjdGl2ZS1wYXRoIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+PHN0eWxlIGlkPSJkYXJrLW1vZGUtY3VzdG9tLXN0eWxlIiBjbGFzcz0iYWN0aXZlLXBhdGgiIHR5cGU9InRleHQvY3NzIi8+PGc+PGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBvbHlnb24gZmlsbD0iIzM4MzgzOCIgcG9pbnRzPSIwIDYzLjc1IDEyNy41IDE5MS4yNSAyNTUgNjMuNzUiIGNsYXNzPSJhY3RpdmUtcGF0aCIgZGF0YS1vcmlnaW5hbD0iIzAwMDAwMCIvPjwvZz48L2c+PC9nPjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1OS40MTQgNTkuNDE0IiBpZD0iQ2FwYV8xIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgeD0iMCIgeT0iMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNTkuNDE0IDU5LjQxNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PGxpbmsgaWQ9ImRhcmstbW9kZSIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPjxzdHlsZSBpZD0iZGFyay1tb2RlLWN1c3RvbS1zdHlsZSIgdHlwZT0idGV4dC9jc3MiLz48Zz48cG9seWdvbiBmaWxsPSIjMzgzODM4IiBwb2ludHM9IjI5LjcwNyA0NS4yNjggMCAxNS41NjEgMS40MTQgMTQuMTQ2IDI5LjcwNyA0Mi40MzkgNTggMTQuMTQ2IDU5LjQxNCAxNS41NjEiIGNsYXNzPSJhY3RpdmUtcGF0aCIgZGF0YS1vbGRfY29sb3I9IiM0OEEwREMiIGRhdGEtb3JpZ2luYWw9IiM0OEEwREMiLz48L2c+PC9nPjwvc3ZnPg==\"","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\nimport { Link } from 'gatsby'\nimport styled from '@emotion/styled'\nimport Arrow from '../resources/arrow.svg'\n\nconst Styled = styled.div`\n display: flex;\n justify-content: space-between;\n margin-top: 10rem;\n\n .arrow {\n display: inline-block;\n height: 6rem;\n\n &--left {\n transform: rotate(90deg);\n }\n\n &--right {\n transform: rotate(270deg);\n }\n }\n`\n\nconst DocArrowNavigators = ({prev, next, prevTitle, nextTitle}) => {\n const pTitle = `Go to previous Page ${prevTitle ? `: ${prevTitle}` : \"\"}`\n const nTitle = `Go to next page ${nextTitle ? `: ${nextTitle}` : \"\"}`\n return (\n \n \n {pTitle}\n \n \n {nTitle}\n \n \n)\n}\n\nexport default DocArrowNavigators","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\nimport styled from '@emotion/styled'\nimport Layout from '../layouts/layout'\nimport DocSideBar from '../components/DocSideBar'\nimport DocTopicChooser from '../components/DocTopicChooser'\nimport Nav from '../components/Nav'\nimport Footer from '../components/Footer'\nimport { breakpoints } from '../utils/variables'\nimport DocArrowNavigators from '../components/DocArrowNavigators'\n\nconst DocContainer = styled.div`\n display: flex;\n\n .main {\n position: relative;\n overflow-x: hidden;\n @media(max-width: ${breakpoints.xmd}) {\n padding: 15rem 3rem ;\n }\n\n @media(min-width: ${breakpoints.xmd}) {\n width: 70%;\n }\n\n @media(max-width: ${breakpoints.xmd}) {\n min-width: 100vw;\n }\n }\n\n .docs-row {\n width: 85%;\n max-width: 100rem;\n margin: 0 auto;\n padding-bottom: 10rem;\n\n @media(max-width: ${breakpoints.sm}) {\n width: 100%;\n }\n\n @media(min-width: ${breakpoints.sm}) {\n min-height: 90rem;\n }\n }\n\n h1 {\n margin-bottom: 3rem;\n }\n\n h2 {\n margin: 2.5rem 0;\n font-size: 2.6rem;\n }\n\n p {\n margin: 1rem 0;\n }\n\n ul {\n margin-bottom: 3rem;\n list-style-position: inside;\n\n ul {\n margin-left: 3rem;\n margin-bottom: 0;\n }\n }\n\n ol {\n margin-bottom: 3rem;\n list-style-position: inside;\n\n ol {\n margin-left: 3rem;\n margin-bottom: 0;\n }\n }\n\n li {\n margin-top: .8rem;\n }\n\n li > p {\n display: inline;\n }\n\n code,\n pre {\n max-width: 100%;\n }\n\n .doc-image {\n width: 100%;\n margin: 2rem 0;\n margin-right: auto;\n box-shadow: 0 1.5rem 3rem rgba(0,0,0, .25);\n }\n`\n\nconst DocsLayout = ({children, canonical, context}) => (\n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n)\n\nexport default DocsLayout"],"names":["M","title","path","subMenu","indented","MENU","getMenuContext","slug","menu","context","indexOfCurrent","findIndex","_ref","includes","prev","prevTitle","next","nextTitle","Styled","_styled","target","Background","breakpoints","xmd","colors","blue","DocSideBar","___EmotionJSX","className","Link","to","src","TheiaLogoDark","alt","map","m","i","key","style","marginLeft","marginTop","listStyle","listStylePosition","activeClassName","onSelectTopic","e","navigate","currentTarget","value","DocTopicChooser","onChange","defaultValue","selected","disabled","name","styles","pTitle","nTitle","pointerEvents","Arrow","opacity","DocContainer","sm","children","canonical","Layout","Nav","DocArrowNavigators","Footer"],"sourceRoot":""} \ No newline at end of file diff --git a/pr-previews/pr-663/TheiaIDE.png b/pr-previews/pr-663/TheiaIDE.png deleted file mode 100644 index 4379f33e..00000000 Binary files a/pr-previews/pr-663/TheiaIDE.png and /dev/null differ diff --git a/pr-previews/pr-663/TheiaPlatform.png b/pr-previews/pr-663/TheiaPlatform.png deleted file mode 100644 index 9d470775..00000000 Binary files a/pr-previews/pr-663/TheiaPlatform.png and /dev/null differ diff --git a/pr-previews/pr-663/_gatsby/slices/_gatsby-scripts-1.html b/pr-previews/pr-663/_gatsby/slices/_gatsby-scripts-1.html deleted file mode 100644 index f276cc9e..00000000 --- a/pr-previews/pr-663/_gatsby/slices/_gatsby-scripts-1.html +++ /dev/null @@ -1,7 +0,0 @@ - - - \ No newline at end of file diff --git a/pr-previews/pr-663/add-custom-agents.png b/pr-previews/pr-663/add-custom-agents.png deleted file mode 100644 index 42de897d..00000000 Binary files a/pr-previews/pr-663/add-custom-agents.png and /dev/null differ diff --git a/pr-previews/pr-663/ai-configuration-view.png b/pr-previews/pr-663/ai-configuration-view.png deleted file mode 100644 index 501206a2..00000000 Binary files a/pr-previews/pr-663/ai-configuration-view.png and /dev/null differ diff --git a/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js b/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js deleted file mode 100644 index 0dea959c..00000000 --- a/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see app-20a33ead2c3dc13b51fc.js.LICENSE.txt */ -(self.webpackChunkTheia_Website=self.webpackChunkTheia_Website||[]).push([[524],{5655:function(e,t,n){"use strict";n.d(t,{A:function(){return oe}});var r=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?l(b,--y):0,g--,10===w&&(g=1,m--),w}function P(){return w=y2||x(w)>3?"":" "}function j(e,t){for(;--t&&P()&&!(w<48||w>102||w>57&&w<65||w>70&&w<97););return k(e,C()+(t<6&&32==R()&&32==P()))}function $(e){for(;P();)switch(w){case e:return y;case 34:case 39:34!==e&&39!==e&&$(w);break;case 40:41===e&&$(e);break;case 92:P()}return y}function D(e,t){for(;P()&&e+w!==57&&(e+w!==84||47!==R()););return"/*"+k(t,y-1)+"*"+a(47===e?e:P())}function M(e){for(;!x(R());)P();return k(e,y)}var L="-ms-",H="-moz-",I="-webkit-",W="comm",F="rule",U="decl",q="@keyframes";function J(e,t){for(var n="",r=d(e),o=0;o0&&f(H)-v&&h(w>32?V(H+";",r,n,v-1):V(c(H," ","")+";",r,n,v-2),d);break;case 59:H+=";";default:if(h(L=z(H,t,n,m,g,o,p,O,T=[],$=[],v),s),123===x)if(0===g)G(H,t,L,L,T,s,v,p,$);else switch(99===y&&110===l(H,3)?100:y){case 100:case 108:case 109:case 115:G(e,L,L,r&&h(z(e,L,L,0,0,o,p,O,o,T=[],v),$),o,$,v,p,r?T:$);break;default:G(H,L,L,L,[""],$,0,p,$)}}m=g=w=0,_=k=1,O=H="",v=i;break;case 58:v=1+f(H),w=b;default:if(_<1)if(123==x)--_;else if(125==x&&0==_++&&125==S())continue;switch(H+=a(x),x*_){case 38:k=g>0?1:(H+="\f",-1);break;case 44:p[m++]=(f(H)-1)*k,k=1;break;case 64:45===R()&&(H+=A(P())),y=R(),g=v=f(O=H+=M(C())),x++;break;case 45:45===b&&2==f(H)&&(_=0)}}return s}function z(e,t,n,r,a,s,u,l,f,h,m){for(var g=a-1,v=0===a?s:[""],y=d(v),w=0,b=0,E=0;w0?v[S]+" "+P:c(P,/&\f/g,v[S])))&&(f[E++]=R);return _(e,t,n,0===a?F:l,f,h,m)}function B(e,t,n){return _(e,t,n,W,a(w),p(e,2,-2),0)}function V(e,t,n,r){return _(e,t,n,U,p(e,0,r),p(e,r+1,-1),r)}var K=function(e,t,n){for(var r=0,o=0;r=o,o=R(),38===r&&12===o&&(t[n]=1),!x(o);)P();return k(e,y)},X=function(e,t){return T(function(e,t){var n=-1,r=44;do{switch(x(r)){case 0:38===r&&12===R()&&(t[n]=1),e[n]+=K(y-1,t,n);break;case 2:e[n]+=A(r);break;case 4:if(44===r){e[++n]=58===R()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=a(r)}}while(r=P());return e}(O(e),t))},Z=new WeakMap,ee=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||Z.get(n))&&!r){Z.set(e,!0);for(var o=[],a=X(t,o),s=n.props,i=0,c=0;i6)switch(l(e,t+1)){case 109:if(45!==l(e,t+4))break;case 102:return c(e,/(.+:)(.+)-([^]+)/,"$1"+I+"$2-$3$1"+H+(108==l(e,t+3)?"$3":"$2-$3"))+e;case 115:return~u(e,"stretch")?ne(c(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==l(e,t+1))break;case 6444:switch(l(e,f(e)-3-(~u(e,"!important")&&10))){case 107:return c(e,":",":"+I)+e;case 101:return c(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+I+(45===l(e,14)?"inline-":"")+"box$3$1"+I+"$2$3$1"+L+"$2box$3")+e}break;case 5936:switch(l(e,t+11)){case 114:return I+e+L+c(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return I+e+L+c(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return I+e+L+c(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return I+e+L+e+e}return e}var re=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case U:e.return=ne(e.value,e.length);break;case q:return J([E(e,{value:c(e.value,"@","@"+I)})],r);case F:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return J([E(e,{props:[c(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return J([E(e,{props:[c(t,/:(plac\w+)/,":"+I+"input-$1")]}),E(e,{props:[c(t,/:(plac\w+)/,":-moz-$1")]}),E(e,{props:[c(t,/:(plac\w+)/,L+"input-$1")]})],r)}return""}))}}],oe=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var o,a,s=e.stylisPlugins||re,i={},c=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(o)+c;return{name:u,styles:o,next:h}}},1287:function(e,t,n){"use strict";var r;n.d(t,{i:function(){return i},s:function(){return s}});var o=n(6540),a=!!(r||(r=n.t(o,2))).useInsertionEffect&&(r||(r=n.t(o,2))).useInsertionEffect,s=a||function(e){return e()},i=a||o.useLayoutEffect},41:function(e,t,n){"use strict";n.d(t,{Rk:function(){return r},SF:function(){return o},sk:function(){return a}});function r(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(r+=n+" ")})),r}var o=function(e,t,n){var r=e.key+"-"+t.name;!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles)},a=function(e,t,n){o(e,t,n);var r=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var a=t;do{e.insert(t===a?"."+r:"",a,e.sheet,!0),a=a.next}while(void 0!==a)}}},6395:function(e,t){"use strict";t.T=void 0;const n=[".html",".json",".js",".map",".txt",".xml",".pdf"];t.T=(e,t="always")=>{if("/"===e)return e;const r=e.endsWith("/");return((e,t)=>{for(const n of e)if(t.endsWith(n))return!0;return!1})(n,e)?e:"always"===t?r?e:`${e}/`:"never"===t&&r?e.slice(0,-1):e}},7035:function(e,t,n){"use strict";t.z_=void 0;var r=n(3215);t.z_=r.ScrollHandler,n(3721).useScrollRestoration},3215:function(e,t,n){"use strict";var r=n(4994);t.__esModule=!0,t.ScrollHandler=t.ScrollContext=void 0;var o=r(n(2475)),a=r(n(6221)),s=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var s=o?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=e[a]}r.default=e,n&&n.set(e,r);return r}(n(6540)),i=r(n(5556)),c=n(4351);function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}var l=s.createContext(new c.SessionStorage);t.ScrollContext=l,l.displayName="GatsbyScrollContext";var p=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a{}},3309:function(e,t){"use strict";t.__esModule=!0,t.getForwards=function(e){return null==e?void 0:e.flatMap((e=>(null==e?void 0:e.forward)||[]))}},9300:function(e,t,n){"use strict";t.__esModule=!0,t.injectPartytownSnippet=function(e){if(!e.length)return;const t=document.querySelector("script[data-partytown]"),n=document.querySelector('iframe[src*="~partytown/partytown-sandbox-sw"]');t&&t.remove();n&&n.remove();const a=(0,o.getForwards)(e),s=document.createElement("script");s.dataset.partytown="",s.innerHTML=(0,r.partytownSnippet)({forward:a}),document.head.appendChild(s)};var r=n(4656),o=n(3309)},6877:function(e,t,n){t.components={"component---src-pages-404-js":()=>Promise.all([n.e(223),n.e(125)]).then(n.bind(n,3432)),"component---src-pages-blogs-js":()=>Promise.all([n.e(223),n.e(576)]).then(n.bind(n,6612)),"component---src-pages-docs-js":()=>Promise.all([n.e(223),n.e(205),n.e(116)]).then(n.bind(n,8587)),"component---src-pages-index-js":()=>Promise.all([n.e(869),n.e(223),n.e(293)]).then(n.bind(n,7891)),"component---src-pages-releases-js":()=>Promise.all([n.e(223),n.e(709)]).then(n.bind(n,6438)),"component---src-pages-resources-js":()=>Promise.all([n.e(223),n.e(636)]).then(n.bind(n,2369)),"component---src-pages-support-js":()=>Promise.all([n.e(223),n.e(854)]).then(n.bind(n,3002)),"component---src-templates-doc-js":()=>Promise.all([n.e(223),n.e(205),n.e(824)]).then(n.bind(n,2074))}},9377:function(e,t,n){e.exports=[{plugin:n(6774),options:{plugins:[],offsetY:0,className:"anchor"}},{plugin:n(3697),options:{plugins:[]}},{plugin:n(8108),options:{plugins:[]}},{plugin:n(2311),options:{plugins:[]}}]},20:function(e,t,n){const r=n(9377),{getResourceURLsForPathname:o,loadPage:a,loadPageSync:s}=n(6814).Zf;t.N=function(e,t,n,i){void 0===t&&(t={});let c=r.map((n=>{if(!n.plugin[e])return;t.getResourceURLsForPathname=o,t.loadPage=a,t.loadPageSync=s;const r=n.plugin[e](t,n.options);return r&&i&&(t=i({args:t,result:r,plugin:n})),r}));return c=c.filter((e=>void 0!==e)),c.length>0?c:n?[n]:[]},t.v=(e,t,n)=>r.reduce(((n,r)=>r.plugin[e]?n.then((()=>r.plugin[e](t,r.options))):n),Promise.resolve())},700:function(e,t){},9369:function(e,t,n){"use strict";n.d(t,{A:function(){return r}});var r=function(e){return e=e||Object.create(null),{on:function(t,n){(e[t]||(e[t]=[])).push(n)},off:function(t,n){e[t]&&e[t].splice(e[t].indexOf(n)>>>0,1)},emit:function(t,n){(e[t]||[]).slice().map((function(e){e(n)})),(e["*"]||[]).slice().map((function(e){e(t,n)}))}}}()},8990:function(e,t,n){"use strict";n.d(t,{Yl:function(){return f},Hh:function(){return h},UA:function(){return d},QX:function(){return p}});var r=n(6462),o=n(8797),a=e=>{if(void 0===e)return e;let[t,n=""]=e.split("?");return n&&(n="?"+n),"/"===t?"/"+n:"/"===t.charAt(t.length-1)?t.slice(0,-1)+n:t+n},s=n(6491);const i=new Map;let c=[];const u=e=>{let t=e;if(-1!==e.indexOf("?")){const[n,r]=e.split("?");t=`${n}?${encodeURIComponent(r)}`}const n=decodeURIComponent(t);return(0,o.A)(n,decodeURIComponent("/theia-website-previews/pr-previews/pr-663")).split("#")[0]};function l(e){return e.startsWith("/")||e.startsWith("https://")||e.startsWith("http://")?e:new URL(e,window.location.href+(window.location.href.endsWith("/")?"":"/")).pathname}const p=e=>{c=e},f=e=>{const t=m(e),n=c.map((e=>{let{path:t,matchPath:n}=e;return{path:n,originalPath:t}})),o=(0,r.pick)(n,t);return o?a(o.route.originalPath):null},d=e=>{const t=m(e),n=c.map((e=>{let{path:t,matchPath:n}=e;return{path:n,originalPath:t}})),o=(0,r.pick)(n,t);return o?o.params:{}},h=e=>{const t=u(l(e));if(i.has(t))return i.get(t);const n=(0,s.X)(e);if(n)return h(n.toPath);let r=f(t);return r||(r=m(e)),i.set(t,r),r},m=e=>{let t=u(l(e));return"/index.html"===t&&(t="/"),t=a(t),t}},4810:function(e,t,n){"use strict";n.d(t,{N_:function(){return o.N_},G:function(){return a.G},oo:function(){return o.oo},GR:function(){return a.GR},Fe:function(){return o.Fe}});var r=n(6814),o=(n(2549),n(7035),n(7078)),a=n(7231);n(6540),n(700),n(2024);r.Ay.enqueue},6814:function(e,t,n){"use strict";n.d(t,{Wi:function(){return p},N5:function(){return _},Ay:function(){return P},Rh:function(){return C},LE:function(){return R},Zf:function(){return S},iC:function(){return E}});var r=n(5540),o=n(4506),a=n(8163);const s=function(e){if("undefined"==typeof document)return!1;const t=document.createElement("link");try{if(t.relList&&"function"==typeof t.relList.supports)return t.relList.supports(e)}catch(n){return!1}return!1}("prefetch")?function(e,t){return new Promise(((n,r)=>{if("undefined"==typeof document)return void r();const o=document.createElement("link");o.setAttribute("rel","prefetch"),o.setAttribute("href",e),Object.keys(t).forEach((e=>{o.setAttribute(e,t[e])})),o.onload=n,o.onerror=r;(document.getElementsByTagName("head")[0]||document.getElementsByName("script")[0].parentNode).appendChild(o)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.onload=()=>{200===r.status?t():n()},r.send(null)}))},i={};var c=function(e,t){return new Promise((n=>{i[e]?n():s(e,t).then((()=>{n(),i[e]=!0})).catch((()=>{}))}))},u=n(9369),l=n(8990);const p={Error:"error",Success:"success"},f=e=>{const[t,n]=e.split("?");var r;return`/theia-website-previews/pr-previews/pr-663/page-data/${"/"===t?"index":(r="/"===(r=t)[0]?r.slice(1):r).endsWith("/")?r.slice(0,-1):r}/page-data.json${n?`?${n}`:""}`},d=e=>e.startsWith("//");function h(e,t){return void 0===t&&(t="GET"),new Promise((n=>{const r=new XMLHttpRequest;r.open(t,e,!0),r.onreadystatechange=()=>{4==r.readyState&&n(r)},r.send(null)}))}const m=/bot|crawler|spider|crawling/i,g=function(e,t,n){var r;void 0===t&&(t=null);const o={componentChunkName:e.componentChunkName,path:e.path,webpackCompilationHash:e.webpackCompilationHash,matchPath:e.matchPath,staticQueryHashes:e.staticQueryHashes,getServerDataError:e.getServerDataError,slicesMap:null!==(r=e.slicesMap)&&void 0!==r?r:{}};return{component:t,head:n,json:e.result,page:o}};function v(e){return new Promise((t=>{try{const n=e.readRoot();t(n)}catch(n){if(!Object.hasOwnProperty.call(n,"_response")||!Object.hasOwnProperty.call(n,"_status"))throw n;setTimeout((()=>{v(e).then(t)}),200)}}))}let y=function(){function e(e,t){this.inFlightNetworkRequests=new Map,this.pageDb=new Map,this.inFlightDb=new Map,this.staticQueryDb={},this.pageDataDb=new Map,this.partialHydrationDb=new Map,this.slicesDataDb=new Map,this.sliceInflightDb=new Map,this.slicesDb=new Map,this.isPrefetchQueueRunning=!1,this.prefetchQueued=[],this.prefetchTriggered=new Set,this.prefetchCompleted=new Set,this.loadComponent=e,(0,l.QX)(t)}var t=e.prototype;return t.memoizedGet=function(e){let t=this.inFlightNetworkRequests.get(e);return t||(t=h(e,"GET"),this.inFlightNetworkRequests.set(e,t)),t.then((t=>(this.inFlightNetworkRequests.delete(e),t))).catch((t=>{throw this.inFlightNetworkRequests.delete(e),t}))},t.setApiRunner=function(e){this.apiRunner=e,this.prefetchDisabled=e("disableCorePrefetching").some((e=>e))},t.fetchPageDataJson=function(e){const{pagePath:t,retries:n=0}=e,r=f(t);return this.memoizedGet(r).then((r=>{const{status:o,responseText:a}=r;if(200===o)try{const n=JSON.parse(a);if(void 0===n.path)throw new Error("not a valid pageData response");const r=t.split("?")[1];return r&&!n.path.includes(r)&&(n.path+=`?${r}`),Object.assign(e,{status:p.Success,payload:n})}catch(s){}return 404===o||200===o?"/404.html"===t||"/500.html"===t?Object.assign(e,{status:p.Error}):this.fetchPageDataJson(Object.assign(e,{pagePath:"/404.html",notFound:!0})):500===o?this.fetchPageDataJson(Object.assign(e,{pagePath:"/500.html",internalServerError:!0})):n<3?this.fetchPageDataJson(Object.assign(e,{retries:n+1})):Object.assign(e,{status:p.Error})}))},t.fetchPartialHydrationJson=function(e){const{pagePath:t,retries:n=0}=e,r=f(t).replace(".json","-rsc.json");return this.memoizedGet(r).then((r=>{const{status:o,responseText:a}=r;if(200===o)try{return Object.assign(e,{status:p.Success,payload:a})}catch(s){}return 404===o||200===o?"/404.html"===t||"/500.html"===t?Object.assign(e,{status:p.Error}):this.fetchPartialHydrationJson(Object.assign(e,{pagePath:"/404.html",notFound:!0})):500===o?this.fetchPartialHydrationJson(Object.assign(e,{pagePath:"/500.html",internalServerError:!0})):n<3?this.fetchPartialHydrationJson(Object.assign(e,{retries:n+1})):Object.assign(e,{status:p.Error})}))},t.loadPageDataJson=function(e){const t=(0,l.Hh)(e);if(this.pageDataDb.has(t)){const e=this.pageDataDb.get(t);return Promise.resolve(e)}return this.fetchPageDataJson({pagePath:t}).then((e=>(this.pageDataDb.set(t,e),e)))},t.loadPartialHydrationJson=function(e){const t=(0,l.Hh)(e);if(this.partialHydrationDb.has(t)){const e=this.partialHydrationDb.get(t);return Promise.resolve(e)}return this.fetchPartialHydrationJson({pagePath:t}).then((e=>(this.partialHydrationDb.set(t,e),e)))},t.loadSliceDataJson=function(e){if(this.slicesDataDb.has(e)){const t=this.slicesDataDb.get(e);return Promise.resolve({sliceName:e,jsonPayload:t})}return h(`/theia-website-previews/pr-previews/pr-663/slice-data/${e}.json`,"GET").then((t=>{const n=JSON.parse(t.responseText);return this.slicesDataDb.set(e,n),{sliceName:e,jsonPayload:n}}))},t.findMatchPath=function(e){return(0,l.Yl)(e)},t.loadPage=function(e){const t=(0,l.Hh)(e);if(this.pageDb.has(t)){const e=this.pageDb.get(t);return e.error?Promise.resolve({error:e.error,status:e.status}):Promise.resolve(e.payload)}if(this.inFlightDb.has(t))return this.inFlightDb.get(t);const n=[this.loadAppData(),this.loadPageDataJson(t)];const r=Promise.all(n).then((e=>{const[n,r,s]=e;if(r.status===p.Error||(null==s?void 0:s.status)===p.Error)return{status:p.Error};let i=r.payload;const{componentChunkName:c,staticQueryHashes:l=[],slicesMap:f={}}=i,d={},h=Array.from(new Set(Object.values(f))),m=e=>{if(this.slicesDb.has(e.name))return this.slicesDb.get(e.name);if(this.sliceInflightDb.has(e.name))return this.sliceInflightDb.get(e.name);const t=this.loadComponent(e.componentChunkName).then((t=>{return{component:(n=t,n&&n.default||n),sliceContext:e.result.sliceContext,data:e.result.data};var n}));return this.sliceInflightDb.set(e.name,t),t.then((t=>{this.slicesDb.set(e.name,t),this.sliceInflightDb.delete(e.name)})),t};return Promise.all(h.map((e=>this.loadSliceDataJson(e)))).then((e=>{const f=[],h=(0,o.A)(l);for(const{jsonPayload:t,sliceName:n}of Object.values(e)){f.push({name:n,...t});for(const e of t.staticQueryHashes)h.includes(e)||h.push(e)}const y=[Promise.all(f.map(m)),this.loadComponent(c,"head")];y.push(this.loadComponent(c));const w=Promise.all(y).then((e=>{const[t,o,c]=e;d.createdAt=new Date;for(const n of t)(!n||n instanceof Error)&&(d.status=p.Error,d.error=n);let u;if((!c||c instanceof Error)&&(d.status=p.Error,d.error=c),d.status!==p.Error){if(d.status=p.Success,!0!==r.notFound&&!0!==(null==s?void 0:s.notFound)||(d.notFound=!0),i=Object.assign(i,{webpackCompilationHash:n?n.webpackCompilationHash:""}),"string"==typeof(null==s?void 0:s.payload)){u=g(i,null,o),u.partialHydration=s.payload;const e=new ReadableStream({start(e){const t=new TextEncoder;e.enqueue(t.encode(s.payload))},pull(e){e.close()},cancel(){}});return v((0,a.createFromReadableStream)(e)).then((e=>(u.partialHydration=e,u)))}u=g(i,c,o)}return u})),b=Promise.all(h.map((e=>{if(this.staticQueryDb[e]){const t=this.staticQueryDb[e];return{staticQueryHash:e,jsonPayload:t}}return this.memoizedGet(`/theia-website-previews/pr-previews/pr-663/page-data/sq/d/${e}.json`).then((t=>{const n=JSON.parse(t.responseText);return{staticQueryHash:e,jsonPayload:n}})).catch((()=>{throw new Error(`We couldn't load "/theia-website-previews/pr-previews/pr-663/page-data/sq/d/${e}.json"`)}))}))).then((e=>{const t={};return e.forEach((e=>{let{staticQueryHash:n,jsonPayload:r}=e;t[n]=r,this.staticQueryDb[n]=r})),t}));return Promise.all([w,b]).then((e=>{let n,[r,o]=e;return r&&(n={...r,staticQueryResults:o},d.payload=n,u.A.emit("onPostLoadPageResources",{page:n,pageResources:n})),this.pageDb.set(t,d),d.error?{error:d.error,status:d.status}:n})).catch((e=>({error:e,status:p.Error})))}))}));return r.then((()=>{this.inFlightDb.delete(t)})).catch((e=>{throw this.inFlightDb.delete(t),e})),this.inFlightDb.set(t,r),r},t.loadPageSync=function(e,t){void 0===t&&(t={});const n=(0,l.Hh)(e);if(this.pageDb.has(n)){var r;const e=this.pageDb.get(n);if(e.payload)return e.payload;if(null!==(r=t)&&void 0!==r&&r.withErrorDetails)return{error:e.error,status:e.status}}},t.shouldPrefetch=function(e){return!!(()=>{if("connection"in navigator&&void 0!==navigator.connection){if((navigator.connection.effectiveType||"").includes("2g"))return!1;if(navigator.connection.saveData)return!1}return!0})()&&((!navigator.userAgent||!m.test(navigator.userAgent))&&!this.pageDb.has(e))},t.prefetch=function(e){if(!this.shouldPrefetch(e))return{then:e=>e(!1),abort:()=>{}};if(this.prefetchTriggered.has(e))return{then:e=>e(!0),abort:()=>{}};const t={resolve:null,reject:null,promise:null};t.promise=new Promise(((e,n)=>{t.resolve=e,t.reject=n})),this.prefetchQueued.push([e,t]);const n=new AbortController;return n.signal.addEventListener("abort",(()=>{const t=this.prefetchQueued.findIndex((t=>{let[n]=t;return n===e}));-1!==t&&this.prefetchQueued.splice(t,1)})),this.isPrefetchQueueRunning||(this.isPrefetchQueueRunning=!0,setTimeout((()=>{this._processNextPrefetchBatch()}),3e3)),{then:(e,n)=>t.promise.then(e,n),abort:n.abort.bind(n)}},t._processNextPrefetchBatch=function(){(window.requestIdleCallback||(e=>setTimeout(e,0)))((()=>{const e=this.prefetchQueued.splice(0,4),t=Promise.all(e.map((e=>{let[t,n]=e;return this.prefetchTriggered.has(t)||(this.apiRunner("onPrefetchPathname",{pathname:t}),this.prefetchTriggered.add(t)),this.prefetchDisabled?n.resolve(!1):this.doPrefetch((0,l.Hh)(t)).then((()=>{this.prefetchCompleted.has(t)||(this.apiRunner("onPostPrefetchPathname",{pathname:t}),this.prefetchCompleted.add(t)),n.resolve(!0)}))})));this.prefetchQueued.length?t.then((()=>{setTimeout((()=>{this._processNextPrefetchBatch()}),3e3)})):this.isPrefetchQueueRunning=!1}))},t.doPrefetch=function(e){const t=f(e);return c(t,{crossOrigin:"anonymous",as:"fetch"}).then((()=>this.loadPageDataJson(e)))},t.hovering=function(e){this.loadPage(e)},t.getResourceURLsForPathname=function(e){const t=(0,l.Hh)(e),n=this.pageDataDb.get(t);if(n){const e=g(n.payload);return[].concat((0,o.A)(w(e.page.componentChunkName)),[f(t)])}return null},t.isPageNotFound=function(e){const t=(0,l.Hh)(e),n=this.pageDb.get(t);return!n||n.notFound},t.loadAppData=function(e){return void 0===e&&(e=0),this.memoizedGet("/theia-website-previews/pr-previews/pr-663/page-data/app-data.json").then((t=>{const{status:n,responseText:r}=t;let o;if(200!==n&&e<3)return this.loadAppData(e+1);if(200===n)try{const e=JSON.parse(r);if(void 0===e.webpackCompilationHash)throw new Error("not a valid app-data response");o=e}catch(a){}return o}))},e}();const w=e=>(window.___chunkMapping[e]||[]).map((e=>"/theia-website-previews/pr-previews/pr-663"+e));let b,_=function(e){function t(t,n,r){var o;return o=e.call(this,(function(e,n){if(void 0===n&&(n="components"),!t[n="components"][e])throw new Error(`We couldn't find the correct component chunk with the name "${e}"`);return t[n][e]().catch((e=>e))}),n)||this,r&&o.pageDataDb.set((0,l.Hh)(r.path),{pagePath:r.path,payload:r,status:"success"}),o}(0,r.A)(t,e);var n=t.prototype;return n.doPrefetch=function(t){return e.prototype.doPrefetch.call(this,t).then((e=>{if(e.status!==p.Success)return Promise.resolve();const t=e.payload,n=t.componentChunkName,r=w(n);return Promise.all(r.map(c)).then((()=>t))}))},n.loadPageDataJson=function(t){return e.prototype.loadPageDataJson.call(this,t).then((e=>e.notFound?d(t)?e:h(t,"HEAD").then((t=>200===t.status?{status:p.Error}:e)):e))},n.loadPartialHydrationJson=function(t){return e.prototype.loadPartialHydrationJson.call(this,t).then((e=>e.notFound?d(t)?e:h(t,"HEAD").then((t=>200===t.status?{status:p.Error}:e)):e))},t}(y);const E=e=>{b=e},S={enqueue:e=>b.prefetch(e),getResourceURLsForPathname:e=>b.getResourceURLsForPathname(e),loadPage:e=>b.loadPage(e),loadPageSync:function(e,t){return void 0===t&&(t={}),b.loadPageSync(e,t)},prefetch:e=>b.prefetch(e),isPageNotFound:e=>b.isPageNotFound(e),hovering:e=>b.hovering(e),loadAppData:()=>b.loadAppData()};var P=S;function R(){return b?b.staticQueryDb:{}}function C(){return b?b.slicesDb:{}}},6017:function(e,t,n){"use strict";n.d(t,{A:function(){return R}});var r=n(6540),o=n(5556),a=n.n(o),s=n(20),i=n(8990),c=n(4506),u=n(4810),l=n(6462),p=n(9732);function f(e){let{children:t,callback:n}=e;return(0,r.useEffect)((()=>{n()})),t}const d=["link","meta","style","title","base","noscript","script","html","body"];function h(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){const n=t.getAttribute("nonce");if(n&&!e.getAttribute("nonce")){const r=t.cloneNode(!0);return r.setAttribute("nonce",""),r.nonce=n,n===e.nonce&&e.isEqualNode(r)}}return e.isEqualNode(t)}function m(e,t){void 0===t&&(t={html:{},body:{}});const n=new Map,r=[];for(const u of e.childNodes){var o,a;const e=u.nodeName.toLowerCase(),l=null===(o=u.attributes)||void 0===o||null===(a=o.id)||void 0===a?void 0:a.value;if(y(u)){if(v(e))if("html"===e||"body"===e)for(const n of u.attributes){const r="style"===n.name;var s;if(t[e]={...t[e]},r||(t[e][n.name]=n.value),r)t[e].style=`${null!==(s=t[e])&&void 0!==s&&s.style?t[e].style:""}${n.value} `}else{let e=u.cloneNode(!0);if(e.setAttribute("data-gatsby-head",!0),"script"===e.nodeName.toLowerCase()&&(e=g(e)),l)if(n.has(l)){var i;const t=n.get(l);null===(i=r[t].parentNode)||void 0===i||i.removeChild(r[t]),r[t]=e}else r.push(e),n.set(l,r.length-1);else r.push(e)}u.childNodes.length&&r.push.apply(r,(0,c.A)(m(u,t).validHeadNodes))}}return{validHeadNodes:r,htmlAndBodyAttributes:t}}function g(e){const t=document.createElement("script");for(const n of e.attributes)t.setAttribute(n.name,n.value);return t.innerHTML=e.innerHTML,t}function v(e){return d.includes(e)}function y(e){return 1===e.nodeType}var w=n(7437);const b=document.createElement("div"),_={html:[],body:[]},E=()=>{var e;const{validHeadNodes:t,htmlAndBodyAttributes:n}=m(b);_.html=Object.keys(n.html),_.body=Object.keys(n.body),function(e){if(!e)return;const{html:t,body:n}=e,r=document.querySelector("html");r&&Object.entries(t).forEach((e=>{let[t,n]=e;r.setAttribute(t,n)}));const o=document.querySelector("body");o&&Object.entries(n).forEach((e=>{let[t,n]=e;o.setAttribute(t,n)}))}(n);const r=document.querySelectorAll("[data-gatsby-head]");var o;if(0===r.length)return void(o=document.head).append.apply(o,(0,c.A)(t));const a=[];!function(e){let{oldNodes:t,newNodes:n,onStale:r,onNew:o}=e;for(const a of t){const e=n.findIndex((e=>h(e,a)));-1===e?r(a):n.splice(e,1)}for(const a of n)o(a)}({oldNodes:r,newNodes:t,onStale:e=>e.parentNode.removeChild(e),onNew:e=>a.push(e)}),(e=document.head).append.apply(e,a)};function S(e){let{pageComponent:t,staticQueryResults:n,pageComponentProps:o}=e;(0,r.useEffect)((()=>{if(null!=t&&t.Head){!function(e){if("function"!=typeof e)throw new Error(`Expected "Head" export to be a function got "${typeof e}".`)}(t.Head);const{render:r}=(0,p.n)(),a=(0,w.Y)(t.Head,{location:{pathname:(e=o).location.pathname},params:e.params,data:e.data||{},serverData:e.serverData,pageContext:e.pageContext}),i=(0,s.N)("wrapRootElement",{element:a},a,(e=>{let{result:t}=e;return{element:t}})).pop();r((0,w.Y)(f,{callback:E},(0,w.Y)(u.G.Provider,{value:n},(0,w.Y)(l.LocationProvider,null,i))),b)}var e;return()=>{!function(){const e=document.querySelectorAll("[data-gatsby-head]");for(const t of e)t.parentNode.removeChild(t)}(),function(e){if(!e)return;const{html:t,body:n}=e;if(t){const e=document.querySelector("html");t.forEach((t=>{e&&e.removeAttribute(t)}))}if(n){const e=document.querySelector("body");n.forEach((t=>{e&&e.removeAttribute(t)}))}}(_)}}))}function P(e){const t={...e,params:{...(0,i.UA)(e.location.pathname),...e.pageResources.json.pageContext.__params}};let n;var o;n=e.pageResources.partialHydration?e.pageResources.partialHydration:(0,r.createElement)((o=e.pageResources.component)&&o.default||o,{...t,key:e.path||e.pageResources.page.path});S({pageComponent:e.pageResources.head,staticQueryResults:e.pageResources.staticQueryResults,pageComponentProps:t});return(0,s.N)("wrapPageElement",{element:n,props:t},n,(e=>{let{result:n}=e;return{element:n,props:t}})).pop()}P.propTypes={location:a().object.isRequired,pageResources:a().object.isRequired,data:a().object,pageContext:a().object.isRequired};var R=P},6498:function(e,t,n){"use strict";var r=n(8168),o=n(5540),a=n(20),s=n(6540),i=n(6462),c=n(7035),u=n(7231),l=n(2024),p=n(6814),f=n(6491),d=n(9369);const h={id:"gatsby-announcer",style:{position:"absolute",top:0,width:1,height:1,padding:0,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},"aria-live":"assertive","aria-atomic":"true"};var m=n(7078),g=n(7437);function v(e){const t=(0,f.X)(e),{hash:n,search:r}=window.location;return null!=t&&(window.___replace(t.toPath+r+n),!0)}let y="";window.addEventListener("unhandledrejection",(e=>{/loading chunk \d* failed./i.test(e.reason)&&y&&(window.location.pathname=y)}));const w=(e,t)=>{v(e.pathname)||(y=e.pathname,(0,a.N)("onPreRouteUpdate",{location:e,prevLocation:t}))},b=(e,t)=>{v(e.pathname)||(0,a.N)("onRouteUpdate",{location:e,prevLocation:t})},_=function(e,t){if(void 0===t&&(t={}),"number"==typeof e)return void i.globalHistory.navigate(e);const{pathname:n,search:r,hash:o}=(0,m.Rr)(e),s=(0,f.X)(n);if(s&&(e=s.toPath+r+o),window.___swUpdated)return void(window.location=n+r+o);const c=setTimeout((()=>{d.A.emit("onDelayedLoadPageResources",{pathname:n}),(0,a.N)("onRouteUpdateDelayed",{location:window.location})}),1e3);p.Ay.loadPage(n+r).then((a=>{if(!a||a.status===p.Wi.Error)return window.history.replaceState({},"",location.href),window.location=n,void clearTimeout(c);a&&a.page.webpackCompilationHash!==window.___webpackCompilationHash&&("serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"}),window.location=n+r+o),(0,i.navigate)(e,t),clearTimeout(c)}))};function E(e,t){let{location:n}=t;const{pathname:r,hash:o}=n,s=(0,a.N)("shouldUpdateScroll",{prevRouterProps:e,pathname:r,routerProps:{location:n},getSavedScrollPosition:e=>[0,this._stateStorage.read(e,e.key)]});if(s.length>0)return s[s.length-1];if(e){const{location:{pathname:t}}=e;if(t===r)return o?decodeURI(o.slice(1)):[0,0]}return!0}let S=function(e){function t(t){var n;return(n=e.call(this,t)||this).announcementRef=s.createRef(),n}(0,o.A)(t,e);var n=t.prototype;return n.componentDidUpdate=function(e,t){requestAnimationFrame((()=>{let e=`new page at ${this.props.location.pathname}`;document.title&&(e=document.title);const t=document.querySelectorAll("#gatsby-focus-wrapper h1");t&&t.length&&(e=t[0].textContent);const n=`Navigated to ${e}`;if(this.announcementRef.current){this.announcementRef.current.innerText!==n&&(this.announcementRef.current.innerText=n)}}))},n.render=function(){return(0,g.Y)("div",(0,r.A)({},h,{ref:this.announcementRef}))},t}(s.Component);const P=(e,t)=>{var n,r;return e.href!==t.href||(null==e||null===(n=e.state)||void 0===n?void 0:n.key)!==(null==t||null===(r=t.state)||void 0===r?void 0:r.key)};let R=function(e){function t(t){var n;return n=e.call(this,t)||this,w(t.location,null),n}(0,o.A)(t,e);var n=t.prototype;return n.componentDidMount=function(){b(this.props.location,null)},n.shouldComponentUpdate=function(e){return!!P(this.props.location,e.location)&&(w(e.location,this.props.location),!0)},n.componentDidUpdate=function(e){P(e.location,this.props.location)&&b(this.props.location,e.location)},n.render=function(){return(0,g.Y)(s.Fragment,null,this.props.children,(0,g.Y)(S,{location:location}))},t}(s.Component);var C=n(6017),k=n(6877);function x(e,t){for(var n in e)if(!(n in t))return!0;for(var r in t)if(e[r]!==t[r])return!0;return!1}var O=function(e){function t(t){var n;n=e.call(this)||this;const{location:r,pageResources:o}=t;return n.state={location:{...r},pageResources:o||p.Ay.loadPageSync(r.pathname+r.search,{withErrorDetails:!0})},n}(0,o.A)(t,e),t.getDerivedStateFromProps=function(e,t){let{location:n}=e;if(t.location.href!==n.href){return{pageResources:p.Ay.loadPageSync(n.pathname+n.search,{withErrorDetails:!0}),location:{...n}}}return{location:{...n}}};var n=t.prototype;return n.loadResources=function(e){p.Ay.loadPage(e).then((t=>{t&&t.status!==p.Wi.Error?this.setState({location:{...window.location},pageResources:t}):(window.history.replaceState({},"",location.href),window.location=e)}))},n.shouldComponentUpdate=function(e,t){return t.pageResources?this.state.pageResources!==t.pageResources||(this.state.pageResources.component!==t.pageResources.component||(this.state.pageResources.json!==t.pageResources.json||(!(this.state.location.key===t.location.key||!t.pageResources.page||!t.pageResources.page.matchPath&&!t.pageResources.page.path)||function(e,t,n){return x(e.props,t)||x(e.state,n)}(this,e,t)))):(this.loadResources(e.location.pathname+e.location.search),!1)},n.render=function(){return this.props.children(this.state)},t}(s.Component),T=n(8797),A=n(9732);const N=new p.N5(k,[],window.pageData);(0,p.iC)(N),N.setApiRunner(a.N);const{render:j,hydrate:$}=(0,A.n)();window.asyncRequires=k,window.___emitter=d.A,window.___loader=p.Zf,i.globalHistory.listen((e=>{e.location.action=e.action})),window.___push=e=>_(e,{replace:!1}),window.___replace=e=>_(e,{replace:!0}),window.___navigate=(e,t)=>_(e,t);const D="gatsby-reload-compilation-hash-match";(0,a.v)("onClientEntry").then((()=>{(0,a.N)("registerServiceWorker").filter(Boolean).length>0&&n(626);const e=e=>(0,g.Y)(i.BaseContext.Provider,{value:{baseuri:"/",basepath:"/"}},(0,g.Y)(C.A,e)),t=s.createContext({}),f={renderEnvironment:"browser"};let d=function(e){function n(){return e.apply(this,arguments)||this}return(0,o.A)(n,e),n.prototype.render=function(){const{children:e}=this.props;return(0,g.Y)(i.Location,null,(n=>{let{location:r}=n;return(0,g.Y)(O,{location:r},(n=>{let{pageResources:r,location:o}=n;const a=(0,p.LE)(),s=(0,p.Rh)();return(0,g.Y)(u.G.Provider,{value:a},(0,g.Y)(l.j$.Provider,{value:f},(0,g.Y)(l.dd.Provider,{value:s},(0,g.Y)(l.Jr.Provider,{value:r.page.slicesMap},(0,g.Y)(t.Provider,{value:{pageResources:r,location:o}},e)))))}))}))},n}(s.Component),h=function(n){function a(){return n.apply(this,arguments)||this}return(0,o.A)(a,n),a.prototype.render=function(){return(0,g.Y)(t.Consumer,null,(t=>{let{pageResources:n,location:o}=t;return(0,g.Y)(R,{location:o},(0,g.Y)(c.z_,{location:o,shouldUpdateScroll:E},(0,g.Y)(i.Router,{basepath:"/theia-website-previews/pr-previews/pr-663",location:o,id:"gatsby-focus-wrapper"},(0,g.Y)(e,(0,r.A)({path:"/404.html"===n.page.path||"/500.html"===n.page.path?(0,T.A)(o.pathname,"/theia-website-previews/pr-previews/pr-663"):encodeURI((n.page.matchPath||n.page.path).split("?")[0])},this.props,{location:o,pageResources:n},n.json)))))}))},a}(s.Component);const{pagePath:m,location:v}=window;m&&"/theia-website-previews/pr-previews/pr-663"+m!==v.pathname+(m.includes("?")?v.search:"")&&!(N.findMatchPath((0,T.A)(v.pathname,"/theia-website-previews/pr-previews/pr-663"))||m.match(/^\/(404|500)(\/?|.html)$/)||m.match(/^\/offline-plugin-app-shell-fallback\/?$/))&&(0,i.navigate)("/theia-website-previews/pr-previews/pr-663"+m+(m.includes("?")?"":v.search)+v.hash,{replace:!0});const y=()=>{try{return sessionStorage}catch{return null}};p.Zf.loadPage(v.pathname+v.search).then((e=>{var t;const n=y();if(null!=e&&null!==(t=e.page)&&void 0!==t&&t.webpackCompilationHash&&e.page.webpackCompilationHash!==window.___webpackCompilationHash&&("serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"}),n)){if(!("1"===n.getItem(D)))return n.setItem(D,"1"),void window.location.reload(!0)}if(n&&n.removeItem(D),!e||e.status===p.Wi.Error){const t=`page resources for ${v.pathname} not found. Not rendering React`;if(e&&e.error)throw console.error(t),e.error;throw new Error(t)}const r=(0,a.N)("wrapRootElement",{element:(0,g.Y)(h,null)},(0,g.Y)(h,null),(e=>{let{result:t}=e;return{element:t}})).pop(),o=function(){const e=s.useRef(!1);return s.useEffect((()=>{e.current||(e.current=!0,performance.mark&&performance.mark("onInitialClientRender"),(0,a.N)("onInitialClientRender"))}),[]),(0,g.Y)(d,null,r)},i=document.getElementById("gatsby-focus-wrapper");let c=j;i&&i.children.length&&(c=$);const u=(0,a.N)("replaceHydrateFunction",void 0,c)[0];function l(){const e="undefined"!=typeof window?document.getElementById("___gatsby"):null;u((0,g.Y)(o,null),e)}const f=document;if("complete"===f.readyState||"loading"!==f.readyState&&!f.documentElement.doScroll)setTimeout((function(){l()}),0);else{const e=function(){f.removeEventListener("DOMContentLoaded",e,!1),window.removeEventListener("load",e,!1),l()};f.addEventListener("DOMContentLoaded",e,!1),window.addEventListener("load",e,!1)}}))}))},963:function(e,t,n){"use strict";n.r(t);var r=n(6540),o=n(6814),a=n(6017);t.default=e=>{let{location:t}=e;const n=o.Ay.loadPageSync(t.pathname);return n?r.createElement(a.A,{location:t,pageResources:n,...n.json}):null}},2549:function(e,t,n){var r;e.exports=(r=n(963))&&r.default||r},9732:function(e,t,n){"use strict";n.d(t,{n:function(){return o}});const r=new WeakMap;function o(){const e=n(5338);return{render:(t,n)=>{let o=r.get(n);o||r.set(n,o=e.createRoot(n)),o.render(t)},hydrate:(t,n)=>e.hydrateRoot(n,t)}}},6491:function(e,t,n){"use strict";n.d(t,{X:function(){return a}});const r=new Map,o=new Map;function a(e){let t=r.get(e);return t||(t=o.get(e.toLowerCase())),t}[].forEach((e=>{e.ignoreCase?o.set(e.fromPath,e):r.set(e.fromPath,e)}))},626:function(e,t,n){"use strict";n.r(t);var r=n(20);"https:"!==window.location.protocol&&"localhost"!==window.location.hostname?console.error("Service workers can only be used over HTTPS, or on localhost for development"):"serviceWorker"in navigator&&navigator.serviceWorker.register("/theia-website-previews/pr-previews/pr-663/sw.js").then((function(e){e.addEventListener("updatefound",(()=>{(0,r.N)("onServiceWorkerUpdateFound",{serviceWorker:e});const t=e.installing;console.log("installingWorker",t),t.addEventListener("statechange",(()=>{switch(t.state){case"installed":navigator.serviceWorker.controller?(window.___swUpdated=!0,(0,r.N)("onServiceWorkerUpdateReady",{serviceWorker:e}),window.___failedResources&&(console.log("resources failed, SW updated - reloading"),window.location.reload())):(console.log("Content is now available offline!"),(0,r.N)("onServiceWorkerInstalled",{serviceWorker:e}));break;case"redundant":console.error("The installing service worker became redundant."),(0,r.N)("onServiceWorkerRedundant",{serviceWorker:e});break;case"activated":(0,r.N)("onServiceWorkerActive",{serviceWorker:e})}}))}))})).catch((function(e){console.error("Error during service worker registration:",e)}))},2024:function(e,t,n){"use strict";n.d(t,{Jr:function(){return s},dd:function(){return o},j$:function(){return a}});var r=n(6540);const o=r.createContext({}),a=r.createContext({}),s=r.createContext({})},7231:function(e,t,n){"use strict";n.d(t,{G:function(){return o},GR:function(){return i}});var r=n(6540);const o=(a="StaticQuery",s={},r.createServerContext?function(e,t){return void 0===t&&(t=null),globalThis.__SERVER_CONTEXT||(globalThis.__SERVER_CONTEXT={}),globalThis.__SERVER_CONTEXT[e]||(globalThis.__SERVER_CONTEXT[e]=r.createServerContext(e,t)),globalThis.__SERVER_CONTEXT[e]}(a,s):r.createContext(s));var a,s;const i=e=>{var t;r.useContext;const n=r.useContext(o);if(isNaN(Number(e)))throw new Error(`useStaticQuery was called with a string but expects to be called using \`graphql\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\`${e}\`);\n`);if(null!==(t=n[e])&&void 0!==t&&t.data)return n[e].data;throw new Error("The result of this StaticQuery could not be fetched.\n\nThis is likely a bug in Gatsby and if refreshing the page does not fix it, please open an issue in https://github.com/gatsbyjs/gatsby/issues")}},8797:function(e,t,n){"use strict";function r(e,t){return void 0===t&&(t=""),t?e===t?"/":e.startsWith(`${t}/`)?e.slice(t.length):e:e}n.d(t,{A:function(){return r}})},8108:function(e,t,n){n(1309)},3697:function(e,t,n){"use strict";n.r(t),n.d(t,{onClientEntry:function(){return c}});var r=n(4810),o=n(382),a=n.n(o);const s=e=>"/"===e[0]?e:`/${e}`,i=(e,t)=>n=>{if(window.___failedResources)return!0;if((e=>0!==e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)(n))return!0;if((e=>e.defaultPrevented)(n))return!0;const o=(e=>{for(;e.parentNode;e=e.parentNode)if("a"===e.nodeName.toLowerCase())return e;return null})(n.target);if(null==o)return!0;if(!0===(i=o).hasAttribute("download")||!1===(e=>!1===e.hasAttribute("target")||null==e.target||["_self",""].includes(e.target)||"_parent"===e.target&&(!e.ownerDocument.defaultView.parent||e.ownerDocument.defaultView.parent===e.ownerDocument.defaultView)||"_top"===e.target&&(!e.ownerDocument.defaultView.top||e.ownerDocument.defaultView.top===e.ownerDocument.defaultView))(i))return!0;var i;const c=document.createElement("a");""!==o.href&&(c.href=o.href),"SVGAnimatedString"in window&&o.href instanceof SVGAnimatedString&&(c.href=o.href.animVal);const u=document.createElement("a");if(u.href=window.location.href,!1===((e,t)=>e.protocol===t.protocol&&e.host===t.host)(u,c))return!0;const l=new RegExp(`^${a()((0,r.Fe)("/"))}`);if(((e,t)=>!1===t.test(s(e.pathname))||-1!==e.pathname.search(/^.*\.((?!htm)[a-z0-9]{1,5})$/i))(c,l))return!0;if(((e,t)=>""!==t.hash&&(""===t.pathname||t.pathname===e.pathname))(u,c))return!0;if(t.excludePattern){if(new RegExp(t.excludePattern).test(c.pathname))return!0}n.preventDefault();const p=s(c.pathname).replace(l,"/");return e(`${p}${c.search}${c.hash}`),!1};const c=function(e,t){void 0===t&&(t={}),function(e,t,n){const r=i(n,t);e.addEventListener("click",r)}(window,t,(e=>{(0,r.oo)(e)}))}},382:function(e){"use strict";var t=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(t,"\\$&")}},6774:function(e,t){"use strict";var n=0,r=function(e){var t=window.decodeURI(e.replace("#",""));if(""!==t){var r=document.getElementById(t);if(r){var o=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop,a=document.documentElement.clientTop||document.body.clientTop||0,s=window.getComputedStyle(r),i=s.getPropertyValue("scroll-margin-top")||s.getPropertyValue("scroll-snap-margin-top")||"0px";return r.getBoundingClientRect().top+o-parseInt(i,10)-a-n}}return null};t.onInitialClientRender=function(e,t){t.offsetY&&(n=t.offsetY),requestAnimationFrame((function(){var e=r(window.location.hash);null!==e&&window.scrollTo(0,e)}))},t.shouldUpdateScroll=function(e){var t=e.routerProps.location,n=r(t.hash);return null===n||[0,n]}},4146:function(e,t,n){"use strict";var r=n(4363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function c(e){return r.isMemo(e)?s:i[e.$$typeof]||o}i[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[r.Memo]=s;var u=Object.defineProperty,l=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var o=d(n);o&&o!==h&&e(t,o,r)}var s=l(n);p&&(s=s.concat(p(n)));for(var i=c(t),m=c(n),g=0;g((e,t)=>{const{forward:n=[],...r}=e||{},o=JSON.stringify(r,((e,t)=>("function"==typeof t&&(t=String(t)).startsWith(e+"(")&&(t="function "+t),t)));return["!(function(w,p,f,c){",Object.keys(r).length>0?`c=w[p]=Object.assign(w[p]||{},${o});`:"c=w[p]=w[p]||{};","c[f]=(c[f]||[])",n.length>0?`.concat(${JSON.stringify(n)})`:"","})(window,'partytown','forward');",t].join("")})(e,'/* Partytown 0.7.6 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,"/"==(a=(o.lib||"/~partytown/")+(o.debug?"debug/":""))[0]&&(s=e.querySelectorAll(\'script[type="text/partytown"]\'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener("pt0",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||"partytown-sw.js"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?"script":"iframe"),t||(c.setAttribute("style","display:block;width:0;height:0;border:0;visibility:hidden"),c.setAttribute("aria-hidden",!0)),c.src=a+"partytown-"+(t?"atomics.js?v=0.7.6":"sandbox-sw.html?"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(".")[0]]})),n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}const u=e=>{const{search:t,hash:n,href:r,origin:o,protocol:a,host:s,hostname:i,port:c}=e.location;let{pathname:u}=e.location;return!u&&r&&f&&(u=new URL(r).pathname),{pathname:encodeURI(decodeURI(u)),search:t,hash:n,href:r,origin:o,protocol:a,host:s,hostname:i,port:c,state:e.history.state,key:e.history.state&&e.history.state.key||"initial"}},l=(e,t)=>{let n=[],r=u(e),o=!1,a=()=>{};return{get location(){return r},get transitioning(){return o},_onTransitionComplete(){o=!1,a()},listen(t){n.push(t);const o=()=>{r=u(e),t({location:r,action:"POP"})};return e.addEventListener("popstate",o),()=>{e.removeEventListener("popstate",o),n=n.filter((e=>e!==t))}},navigate(t,{state:s,replace:c=!1}={}){if("number"==typeof t)e.history.go(t);else{s=i({},s,{key:Date.now()+""});try{o||c?e.history.replaceState(s,null,t):e.history.pushState(s,null,t)}catch(n){e.location[c?"replace":"assign"](t)}}r=u(e),o=!0;const l=new Promise((e=>a=e));return n.forEach((e=>e({location:r,action:"PUSH"}))),l}}},p=(e="/")=>{const t=e.indexOf("?"),n={pathname:t>-1?e.substr(0,t):e,search:t>-1?e.substr(t):""};let r=0;const o=[n],a=[null];return{get location(){return o[r]},addEventListener(e,t){},removeEventListener(e,t){},history:{get entries(){return o},get index(){return r},get state(){return a[r]},pushState(e,t,n){const[s,i=""]=n.split("?");r++,o.push({pathname:s,search:i.length?`?${i}`:i}),a.push(e)},replaceState(e,t,n){const[s,i=""]=n.split("?");o[r]={pathname:s,search:i},a[r]=e},go(e){const t=r+e;t<0||t>a.length-1||(r=t)}}}},f=!("undefined"==typeof window||!window.document||!window.document.createElement),d=l(f?window:p()),{navigate:h}=d;function m(e,t){return o.createServerContext?((e,t=null)=>(globalThis.__SERVER_CONTEXT||(globalThis.__SERVER_CONTEXT={}),globalThis.__SERVER_CONTEXT[e]||(globalThis.__SERVER_CONTEXT[e]=o.createServerContext(e,t)),globalThis.__SERVER_CONTEXT[e]))(e,t):o.createContext(t)}const g=m("Base",{baseuri:"/",basepath:"/"}),v=m("Location"),y=()=>o.useContext(g),w=()=>o.useContext(v);function b(e){this.uri=e}const _=e=>e instanceof b,E=e=>{throw new b(e)};function S(e){const{to:t,replace:n=!0,state:r,noThrow:a,baseuri:s}=e;o.useEffect((()=>{Promise.resolve().then((()=>{const o=x(t,s);h(O(o,e),{replace:n,state:r})}))}),[]);const i=x(t,s);return a||E(O(i,e)),null}const P=e=>{const t=w(),{baseuri:n}=y();return o.createElement(S,i({},t,{baseuri:n},e))};P.propTypes={from:a.string,to:a.string.isRequired};const R=(e,t)=>e.substr(0,t.length)===t,C=(e,t)=>{let n,r;const[o]=t.split("?"),a=M(o),i=""===a[0],c=D(e);for(let u=0,l=c.length;u dynamic segment "${r[1]}" is a reserved name. Please use a different name in path "${o.path}".`);const t=decodeURIComponent(n);p[r[1]]=t}else if(t!==n){e=!0;break}}if(!e){n={route:o,params:p,uri:"/"+a.slice(0,d).join("/")};break}}return n||r||null},k=(e,t)=>C([{path:e}],t),x=(e,t)=>{if(R(e,"/"))return e;const[n,r]=e.split("?"),[o]=t.split("?"),a=M(n),s=M(o);if(""===a[0])return L(o,r);if(!R(a[0],".")){const e=s.concat(a).join("/");return L(("/"===o?"":"/")+e,r)}const i=s.concat(a),c=[];for(let u=0,l=i.length;u{const[n,r=""]=e.split("?");let o="/"+M(n).map((e=>{const n=A.exec(e);return n?t[n[1]]:e})).join("/");const{location:{search:a=""}={}}=t,s=a.split("?")[1]||"";return o=L(o,r,s),o},T=(e,t)=>{const n=e=>N(e);return M(e).filter(n).sort().join("/")===M(t).filter(n).sort().join("/")},A=/^:(.+)/,N=e=>A.test(e),j=e=>e&&"*"===e[0],$=(e,t)=>({route:e,score:e.default?0:M(e.path).reduce(((e,t)=>(e+=4,(e=>""===e)(t)?e+=1:N(t)?e+=2:j(t)?e-=5:e+=3,e)),0),index:t}),D=e=>e.map($).sort(((e,t)=>e.scoret.score?-1:e.index-t.index)),M=e=>e.replace(/(^\/+|\/+$)/g,"").split("/"),L=(e,...t)=>e+((t=t.filter((e=>e&&e.length>0)))&&t.length>0?`?${t.join("&")}`:""),H=["uri","path"],I=(e,t)=>{const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every((n=>t.hasOwnProperty(n)&&e[n]===t[n]))},W=e=>e.replace(/(^\/+|\/+$)/g,""),F=e=>t=>{if(!t)return null;if(t.type===o.Fragment&&t.props.children)return o.Children.map(t.props.children,F(e));if(s(t.props.path||t.props.default||t.type===P,`: Children of must have a \`path\` or \`default\` prop, or be a \`\`. None found on element type \`${t.type}\``),s(!!(t.type!==P||t.props.from&&t.props.to),` requires both "from" and "to" props when inside a .`),s(!(t.type===P&&!T(t.props.from,t.props.to)),` has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.`),t.props.default)return{value:t,default:!0};const n=t.type===P?t.props.from:t.props.path,r="/"===n?e:`${W(e)}/${W(n)}`;return{value:t,default:t.props.default,path:t.props.children?`${W(r)}/*`:r}},U=["innerRef"],q=["to","state","replace","getProps"],J=["key"];let{forwardRef:Y}=r||(r=n.t(o,2));void 0===Y&&(Y=e=>e);const Q=()=>{},G=Y(((e,t)=>{let{innerRef:n}=e,r=c(e,U);const{baseuri:a}=y(),{location:s}=w(),{to:u,state:l,replace:p,getProps:f=Q}=r,d=c(r,q),m=x(u,a),g=encodeURI(m),v=s.pathname===g,b=R(s.pathname,g);return o.createElement("a",i({ref:t||n,"aria-current":v?"page":void 0},d,f({isCurrent:v,isPartiallyCurrent:b,href:m,location:s}),{href:m,onClick:e=>{if(d.onClick&&d.onClick(e),(e=>!e.defaultPrevented&&0===e.button&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey))(e)){e.preventDefault();let t=p;if("boolean"!=typeof p&&v){const e=c(i({},s.state),J);t=I(i({},l),e)}h(m,{state:l,replace:t})}}}))}));G.displayName="Link",G.propTypes={to:a.string.isRequired};class z extends o.Component{constructor(...e){super(...e),this.displayName="ReactUseErrorBoundary"}componentDidCatch(...e){this.setState({}),this.props.onError(...e)}render(){return this.props.children}}const B=o.createContext({componentDidCatch:{current:void 0},error:void 0,setError:()=>!1});function V({children:e}){const[t,n]=o.useState(),r=o.useRef(),a=o.useMemo((()=>({componentDidCatch:r,error:t,setError:n})),[t]);return o.createElement(B.Provider,{value:a},o.createElement(z,{error:t,onError:(e,t)=>{n(e),null==r.current||r.current(e,t)}},e))}V.displayName="ReactUseErrorBoundaryContext";const K=function(e){var t,n;function r(t){return o.createElement(V,null,o.createElement(e,i({key:"WrappedComponent"},t)))}return r.displayName=`WithErrorBoundary(${null!=(t=null!=(n=e.displayName)?n:e.name)?t:"Component"})`,r}((({history:e=d,children:t})=>{const{location:n}=e,[r,a]=o.useState({location:n}),[s]=function(){const e=o.useContext(B);e.componentDidCatch.current=void 0;const t=o.useCallback((()=>{e.setError(void 0)}),[]);return[e.error,t]}();if(o.useEffect((()=>{e._onTransitionComplete()}),[r.location]),o.useEffect((()=>{let t=!1;const n=e.listen((({location:e})=>{Promise.resolve().then((()=>{requestAnimationFrame((()=>{t||a({location:e})}))}))}));return()=>{t=!0,n()}}),[]),s){if(!_(s))throw s;h(s.uri,{replace:!0})}return o.createElement(v.Provider,{value:r},"function"==typeof t?t(r):t||null)})),X=({children:e})=>{const t=w();return t?e(t):o.createElement(K,null,e)},Z=({url:e,children:t})=>{const n=e.indexOf("?");let r,a="";return n>-1?(r=e.substring(0,n),a=e.substring(n)):r=e,o.createElement(v.Provider,{value:{location:{pathname:r,search:a,hash:""}}},t)},ee=({path:e,children:t})=>{const{baseuri:n}=y(),{location:r}=w(),o=x(e,n),a=k(o,r.pathname);return t({location:r,match:a?i({},a.params,{uri:a.uri,path:e}):null})},te=["uri","location","component"],ne=["children","style","component","uri","location"],re=e=>{let{uri:t,location:n,component:r}=e,a=c(e,te);return o.createElement(ae,i({},a,{component:r,uri:t,location:n}))};let oe=0;const ae=e=>{let{children:t,style:n,component:r="div",uri:a,location:s}=e,u=c(e,ne);const l=o.useRef(),p=o.useRef(!0),f=o.useRef(a),d=o.useRef(s.pathname),h=o.useRef(!1);o.useEffect((()=>(oe++,m(),()=>{oe--,0===oe&&(p.current=!0)})),[]),o.useEffect((()=>{let e=!1,t=!1;a!==f.current&&(f.current=a,e=!0),s.pathname!==d.current&&(d.current=s.pathname,t=!0),h.current=e||t&&s.pathname===a,h.current&&m()}),[a,s]);const m=o.useCallback((()=>{var e;p.current?p.current=!1:(e=l.current,h.current&&e&&e.focus())}),[]);return o.createElement(r,i({style:i({outline:"none"},n),tabIndex:"-1",ref:l},u),t)},se=["location","primary","children","basepath","baseuri","component"],ie=e=>{const t=y(),n=w();return o.createElement(ce,i({},t,n,e))};function ce(e){const{location:t,primary:n=!0,children:r,basepath:a,component:s="div"}=e,u=c(e,se),l=o.Children.toArray(r).reduce(((e,t)=>{const n=F(a)(t);return e.concat(n)}),[]),{pathname:p}=t,f=C(l,p);if(f){const{params:e,uri:r,route:c,route:{value:l}}=f,p=c.default?a:c.path.replace(/\*$/,""),d=i({},e,{uri:r,location:t}),h=o.cloneElement(l,d,l.props.children?o.createElement(ie,{location:t,primary:n},l.props.children):void 0),m=n?re:s,v=n?i({uri:r,location:t,component:s},u):u;return o.createElement(g.Provider,{value:{baseuri:r,basepath:p}},o.createElement(m,v,h))}return null}const ue=()=>{const e=w();if(!e)throw new Error("useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");return e.location},le=()=>{throw new Error("useNavigate is removed. Use import { navigate } from 'gatsby' instead")},pe=()=>{const e=y();if(!e)throw new Error("useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");const t=ue(),n=k(e.basepath,t.pathname);return n?n.params:null},fe=e=>{if(!e)throw new Error("useMatch(path: string) requires an argument of a string to match against");const t=y();if(!t)throw new Error("useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");const n=ue(),r=x(e,t.baseuri),o=k(r,n.pathname);return o?i({},o.params,{uri:o.uri,path:e}):null}},7078:function(e,t,n){"use strict";n.d(t,{Fe:function(){return d},N_:function(){return _},Rr:function(){return c},oo:function(){return E}});var r=n(5556),o=n(6540),a=n(6462),s=n(6395);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if("string"==typeof e)return!(e=>u.test(e))(e)},p=()=>"/theia-website-previews/pr-previews/pr-663",f=()=>"/theia-website-previews/pr-previews/pr-663";function d(e,t=p()){var n;if(!l(e))return e;if(e.startsWith("./")||e.startsWith("../"))return e;const r=null!=(n=null!=t?t:f())?n:"/";return`${null!=r&&r.endsWith("/")?r.slice(0,-1):r}${e.startsWith("/")?e:`/${e}`}`}const h=e=>null==e?void 0:e.startsWith("/");function m(e,t){const{pathname:n,search:r,hash:o}=c(e);return`${(0,s.T)(n,t)}${r}${o}`}const g=(e,t)=>"number"==typeof e?e:l(e)?h(e)?function(e){const t=d(e),n="always";return m(t,n)}(e):function(e,t){if(h(e))return e;const n="always",r=(0,a.resolve)(e,t);return m(r,n)}(e,t):e,v=["to","getProps","onClick","onMouseEnter","activeClassName","activeStyle","innerRef","partiallyActive","state","replace","_location"];const y={activeClassName:r.string,activeStyle:r.object,partiallyActive:r.bool};function w(e){return o.createElement(a.Location,null,(({location:t})=>o.createElement(b,i({},e,{_location:t}))))}class b extends o.Component{constructor(e){super(e),this.defaultGetProps=({isPartiallyCurrent:e,isCurrent:t})=>(this.props.partiallyActive?e:t)?{className:[this.props.className,this.props.activeClassName].filter(Boolean).join(" "),style:i({},this.props.style,this.props.activeStyle)}:null;let t=!1;"undefined"!=typeof window&&window.IntersectionObserver&&(t=!0),this.state={IOSupported:t},this.abortPrefetch=null,this.handleRef=this.handleRef.bind(this)}_prefetch(){let e=window.location.pathname+window.location.search;this.props._location&&this.props._location.pathname&&(e=this.props._location.pathname+this.props._location.search);const t=c(g(this.props.to,e)),n=t.pathname+t.search;if(e!==n)return ___loader.enqueue(n)}componentWillUnmount(){if(!this.io)return;const{instance:e,el:t}=this.io;this.abortPrefetch&&this.abortPrefetch.abort(),e.unobserve(t),e.disconnect()}handleRef(e){this.props.innerRef&&Object.prototype.hasOwnProperty.call(this.props.innerRef,"current")?this.props.innerRef.current=e:this.props.innerRef&&this.props.innerRef(e),this.state.IOSupported&&e&&(this.io=((e,t)=>{const n=new window.IntersectionObserver((n=>{n.forEach((n=>{e===n.target&&t(n.isIntersecting||n.intersectionRatio>0)}))}));return n.observe(e),{instance:n,el:e}})(e,(e=>{e?this.abortPrefetch=this._prefetch():this.abortPrefetch&&this.abortPrefetch.abort()})))}render(){const e=this.props,{to:t,getProps:n=this.defaultGetProps,onClick:r,onMouseEnter:s,state:u,replace:p,_location:f}=e,d=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,v),h=g(t,f.pathname);return l(h)?o.createElement(a.Link,i({to:h,state:u,getProps:n,innerRef:this.handleRef,onMouseEnter:e=>{s&&s(e);const t=c(h);___loader.hovering(t.pathname+t.search)},onClick:e=>{if(r&&r(e),!(0!==e.button||this.props.target||e.defaultPrevented||e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)){e.preventDefault();let t=p;const n=encodeURI(h)===f.pathname;"boolean"!=typeof p&&n&&(t=!0),window.___navigate(h,{state:u,replace:t})}return!0}},d)):o.createElement("a",i({href:h},d))}}b.propTypes=i({},y,{onClick:r.func,to:r.string.isRequired,replace:r.bool,state:r.object});const _=o.forwardRef(((e,t)=>o.createElement(w,i({innerRef:t},e)))),E=(e,t)=>{window.___navigate(g(e,window.location.pathname),t)}},5535:function(e,t,n){"use strict";n.r(t),n.d(t,{Script:function(){return h},ScriptStrategy:function(){return u},collectedScriptsByPage:function(){return i},scriptCache:function(){return f},scriptCallbackCache:function(){return d}});var r=n(6540),o=n(6462);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;ts.get(e)||[],set(e,t){const n=s.get(e)||[];n.push(t),s.set(e,n)},delete(e){s.delete(e)}},c="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){const t=Date.now();return setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1)};var u,l;(l=u||(u={})).postHydrate="post-hydrate",l.idle="idle",l.offMainThread="off-main-thread";const p=new Set(["src","strategy","dangerouslySetInnerHTML","children","onLoad","onError"]),f=new Set,d=new Map;function h(e){return r.createElement(o.Location,null,(()=>r.createElement(m,e)))}function m(e){const{src:t,strategy:n=u.postHydrate}=e||{},{pathname:s}=(0,o.useLocation)();if((0,r.useEffect)((()=>{let t;switch(n){case u.postHydrate:t=g(e);break;case u.idle:c((()=>{t=g(e)}));break;case u.offMainThread:{const t=y(e);i.set(s,t)}}return()=>{const{script:e,loadCallback:n,errorCallback:r}=t||{};n&&(null==e||e.removeEventListener("load",n)),r&&(null==e||e.removeEventListener("error",r)),null==e||e.remove()}}),[]),n===u.offMainThread){const o=v(e),c=y(e);return"undefined"==typeof window&&i.set(s,c),r.createElement("script",o?a({type:"text/partytown","data-strategy":n,crossOrigin:"anonymous"},c,{dangerouslySetInnerHTML:{__html:v(e)}}):a({type:"text/partytown",src:w(t),"data-strategy":n,crossOrigin:"anonymous"},c))}return null}function g(e){const{id:t,src:n,strategy:r=u.postHydrate,onLoad:o,onError:s}=e||{},i=t||n,c=["load","error"],l={load:o,error:s};if(i){for(const e of c)if(null!=l&&l[e]){var p;const t=d.get(i)||{},{callbacks:n=[]}=(null==t?void 0:t[e])||{};var h,m;n.push(null==l?void 0:l[e]),null!=t&&null!=(p=t[e])&&p.event?null==l||null==(h=l[e])||h.call(l,null==t||null==(m=t[e])?void 0:m.event):d.set(i,a({},t,{[e]:{callbacks:n}}))}if(f.has(i))return null}const g=v(e),w=y(e),_=document.createElement("script");t&&(_.id=t),_.dataset.strategy=r;for(const[a,u]of Object.entries(w))_.setAttribute(a,u);g&&(_.textContent=g),n&&(_.src=n);const E={};if(i){for(const e of c){const t=t=>b(t,i,e);_.addEventListener(e,t),E[`${e}Callback`]=t}f.add(i)}return document.body.appendChild(_),{script:_,loadCallback:E.loadCallback,errorCallback:E.errorCallback}}function v(e){const{dangerouslySetInnerHTML:t,children:n=""}=e||{},{__html:r=""}=t||{};return r||n}function y(e){const t={};for(const[n,r]of Object.entries(e))p.has(n)||(t[n]=r);return t}function w(e){if(e)return`/__third-party-proxy?url=${encodeURIComponent(e)}`}function b(e,t,n){const r=d.get(t)||{};for(const a of(null==r||null==(o=r[n])?void 0:o.callbacks)||[]){var o;a(e)}d.set(t,{[n]:{event:e}})}}},function(e){e.O(0,[869,593],(function(){return t=6498,e(e.s=t);var t}));e.O()}]); -//# sourceMappingURL=app-20a33ead2c3dc13b51fc.js.map \ No newline at end of file diff --git a/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js.LICENSE.txt b/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js.LICENSE.txt deleted file mode 100644 index ef4a917d..00000000 --- a/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js.LICENSE.txt +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @license React - * react-server-dom-webpack.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/** @license React v16.13.1 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ diff --git a/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js.map b/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js.map deleted file mode 100644 index 6845d0f9..00000000 --- a/pr-previews/pr-663/app-20a33ead2c3dc13b51fc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"app-20a33ead2c3dc13b51fc.js","mappings":"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","sources":["webpack://Theia-Website/./node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","webpack://Theia-Website/./node_modules/stylis/src/Utility.js","webpack://Theia-Website/./node_modules/stylis/src/Tokenizer.js","webpack://Theia-Website/./node_modules/stylis/src/Enum.js","webpack://Theia-Website/./node_modules/stylis/src/Serializer.js","webpack://Theia-Website/./node_modules/stylis/src/Parser.js","webpack://Theia-Website/./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack://Theia-Website/./node_modules/stylis/src/Middleware.js","webpack://Theia-Website/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://Theia-Website/./node_modules/@emotion/react/dist/emotion-element-5486c51c.browser.esm.js","webpack://Theia-Website/./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack://Theia-Website/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack://Theia-Website/./node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","webpack://Theia-Website/./node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack://Theia-Website/./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack://Theia-Website/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack://Theia-Website/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://Theia-Website/./node_modules/gatsby-react-router-scroll/index.js","webpack://Theia-Website/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://Theia-Website/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://Theia-Website/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://Theia-Website/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://Theia-Website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://Theia-Website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://Theia-Website/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://Theia-Website/./.cache/api-runner-browser-plugins.js","webpack://Theia-Website/./.cache/api-runner-browser.js","webpack://Theia-Website/./.cache/emitter.js","webpack://Theia-Website/./node_modules/mitt/dist/mitt.es.js","webpack://Theia-Website/./.cache/normalize-page-path.js","webpack://Theia-Website/./.cache/find-path.js","webpack://Theia-Website/./.cache/gatsby-browser-entry.js","webpack://Theia-Website/./.cache/prefetch.js","webpack://Theia-Website/./.cache/loader.js","webpack://Theia-Website/./.cache/head/components/fire-callback-in-effect.js","webpack://Theia-Website/./.cache/head/constants.js","webpack://Theia-Website/./.cache/head/utils.js","webpack://Theia-Website/./.cache/head/head-export-handler-for-browser.js","webpack://Theia-Website/./.cache/page-renderer.js","webpack://Theia-Website/./.cache/route-announcer-props.js","webpack://Theia-Website/./.cache/navigation.js","webpack://Theia-Website/./node_modules/shallow-compare/es/index.js","webpack://Theia-Website/./.cache/ensure-resources.js","webpack://Theia-Website/./.cache/production-app.js","webpack://Theia-Website/./.cache/public-page-renderer-prod.js","webpack://Theia-Website/./.cache/public-page-renderer.js","webpack://Theia-Website/./.cache/react-dom-utils.js","webpack://Theia-Website/./.cache/redirect-utils.js","webpack://Theia-Website/./.cache/register-service-worker.js","webpack://Theia-Website/./.cache/slice/context.js","webpack://Theia-Website/./.cache/static-query.js","webpack://Theia-Website/./.cache/context-utils.js","webpack://Theia-Website/./.cache/strip-prefix.js","webpack://Theia-Website/./gatsby-browser.js","webpack://Theia-Website/./node_modules/gatsby-plugin-catch-links/catch-links.js","webpack://Theia-Website/./node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack://Theia-Website/./node_modules/gatsby-plugin-catch-links/node_modules/escape-string-regexp/index.js","webpack://Theia-Website/./node_modules/gatsby-remark-autolink-headers/gatsby-browser.js","webpack://Theia-Website/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://Theia-Website/./node_modules/invariant/browser.js","webpack://Theia-Website/./node_modules/react-is/cjs/react-is.production.min.js","webpack://Theia-Website/./node_modules/react-is/index.js","webpack://Theia-Website/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://Theia-Website/./node_modules/react-server-dom-webpack/index.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/extends.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://Theia-Website/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Theia-Website/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Theia-Website/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://Theia-Website/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://Theia-Website/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function\n /*: EmotionCache */\ncreateCache(options\n/*: Options */\n) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node\n /*: HTMLStyleElement */\n ) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n /* : Node */\n\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node\n /*: HTMLStyleElement */\n ) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n /*: (\n selector: string,\n serialized: SerializedStyles,\n sheet: StyleSheet,\n shouldCache: boolean\n ) => string | void */\n\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function\n /*: void */\n insert(selector\n /*: string */\n , serialized\n /*: SerializedStyles */\n , sheet\n /*: StyleSheet */\n , shouldCache\n /*: boolean */\n ) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache\n /*: EmotionCache */\n = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\n/* import { type EmotionCache } from '@emotion/utils' */\nvar EmotionCacheContext\n/*: React.Context */\n= /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache()\n/*: EmotionCache | null*/\n{\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache\n/* > */\n(func\n/*: (props: Props, cache: EmotionCache, ref: Ref) => React.Node */\n)\n/*: React.AbstractComponent */\n{\n return /*#__PURE__*/forwardRef(function (props\n /*: Props */\n , ref\n /*: Ref */\n ) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme\n/*: Object */\n, theme\n/*: Object | (Object => Object) */\n) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n/*\ntype ThemeProviderProps = {\n theme: Object | (Object => Object),\n children: React.Node\n}\n*/\n\nvar ThemeProvider = function ThemeProvider(props\n/*: ThemeProviderProps */\n) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme\n/* */\n(Component\n/*: React.AbstractComponent */\n)\n/*: React.AbstractComponent<$Diff> */\n{\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n };\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n\n var newProps\n /*: any */\n = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(\n/* */\nfunction (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (!isDevelopment )) {\n newProps[key] = props[key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-5486c51c.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-5486c51c.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx\n/*: typeof React.createElement */\n= function jsx\n/*: typeof React.createElement */\n(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global\n/*: React.AbstractComponent<\nGlobalProps\n> */\n= /* #__PURE__ */withEmotionCache(function (props\n/*: GlobalProps */\n, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node\n /*: HTMLStyleElement | null*/\n = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n/* import type { Interpolation, SerializedStyles } from '@emotion/utils' */\n\nfunction css()\n/*: SerializedStyles */\n{\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\n/*\ntype Keyframes = {|\n name: string,\n styles: string,\n anim: 1,\n toString: () => string\n|} & string\n*/\n\nvar keyframes = function\n /*: Keyframes */\nkeyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\n/*\ntype ClassNameArg =\n | string\n | boolean\n | { [key: string]: boolean }\n | Array\n | null\n | void\n*/\n\nvar classnames = function\n /*: string */\nclassnames(args\n/*: Array */\n) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered\n/*: Object */\n, css\n/*: (...args: Array) => string */\n, className\n/*: string */\n) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n/*\ntype Props = {\n children: ({\n css: (...args: any) => string,\n cx: (...args: Array) => string,\n theme: Object\n }) => React.Node\n} */\n\n\nvar ClassNames\n/*: React.AbstractComponent*/\n= /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g;\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n }\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-blogs-js\": () => import(\"./../../../src/pages/blogs.js\" /* webpackChunkName: \"component---src-pages-blogs-js\" */),\n \"component---src-pages-docs-js\": () => import(\"./../../../src/pages/docs.js\" /* webpackChunkName: \"component---src-pages-docs-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-releases-js\": () => import(\"./../../../src/pages/releases.js\" /* webpackChunkName: \"component---src-pages-releases-js\" */),\n \"component---src-pages-resources-js\": () => import(\"./../../../src/pages/resources.js\" /* webpackChunkName: \"component---src-pages-resources-js\" */),\n \"component---src-pages-support-js\": () => import(\"./../../../src/pages/support.js\" /* webpackChunkName: \"component---src-pages-support-js\" */),\n \"component---src-templates-doc-js\": () => import(\"./../../../src/templates/doc.js\" /* webpackChunkName: \"component---src-templates-doc-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-remark-autolink-headers/gatsby-browser.js'),\n options: {\"plugins\":[],\"offsetY\":0,\"className\":\"anchor\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-catch-links/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","require(\"prismjs/themes/prism-tomorrow.css\")","import escapeStringRegexp from \"escape-string-regexp\";\nimport { withPrefix } from \"gatsby\";\nexport const userIsForcingNavigation = event => event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;\n\n// IE does not include leading slash in anchor.pathname\nexport const slashedPathname = pathname => pathname[0] === `/` ? pathname : `/${pathname}`;\nexport const navigationWasHandledElsewhere = event => event.defaultPrevented;\nexport const findClosestAnchor = node => {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === `a`) {\n return node;\n }\n }\n return null;\n};\nexport const anchorsTargetIsEquivalentToSelf = anchor => /* If target attribute is not present it's treated as _self */\nanchor.hasAttribute(`target`) === false ||\n/**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n/**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\nanchor.target == null ||\n/**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n[`_self`, ``].includes(anchor.target) ||\n/**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\nanchor.target === `_parent` && (!anchor.ownerDocument.defaultView.parent ||\n// Assumption: This can be falsey\nanchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === `_top` && (!anchor.ownerDocument.defaultView.top ||\n// Assumption: This can be falsey\nanchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView);\nexport const authorIsForcingNavigation = anchor =>\n/**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\nanchor.hasAttribute(`download`) === true ||\n/**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\nanchorsTargetIsEquivalentToSelf(anchor) === false;\n\n// https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\nexport const urlsAreOnSameOrigin = (origin, destination) => origin.protocol === destination.protocol && /* a.host includes both hostname and port in the expected format host:port */\norigin.host === destination.host;\nexport const pathIsNotHandledByApp = (destination, pathStartRegEx) => {\n const pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\nexport const hashShouldBeFollowed = (origin, destination) => destination.hash !== `` && (\n/**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\ndestination.pathname === `` || /* Don't catch links pointed to the same page but with a hash. */\ndestination.pathname === origin.pathname);\nexport const routeThroughBrowserOrApp = (hrefHandler, pluginOptions) => event => {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n const clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true;\n\n // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n const destination = document.createElement(`a`);\n\n // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n if (clickedAnchor.href !== ``) {\n destination.href = clickedAnchor.href;\n }\n if (`SVGAnimatedString` in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n }\n\n // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n const origin = document.createElement(`a`);\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true;\n\n // Regex to test pathname against pathPrefix\n const pathStartRegEx = new RegExp(`^${escapeStringRegexp(withPrefix(`/`))}`);\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n if (pluginOptions.excludePattern) {\n const excludeRegex = new RegExp(pluginOptions.excludePattern);\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n event.preventDefault();\n\n // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n const destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, `/`);\n hrefHandler(`${destinationPathname}${destination.search}${destination.hash}`);\n return false;\n};\nexport default function (root, pluginOptions, cb) {\n const clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(`click`, clickHandler);\n return () => root.removeEventListener(`click`, clickHandler);\n}","import { navigate } from \"gatsby\";\nimport catchLinks from \"./catch-links\";\nexport const onClientEntry = (_, pluginOptions = {}) => {\n catchLinks(window, pluginOptions, href => {\n navigate(href);\n });\n};","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","\"use strict\";\n\nvar offsetY = 0;\nvar getTargetOffset = function getTargetOffset(hash) {\n var id = window.decodeURI(hash.replace(\"#\", \"\"));\n if (id !== \"\") {\n var element = document.getElementById(id);\n if (element) {\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;\n var clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\n var computedStyles = window.getComputedStyle(element);\n var scrollMarginTop = computedStyles.getPropertyValue(\"scroll-margin-top\") || computedStyles.getPropertyValue(\"scroll-snap-margin-top\") || \"0px\";\n return element.getBoundingClientRect().top + scrollTop - parseInt(scrollMarginTop, 10) - clientTop - offsetY;\n }\n }\n return null;\n};\nexports.onInitialClientRender = function (_, pluginOptions) {\n if (pluginOptions.offsetY) {\n offsetY = pluginOptions.offsetY;\n }\n requestAnimationFrame(function () {\n var offset = getTargetOffset(window.location.hash);\n if (offset !== null) {\n window.scrollTo(0, offset);\n }\n });\n};\nexports.shouldUpdateScroll = function (_ref) {\n var location = _ref.routerProps.location;\n var offset = getTargetOffset(location.hash);\n return offset !== null ? [0, offset] : true;\n};","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `Theia - Cloud and Desktop IDE Platform
- - \ No newline at end of file diff --git a/pr-previews/pr-663/breadcrumbs-custom.png b/pr-previews/pr-663/breadcrumbs-custom.png deleted file mode 100644 index 733b22ee..00000000 Binary files a/pr-previews/pr-663/breadcrumbs-custom.png and /dev/null differ diff --git a/pr-previews/pr-663/breadcrumbs-popup.png b/pr-previews/pr-663/breadcrumbs-popup.png deleted file mode 100644 index 748493a6..00000000 Binary files a/pr-previews/pr-663/breadcrumbs-popup.png and /dev/null differ diff --git a/pr-previews/pr-663/breadcrumbs.png b/pr-previews/pr-663/breadcrumbs.png deleted file mode 100644 index 9180eabc..00000000 Binary files a/pr-previews/pr-663/breadcrumbs.png and /dev/null differ diff --git a/pr-previews/pr-663/chunk-map.json b/pr-previews/pr-663/chunk-map.json deleted file mode 100644 index 8d252322..00000000 --- a/pr-previews/pr-663/chunk-map.json +++ /dev/null @@ -1 +0,0 @@ -{"app":["/app-20a33ead2c3dc13b51fc.js"],"component---src-pages-404-js":["/component---src-pages-404-js-1c97c66d7998fb40d048.js"],"component---src-pages-blogs-js":["/component---src-pages-blogs-js-d636a26158aeeb9701fa.js"],"component---src-pages-docs-js":["/component---src-pages-docs-js-52ba16cfe819f11145bf.js"],"component---src-pages-index-js":["/component---src-pages-index-js-f61ffa494a9acdeb2088.js"],"component---src-pages-releases-js":["/component---src-pages-releases-js-5bea385b1776e9a79f95.js"],"component---src-pages-resources-js":["/component---src-pages-resources-js-9e89f625c6e1d41ec550.js"],"component---src-pages-support-js":["/component---src-pages-support-js-9bd01f77ce82eb582405.js"],"component---src-templates-doc-js":["/component---src-templates-doc-js-0f91607553d4c7973801.js"]} \ No newline at end of file diff --git a/pr-previews/pr-663/command-palette-hello-world.png b/pr-previews/pr-663/command-palette-hello-world.png deleted file mode 100644 index b14dcf4d..00000000 Binary files a/pr-previews/pr-663/command-palette-hello-world.png and /dev/null differ diff --git a/pr-previews/pr-663/commons-5795a346dcea634efadb.js b/pr-previews/pr-663/commons-5795a346dcea634efadb.js deleted file mode 100644 index ec4366ce..00000000 --- a/pr-previews/pr-663/commons-5795a346dcea634efadb.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkTheia_Website=self.webpackChunkTheia_Website||[]).push([[223],{644:function(M,e,i){i.d(e,{A:function(){return c}});var N=i(8168),t=i(6540),j=i(6289),L=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,s=(0,j.A)((function(M){return L.test(M)||111===M.charCodeAt(0)&&110===M.charCodeAt(1)&&M.charCodeAt(2)<91})),D=i(9214),n=i(41),o=i(3174),a=i(1287),r=s,u=function(M){return"theme"!==M},g=function(M){return"string"==typeof M&&M.charCodeAt(0)>96?r:u},y=function(M,e,i){var N;if(e){var t=e.shouldForwardProp;N=M.__emotion_forwardProp&&t?function(e){return M.__emotion_forwardProp(e)&&t(e)}:t}return"function"!=typeof N&&i&&(N=M.__emotion_forwardProp),N},T=function(M){var e=M.cache,i=M.serialized,N=M.isStringTag;return(0,n.SF)(e,i,N),(0,a.s)((function(){return(0,n.sk)(e,i,N)})),null},c=function M(e,i){var j,L,s=e.__emotion_real===e,a=s&&e.__emotion_base||e;void 0!==i&&(j=i.label,L=i.target);var r=y(e,i,s),u=r||g(a),c=!u("as");return function(){var z=arguments,I=s&&void 0!==e.__emotion_styles?e.__emotion_styles.slice(0):[];if(void 0!==j&&I.push("label:"+j+";"),null==z[0]||void 0===z[0].raw)I.push.apply(I,z);else{I.push(z[0][0]);for(var l=z.length,w=1;w{let{background:e}=M;return(0,j.Y)(L,null,(0,j.Y)("footer",{className:"footer",role:"contentinfo",style:{background:e?`url(${t.A})`:null}},(0,j.Y)("p",null,"Join the community!"),(0,j.Y)("div",{className:"footer__icons"},(0,j.Y)("a",{href:"https://twitter.com/theia_ide",target:"_blank",rel:"noopener noreferrer",className:"footer__link"},(0,j.Y)("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwIiB5PSIwIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIj48cGF0aCBzdHlsZT0iZmlsbDojMDNhOWY0IiBkPSJNNTEyLDk3LjI0OGMtMTkuMDQsOC4zNTItMzkuMzI4LDEzLjg4OC02MC40OCwxNi41NzZjMjEuNzYtMTIuOTkyLDM4LjM2OC0zMy40MDgsNDYuMTc2LTU4LjAxNgljLTIwLjI4OCwxMi4wOTYtNDIuNjg4LDIwLjY0LTY2LjU2LDI1LjQwOEM0MTEuODcyLDYwLjcwNCwzODQuNDE2LDQ4LDM1NC40NjQsNDhjLTU4LjExMiwwLTEwNC44OTYsNDcuMTY4LTEwNC44OTYsMTA0Ljk5MgljMCw4LjMyLDAuNzA0LDE2LjMyLDIuNDMyLDIzLjkzNmMtODcuMjY0LTQuMjU2LTE2NC40OC00Ni4wOC0yMTYuMzUyLTEwOS43OTJjLTkuMDU2LDE1LjcxMi0xNC4zNjgsMzMuNjk2LTE0LjM2OCw1My4wNTYJYzAsMzYuMzUyLDE4LjcyLDY4LjU3Niw0Ni42MjQsODcuMjMyYy0xNi44NjQtMC4zMi0zMy40MDgtNS4yMTYtNDcuNDI0LTEyLjkyOGMwLDAuMzIsMCwwLjczNiwwLDEuMTUyCWMwLDUxLjAwOCwzNi4zODQsOTMuMzc2LDg0LjA5NiwxMDMuMTM2Yy04LjU0NCwyLjMzNi0xNy44NTYsMy40NTYtMjcuNTIsMy40NTZjLTYuNzIsMC0xMy41MDQtMC4zODQtMTkuODcyLTEuNzkyCWMxMy42LDQxLjU2OCw1Mi4xOTIsNzIuMTI4LDk4LjA4LDczLjEyYy0zNS43MTIsMjcuOTM2LTgxLjA1Niw0NC43NjgtMTMwLjE0NCw0NC43NjhjLTguNjA4LDAtMTYuODY0LTAuMzg0LTI1LjEyLTEuNDQJQzQ2LjQ5Niw0NDYuODgsMTAxLjYsNDY0LDE2MS4wMjQsNDY0YzE5My4xNTIsMCwyOTguNzUyLTE2MCwyOTguNzUyLTI5OC42ODhjMC00LjY0LTAuMTYtOS4xMi0wLjM4NC0xMy41NjgJQzQ4MC4yMjQsMTM2Ljk2LDQ5Ny43MjgsMTE4LjQ5Niw1MTIsOTcuMjQ4eiIvPjwvc3ZnPg==",alt:"Twitter Logo",className:"footer__icon"})),(0,j.Y)("a",{href:"https://github.com/eclipse-theia/theia",target:"_blank",rel:"noopener noreferrer",className:"footer__link"},(0,j.Y)("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDM4LjU0OSIgaGVpZ2h0PSI0MzguNTQ5IiB4PSIwIiB5PSIwIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0MzguNTQ5IDQzOC41NDkiIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQzOC41NDkgNDM4LjU0OSI+PGc+PHBhdGggZD0iTTQwOS4xMzIsMTE0LjU3M2MtMTkuNjA4LTMzLjU5Ni00Ni4yMDUtNjAuMTk0LTc5Ljc5OC03OS44QzI5NS43MzYsMTUuMTY2LDI1OS4wNTcsNS4zNjUsMjE5LjI3MSw1LjM2NSBjLTM5Ljc4MSwwLTc2LjQ3Miw5LjgwNC0xMTAuMDYzLDI5LjQwOGMtMzMuNTk2LDE5LjYwNS02MC4xOTIsNDYuMjA0LTc5LjgsNzkuOEM5LjgwMywxNDguMTY4LDAsMTg0Ljg1NCwwLDIyNC42MyBjMCw0Ny43OCwxMy45NCw5MC43NDUsNDEuODI3LDEyOC45MDZjMjcuODg0LDM4LjE2NCw2My45MDYsNjQuNTcyLDEwOC4wNjMsNzkuMjI3YzUuMTQsMC45NTQsOC45NDUsMC4yODMsMTEuNDE5LTEuOTk2IGMyLjQ3NS0yLjI4MiwzLjcxMS01LjE0LDMuNzExLTguNTYyYzAtMC41NzEtMC4wNDktNS43MDgtMC4xNDQtMTUuNDE3Yy0wLjA5OC05LjcwOS0wLjE0NC0xOC4xNzktMC4xNDQtMjUuNDA2bC02LjU2NywxLjEzNiBjLTQuMTg3LDAuNzY3LTkuNDY5LDEuMDkyLTE1Ljg0NiwxYy02LjM3NC0wLjA4OS0xMi45OTEtMC43NTctMTkuODQyLTEuOTk5Yy02Ljg1NC0xLjIzMS0xMy4yMjktNC4wODYtMTkuMTMtOC41NTkgYy01Ljg5OC00LjQ3My0xMC4wODUtMTAuMzI4LTEyLjU2LTE3LjU1NmwtMi44NTUtNi41N2MtMS45MDMtNC4zNzQtNC44OTktOS4yMzMtOC45OTItMTQuNTU5IGMtNC4wOTMtNS4zMzEtOC4yMzItOC45NDUtMTIuNDE5LTEwLjg0OGwtMS45OTktMS40MzFjLTEuMzMyLTAuOTUxLTIuNTY4LTIuMDk4LTMuNzExLTMuNDI5Yy0xLjE0Mi0xLjMzMS0xLjk5Ny0yLjY2My0yLjU2OC0zLjk5NyBjLTAuNTcyLTEuMzM1LTAuMDk4LTIuNDMsMS40MjctMy4yODljMS41MjUtMC44NTksNC4yODEtMS4yNzYsOC4yOC0xLjI3Nmw1LjcwOCwwLjg1M2MzLjgwNywwLjc2Myw4LjUxNiwzLjA0MiwxNC4xMzMsNi44NTEgYzUuNjE0LDMuODA2LDEwLjIyOSw4Ljc1NCwxMy44NDYsMTQuODQyYzQuMzgsNy44MDYsOS42NTcsMTMuNzU0LDE1Ljg0NiwxNy44NDdjNi4xODQsNC4wOTMsMTIuNDE5LDYuMTM2LDE4LjY5OSw2LjEzNiBjNi4yOCwwLDExLjcwNC0wLjQ3NiwxNi4yNzQtMS40MjNjNC41NjUtMC45NTIsOC44NDgtMi4zODMsMTIuODQ3LTQuMjg1YzEuNzEzLTEyLjc1OCw2LjM3Ny0yMi41NTksMTMuOTg4LTI5LjQxIGMtMTAuODQ4LTEuMTQtMjAuNjAxLTIuODU3LTI5LjI2NC01LjE0Yy04LjY1OC0yLjI4Ni0xNy42MDUtNS45OTYtMjYuODM1LTExLjE0Yy05LjIzNS01LjEzNy0xNi44OTYtMTEuNTE2LTIyLjk4NS0xOS4xMjYgYy02LjA5LTcuNjE0LTExLjA4OC0xNy42MS0xNC45ODctMjkuOTc5Yy0zLjkwMS0xMi4zNzQtNS44NTItMjYuNjQ4LTUuODUyLTQyLjgyNmMwLTIzLjAzNSw3LjUyLTQyLjYzNywyMi41NTctNTguODE3IGMtNy4wNDQtMTcuMzE4LTYuMzc5LTM2LjczMiwxLjk5Ny01OC4yNGM1LjUyLTEuNzE1LDEzLjcwNi0wLjQyOCwyNC41NTQsMy44NTNjMTAuODUsNC4yODMsMTguNzk0LDcuOTUyLDIzLjg0LDEwLjk5NCBjNS4wNDYsMy4wNDEsOS4wODksNS42MTgsMTIuMTM1LDcuNzA4YzE3LjcwNS00Ljk0NywzNS45NzYtNy40MjEsNTQuODE4LTcuNDIxczM3LjExNywyLjQ3NCw1NC44MjMsNy40MjFsMTAuODQ5LTYuODQ5IGM3LjQxOS00LjU3LDE2LjE4LTguNzU4LDI2LjI2Mi0xMi41NjVjMTAuMDg4LTMuODA1LDE3LjgwMi00Ljg1MywyMy4xMzQtMy4xMzhjOC41NjIsMjEuNTA5LDkuMzI1LDQwLjkyMiwyLjI3OSw1OC4yNCBjMTUuMDM2LDE2LjE4LDIyLjU1OSwzNS43ODcsMjIuNTU5LDU4LjgxN2MwLDE2LjE3OC0xLjk1OCwzMC40OTctNS44NTMsNDIuOTY2Yy0zLjksMTIuNDcxLTguOTQxLDIyLjQ1Ny0xNS4xMjUsMjkuOTc5IGMtNi4xOTEsNy41MjEtMTMuOTAxLDEzLjg1LTIzLjEzMSwxOC45ODZjLTkuMjMyLDUuMTQtMTguMTgyLDguODUtMjYuODQsMTEuMTM2Yy04LjY2MiwyLjI4Ni0xOC40MTUsNC4wMDQtMjkuMjYzLDUuMTQ2IGM5Ljg5NCw4LjU2MiwxNC44NDIsMjIuMDc3LDE0Ljg0Miw0MC41Mzl2NjAuMjM3YzAsMy40MjIsMS4xOSw2LjI3OSwzLjU3Miw4LjU2MmMyLjM3OSwyLjI3OSw2LjEzNiwyLjk1LDExLjI3NiwxLjk5NSBjNDQuMTYzLTE0LjY1Myw4MC4xODUtNDEuMDYyLDEwOC4wNjgtNzkuMjI2YzI3Ljg4LTM4LjE2MSw0MS44MjUtODEuMTI2LDQxLjgyNS0xMjguOTA2IEM0MzguNTM2LDE4NC44NTEsNDI4LjcyOCwxNDguMTY4LDQwOS4xMzIsMTE0LjU3M3oiLz48L2c+PC9zdmc+",alt:"Github Logo",className:"footer__icon"}))),(0,j.Y)("p",{className:"footer__copyright"},(0,j.Y)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://projects.eclipse.org/projects/ecd.theia/"},"About")," | ",(0,j.Y)("a",{target:"_blank",rel:"noopener noreferrer",href:" http://www.eclipse.org/legal/privacy.php"},"Privacy Policy")," | ",(0,j.Y)("a",{target:"_blank",rel:"noopener noreferrer",href:" http://www.eclipse.org/legal/termsofuse.php"},"Terms of Use")," | ",(0,j.Y)("a",{target:"_blank",rel:"noopener noreferrer",href:"http://www.eclipse.org/legal/copyright.php"},"Copyright Agent")),(0,j.Y)("p",null,"© ",(new Date).getFullYear()," by ",(0,j.Y)("a",{href:"https://www.eclipse.org/org/",target:"_blank",rel:"noopener"},"Eclipse Foundation"))))}},7518:function(M,e,i){i.d(e,{A:function(){return r}});var N=i(5540),t=i(644),j=i(6540),L=i(4810),s=i(1919),D=i(4572),n=i(7437);const o=(0,t.A)("div",{target:"e12wdvq10"})("@media(max-width: ",s.fi.xmd,"){position:absolute;top:0;left:0;right:0;}.nav{display:flex;position:relative;padding-top:5rem;margin-bottom:2rem;@media(max-width: ",s.fi.xmd,"){flex-direction:column;padding-top:0;.navIsRendered{display:flex;}.navIsNotRendered{display:none;}&__header{display:flex;justify-content:space-between;flex:1;padding:3rem 2rem;}}.logo{height:2.7rem;color:transparent;}&__button{border:none;background:#fff;color:transparent;transition:all .2s;&:hover,&:focus{transform:scale(1.1);}img{height:3.5rem;@media(max-width: ",s.fi.sm,"){height:3rem;}}@media(min-width: ",s.fi.xmd,"){display:none;}}&__items{display:flex;justify-content:flex-end;list-style:none;width:100%;@media(max-width: ",s.fi.xmd,"){height:95vh;flex-direction:column;text-align:center;justify-content:center;align-items:center;background:white;}}&__item{margin-bottom:3rem;@media(min-width: ",s.fi.xmd,"){&:not(:last-child){margin-right:3rem;}}@media(max-width: ",s.fi.xmd,"){width:100vw;}}&__link{position:relative;width:100%;text-decoration:none;color:",s.Tj.greyOne,';display:block;padding-bottom:.8rem;&::after{content:"";position:absolute;bottom:0;right:100%;left:0;border-bottom:2px solid ',s.Tj.greyOne,";transition:all .4s cubic-bezier(0,.5,0, 1);@media(max-width: ",s.fi.xmd,"){display:none;}}&:hover,&:focus{color:",s.Tj.blue,";@media(max-width: ",s.fi.xmd,"){transform:scale(1.2);}&::after{right:0;border-color:",s.Tj.blue,";}}}&__dropdown{cursor:pointer;&:hover .dropdown-menu,&:focus .dropdown-menu{visibility:visible;opacity:1;}}}.active{color:",s.Tj.blue,";}.dropdown-menu{visibility:hidden;opacity:0;min-width:15rem;margin-top:1rem;position:relative;background-color:#fff;padding:1rem 0;z-index:2;@media(min-width: ",s.fi.xmd,"){box-shadow:0 6px 12px rgb(0 0 0 / 18%);left:-25%;}}.dropdown-menu li{padding:0.5rem 1rem;list-style:none;}.caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0;}");let a=function(M){function e(){for(var e,i=arguments.length,N=new Array(i),t=0;t{e.setState({isNavRendered:!e.state.isNavRendered})},e}return(0,N.A)(e,M),e.prototype.render=function(){const{shouldRenderLogo:M}=this.props;return(0,n.Y)(o,null,(0,n.Y)("nav",{className:"nav",style:this.state.isNavRendered?{background:"#fff",height:"100vh"}:{}},(0,n.Y)("div",{className:"nav__header"},M?(0,n.Y)(L.N_,{to:"/",className:"logo-container"},(0,n.Y)("img",{className:"logo",src:D.A,alt:"theia logo"})):(0,n.Y)("span",{"aria-hidden":!0}," "),(0,n.Y)("div",{className:"nav__button-container"},(0,n.Y)("button",{className:"nav__button","aria-label":"Navigation Toggle",onClick:this.toggleNavigation},this.state.isNavRendered?(0,n.Y)("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwIiB5PSIwIiBmaWxsPSIjMzgzODM4IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMS4xMTIgMzEuMTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMS4xMTIgMzEuMTEyIj48cG9seWdvbiBwb2ludHM9IjMxLjExMiAxLjQxNCAyOS42OTggMCAxNS41NTYgMTQuMTQyIDEuNDE0IDAgMCAxLjQxNCAxNC4xNDIgMTUuNTU2IDAgMjkuNjk4IDEuNDE0IDMxLjExMiAxNS41NTYgMTYuOTcgMjkuNjk4IDMxLjExMiAzMS4xMTIgMjkuNjk4IDE2Ljk3IDE1LjU1NiIvPjwvc3ZnPg==",alt:"close menu icon"}):(0,n.Y)("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjEyIiBoZWlnaHQ9IjYxMiIgeD0iMCIgeT0iMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjEyIDYxMiIgZmlsbD0iIzM4MzgzOCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNjEyIDYxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PGc+PGc+PHBhdGggZD0iTTAsOTUuNjI1djM4LjI1aDYxMnYtMzguMjVIMHogTTAsMzI1LjEyNWg2MTJ2LTM4LjI1SDBWMzI1LjEyNXogTTAsNTE2LjM3NWg2MTJ2LTM4LjI1SDBWNTE2LjM3NXoiLz48L2c+PC9nPjwvZz48L3N2Zz4=",alt:"hamburger menu icon"})))),(0,n.Y)("ul",{className:"nav__items "+(this.state.isNavRendered?"navIsRendered":"navIsNotRendered")},(0,n.Y)("li",{className:"nav__item"},(0,n.Y)(L.N_,{to:"https://github.com/eclipse-theia/theia",className:"nav__link"},"Github")),(0,n.Y)("li",{className:"nav__item"},(0,n.Y)(L.N_,{to:"/docs/",className:"nav__link",activeClassName:"active"},"Documentation")),(0,n.Y)("li",{className:"nav__item"},(0,n.Y)("a",{href:"https://github.com/eclipse-theia/theia/discussions",target:"_blank",rel:"noopener",className:"nav__link"},"Community")),(0,n.Y)("li",{className:"nav__item"},(0,n.Y)(L.N_,{to:"/support/",className:"nav__link"},"Support")),(0,n.Y)("li",{className:"nav__item"},(0,n.Y)(L.N_,{to:"/releases/",className:"nav__link"},"Releases")),(0,n.Y)("li",{className:"nav__item nav__dropdown"},"Resources ",(0,n.Y)("b",{className:"caret"}),(0,n.Y)("ul",{className:"dropdown-menu"},(0,n.Y)("li",null,(0,n.Y)(L.N_,{to:"/blogs/",className:"nav__link"},"Blogs")),(0,n.Y)("li",null,(0,n.Y)(L.N_,{to:"/resources/",className:"nav__link"},"Other Resources")))))))},e}(j.Component);var r=a},5226:function(M,e,i){i.d(e,{A:function(){return s}});var N=i(6540),t=i(4810);var j=()=>(0,t.GR)("2468095761").site.siteMetadata,L=i(7437);var s=M=>{let{canonical:e}=M;const{title:i,description:t}=j();return(0,L.Y)(N.Fragment,null,(0,L.Y)("html",{lang:"en"}),(0,L.Y)("title",null,i),(0,L.Y)("meta",{name:"description",content:t}),(0,L.Y)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),(0,L.Y)("meta",{name:"theme-color",content:"#FFFFFF"}),e&&(0,L.Y)("link",{rel:"canonical",href:`https://theia-ide.org${e}`}),(0,L.Y)("link",{rel:"apple-touch-icon",type:"image/png",href:"data:image/png;base64,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",sizes:"180x180"}),(0,L.Y)("link",{rel:"icon",type:"image/png",href:"data:image/png;base64,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",sizes:"196x196"}),(0,L.Y)("link",{rel:"icon",type:"image/svg+xml",href:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMzkyLjQgMTM2LjVjNjYuMSAwIDExOS42IDUzLjUgMTE5LjYgMTE5LjYgMCA2Ni01My41IDExOS42LTExOS42IDExOS42SDEyOC43Yy05LjQgMC0xNy4xLTcuNi0xNy4xLTE3LjEgMC05LjQgNy42LTE3LjEgMTcuMS0xNy4xaDYxLjRjOS40IDAgMTctNy42IDE3LTE3LjFzLTcuNi0xNy4xLTE3LTE3LjFoLTEzLjdjLTkuNCAwLTE3LjEtNy42LTE3LjEtMTcuMSAwLTkuNCA3LjYtMTcuMSAxNy4xLTE3LjFoNDFjOS41IDAgMTYuOC03LjggMTcuMS0xNy4xIDAtOS40LTcuNi0xNy4xLTE3LjEtMTcuMUg3NGMtOS40IDAtMTcuMS03LjYtMTcuMS0xNy4xIDAtOS40IDcuNi0xNy4xIDE3LjEtMTcuMWgxMDUuOGM5LjUgMCAxNi44LTcuOCAxNy4xLTE3LjEgMC05LjQtNy42LTE3LjEtMTcuMS0xNy4xSDE1NmMtOS40IDAtMTcuMS03LjYtMTcuMS0xNy4xIDAtOS40IDcuNi0xNy41IDE3LjEtMTcuNWwyMzYuNC42em0tMTkuMSAzOS44Yy0zNi43IDAtNjYuNCAyOS44LTY2LjQgNjYuNHYyNi42YzAgMzYuNyAyOS43IDY2LjQgNjYuNCA2Ni40czY2LjQtMjkuNyA2Ni40LTY2LjR2LTI2LjZjMC0zNi42LTI5LjgtNjYuNC02Ni40LTY2LjR6bTIyLjcgNjIuOWM4LjggMCAxNiA3LjIgMTYgMTZ2Mi4xYzAgOC44LTcuMiAxNi0xNiAxNmgtNDkuOWMtOC44IDAtMTYtNy4yLTE2LTE2di0yLjFjMC04LjggNy4yLTE2IDE2LTE2SDM5NnpNNzUuMSAzNDEuNmM4LjkgMCAxNiA3LjEgMTYgMTZ2Mi4xYzAgOC44LTcuMSAxNi0xNiAxNkgxNmMtOC44IDAtMTYtNy4yLTE2LTE2di0yLjFjMC04LjkgNy4yLTE2IDE2LTE2aDU5LjF6Ii8+PHBhdGggZD0iTTEwMi40IDEzNi43YzguOCAwIDE2IDcuMiAxNiAxNnYyLjFjMCA4LjgtNy4xIDE2LTE2IDE2SDM2LjVjLTguOCAwLTE2LTcuMS0xNi0xNnYtMi4xYzAtOC44IDcuMi0xNiAxNi0xNmg2NS45ek0xMjIuOSAyNzMuM2M4LjggMCAxNiA3LjIgMTYgMTZ2Mi4xYzAgOC44LTcuMiAxNi0xNiAxNkg4Ni43Yy04LjggMC0xNi03LjItMTYtMTZ2LTIuMWMwLTguOCA3LjItMTYgMTYtMTZoMzYuMnoiLz48L3N2Zz4=",sizes:"any"}),(0,L.Y)("link",{href:"https://fonts.googleapis.com/css?family=Anonymous+Pro&display=swap",rel:"stylesheet"}),(0,L.Y)("link",{href:"https://fonts.googleapis.com/css?family=Montserrat:400,500&display=swap",rel:"stylesheet"}))}},8660:function(M,e,i){var N=i(6540),t=i(7437),j=i(1919);e.A=M=>{let{children:e}=M;return(0,t.Y)(N.Fragment,null,(0,t.Y)(t.mL,{styles:(0,t.AH)("*,*::before,*::after{margin:0;padding:0;box-sizing:inherit;}html{font-size:62.5%;@media(max-width: ",j.fi.md,"){font-size:58.5%;}}body{font-family:'Montserrat','Work Sans',sans-serif;font-size:",j.GR.default,";color:",j.Tj.greyOne,";line-height:1.6;box-sizing:border-box;overflow-x:hidden;}a{text-decoration:none;color:",j.Tj.lightBlue,";transition:all .2s;&:hover{color:",j.Tj.blue,";text-decoration:underline;}}a,button{cursor:pointer;}button,input{font-family:inherit;}h1,h2,h3,h4{font-family:'Anonymous Pro',monospace;font-weight:100;}.heading-primary{font-size:5.5rem;}.heading-tertiary{font-size:2.5rem;margin-bottom:1.5rem;}.row{max-width:",j.Vg.maxWidth,";width:80%;margin:0 auto;@media (max-width: ",j.fi.md,"){width:95%;}}.btn{display:inline-block;padding:1.3rem 3rem;color:inherit;text-decoration:none;border:2px solid;border-radius:10rem;transition:all .3s;font-weight:500;outline:none;&:hover,&:active,&--cta{color:#fff;background:",j.Tj.greyOne,";border-color:",j.Tj.greyOne,";}&:hover,&:focus{text-decoration:none;transform:translateY(-3px);box-shadow:0 .8rem 1.6rem rgba(0,0,0, .2);}&:active{transform:translateY(-1px);box-shadow:0 .4rem .8rem rgba(0,0,0, .2);}&--cta{box-shadow:0 .3rem .6rem rgba(0,0,0, .2);}}img{object-fit:contain;}.popup-content{width:60%;display:flex;flex-direction:column;align-items:center;justify-content:space-between,;}@media(max-width: ",j.fi.md,"){.popup-content{width:80%;}}.popup-content .close{cursor:pointer;position:absolute;display:block;padding:2px 5px;line-height:20px;right:-10px;top:-10px;font-size:24px;background:#ffffff;border-radius:18px;border:1px solid #cfcece;outline:none;}","")}),(0,t.Y)(N.Fragment,null,e))}},1919:function(M,e,i){i.d(e,{GR:function(){return t},Tj:function(){return N},Vg:function(){return j},fi:function(){return L}});const N={greyOne:"#383838",blue:"#0000f8",lightBlue:"#0074D9"},t={default:"1.5rem"},j={maxWidth:"114rem"},L={sm:"34rem",xmd:"50rem",md:"70rem"}},7361:function(M,e,i){e.A=i.p+"static/background-image-bae6db106e3819854309162f02f1b13a.png"},4572:function(M,e){e.A="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwIiB5PSIwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzODUxLjM1IDU0MC42Ij48ZyBpZD0iTGF5ZXJfMSIgZmlsbD0iIzAwMDAwIj48cGF0aCBkPSJNMzYzNS4xMjMsMy45MTIgQzM2MzUuMTI0LDMuOTEyIDM2NTguNjIsMy45MTIgMzY2OC40MzUsMTEuMSBDMzY2OC40MzUsMTEuMSAzNjc4LjI5OSwxOC4yODggMzY4NS44ODMsNDAuMjQ3IEwzODUwLjIwOCw1MTkuNjg4IEMzODUwLjIwOCw1MTkuNjg4IDM4NTIuNDg4LDUyNS43MzYgMzg1MC42MDQsNTMwLjY5MyBDMzg1MC42MDQsNTMwLjY5MyAzODQ4LjcyMSw1MzUuNiAzODQwLjM0Myw1MzUuNiBMMzc3MC42OTcsNTM1LjYgQzM3NzAuNjk4LDUzNS42IDM3NjIuMzcsNTM1LjYgMzc1Ny40NjIsNTMzLjcxNyBDMzc1Ny40NjIsNTMzLjcxNyAzNzUyLjUwNSw1MzEuODMzIDM3NDkuNDgxLDUyMy41MDUgTDM3MTYuMTcsNDE5Ljc1NSBMMzUyMy43ODksNDE5Ljc1NSBMMzQ5MC40NzgsNTIyLjcxMiBDMzQ5MC40NzgsNTIyLjcxMiAzNDg4LjE5OCw1MjkuNTUzIDM0ODQuMDM0LDUzMi41NzYgQzM0ODQuMDM0LDUzMi41NzYgMzQ3OS44Nyw1MzUuNiAzNDcwLjc5OSw1MzUuNiBMMzQwMS4xMDMsNTM1LjYgQzM0MDEuMTA0LDUzNS42IDMzOTIuNzc2LDUzNS42IDMzOTAuNDk2LDUzMC42OTMgQzMzOTAuNDk2LDUzMC42OTMgMzM4OC4yNjUsNTI1LjczNiAzMzkwLjQ5Niw1MTkuNjg4IEwzNTU0LjA3Niw0MC4yNDcgQzM1NTQuMDc2LDQwLjI0NyAzNTU3Ljg5MywyOC44OTYgMzU2MS42NjEsMjIuMTA1IEMzNTYxLjY2MSwyMi4xMDUgMzU2NS40NzgsMTUuMjY0IDM1NzEuMTI5LDExLjQ5NyBDMzU3MS4xMjksMTEuNDk3IDM1NzYuODI5LDcuNjggMzU4NC40MTMsNS43OTYgQzM1ODQuNDEzLDUuNzk2IDM1OTEuOTQ4LDMuOTEyIDM2MDIuNTU2LDMuOTEyIEwzNjM1LjEyMywzLjkxMiB6IE0zNjIwLjc0OCwxMDYuMTc1IEwzNjE2Ljk4MSwxMDYuMTc1IEwzNTg1LjksMjExLjM2MyBMMzU0Ni41NDIsMzQwLjc0MSBMMzY5MS45MzEsMzQwLjc0MSBMMzY1Mi41NzIsMjEzLjU5MyBMMzYyMC43NDgsMTA2LjE3NSB6Ii8+PHBhdGggZD0iTTIwNzEuMjA5LDUuMzUgQzIwNzEuMjA5LDUuMzUgMjA4MS44MTcsNS4zNSAyMDg1LjU4NCw4LjAyNyBDMjA4NS41ODQsOC4wMjcgMjA4OS4zNTIsMTAuNjU0IDIwODkuMzUyLDIxLjI2MiBMMjA4OS4zNTEsMjE3LjY1OCBMMjMyNC45MDgsMjE3LjY1OCBMMjMyNC45MDgsMjEuMjYyIEMyMzI0LjkwOCwyMS4yNjIgMjMyNC45MDgsMTEuMzk3IDIzMjkuMTIyLDguMzc0IEMyMzI5LjEyMiw4LjM3NCAyMzMzLjI4NSw1LjM1IDIzNDIuMzU3LDUuMzUgTDI0MDAuMDU2LDUuMzUgQzI0MDAuMDU2LDUuMzUgMjQxMC42NjQsNS4zNSAyNDE0LjA4NCw4LjAyNyBDMjQxNC4wODQsOC4wMjcgMjQxNy41MDUsMTAuNjU0IDI0MTcuNTA1LDIxLjI2MiBMMjQxNy41MDUsNTE5LjY4OCBDMjQxNy41MDUsNTE5LjY4OCAyNDE3LjUwNSw1MzAuMjk2IDI0MTQuMDg0LDUzMi45NzMgQzI0MTQuMDg0LDUzMi45NzMgMjQxMC42NjQsNTM1LjYgMjQwMC4wNTYsNTM1LjYgTDIzNDIuMzU2LDUzNS42IEMyMzQyLjM1Nyw1MzUuNiAyMzMzLjI4NSw1MzUuNiAyMzI5LjEyMiw1MzIuNTc2IEMyMzI5LjEyMiw1MzIuNTc2IDIzMjQuOTA4LDUyOS41NTMgMjMyNC45MDgsNTE5LjY4OCBMMjMyNC45MDgsMjk3LjExOSBMMjA4OS4zNTEsMjk3LjExOSBMMjA4OS4zNTEsNTE5LjY4OCBDMjA4OS4zNTIsNTE5LjY4OCAyMDg5LjM1Miw1MzAuMjk2IDIwODUuNTg0LDUzMi45NzMgQzIwODUuNTg0LDUzMi45NzMgMjA4MS44MTcsNTM1LjYgMjA3MS4yMDksNTM1LjYgTDIwMTMuNzA3LDUzNS42IEMyMDEzLjcwOCw1MzUuNiAyMDA1LjM4LDUzNS42IDIwMDAuODY5LDUzMi41NzYgQzIwMDAuODY5LDUzMi41NzYgMTk5Ni4zMDksNTI5LjU1MyAxOTk2LjMwOSw1MTkuNjg4IEwxOTk2LjMwOCwyMS4yNjIgQzE5OTYuMzA5LDIxLjI2MiAxOTk2LjMwOSwxMS4zOTcgMjAwMC44NjksOC4zNzQgQzIwMDAuODY5LDguMzc0IDIwMDUuMzgsNS4zNSAyMDEzLjcwOCw1LjM1IEwyMDcxLjIwOSw1LjM1IHoiLz48cGF0aCBkPSJNMTg0MC40MTEsNS4zNSBDMTg0MC40MTEsNS4zNSAxODQ4LjczOSw1LjM1IDE4NTEuNDE2LDguMzc0IEMxODUxLjQxNiw4LjM3NCAxODU0LjA0MywxMS40NDcgMTg1NC4wNDMsMTkuNzc1IEwxODU0LjA0Myw3Mi4xNyBDMTg1NC4wNDMsNzIuMTcgMTg1NC4wNDMsNzkuNzU1IDE4NTEuNDE2LDgyLjc3OCBDMTg1MS40MTYsODIuNzc4IDE4NDguNzM5LDg1LjgwMiAxODQwLjQxMSw4NS44MDIgTDE2OTYuNTU5LDg1LjgwMiBMMTY5Ni41NTksNTE5LjY4OCBDMTY5Ni41NTksNTE5LjY4OCAxNjk2LjU1OSw1MzAuMjk2IDE2OTMuMTM5LDUzMi45NzMgQzE2OTMuMTM5LDUzMi45NzMgMTY4OS43MTgsNTM1LjYgMTY3OS4xMSw1MzUuNiBMMTYxOS45MjQsNTM1LjYgQzE2MTkuOTI0LDUzNS42IDE2MTAuODUzLDUzNS42IDE2MDYuNjg5LDUzMi41NzYgQzE2MDYuNjg5LDUzMi41NzYgMTYwMi41MjUsNTI5LjU1MyAxNjAyLjUyNSw1MTkuNjg4IEwxNjAyLjUyNSw4NS44MDIgTDE0NjEuNjQ3LDg1LjgwMiBDMTQ2MS42NDcsODUuODAyIDE0NTMuMzE5LDg1LjgwMiAxNDUxLjAzOSw4Mi43NzggQzE0NTEuMDM5LDgyLjc3OCAxNDQ4Ljc1OSw3OS43NTUgMTQ0OC43NTksNzIuMTcgTDE0NDguNzU4LDE5Ljc3NSBDMTQ0OC43NTksMTkuNzc1IDE0NDguNzU5LDExLjQ0NyAxNDUxLjAzOSw4LjM3NCBDMTQ1MS4wMzksOC4zNzQgMTQ1My4zMTksNS4zNSAxNDYxLjY0Nyw1LjM1IEwxODQwLjQxMSw1LjM1IHoiLz48cGF0aCBkPSJNODgxLjA5OSwyLjIgQzEwMjksMi4yIDExNDguOCwxMjIgMTE0OC44LDI2OS45IEMxMTQ4LjgsNDE3LjcgMTAyOSw1MzcuNiA4ODEuMSw1MzcuNiBMMjkxLDUzNy42IEMyNjkuOSw1MzcuNiAyNTIuOCw1MjAuNSAyNTIuOCw0OTkuNCBDMjUyLjgsNDc4LjMgMjY5LjksNDYxLjIgMjkxLDQ2MS4yIEw0MjguNSw0NjEuMiBDNDQ5LjUsNDYxLjIgNDY2LjYsNDQ0LjEgNDY2LjYsNDIzIEM0NjYuNiw0MDEuOSA0NDkuNSwzODQuOCA0MjguNSwzODQuOCBMMzk3Ljg5OSwzODQuOCBDMzc2LjgsMzg0LjggMzU5LjcsMzY3LjcgMzU5LjcsMzQ2LjYgQzM1OS43LDMyNS41IDM3Ni44LDMwOC40IDM5Ny45LDMwOC40IEw0ODkuNjAzLDMwOC40IEM1MTAuODE4LDMwOC4zNDEgNTI3LjI3MywyOTEuMDUgNTI3LjgsMjcwLjIgQzUyNy44LDI0OS4xIDUxMC43LDIzMiA0ODkuNiwyMzIgTDE2OC43LDIzMiBDMTQ3LjYsMjMyIDEzMC41LDIxNC45IDEzMC41LDE5My44IEMxMzAuNSwxNzIuNyAxNDcuNiwxNTUuNiAxNjguNywxNTUuNiBMNDA1LjUwNCwxNTUuNiBDNDI2LjcxOCwxNTUuNTQxIDQ0My4xNzMsMTM4LjI1IDQ0My43LDExNy40IEM0NDMuNyw5Ni4zIDQyNi42LDc5LjIgNDA1LjUsNzkuMiBMMzUyLjEsNzkuMiBDMzMxLDc5LjIgMzEzLjksNjIuMSAzMTMuOSw0MSBDMzEzLjksMTkuOSAzMzEsMS44IDM1Mi4xLDEuOCBMODgxLjA5OSwyLjIgeiBNODM4LjMsOTEuNCBMODM4LjMsOTEuNCBDNzU2LjEsOTEuNCA2ODkuNiwxNTggNjg5LjYsMjQwLjEgTDY4OS42LDI5OS42IEM2ODkuNiwzODEuOCA3NTYuMSw0NDguMyA4MzguMyw0NDguMyBDOTIwLjQsNDQ4LjMgOTg3LDM4MS44IDk4NywyOTkuNiBMOTg3LDI0MC4xIEM5ODcsMTU4IDkyMC40LDkxLjQgODM4LjMsOTEuNCBMODM4LjMsOTEuNCB6IE04ODkuMSwyMzIgQzkwOC45LDIzMiA5MjUsMjQ4LjEgOTI1LDI2Ny45IEw5MjUsMjcyLjUgQzkyNSwyOTIuMyA5MDguOSwzMDguNCA4ODkuMSwzMDguNCBMNzc3LjUsMzA4LjQgQzc1Ny43LDMwOC40IDc0MS42LDI5Mi4zIDc0MS42LDI3Mi41IEw3NDEuNiwyNjcuOSBDNzQxLjYsMjQ4LjEgNzU3LjcsMjMyIDc3Ny41LDIzMiBMODg5LjEsMjMyIHoiLz48cGF0aCBkPSJNMTcxLDQ2MS4yIEMxOTAuOSw0NjEuMiAyMDYuOSw0NzcuMiAyMDYuOSw0OTcuMSBMMjA2LjksNTAxLjcgQzIwNi45LDUyMS41IDE5MC45LDUzNy42IDE3MSw1MzcuNiBMMzguOSw1MzcuNiBDMTkuMSw1MzcuNiAzLDUyMS41IDMsNTAxLjcgTDMsNDk3LjEgQzMsNDc3LjIgMTkuMSw0NjEuMiAzOC45LDQ2MS4yIEwxNzEsNDYxLjIgeiIvPjxwYXRoIGQ9Ik0yOTUyLjkwNCw0Ljg1NCBDMjk1Mi45MDUsNC44NTQgMjk2Mi43MTksNC44NTQgMjk2NS4zOTYsOS4wNjggQzI5NjUuMzk2LDkuMDY4IDI5NjguMDIzLDEzLjIzMiAyOTY4LjAyMywyMi4zMDMgTDI5NjguMDIzLDcwLjA4OCBDMjk2OC4wMjMsNzAuMDg4IDI5NjguMDIzLDc5Ljk1MyAyOTY1LjM5Niw4My4zNzMgQzI5NjUuMzk2LDgzLjM3MyAyOTYyLjcxOSw4Ni43OTMgMjk1Mi45MDUsODYuNzkzIEwyNzUxLjQ1Miw4Ni43OTMgQzI3NTEuNDUyLDg2Ljc5MyAyNzIyLjY1Miw4Ni43OTMgMjcxMC45MDQsOTkuNjMyIEMyNzEwLjkwNCw5OS42MzIgMjY5OS4yMDUsMTEyLjUyIDI2OTkuMjA1LDEzNi43MSBMMjY5OS4yMDUsMjE2LjE3MSBMMjkyNy44NzIsMjE2LjE3MSBDMjkyNy44NzIsMjE2LjE3MSAyOTM3LjczNiwyMTYuMTcxIDI5NDAuNDEzLDIxOS45ODggQzI5NDAuNDEzLDIxOS45ODggMjk0My4wNCwyMjMuNzU1IDI5NDMuMDQsMjM0LjMxNCBMMjk0My4wNCwyNzUuOTAzIEMyOTQzLjA0LDI3NS45MDMgMjk0My4wNCwyODQuOTc0IDI5NDAuNDEzLDI4OS4wODkgQzI5NDAuNDEzLDI4OS4wODkgMjkzNy43MzYsMjkzLjI1MiAyOTI3Ljg3MiwyOTMuMjUyIEwyNjk5LjIwNSwyOTMuMjUyIEwyNjk5LjIwNSw0MDMuOTQyIEMyNjk5LjIwNSw0MDMuOTQyIDI2OTkuMjA1LDQyOC4xODIgMjcxMS42OTcsNDQwLjY3NCBDMjcxMS42OTcsNDQwLjY3NCAyNzI0LjE4OCw0NTMuMjE1IDI3NTEuNDUyLDQ1My4yMTUgTDI5NTcuNDE1LDQ1My4yMTUgQzI5NTcuNDE1LDQ1My4yMTUgMjk2OC4wMjMsNDUzLjIxNSAyOTcwLjcsNDU2Ljk4MiBDMjk3MC43LDQ1Ni45ODIgMjk3My4zMjcsNDYwLjc0OSAyOTczLjMyNyw0NzEuMzU3IEwyOTczLjMyNyw1MTguMjAxIEMyOTczLjMyNyw1MTguMjAxIDI5NzMuMzI3LDUyNi41MjkgMjk3MC4zMDMsNTMxLjA0IEMyOTcwLjMwMyw1MzEuMDQgMjk2Ny4yOCw1MzUuNiAyOTU3LjQxNSw1MzUuNiBMMjc0MS41ODcsNTM1LjYgQzI3NDEuNTg4LDUzNS42IDI3MDEuNDM2LDUzNS42IDI2NzUuNjU5LDUyNC4yNDkgQzI2NzUuNjU5LDUyNC4yNDkgMjY0OS44ODMsNTEyLjg5NyAyNjM0LjMxOCw0OTMuOTYxIEMyNjM0LjMxOCw0OTMuOTYxIDI2MTguNzUzLDQ3NS4wMjYgMjYxMi43MDYsNDUwLjc4NiBDMjYxMi43MDYsNDUwLjc4NiAyNjA2LjYwOCw0MjYuNTk2IDI2MDYuNjA4LDQwMC4wNzYgTDI2MDYuNjA4LDE0MS4xNzIgQzI2MDYuNjA4LDE0MS4xNzIgMjYwNi42MDgsMTE0LjY1MiAyNjEzLjc5Niw5MC4wNjUgQzI2MTMuNzk2LDkwLjA2NSAyNjIxLjAzMyw2NS40MjkgMjYzNy4zNDIsNDYuNDkzIEMyNjM3LjM0Miw0Ni40OTMgMjY1My42NSwyNy42MDcgMjY3OS40MjcsMTYuMjA2IEMyNjc5LjQyNywxNi4yMDYgMjcwNS4yNTMsNC44NTQgMjc0MS41ODgsNC44NTQgTDI5NTIuOTA0LDQuODU0IHoiLz48cGF0aCBkPSJNMzIxOS4zMjgsNS4zNSBDMzIxOS4zMjgsNS4zNSAzMjI5Ljg4Nyw1LjM1IDMyMzMuNzA0LDguMDI3IEMzMjMzLjcwNCw4LjAyNyAzMjM3LjQ3MSwxMC42NTQgMzIzNy40NzEsMjEuMjYyIEwzMjM3LjQ3MSw1MTkuNjg4IEMzMjM3LjQ3MSw1MTkuNjg4IDMyMzcuNDcxLDUzMC4yOTYgMzIzMy43MDQsNTMyLjk3MyBDMzIzMy43MDQsNTMyLjk3MyAzMjI5Ljg4Nyw1MzUuNiAzMjE5LjMyOCw1MzUuNiBMMzE2MS44MjcsNTM1LjYgQzMxNjEuODI3LDUzNS42IDMxNTIuNzU2LDUzNS42IDMxNDguNTkyLDUzMi41NzYgQzMxNDguNTkyLDUzMi41NzYgMzE0NC40MjgsNTI5LjU1MyAzMTQ0LjQyOCw1MTkuNjg4IEwzMTQ0LjQyOCwyMS4yNjIgQzMxNDQuNDI4LDIxLjI2MiAzMTQ0LjQyOCwxMS4zOTcgMzE0OC41OTIsOC4zNzQgQzMxNDguNTkyLDguMzc0IDMxNTIuNzU2LDUuMzUgMzE2MS44MjcsNS4zNSBMMzIxOS4zMjgsNS4zNSB6Ii8+PHBhdGggZmlsbD0iIzAwMDAwIiBkPSJNMjMyLjIsMi44IEMyNTIsMi44IDI2OCwxOC45IDI2OCwzOC43IEwyNjgsNDMuNCBDMjY4LDYzLjIgMjUyLDc5LjIgMjMyLjIsNzkuMiBMODQuNyw3OS4yIEM2NC45LDc5LjIgNDguOCw2My4yIDQ4LjgsNDMuNCBMNDguOCwzOC43IEM0OC44LDE4LjkgNjQuOSwyLjggODQuNywyLjggTDIzMi4yLDIuOCB6Ii8+PHBhdGggZD0iTTI3OCwzMDguNCBDMjk3LjgsMzA4LjQgMzEzLjksMzI0LjUgMzEzLjksMzQ0LjMgTDMxMy45LDM0OC45IEMzMTMuOSwzNjguNyAyOTcuOCwzODQuOCAyNzgsMzg0LjggTDE5NywzODQuOCBDMTc3LjIsMzg0LjggMTYxLjEsMzY4LjcgMTYxLjEsMzQ4LjkgTDE2MS4xLDM0NC4zIEMxNjEuMSwzMjQuNSAxNzcuMiwzMDguNCAxOTcsMzA4LjQgTDI3OCwzMDguNCB6Ii8+PC9nPjwvc3ZnPg=="}}]); -//# sourceMappingURL=commons-5795a346dcea634efadb.js.map \ No newline at end of file diff --git a/pr-previews/pr-663/commons-5795a346dcea634efadb.js.map b/pr-previews/pr-663/commons-5795a346dcea634efadb.js.map deleted file mode 100644 index 8ea0b828..00000000 --- a/pr-previews/pr-663/commons-5795a346dcea634efadb.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"commons-5795a346dcea634efadb.js","mappings":"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","sources":["webpack://Theia-Website/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://Theia-Website/./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack://Theia-Website/./src/components/Footer.js","webpack://Theia-Website/./src/resources/twitter.svg","webpack://Theia-Website/./src/resources/github.svg","webpack://Theia-Website/./src/components/Nav.js","webpack://Theia-Website/./src/resources/multiply.svg","webpack://Theia-Website/./src/resources/hamburger.svg","webpack://Theia-Website/./src/hooks/use-site-metadata.js","webpack://Theia-Website/./src/layouts/basehead.js","webpack://Theia-Website/./src/resources/apple-touch-icon.png","webpack://Theia-Website/./src/resources/theia-favicon-196x196.png","webpack://Theia-Website/./src/resources/theia-favicon.svg","webpack://Theia-Website/./src/layouts/layout.js","webpack://Theia-Website/./src/utils/variables.js","webpack://Theia-Website/./src/resources/background-image.png","webpack://Theia-Website/./src/resources/theia-logo-dark.svg"],"sourcesContent":["import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\n/* import type {\n ElementType,\n StatelessFunctionalComponent,\n AbstractComponent\n} from 'react' */\n/*\nexport type Interpolations = Array\n\nexport type StyledElementType =\n | string\n | AbstractComponent<{ ...Props, className: string }, mixed>\n\nexport type StyledOptions = {\n label?: string,\n shouldForwardProp?: string => boolean,\n target?: string\n}\n\nexport type StyledComponent = StatelessFunctionalComponent & {\n defaultProps: any,\n toString: () => string,\n withComponent: (\n nextTag: StyledElementType,\n nextOptions?: StyledOptions\n ) => StyledComponent\n}\n\nexport type PrivateStyledComponent = StyledComponent & {\n __emotion_real: StyledComponent,\n __emotion_base: any,\n __emotion_styles: any,\n __emotion_forwardProp: any\n}\n*/\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key\n/*: string */\n) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag\n/*: ElementType */\n) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag\n/*: PrivateStyledComponent */\n, options\n/*: StyledOptions | void */\n, isReal\n/*: boolean */\n) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName\n /*: string */\n ) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n/*\nexport type CreateStyledComponent = (\n ...args: Interpolations\n) => StyledComponent\n\nexport type CreateStyled = {\n (\n tag: StyledElementType,\n options?: StyledOptions\n ): (...args: Interpolations) => StyledComponent,\n [key: string]: CreateStyledComponent,\n bind: () => CreateStyled\n}\n*/\n\nvar isDevelopment = false;\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled\n/*: CreateStyled */\n= function createStyled\n/*: CreateStyled */\n(tag\n/*: any */\n, options\n/* ?: StyledOptions */\n) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n /* return function(): PrivateStyledComponent { */\n\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], args[0][i]);\n }\n }\n\n var Styled\n /*: PrivateStyledComponent */\n = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag\n /*: StyledElementType */\n , nextOptions\n /* ?: StyledOptions */\n ) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\nimport styled from '@emotion/styled'\nimport Background from '../resources/background-image.png'\nimport TwitterLogo from '../resources/twitter.svg'\nimport GithubLogo from '../resources/github.svg'\nimport DiscourseLogo from '../resources/discourse.svg'\n\nconst StyledFooter = styled.div`\n .footer {\n padding: 4rem 0;\n text-align: center;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n border-top: 10px solid #f8f8f8;\n\n &__icons {\n display: flex;\n justify-content: center;\n margin: 2rem 0;\n }\n\n &__icon {\n height: 3rem;\n display: block;\n }\n\n &__link {\n &:not(:last-child) {\n margin-right: 3rem;\n }\n }\n\n &__copyright {\n margin: 2rem 0;\n }\n }\n`\n\nconst Footer = ({background}) => (\n \n \n \n)\n\nexport default Footer\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwIiB5PSIwIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIj48cGF0aCBzdHlsZT0iZmlsbDojMDNhOWY0IiBkPSJNNTEyLDk3LjI0OGMtMTkuMDQsOC4zNTItMzkuMzI4LDEzLjg4OC02MC40OCwxNi41NzZjMjEuNzYtMTIuOTkyLDM4LjM2OC0zMy40MDgsNDYuMTc2LTU4LjAxNgljLTIwLjI4OCwxMi4wOTYtNDIuNjg4LDIwLjY0LTY2LjU2LDI1LjQwOEM0MTEuODcyLDYwLjcwNCwzODQuNDE2LDQ4LDM1NC40NjQsNDhjLTU4LjExMiwwLTEwNC44OTYsNDcuMTY4LTEwNC44OTYsMTA0Ljk5MgljMCw4LjMyLDAuNzA0LDE2LjMyLDIuNDMyLDIzLjkzNmMtODcuMjY0LTQuMjU2LTE2NC40OC00Ni4wOC0yMTYuMzUyLTEwOS43OTJjLTkuMDU2LDE1LjcxMi0xNC4zNjgsMzMuNjk2LTE0LjM2OCw1My4wNTYJYzAsMzYuMzUyLDE4LjcyLDY4LjU3Niw0Ni42MjQsODcuMjMyYy0xNi44NjQtMC4zMi0zMy40MDgtNS4yMTYtNDcuNDI0LTEyLjkyOGMwLDAuMzIsMCwwLjczNiwwLDEuMTUyCWMwLDUxLjAwOCwzNi4zODQsOTMuMzc2LDg0LjA5NiwxMDMuMTM2Yy04LjU0NCwyLjMzNi0xNy44NTYsMy40NTYtMjcuNTIsMy40NTZjLTYuNzIsMC0xMy41MDQtMC4zODQtMTkuODcyLTEuNzkyCWMxMy42LDQxLjU2OCw1Mi4xOTIsNzIuMTI4LDk4LjA4LDczLjEyYy0zNS43MTIsMjcuOTM2LTgxLjA1Niw0NC43NjgtMTMwLjE0NCw0NC43NjhjLTguNjA4LDAtMTYuODY0LTAuMzg0LTI1LjEyLTEuNDQJQzQ2LjQ5Niw0NDYuODgsMTAxLjYsNDY0LDE2MS4wMjQsNDY0YzE5My4xNTIsMCwyOTguNzUyLTE2MCwyOTguNzUyLTI5OC42ODhjMC00LjY0LTAuMTYtOS4xMi0wLjM4NC0xMy41NjgJQzQ4MC4yMjQsMTM2Ljk2LDQ5Ny43MjgsMTE4LjQ5Niw1MTIsOTcuMjQ4eiIvPjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDM4LjU0OSIgaGVpZ2h0PSI0MzguNTQ5IiB4PSIwIiB5PSIwIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0MzguNTQ5IDQzOC41NDkiIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQzOC41NDkgNDM4LjU0OSI+PGc+PHBhdGggZD0iTTQwOS4xMzIsMTE0LjU3M2MtMTkuNjA4LTMzLjU5Ni00Ni4yMDUtNjAuMTk0LTc5Ljc5OC03OS44QzI5NS43MzYsMTUuMTY2LDI1OS4wNTcsNS4zNjUsMjE5LjI3MSw1LjM2NSBjLTM5Ljc4MSwwLTc2LjQ3Miw5LjgwNC0xMTAuMDYzLDI5LjQwOGMtMzMuNTk2LDE5LjYwNS02MC4xOTIsNDYuMjA0LTc5LjgsNzkuOEM5LjgwMywxNDguMTY4LDAsMTg0Ljg1NCwwLDIyNC42MyBjMCw0Ny43OCwxMy45NCw5MC43NDUsNDEuODI3LDEyOC45MDZjMjcuODg0LDM4LjE2NCw2My45MDYsNjQuNTcyLDEwOC4wNjMsNzkuMjI3YzUuMTQsMC45NTQsOC45NDUsMC4yODMsMTEuNDE5LTEuOTk2IGMyLjQ3NS0yLjI4MiwzLjcxMS01LjE0LDMuNzExLTguNTYyYzAtMC41NzEtMC4wNDktNS43MDgtMC4xNDQtMTUuNDE3Yy0wLjA5OC05LjcwOS0wLjE0NC0xOC4xNzktMC4xNDQtMjUuNDA2bC02LjU2NywxLjEzNiBjLTQuMTg3LDAuNzY3LTkuNDY5LDEuMDkyLTE1Ljg0NiwxYy02LjM3NC0wLjA4OS0xMi45OTEtMC43NTctMTkuODQyLTEuOTk5Yy02Ljg1NC0xLjIzMS0xMy4yMjktNC4wODYtMTkuMTMtOC41NTkgYy01Ljg5OC00LjQ3My0xMC4wODUtMTAuMzI4LTEyLjU2LTE3LjU1NmwtMi44NTUtNi41N2MtMS45MDMtNC4zNzQtNC44OTktOS4yMzMtOC45OTItMTQuNTU5IGMtNC4wOTMtNS4zMzEtOC4yMzItOC45NDUtMTIuNDE5LTEwLjg0OGwtMS45OTktMS40MzFjLTEuMzMyLTAuOTUxLTIuNTY4LTIuMDk4LTMuNzExLTMuNDI5Yy0xLjE0Mi0xLjMzMS0xLjk5Ny0yLjY2My0yLjU2OC0zLjk5NyBjLTAuNTcyLTEuMzM1LTAuMDk4LTIuNDMsMS40MjctMy4yODljMS41MjUtMC44NTksNC4yODEtMS4yNzYsOC4yOC0xLjI3Nmw1LjcwOCwwLjg1M2MzLjgwNywwLjc2Myw4LjUxNiwzLjA0MiwxNC4xMzMsNi44NTEgYzUuNjE0LDMuODA2LDEwLjIyOSw4Ljc1NCwxMy44NDYsMTQuODQyYzQuMzgsNy44MDYsOS42NTcsMTMuNzU0LDE1Ljg0NiwxNy44NDdjNi4xODQsNC4wOTMsMTIuNDE5LDYuMTM2LDE4LjY5OSw2LjEzNiBjNi4yOCwwLDExLjcwNC0wLjQ3NiwxNi4yNzQtMS40MjNjNC41NjUtMC45NTIsOC44NDgtMi4zODMsMTIuODQ3LTQuMjg1YzEuNzEzLTEyLjc1OCw2LjM3Ny0yMi41NTksMTMuOTg4LTI5LjQxIGMtMTAuODQ4LTEuMTQtMjAuNjAxLTIuODU3LTI5LjI2NC01LjE0Yy04LjY1OC0yLjI4Ni0xNy42MDUtNS45OTYtMjYuODM1LTExLjE0Yy05LjIzNS01LjEzNy0xNi44OTYtMTEuNTE2LTIyLjk4NS0xOS4xMjYgYy02LjA5LTcuNjE0LTExLjA4OC0xNy42MS0xNC45ODctMjkuOTc5Yy0zLjkwMS0xMi4zNzQtNS44NTItMjYuNjQ4LTUuODUyLTQyLjgyNmMwLTIzLjAzNSw3LjUyLTQyLjYzNywyMi41NTctNTguODE3IGMtNy4wNDQtMTcuMzE4LTYuMzc5LTM2LjczMiwxLjk5Ny01OC4yNGM1LjUyLTEuNzE1LDEzLjcwNi0wLjQyOCwyNC41NTQsMy44NTNjMTAuODUsNC4yODMsMTguNzk0LDcuOTUyLDIzLjg0LDEwLjk5NCBjNS4wNDYsMy4wNDEsOS4wODksNS42MTgsMTIuMTM1LDcuNzA4YzE3LjcwNS00Ljk0NywzNS45NzYtNy40MjEsNTQuODE4LTcuNDIxczM3LjExNywyLjQ3NCw1NC44MjMsNy40MjFsMTAuODQ5LTYuODQ5IGM3LjQxOS00LjU3LDE2LjE4LTguNzU4LDI2LjI2Mi0xMi41NjVjMTAuMDg4LTMuODA1LDE3LjgwMi00Ljg1MywyMy4xMzQtMy4xMzhjOC41NjIsMjEuNTA5LDkuMzI1LDQwLjkyMiwyLjI3OSw1OC4yNCBjMTUuMDM2LDE2LjE4LDIyLjU1OSwzNS43ODcsMjIuNTU5LDU4LjgxN2MwLDE2LjE3OC0xLjk1OCwzMC40OTctNS44NTMsNDIuOTY2Yy0zLjksMTIuNDcxLTguOTQxLDIyLjQ1Ny0xNS4xMjUsMjkuOTc5IGMtNi4xOTEsNy41MjEtMTMuOTAxLDEzLjg1LTIzLjEzMSwxOC45ODZjLTkuMjMyLDUuMTQtMTguMTgyLDguODUtMjYuODQsMTEuMTM2Yy04LjY2MiwyLjI4Ni0xOC40MTUsNC4wMDQtMjkuMjYzLDUuMTQ2IGM5Ljg5NCw4LjU2MiwxNC44NDIsMjIuMDc3LDE0Ljg0Miw0MC41Mzl2NjAuMjM3YzAsMy40MjIsMS4xOSw2LjI3OSwzLjU3Miw4LjU2MmMyLjM3OSwyLjI3OSw2LjEzNiwyLjk1LDExLjI3NiwxLjk5NSBjNDQuMTYzLTE0LjY1Myw4MC4xODUtNDEuMDYyLDEwOC4wNjgtNzkuMjI2YzI3Ljg4LTM4LjE2MSw0MS44MjUtODEuMTI2LDQxLjgyNS0xMjguOTA2IEM0MzguNTM2LDE4NC44NTEsNDI4LjcyOCwxNDguMTY4LDQwOS4xMzIsMTE0LjU3M3oiLz48L2c+PC9zdmc+\"","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\nimport { Link } from 'gatsby'\nimport styled from '@emotion/styled'\nimport { breakpoints, colors } from '../utils/variables'\nimport Hamburger from '../resources/hamburger.svg'\nimport Multiply from '../resources/multiply.svg'\nimport TheiaLogoDark from '../resources/theia-logo-dark.svg'\n\nconst StyledNav = styled.div`\n @media(max-width: ${breakpoints.xmd}) {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n }\n\n .nav {\n display: flex;\n position: relative;\n padding-top: 5rem;\n margin-bottom: 2rem;\n\n @media(max-width: ${breakpoints.xmd}) {\n flex-direction: column;\n padding-top: 0;\n\n .navIsRendered {\n display: flex;\n }\n\n .navIsNotRendered {\n display: none;\n }\n\n &__header {\n display: flex;\n justify-content: space-between;\n flex: 1;\n padding: 3rem 2rem;\n }\n\n }\n\n .logo {\n height: 2.7rem;\n color: transparent;\n }\n\n &__button {\n border: none;\n background: #fff;\n color: transparent;\n transition: all .2s;\n\n &:hover,\n &:focus {\n transform: scale(1.1);\n }\n\n img {\n height: 3.5rem;\n\n @media(max-width: ${breakpoints.sm}) {\n height: 3rem;\n }\n }\n\n @media(min-width: ${breakpoints.xmd}) {\n display: none;\n }\n }\n\n &__items {\n display: flex;\n justify-content: flex-end;\n list-style: none;\n width: 100%;\n\n @media(max-width: ${breakpoints.xmd}) {\n height: 95vh;\n flex-direction: column;\n text-align: center;\n justify-content: center;\n align-items: center;\n background: white;\n }\n }\n\n &__item {\n margin-bottom: 3rem;\n\n @media(min-width: ${breakpoints.xmd}) {\n &:not(:last-child) {\n margin-right: 3rem;\n }\n }\n\n @media(max-width: ${breakpoints.xmd}) {\n width: 100vw;\n }\n }\n\n &__link {\n position: relative;\n width: 100%;\n text-decoration: none;\n color: ${colors.greyOne};\n display: block;\n padding-bottom: .8rem;\n\n &::after {\n content: \"\";\n position: absolute;\n bottom: 0;\n right: 100%;\n left: 0;\n border-bottom: 2px solid ${colors.greyOne};\n transition: all .4s cubic-bezier(0,.5,0, 1);\n\n @media(max-width: ${breakpoints.xmd}) {\n display: none;\n }\n }\n\n &:hover,\n &:focus {\n color: ${colors.blue};\n\n @media(max-width: ${breakpoints.xmd}) {\n transform: scale(1.2);\n }\n\n &::after {\n right: 0;\n border-color: ${colors.blue};\n }\n }\n }\n &__dropdown {\n cursor: pointer;\n \n &:hover .dropdown-menu,\n &:focus .dropdown-menu {\n visibility: visible;\n opacity: 1;\n }\n }\n }\n .active {\n color: ${colors.blue};\n }\n .dropdown-menu {\n visibility: hidden;\n opacity: 0;\n min-width: 15rem;\n margin-top: 1rem;\n position: relative;\n background-color: #fff;\n padding: 1rem 0;\n z-index: 2;\n @media(min-width: ${breakpoints.xmd}) {\n box-shadow: 0 6px 12px rgb(0 0 0 / 18%);\n left: -25%;\n }\n }\n .dropdown-menu li {\n padding: 0.5rem 1rem;\n list-style: none;\n }\n .caret {\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-top: 4px dashed;\n display: inline-block;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n width: 0;\n }\n`\n\nclass Nav extends React.Component {\n\n state = {\n isNavRendered: false,\n }\n\n toggleNavigation = () => {\n this.setState({ isNavRendered: !this.state.isNavRendered })\n }\n\n render() {\n const { shouldRenderLogo } = this.props\n return (\n \n \n \n )\n }\n}\n\nexport default Nav\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwIiB5PSIwIiBmaWxsPSIjMzgzODM4IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzMS4xMTIgMzEuMTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMS4xMTIgMzEuMTEyIj48cG9seWdvbiBwb2ludHM9IjMxLjExMiAxLjQxNCAyOS42OTggMCAxNS41NTYgMTQuMTQyIDEuNDE0IDAgMCAxLjQxNCAxNC4xNDIgMTUuNTU2IDAgMjkuNjk4IDEuNDE0IDMxLjExMiAxNS41NTYgMTYuOTcgMjkuNjk4IDMxLjExMiAzMS4xMTIgMjkuNjk4IDE2Ljk3IDE1LjU1NiIvPjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjEyIiBoZWlnaHQ9IjYxMiIgeD0iMCIgeT0iMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjEyIDYxMiIgZmlsbD0iIzM4MzgzOCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNjEyIDYxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PGc+PGc+PHBhdGggZD0iTTAsOTUuNjI1djM4LjI1aDYxMnYtMzguMjVIMHogTTAsMzI1LjEyNWg2MTJ2LTM4LjI1SDBWMzI1LjEyNXogTTAsNTE2LjM3NWg2MTJ2LTM4LjI1SDBWNTE2LjM3NXoiLz48L2c+PC9nPjwvZz48L3N2Zz4=\"","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport { useStaticQuery, graphql } from 'gatsby'\n\nconst useSiteMetadata = () => {\n const data = useStaticQuery(graphql`\n {\n site {\n siteMetadata {\n title\n description\n }\n }\n }\n `)\n\n return data.site.siteMetadata\n}\n\nexport default useSiteMetadata","import React from 'react'\nimport useSiteMetadata from '../hooks/use-site-metadata'\nimport AppleTouchIcon from '../resources/apple-touch-icon.png'\nimport Favicon from '../resources/theia-favicon.svg'\nimport Favicon196 from '../resources/theia-favicon-196x196.png'\n\nconst BaseHead = ({ canonical }) => {\n const { title, description } = useSiteMetadata()\n return (\n <>\n \n {title}\n \n \n \n {canonical && }\n \n \n \n \n \n \n )\n}\n\nexport default BaseHead\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMQAAADECAQAAABqr0bgAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfkBQsULSfA7x9tAAAH+UlEQVR42u2de3BNVxTGvysRCQaNV/WRokpDG2pi0AZl6tGHoXT6MMZgmhmq1HO0tIR41SODhjGT0aRUFa2mHjNtxiDooEVD09KORxQlOghSJMLtH6qt+8o9a+9zcnfu91t/Z62V+805Z++1194bIIQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgiphDyMCViBbMu2DmnoAVcAzzF4G5twGAUWLR95FW4/YDu2YA2WYhIGIBHV7RWhCqahFG4F24vGfnx3xCklz6Flt3AYyzEUD9kjxFINKZ7Fgz48t8O1SiTD/y0fqXhSrwzdNaW2wctzJH6rpDLctf0Yjpq6hNisLS3P19OrlVyGO1aEeWikQ4ir2lIa6OE5MyyEcMON61iIumoy1NCYzmgP31vCRgg33LiE0YiUC1FVYyojbHvpmWJ5aCeX4qS2NF7y8Dwz7IRwowzTpM/FYk0pXPGa7rTC7TCUwo3dsnnGAyjSEn6iTTMUE60QXSRSPIdi5dArfZY5ovB1mEpRikESKeKxCbfEQU8i2W+1yYVhKAhTMcbLvhV1kYS+lq0X4gOW/O7QAj19/O1AzMHRSi3F++ZUfSMxQrHgGNr2rkkl+J4Kr0UddgG5yMBkvIPBSMYYzMJa5KFMk/c3TZJidoUNNMegDar4zKkmemEhzmmYWfQ0R4j7cNNhCYqRhseCyCwCL2CrcvHjUXOkyHVQhJuYj3qWsuuAXUoRDyLaFCE+dUyGnWgpyM+FIbioEDXdFCE2ObTUmYIIcY5x2K0Qu7sJMkTgvAMyXMOLyoNt+RrLCdQIfSH6OzJI7aAhUxfmijOYHeoyxOK4A09DB235LhLmUBLao6cG+M6Bb8PzGjN2Ya0wj89DVYT6GKlhylS+pWjOuyaOiPK4jVYqYZthBrZq76I7iLMOLRztUBgp+SNBOAVdJX8MpxhelCsVzRvsKsuUIU4Wbr7x9c95Nr1WqwubSWdJgnU2XoZii8UMK4wSZXRO0lyw0XghFto41IhBoSinXtZDmd9C/Lito755opyyrIapbbwM39s8/H5COMe3OIqLNL4vyf6FStmae0erYfYZLkQ724VYJsprqtUwww0fMUXYLsQAUWY51su+ewwW4oADRZo2osyuBtGC5FUN2musEJ85IER1YW6COmwURuFnI4VIc6RwKesc7isNVwuNHbUE9MYSxZ5cfzXXVliCQziPoiCsEAewAE0D/DKybQ3jYBSNsE1BiDE+fU4WtLOVYrjfHPMrdzPBfy/GHdq2kgHAeLE3f93deSJv62AccbiuTQi5LzcuorZGIbbBQFZqE+I9pW/OUI1C5JkoxCBtQqxVEiJdoxCHTBSihzYhtisJkaVRiAIThRioTYhsJSGWaRQi30QhlmsTYpaSEKPC+xvRUDytG+1j/UBe2L/h8/wdqRC5psngwnqt84h0sbcpWucRX5olQzXx0NXfzDoKq4UjJpfWmfVSUySoiqYYqbgxOMXPM/YKci20h5UgBz0CZCrLcYLaz9MbG3Au4Hu2GD9iKuoE8NEWmTiBEgeqrwsCvvLqBGn2VF/7yUWIxhoLvTvtffqo4ui2xZUOPLnRws9/c3nIFRo28Dm7e3SfA0IkiDL7y89O1iDoomFc0MbhrpAr8n83aF4TZbZVHtD6lqWbiPXwkeH4Gl1b24WQDYdT5QH3C8I97eHjiONCjLddiMOivDrLA0oGaZ7rspccF2KXzTK0EGVVpHL23wFBwGcq/Ilwo5mtQshqV0rdJZ8I9q3FaireqdiHti7jnhbl1FslaFfL4bK9fCRWgBCXg5iSSRkmyuhPRKmFXW3xB/D1UqiI/UfTbauDHdM+3w+K6haWVc6jk08fEUhzXIgbNu1uniLcV6ohGxf649tyjgYpwS+YGXC7VHuswhlHj8rKsd5pWi7NcUOUyxehXGmth27I1HZimBPziWjhKoQTU0xl2uGMbULcxLNac80U5pFtxhpEvMaT+70HD6215ZkqzKEM8aYsB4238fVUiAQtOU4OyR2umqlt6ykHl2UHRd+znrJIHP2Mn5bNEMXeXXulGKcwgmqIHIXYfcxqF8ixfTC7GY+IMuundI7OxzCMgw7MK67hA4tXNLXEN0oRf9V3JZQzNHBsoncBKUFd0eRCkmKjphvFNp2PYyPO3sFyCzlIRhO/tdUkpArrSfdGedk0GZIq6GSo37ERaRiNweiPN5CMiViOnRru1LhjY02ToQ+uGH/2h7fNCeZfr2lxp2dskFVaqztIEzFE+fzt0LRyD+2qhrGiZe9TmB1gWhKDicLF9MppM8qToa7SaQIFaOHTaxNDt8XbNRAYWf6ATPU1cMzHqLhWhbQGhKoVed3J54O+GgJN9vI6gz//v/ZTUDdTWGglDn5PZBX8QQH+sUXB3hWRpyFYiYfPOAoAN9w4im7Bj9dPaAl5LwkUAdcwHTFWJk46zl8q9vBZP8xFKEOW9ftJl2gI7N1WfihsRbiODFlj51Madim87uV1UJh+Eyahgbyqo9pvt9HHKpcLX4WVBKfxETqp9ktFYK7CU7HO697qu2XjjDAQ4BzWY6ymNgQAQGssxl6cQIEF24csdA3oNRHp2IPjlryGsh1HHvYjB6sxD2+hO+4HIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQiqYvwHVtJSNp5j4dwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wNS0xMVQyMDo0NTozNSswMDowMHDx5bUAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDUtMTFUMjA6NDU6MzUrMDA6MDABrF0JAAAAAElFTkSuQmCC\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMzkyLjQgMTM2LjVjNjYuMSAwIDExOS42IDUzLjUgMTE5LjYgMTE5LjYgMCA2Ni01My41IDExOS42LTExOS42IDExOS42SDEyOC43Yy05LjQgMC0xNy4xLTcuNi0xNy4xLTE3LjEgMC05LjQgNy42LTE3LjEgMTcuMS0xNy4xaDYxLjRjOS40IDAgMTctNy42IDE3LTE3LjFzLTcuNi0xNy4xLTE3LTE3LjFoLTEzLjdjLTkuNCAwLTE3LjEtNy42LTE3LjEtMTcuMSAwLTkuNCA3LjYtMTcuMSAxNy4xLTE3LjFoNDFjOS41IDAgMTYuOC03LjggMTcuMS0xNy4xIDAtOS40LTcuNi0xNy4xLTE3LjEtMTcuMUg3NGMtOS40IDAtMTcuMS03LjYtMTcuMS0xNy4xIDAtOS40IDcuNi0xNy4xIDE3LjEtMTcuMWgxMDUuOGM5LjUgMCAxNi44LTcuOCAxNy4xLTE3LjEgMC05LjQtNy42LTE3LjEtMTcuMS0xNy4xSDE1NmMtOS40IDAtMTcuMS03LjYtMTcuMS0xNy4xIDAtOS40IDcuNi0xNy41IDE3LjEtMTcuNWwyMzYuNC42em0tMTkuMSAzOS44Yy0zNi43IDAtNjYuNCAyOS44LTY2LjQgNjYuNHYyNi42YzAgMzYuNyAyOS43IDY2LjQgNjYuNCA2Ni40czY2LjQtMjkuNyA2Ni40LTY2LjR2LTI2LjZjMC0zNi42LTI5LjgtNjYuNC02Ni40LTY2LjR6bTIyLjcgNjIuOWM4LjggMCAxNiA3LjIgMTYgMTZ2Mi4xYzAgOC44LTcuMiAxNi0xNiAxNmgtNDkuOWMtOC44IDAtMTYtNy4yLTE2LTE2di0yLjFjMC04LjggNy4yLTE2IDE2LTE2SDM5NnpNNzUuMSAzNDEuNmM4LjkgMCAxNiA3LjEgMTYgMTZ2Mi4xYzAgOC44LTcuMSAxNi0xNiAxNkgxNmMtOC44IDAtMTYtNy4yLTE2LTE2di0yLjFjMC04LjkgNy4yLTE2IDE2LTE2aDU5LjF6Ii8+PHBhdGggZD0iTTEwMi40IDEzNi43YzguOCAwIDE2IDcuMiAxNiAxNnYyLjFjMCA4LjgtNy4xIDE2LTE2IDE2SDM2LjVjLTguOCAwLTE2LTcuMS0xNi0xNnYtMi4xYzAtOC44IDcuMi0xNiAxNi0xNmg2NS45ek0xMjIuOSAyNzMuM2M4LjggMCAxNiA3LjIgMTYgMTZ2Mi4xYzAgOC44LTcuMiAxNi0xNiAxNkg4Ni43Yy04LjggMC0xNi03LjItMTYtMTZ2LTIuMWMwLTguOCA3LjItMTYgMTYtMTZoMzYuMnoiLz48L3N2Zz4=\"","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\nimport { Global, css } from '@emotion/react'\nimport { fontSizes, colors, grid, breakpoints } from '../utils/variables'\nconst Layout = ({ children }) => (\n <>\n \n <>\n {children}\n \n \n)\n\nexport default Layout\n","/********************************************************************************\n * Copyright (C) 2019 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nexport const colors = {\n greyOne: '#383838',\n blue: '#0000f8',\n lightBlue: '#0074D9'\n}\n\nexport const fontSizes = {\n default: '1.5rem',\n}\n\nexport const grid = {\n maxWidth: '114rem',\n}\n\nexport const breakpoints = {\n sm: '34rem',\n xmd: '50rem',\n md: '70rem',\n}","export default __webpack_public_path__ + \"static/background-image-bae6db106e3819854309162f02f1b13a.png\";","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwIiB5PSIwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzODUxLjM1IDU0MC42Ij48ZyBpZD0iTGF5ZXJfMSIgZmlsbD0iIzAwMDAwIj48cGF0aCBkPSJNMzYzNS4xMjMsMy45MTIgQzM2MzUuMTI0LDMuOTEyIDM2NTguNjIsMy45MTIgMzY2OC40MzUsMTEuMSBDMzY2OC40MzUsMTEuMSAzNjc4LjI5OSwxOC4yODggMzY4NS44ODMsNDAuMjQ3IEwzODUwLjIwOCw1MTkuNjg4IEMzODUwLjIwOCw1MTkuNjg4IDM4NTIuNDg4LDUyNS43MzYgMzg1MC42MDQsNTMwLjY5MyBDMzg1MC42MDQsNTMwLjY5MyAzODQ4LjcyMSw1MzUuNiAzODQwLjM0Myw1MzUuNiBMMzc3MC42OTcsNTM1LjYgQzM3NzAuNjk4LDUzNS42IDM3NjIuMzcsNTM1LjYgMzc1Ny40NjIsNTMzLjcxNyBDMzc1Ny40NjIsNTMzLjcxNyAzNzUyLjUwNSw1MzEuODMzIDM3NDkuNDgxLDUyMy41MDUgTDM3MTYuMTcsNDE5Ljc1NSBMMzUyMy43ODksNDE5Ljc1NSBMMzQ5MC40NzgsNTIyLjcxMiBDMzQ5MC40NzgsNTIyLjcxMiAzNDg4LjE5OCw1MjkuNTUzIDM0ODQuMDM0LDUzMi41NzYgQzM0ODQuMDM0LDUzMi41NzYgMzQ3OS44Nyw1MzUuNiAzNDcwLjc5OSw1MzUuNiBMMzQwMS4xMDMsNTM1LjYgQzM0MDEuMTA0LDUzNS42IDMzOTIuNzc2LDUzNS42IDMzOTAuNDk2LDUzMC42OTMgQzMzOTAuNDk2LDUzMC42OTMgMzM4OC4yNjUsNTI1LjczNiAzMzkwLjQ5Niw1MTkuNjg4IEwzNTU0LjA3Niw0MC4yNDcgQzM1NTQuMDc2LDQwLjI0NyAzNTU3Ljg5MywyOC44OTYgMzU2MS42NjEsMjIuMTA1IEMzNTYxLjY2MSwyMi4xMDUgMzU2NS40NzgsMTUuMjY0IDM1NzEuMTI5LDExLjQ5NyBDMzU3MS4xMjksMTEuNDk3IDM1NzYuODI5LDcuNjggMzU4NC40MTMsNS43OTYgQzM1ODQuNDEzLDUuNzk2IDM1OTEuOTQ4LDMuOTEyIDM2MDIuNTU2LDMuOTEyIEwzNjM1LjEyMywzLjkxMiB6IE0zNjIwLjc0OCwxMDYuMTc1IEwzNjE2Ljk4MSwxMDYuMTc1IEwzNTg1LjksMjExLjM2MyBMMzU0Ni41NDIsMzQwLjc0MSBMMzY5MS45MzEsMzQwLjc0MSBMMzY1Mi41NzIsMjEzLjU5MyBMMzYyMC43NDgsMTA2LjE3NSB6Ii8+PHBhdGggZD0iTTIwNzEuMjA5LDUuMzUgQzIwNzEuMjA5LDUuMzUgMjA4MS44MTcsNS4zNSAyMDg1LjU4NCw4LjAyNyBDMjA4NS41ODQsOC4wMjcgMjA4OS4zNTIsMTAuNjU0IDIwODkuMzUyLDIxLjI2MiBMMjA4OS4zNTEsMjE3LjY1OCBMMjMyNC45MDgsMjE3LjY1OCBMMjMyNC45MDgsMjEuMjYyIEMyMzI0LjkwOCwyMS4yNjIgMjMyNC45MDgsMTEuMzk3IDIzMjkuMTIyLDguMzc0IEMyMzI5LjEyMiw4LjM3NCAyMzMzLjI4NSw1LjM1IDIzNDIuMzU3LDUuMzUgTDI0MDAuMDU2LDUuMzUgQzI0MDAuMDU2LDUuMzUgMjQxMC42NjQsNS4zNSAyNDE0LjA4NCw4LjAyNyBDMjQxNC4wODQsOC4wMjcgMjQxNy41MDUsMTAuNjU0IDI0MTcuNTA1LDIxLjI2MiBMMjQxNy41MDUsNTE5LjY4OCBDMjQxNy41MDUsNTE5LjY4OCAyNDE3LjUwNSw1MzAuMjk2IDI0MTQuMDg0LDUzMi45NzMgQzI0MTQuMDg0LDUzMi45NzMgMjQxMC42NjQsNTM1LjYgMjQwMC4wNTYsNTM1LjYgTDIzNDIuMzU2LDUzNS42IEMyMzQyLjM1Nyw1MzUuNiAyMzMzLjI4NSw1MzUuNiAyMzI5LjEyMiw1MzIuNTc2IEMyMzI5LjEyMiw1MzIuNTc2IDIzMjQuOTA4LDUyOS41NTMgMjMyNC45MDgsNTE5LjY4OCBMMjMyNC45MDgsMjk3LjExOSBMMjA4OS4zNTEsMjk3LjExOSBMMjA4OS4zNTEsNTE5LjY4OCBDMjA4OS4zNTIsNTE5LjY4OCAyMDg5LjM1Miw1MzAuMjk2IDIwODUuNTg0LDUzMi45NzMgQzIwODUuNTg0LDUzMi45NzMgMjA4MS44MTcsNTM1LjYgMjA3MS4yMDksNTM1LjYgTDIwMTMuNzA3LDUzNS42IEMyMDEzLjcwOCw1MzUuNiAyMDA1LjM4LDUzNS42IDIwMDAuODY5LDUzMi41NzYgQzIwMDAuODY5LDUzMi41NzYgMTk5Ni4zMDksNTI5LjU1MyAxOTk2LjMwOSw1MTkuNjg4IEwxOTk2LjMwOCwyMS4yNjIgQzE5OTYuMzA5LDIxLjI2MiAxOTk2LjMwOSwxMS4zOTcgMjAwMC44NjksOC4zNzQgQzIwMDAuODY5LDguMzc0IDIwMDUuMzgsNS4zNSAyMDEzLjcwOCw1LjM1IEwyMDcxLjIwOSw1LjM1IHoiLz48cGF0aCBkPSJNMTg0MC40MTEsNS4zNSBDMTg0MC40MTEsNS4zNSAxODQ4LjczOSw1LjM1IDE4NTEuNDE2LDguMzc0IEMxODUxLjQxNiw4LjM3NCAxODU0LjA0MywxMS40NDcgMTg1NC4wNDMsMTkuNzc1IEwxODU0LjA0Myw3Mi4xNyBDMTg1NC4wNDMsNzIuMTcgMTg1NC4wNDMsNzkuNzU1IDE4NTEuNDE2LDgyLjc3OCBDMTg1MS40MTYsODIuNzc4IDE4NDguNzM5LDg1LjgwMiAxODQwLjQxMSw4NS44MDIgTDE2OTYuNTU5LDg1LjgwMiBMMTY5Ni41NTksNTE5LjY4OCBDMTY5Ni41NTksNTE5LjY4OCAxNjk2LjU1OSw1MzAuMjk2IDE2OTMuMTM5LDUzMi45NzMgQzE2OTMuMTM5LDUzMi45NzMgMTY4OS43MTgsNTM1LjYgMTY3OS4xMSw1MzUuNiBMMTYxOS45MjQsNTM1LjYgQzE2MTkuOTI0LDUzNS42IDE2MTAuODUzLDUzNS42IDE2MDYuNjg5LDUzMi41NzYgQzE2MDYuNjg5LDUzMi41NzYgMTYwMi41MjUsNTI5LjU1MyAxNjAyLjUyNSw1MTkuNjg4IEwxNjAyLjUyNSw4NS44MDIgTDE0NjEuNjQ3LDg1LjgwMiBDMTQ2MS42NDcsODUuODAyIDE0NTMuMzE5LDg1LjgwMiAxNDUxLjAzOSw4Mi43NzggQzE0NTEuMDM5LDgyLjc3OCAxNDQ4Ljc1OSw3OS43NTUgMTQ0OC43NTksNzIuMTcgTDE0NDguNzU4LDE5Ljc3NSBDMTQ0OC43NTksMTkuNzc1IDE0NDguNzU5LDExLjQ0NyAxNDUxLjAzOSw4LjM3NCBDMTQ1MS4wMzksOC4zNzQgMTQ1My4zMTksNS4zNSAxNDYxLjY0Nyw1LjM1IEwxODQwLjQxMSw1LjM1IHoiLz48cGF0aCBkPSJNODgxLjA5OSwyLjIgQzEwMjksMi4yIDExNDguOCwxMjIgMTE0OC44LDI2OS45IEMxMTQ4LjgsNDE3LjcgMTAyOSw1MzcuNiA4ODEuMSw1MzcuNiBMMjkxLDUzNy42IEMyNjkuOSw1MzcuNiAyNTIuOCw1MjAuNSAyNTIuOCw0OTkuNCBDMjUyLjgsNDc4LjMgMjY5LjksNDYxLjIgMjkxLDQ2MS4yIEw0MjguNSw0NjEuMiBDNDQ5LjUsNDYxLjIgNDY2LjYsNDQ0LjEgNDY2LjYsNDIzIEM0NjYuNiw0MDEuOSA0NDkuNSwzODQuOCA0MjguNSwzODQuOCBMMzk3Ljg5OSwzODQuOCBDMzc2LjgsMzg0LjggMzU5LjcsMzY3LjcgMzU5LjcsMzQ2LjYgQzM1OS43LDMyNS41IDM3Ni44LDMwOC40IDM5Ny45LDMwOC40IEw0ODkuNjAzLDMwOC40IEM1MTAuODE4LDMwOC4zNDEgNTI3LjI3MywyOTEuMDUgNTI3LjgsMjcwLjIgQzUyNy44LDI0OS4xIDUxMC43LDIzMiA0ODkuNiwyMzIgTDE2OC43LDIzMiBDMTQ3LjYsMjMyIDEzMC41LDIxNC45IDEzMC41LDE5My44IEMxMzAuNSwxNzIuNyAxNDcuNiwxNTUuNiAxNjguNywxNTUuNiBMNDA1LjUwNCwxNTUuNiBDNDI2LjcxOCwxNTUuNTQxIDQ0My4xNzMsMTM4LjI1IDQ0My43LDExNy40IEM0NDMuNyw5Ni4zIDQyNi42LDc5LjIgNDA1LjUsNzkuMiBMMzUyLjEsNzkuMiBDMzMxLDc5LjIgMzEzLjksNjIuMSAzMTMuOSw0MSBDMzEzLjksMTkuOSAzMzEsMS44IDM1Mi4xLDEuOCBMODgxLjA5OSwyLjIgeiBNODM4LjMsOTEuNCBMODM4LjMsOTEuNCBDNzU2LjEsOTEuNCA2ODkuNiwxNTggNjg5LjYsMjQwLjEgTDY4OS42LDI5OS42IEM2ODkuNiwzODEuOCA3NTYuMSw0NDguMyA4MzguMyw0NDguMyBDOTIwLjQsNDQ4LjMgOTg3LDM4MS44IDk4NywyOTkuNiBMOTg3LDI0MC4xIEM5ODcsMTU4IDkyMC40LDkxLjQgODM4LjMsOTEuNCBMODM4LjMsOTEuNCB6IE04ODkuMSwyMzIgQzkwOC45LDIzMiA5MjUsMjQ4LjEgOTI1LDI2Ny45IEw5MjUsMjcyLjUgQzkyNSwyOTIuMyA5MDguOSwzMDguNCA4ODkuMSwzMDguNCBMNzc3LjUsMzA4LjQgQzc1Ny43LDMwOC40IDc0MS42LDI5Mi4zIDc0MS42LDI3Mi41IEw3NDEuNiwyNjcuOSBDNzQxLjYsMjQ4LjEgNzU3LjcsMjMyIDc3Ny41LDIzMiBMODg5LjEsMjMyIHoiLz48cGF0aCBkPSJNMTcxLDQ2MS4yIEMxOTAuOSw0NjEuMiAyMDYuOSw0NzcuMiAyMDYuOSw0OTcuMSBMMjA2LjksNTAxLjcgQzIwNi45LDUyMS41IDE5MC45LDUzNy42IDE3MSw1MzcuNiBMMzguOSw1MzcuNiBDMTkuMSw1MzcuNiAzLDUyMS41IDMsNTAxLjcgTDMsNDk3LjEgQzMsNDc3LjIgMTkuMSw0NjEuMiAzOC45LDQ2MS4yIEwxNzEsNDYxLjIgeiIvPjxwYXRoIGQ9Ik0yOTUyLjkwNCw0Ljg1NCBDMjk1Mi45MDUsNC44NTQgMjk2Mi43MTksNC44NTQgMjk2NS4zOTYsOS4wNjggQzI5NjUuMzk2LDkuMDY4IDI5NjguMDIzLDEzLjIzMiAyOTY4LjAyMywyMi4zMDMgTDI5NjguMDIzLDcwLjA4OCBDMjk2OC4wMjMsNzAuMDg4IDI5NjguMDIzLDc5Ljk1MyAyOTY1LjM5Niw4My4zNzMgQzI5NjUuMzk2LDgzLjM3MyAyOTYyLjcxOSw4Ni43OTMgMjk1Mi45MDUsODYuNzkzIEwyNzUxLjQ1Miw4Ni43OTMgQzI3NTEuNDUyLDg2Ljc5MyAyNzIyLjY1Miw4Ni43OTMgMjcxMC45MDQsOTkuNjMyIEMyNzEwLjkwNCw5OS42MzIgMjY5OS4yMDUsMTEyLjUyIDI2OTkuMjA1LDEzNi43MSBMMjY5OS4yMDUsMjE2LjE3MSBMMjkyNy44NzIsMjE2LjE3MSBDMjkyNy44NzIsMjE2LjE3MSAyOTM3LjczNiwyMTYuMTcxIDI5NDAuNDEzLDIxOS45ODggQzI5NDAuNDEzLDIxOS45ODggMjk0My4wNCwyMjMuNzU1IDI5NDMuMDQsMjM0LjMxNCBMMjk0My4wNCwyNzUuOTAzIEMyOTQzLjA0LDI3NS45MDMgMjk0My4wNCwyODQuOTc0IDI5NDAuNDEzLDI4OS4wODkgQzI5NDAuNDEzLDI4OS4wODkgMjkzNy43MzYsMjkzLjI1MiAyOTI3Ljg3MiwyOTMuMjUyIEwyNjk5LjIwNSwyOTMuMjUyIEwyNjk5LjIwNSw0MDMuOTQyIEMyNjk5LjIwNSw0MDMuOTQyIDI2OTkuMjA1LDQyOC4xODIgMjcxMS42OTcsNDQwLjY3NCBDMjcxMS42OTcsNDQwLjY3NCAyNzI0LjE4OCw0NTMuMjE1IDI3NTEuNDUyLDQ1My4yMTUgTDI5NTcuNDE1LDQ1My4yMTUgQzI5NTcuNDE1LDQ1My4yMTUgMjk2OC4wMjMsNDUzLjIxNSAyOTcwLjcsNDU2Ljk4MiBDMjk3MC43LDQ1Ni45ODIgMjk3My4zMjcsNDYwLjc0OSAyOTczLjMyNyw0NzEuMzU3IEwyOTczLjMyNyw1MTguMjAxIEMyOTczLjMyNyw1MTguMjAxIDI5NzMuMzI3LDUyNi41MjkgMjk3MC4zMDMsNTMxLjA0IEMyOTcwLjMwMyw1MzEuMDQgMjk2Ny4yOCw1MzUuNiAyOTU3LjQxNSw1MzUuNiBMMjc0MS41ODcsNTM1LjYgQzI3NDEuNTg4LDUzNS42IDI3MDEuNDM2LDUzNS42IDI2NzUuNjU5LDUyNC4yNDkgQzI2NzUuNjU5LDUyNC4yNDkgMjY0OS44ODMsNTEyLjg5NyAyNjM0LjMxOCw0OTMuOTYxIEMyNjM0LjMxOCw0OTMuOTYxIDI2MTguNzUzLDQ3NS4wMjYgMjYxMi43MDYsNDUwLjc4NiBDMjYxMi43MDYsNDUwLjc4NiAyNjA2LjYwOCw0MjYuNTk2IDI2MDYuNjA4LDQwMC4wNzYgTDI2MDYuNjA4LDE0MS4xNzIgQzI2MDYuNjA4LDE0MS4xNzIgMjYwNi42MDgsMTE0LjY1MiAyNjEzLjc5Niw5MC4wNjUgQzI2MTMuNzk2LDkwLjA2NSAyNjIxLjAzMyw2NS40MjkgMjYzNy4zNDIsNDYuNDkzIEMyNjM3LjM0Miw0Ni40OTMgMjY1My42NSwyNy42MDcgMjY3OS40MjcsMTYuMjA2IEMyNjc5LjQyNywxNi4yMDYgMjcwNS4yNTMsNC44NTQgMjc0MS41ODgsNC44NTQgTDI5NTIuOTA0LDQuODU0IHoiLz48cGF0aCBkPSJNMzIxOS4zMjgsNS4zNSBDMzIxOS4zMjgsNS4zNSAzMjI5Ljg4Nyw1LjM1IDMyMzMuNzA0LDguMDI3IEMzMjMzLjcwNCw4LjAyNyAzMjM3LjQ3MSwxMC42NTQgMzIzNy40NzEsMjEuMjYyIEwzMjM3LjQ3MSw1MTkuNjg4IEMzMjM3LjQ3MSw1MTkuNjg4IDMyMzcuNDcxLDUzMC4yOTYgMzIzMy43MDQsNTMyLjk3MyBDMzIzMy43MDQsNTMyLjk3MyAzMjI5Ljg4Nyw1MzUuNiAzMjE5LjMyOCw1MzUuNiBMMzE2MS44MjcsNTM1LjYgQzMxNjEuODI3LDUzNS42IDMxNTIuNzU2LDUzNS42IDMxNDguNTkyLDUzMi41NzYgQzMxNDguNTkyLDUzMi41NzYgMzE0NC40MjgsNTI5LjU1MyAzMTQ0LjQyOCw1MTkuNjg4IEwzMTQ0LjQyOCwyMS4yNjIgQzMxNDQuNDI4LDIxLjI2MiAzMTQ0LjQyOCwxMS4zOTcgMzE0OC41OTIsOC4zNzQgQzMxNDguNTkyLDguMzc0IDMxNTIuNzU2LDUuMzUgMzE2MS44MjcsNS4zNSBMMzIxOS4zMjgsNS4zNSB6Ii8+PHBhdGggZmlsbD0iIzAwMDAwIiBkPSJNMjMyLjIsMi44IEMyNTIsMi44IDI2OCwxOC45IDI2OCwzOC43IEwyNjgsNDMuNCBDMjY4LDYzLjIgMjUyLDc5LjIgMjMyLjIsNzkuMiBMODQuNyw3OS4yIEM2NC45LDc5LjIgNDguOCw2My4yIDQ4LjgsNDMuNCBMNDguOCwzOC43IEM0OC44LDE4LjkgNjQuOSwyLjggODQuNywyLjggTDIzMi4yLDIuOCB6Ii8+PHBhdGggZD0iTTI3OCwzMDguNCBDMjk3LjgsMzA4LjQgMzEzLjksMzI0LjUgMzEzLjksMzQ0LjMgTDMxMy45LDM0OC45IEMzMTMuOSwzNjguNyAyOTcuOCwzODQuOCAyNzgsMzg0LjggTDE5NywzODQuOCBDMTc3LjIsMzg0LjggMTYxLjEsMzY4LjcgMTYxLjEsMzQ4LjkgTDE2MS4xLDM0NC4zIEMxNjEuMSwzMjQuNSAxNzcuMiwzMDguNCAxOTcsMzA4LjQgTDI3OCwzMDguNCB6Ii8+PC9nPjwvc3ZnPg==\""],"names":["reactPropsRegex","isPropValid","prop","test","charCodeAt","testOmitPropsOnStringTag","testOmitPropsOnComponent","key","getDefaultShouldForwardProp","tag","composeShouldForwardProps","options","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","propName","Insertion","_ref","cache","serialized","isStringTag","createStyled","identifierName","targetClassName","__emotion_real","baseTag","__emotion_base","undefined","label","target","defaultShouldForwardProp","shouldUseAs","args","arguments","styles","__emotion_styles","slice","push","raw","apply","len","length","i","Styled","w","props","ref","FinalTag","as","className","classInterpolations","mergedProps","theme","T","registered","concat","name","finalShouldForwardProp","newProps","_key","displayName","defaultProps","Object","defineProperty","value","withComponent","nextTag","nextOptions","StyledFooter","_styled","background","___EmotionJSX","role","style","Background","href","rel","src","alt","Date","getFullYear","StyledNav","breakpoints","xmd","sm","colors","greyOne","blue","Nav","_React$Component","_this","_len","Array","call","state","isNavRendered","toggleNavigation","setState","_inheritsLoose","prototype","render","shouldRenderLogo","this","height","Link","to","TheiaLogoDark","onClick","activeClassName","React","useSiteMetadata","useStaticQuery","site","siteMetadata","canonical","title","description","lang","content","type","sizes","children","Global","css","md","fontSizes","default","lightBlue","grid","maxWidth"],"sourceRoot":""} \ No newline at end of file diff --git a/pr-previews/pr-663/component---src-pages-404-js-1c97c66d7998fb40d048.js b/pr-previews/pr-663/component---src-pages-404-js-1c97c66d7998fb40d048.js deleted file mode 100644 index f8991b71..00000000 --- a/pr-previews/pr-663/component---src-pages-404-js-1c97c66d7998fb40d048.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkTheia_Website=self.webpackChunkTheia_Website||[]).push([[125],{3432:function(M,L,N){N.r(L),N.d(L,{Head:function(){return s},default:function(){return O}});var D=N(644),j=(N(6540),N(8660)),T=N(7361),u=N(9620),w=N(1919),y=N(7518),i=N(4810),z=N(5226),t=N(7437);const x=(0,D.A)("div",{target:"e18934id0"})("background-image:url(",T.A,");background-size:cover;background-repeat:no-repeat;border-bottom:10px solid #f8f8f8;main{margin-top:15rem;text-align:center;@media(min-width: ",w.fi.md,"){min-height:80vh;}}img{display:inline-block;height:18rem;border-bottom:2px solid;@media(max-width: ",w.fi.md,"){height:15rem;}@media(max-width: ",w.fi.sm,"){height:10rem;}}h1{font-size:6rem;}p{margin-bottom:1.5rem;}"),s=z.A;var O=()=>(0,t.Y)(j.A,null,(0,t.Y)(x,null,(0,t.Y)("div",{className:"row"},(0,t.Y)(y.A,{shouldRenderLogo:!0}),(0,t.Y)("main",null,(0,t.Y)("div",null,(0,t.Y)("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MTguMDYxIiBoZWlnaHQ9IjMxMS4zMzMiIHZpZXdCb3g9IjAgMCA3MTguMDYxIDMxMS4zMzMiPjxnIGRhdGEtbmFtZT0iR3J1cHBlIDI2Ij48cGF0aCBkYXRhLW5hbWU9IlZlcmVpbmlndW5nc21lbmdlIDMiIGQ9Ik0tOTg3MC4xNzMsMjUuNDU4bDQuOS0xNi4wMjgsMjguOSw4LjgzNUwtOTgyNS42NS0xNi44bC03OS45OTMtMjQuNDU5LDQuOTgzLTE2LjMsMTA4Ljk3MS04OC40NTUsMjMuODM2LDcuMjg1TC05ODAxLjktMjcuMzYxbDI4LjksOC44MzUtNC45ODIsMTYuMy0yOC45LTguODM4TC05ODE3LjYwNSwyNGwyOC45LDguODM4LTQuOSwxNi4wMjVaTS05ODgwLjgtNTEuNDgzbDYwLjEzMywxOC4zODQsMjcuMjY0LTg5LjE3M1ptLTMxMi44LDYzLjU0OCwyOC43NDQtOS4zMzgtMTEuMzMxLTM0Ljg3Ni03OS41NTgsMjUuODUtNS4yNjYtMTYuMjExLDM4LjUyOS0xMzQuOTYyLDIzLjctNy43LDM1Ljk4NSwxMTAuNzUxLDI4Ljc0NC05LjM0LDUuMjY3LDE2LjIxMS0yOC43NDIsOS4zNCwxMS4zMzEsMzQuODczLDI4Ljc0NC05LjM0LDUuMTc5LDE1LjkzOC03Ni4xNSwyNC43NDVabS00Ny42NTktNDAuOTkyLDU5LjgtMTkuNDMyLTI4LjgxMy04OC42ODFabTE5NC42LjkwNnEtMTguMDYyLTcuNjY4LTI3LjQ5Mi0yMC40NjJhNjUuNzMzLDY1LjczMywwLDAsMS0xMi4wNy0yOC4zODYsOTMuMzY5LDkzLjM2OSwwLDAsMSwuNjkzLTMzLjE2MSwxNzAuMzcxLDE3MC4zNzEsMCwwLDEsMTAuNjY2LTM0Ljg0LDE2MS41MzYsMTYxLjUzNiwwLDAsMSwxNy44NTItMzEuNzkzLDk5LjcsOTkuNywwLDAsMSwyMy41Ni0yMy42MDksNjQuNjA3LDY0LjYwNywwLDAsMSwyOC43OTQtMTEuMnExNS43NTEtMi4xMDUsMzMuNTUyLDUuNDUydDI3LjIyOSwyMC4zNDlhNjUuODc0LDY1Ljg3NCwwLDAsMSwxMi4wOCwyOC41NDYsOTUuMjExLDk1LjIxMSwwLDAsMS0uNjE4LDMzLjM0OSwxNjcuMjUxLDE2Ny4yNTEsMCwwLDEtMTAuNiwzNC44NywxNjcuMjczLDE2Ny4yNzMsMCwwLDEtMTcuNzIxLDMxLjg0NSw5NS40MDcsOTUuNDA3LDAsMCwxLTIzLjM3MiwyMy41MzUsNjUuMDQ3LDY1LjA0NywwLDAsMS0yOC43MzYsMTEuMDY2LDUyLDUyLDAsMCwxLTYuODk0LjQ1M1EtMTAwMzIuNS0yMi0xMDA0Ni42NjgtMjguMDJabS0yMC43NjQtNTQuMDk0cTMuMjA3LDI4Ljc0MywyNy4yLDM4LjkzMSwyMi42NzksOS42MjYsNDMuNTcyLTQuNzY5dDM1LjQ0NC00OC42NzZhMTQxLjIzOCwxNDEuMjM4LDAsMCwwLDYuNDUxLTE4LjUsMTQyLjQsMTQyLjQsMCwwLDAsMy42MTUtMTcuNjg0Wm00NS44NjktMTAzLjg0N3EtMjAuNjkyLDE0LjQ3OC0zNS4yNDYsNDguNzU4YTE0Ni4yNTMsMTQ2LjI1MywwLDAsMC0xMC42MDcsMzcuODIybDExNi42NTgtNTAuODQ3cS0xLjI5MS0xNC41NTUtNy45LTI0LjgyN2E0MC44NTksNDAuODU5LDAsMCwwLTE5LTE1LjUzNiw0Ni44NDMsNDYuODQzLDAsMCwwLTE4LjM3OS0zLjk4OFEtMTAwMDkuMjQ1LTE5NC41OC0xMDAyMS41NjItMTg1Ljk2MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MDEuMDAxIC0zNTcuNjY4KSB0cmFuc2xhdGUoMTA5NzQuMDE1IDU3MC4wOTYpIiBmaWxsPSIjMmUyZTJlIiBzdHJva2U9InJnYmEoMCwwLDAsMCkiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPjxwYXRoIGRhdGEtbmFtZT0iVmVyZWluaWd1bmdzbWVuZ2UgNCIgZD0iTS0xMDMxNC0xMTguOTY0aDBabTU5My45MTctMTguNDQ4LDIwLjc2OC4yNTZaTS05ODE0LjYtMTQ5LjVsNDQuNDEzLDEyLjA5MVptLTM3Mi4yNjQuMDA1LDczLjg4OCw5Ljk4MVptMTY3LjMyOSwzLjU5LTQ4LjM5MiwzLjAxNlptMzM5LjAxNS0yMS45LTM4Ljk1NiwyMi4xWm0tMTEzLjE0OSw3LjQzMiwyMS44OCwxMC40MTlabTgzLjA2Mi04LjAxNC0xMy41MiwxNS40NzFabS0zMjIuNTQyLDEuODIyLTIxLjg2NywxMC40NVptLTExNi43ODQtLjEyNywyMS44NzgsMTAuNDE5Wm0xMTkuMDM2LTM1LjcyMS00MS4wNzQsMzcuMjgyWm04NC4yNTUtMTUuOTA5LDM5Ljc4NywxLjcyN1ptMjAuOC0xNS42ODQtMTMuNzg4LDUuODc4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYwMS4wMDEgLTM1Ny42NjgpIHRyYW5zbGF0ZSgxMDkxNi41MDIgNzg2LjQ2NCkiIGZpbGw9InJnYmEoMCwwLDAsMCkiIHN0cm9rZT0iIzJlMmUyZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz48L2c+PC9zdmc+",alt:"404"}),(0,t.Y)("h1",null,"Oops!"),(0,t.Y)("p",null,"We can't find the page you're looking for"),(0,t.Y)(i.N_,{to:"/",className:"btn"},"Back to Home  →"))))),(0,t.Y)(u.A,null))}}]); -//# sourceMappingURL=component---src-pages-404-js-1c97c66d7998fb40d048.js.map \ No newline at end of file diff --git a/pr-previews/pr-663/component---src-pages-404-js-1c97c66d7998fb40d048.js.map b/pr-previews/pr-663/component---src-pages-404-js-1c97c66d7998fb40d048.js.map deleted file mode 100644 index a40fe3fa..00000000 --- a/pr-previews/pr-663/component---src-pages-404-js-1c97c66d7998fb40d048.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---src-pages-404-js-1c97c66d7998fb40d048.js","mappings":"iSA4BA,MAAMA,GAAkBC,EAAAA,EAAAA,GAAA,OAAAC,OAAA,aAAAD,CAAA,wBACIE,EAAAA,EAAU,kJASVC,EAAAA,GAAYC,GAAE,uGAUdD,EAAAA,GAAYC,GAAE,qCAIdD,EAAAA,GAAYE,GAAE,gEAc7BC,EAAOC,EAAAA,EAsBpB,MAnBqBC,KACjBC,EAAAA,EAAAA,GAACC,EAAAA,EAAM,MACHD,EAAAA,EAAAA,GAACV,EAAkB,MACXU,EAAAA,EAAAA,GAAA,OAAKE,UAAU,QACXF,EAAAA,EAAAA,GAACG,EAAAA,EAAG,CAACC,kBAAkB,KACvBJ,EAAAA,EAAAA,GAAA,aACIA,EAAAA,EAAAA,GAAA,YACIA,EAAAA,EAAAA,GAAA,OAAKK,IC5EjC,i9FD4EgDC,IAAI,SACxBN,EAAAA,EAAAA,GAAA,UAAI,UACJA,EAAAA,EAAAA,GAAA,SAAG,8CACHA,EAAAA,EAAAA,GAACO,EAAAA,GAAI,CAACC,GAAG,IAAIN,UAAU,OAAM,wBAKjDF,EAAAA,EAAAA,GAACS,EAAAA,EAAM,M","sources":["webpack://Theia-Website/./src/pages/404.js","webpack://Theia-Website/./src/resources/404-error.svg"],"sourcesContent":["/********************************************************************************\n * Copyright (C) 2020 TypeFox and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * http://www.eclipse.org/legal/epl-2.0.\n *\n * This Source Code may also be made available under the following Secondary\n * Licenses when the conditions for such availability set forth in the Eclipse\n * Public License v. 2.0 are satisfied: GNU General Public License, version 2\n * with the GNU Classpath Exception which is available at\n * https://www.gnu.org/software/classpath/license.html.\n *\n * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0\n ********************************************************************************/\n\nimport React from 'react'\n\nimport Layout from '../layouts/layout'\nimport Error404 from '../resources/404-error.svg'\nimport Background from '../resources/background-image.png'\nimport Footer from '../components/Footer'\nimport styled from '@emotion/styled'\nimport { breakpoints } from '../utils/variables'\nimport Nav from '../components/Nav'\nimport { Link } from 'gatsby'\nimport BaseHead from '../layouts/basehead'\n\nconst StyledNotFoundPage = styled.div`\n background-image: url(${Background});\n background-size: cover;\n background-repeat: no-repeat;\n border-bottom: 10px solid #f8f8f8;\n\n main {\n margin-top: 15rem;\n text-align: center;\n\n @media(min-width: ${breakpoints.md}) {\n min-height: 80vh;\n }\n }\n\n img {\n display: inline-block;\n height: 18rem;\n border-bottom: 2px solid;\n\n @media(max-width: ${breakpoints.md}) {\n height: 15rem;\n }\n\n @media(max-width: ${breakpoints.sm}) {\n height: 10rem;\n } \n }\n\n h1 {\n font-size: 6rem;\n }\n\n p {\n margin-bottom: 1.5rem;\n }\n\n`\nexport const Head = BaseHead\n\n\nconst NotFoundPage = () => (\n \n \n
\n
\n
\n