From 4ba0b26f8c45b7de7e0264e9d218502d5c0db60a Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 11:39:33 -0800
Subject: [PATCH 01/40] chore: update theme

---
 package.json |  2 +-
 yarn.lock    | 91 +++++++++++++++++++++++++++++++++++++++++++++-------
 2 files changed, 80 insertions(+), 13 deletions(-)

diff --git a/package.json b/package.json
index ed7355b6a..fcdb55e9c 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
     "@emotion/styled": "^10.0.27",
     "@mdx-js/mdx": "^1.6.19",
     "@mdx-js/react": "^1.6.19",
-    "@newrelic/gatsby-theme-newrelic": "^1.25.0",
+    "@newrelic/gatsby-theme-newrelic": "^1.33.0",
     "@splitsoftware/splitio-react": "^1.2.0",
     "@xstate/react": "^1.0.2",
     "classnames": "^2.2.6",
diff --git a/yarn.lock b/yarn.lock
index 04588afd9..b4dd5e9dd 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1368,7 +1368,7 @@
     core-js-pure "^3.0.0"
     regenerator-runtime "^0.13.4"
 
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
   version "7.9.2"
   resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06"
   integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==
@@ -2515,10 +2515,10 @@
     eslint-plugin-promise "^4.2.1"
     eslint-plugin-react "^7.14.3"
 
-"@newrelic/gatsby-theme-newrelic@^1.25.0":
-  version "1.25.0"
-  resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-1.25.0.tgz#7abb433fd9efa68283f8bc0f2ea5fb0bc62a07d0"
-  integrity sha512-IYGu/K1IptmlmqesqJO47dUO1NGOU5wabQlLgoS7lVqJrgTzycYHBUUHLnW4gHEyImqoc586KbTJlx0jaC0wlA==
+"@newrelic/gatsby-theme-newrelic@^1.33.0":
+  version "1.33.0"
+  resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-1.33.0.tgz#2bb4a137cf8627fc08b555063742b97b195a77fd"
+  integrity sha512-fhoxxZLqvLuNueOz132mxeppAYW09r7jxEfLQztI3jBUajACBWUdaaly0HzUnPoM/CHM3uHYTuTE82URksRhgQ==
   dependencies:
     "@elastic/react-search-ui" "^1.4.1"
     "@elastic/react-search-ui-views" "^1.4.1"
@@ -2528,9 +2528,8 @@
     babel-plugin-prismjs "^2.0.1"
     date-fns "^2.16.1"
     gatsby-plugin-emotion "^4.3.10"
-    gatsby-plugin-gdpr-tracking "^1.2.2"
     gatsby-plugin-layout "^1.8.0"
-    gatsby-plugin-newrelic "^1.0.5"
+    gatsby-plugin-newrelic "^1.0.6"
     gatsby-plugin-react-helmet "^3.3.10"
     gatsby-plugin-robots-txt "^1.5.1"
     gatsby-plugin-sharp "^2.6.19"
@@ -2538,6 +2537,7 @@
     gatsby-plugin-use-dark-mode "^1.1.2"
     gatsby-source-filesystem "^2.3.19"
     gatsby-transformer-sharp "^2.5.11"
+    html-react-parser "^1.2.4"
     i18next "^19.8.4"
     js-cookie "^2.2.1"
     lodash "^4.17.20"
@@ -2551,6 +2551,8 @@
     react-spring "^8.0.27"
     react-typist "^2.0.5"
     react-use "^15.3.4"
+    terser "^4.0.0"
+    ua-parser-js "^0.7.24"
     use-dark-mode "^2.3.1"
     use-media "^1.4.0"
     use-persisted-state "^0.3.0"
@@ -6860,6 +6862,11 @@ domelementtype@^2.0.1:
   resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971"
   integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==
 
+domelementtype@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e"
+  integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==
+
 domexception@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
@@ -6867,6 +6874,13 @@ domexception@^2.0.1:
   dependencies:
     webidl-conversions "^5.0.0"
 
+domhandler@4.0.0, domhandler@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.0.0.tgz#01ea7821de996d85f69029e81fa873c21833098e"
+  integrity sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==
+  dependencies:
+    domelementtype "^2.1.0"
+
 domhandler@^2.3.0:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
@@ -6913,6 +6927,15 @@ domutils@^2.0.0:
     domelementtype "^2.0.1"
     domhandler "^3.3.0"
 
+domutils@^2.4.4:
+  version "2.4.4"
+  resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.4.4.tgz#282739c4b150d022d34699797369aad8d19bbbd3"
+  integrity sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==
+  dependencies:
+    dom-serializer "^1.0.1"
+    domelementtype "^2.0.1"
+    domhandler "^4.0.0"
+
 dot-case@^2.1.0:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
@@ -8783,12 +8806,12 @@ gatsby-plugin-meta-redirect@^1.1.1:
   dependencies:
     fs-extra "^7.0.0"
 
-gatsby-plugin-newrelic@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/gatsby-plugin-newrelic/-/gatsby-plugin-newrelic-1.0.5.tgz#c8a09d0a047d45c50f0947ab3b91a95d2900fb33"
-  integrity sha512-kpuX3cLIfK8Gk2rrYxWIYXfDuznG/F/ck3Zy/zmlxl9d+RwsUBoRU4R7AJJsgy0W4sxIasZFPLRxp4Nf6vJHCg==
+gatsby-plugin-newrelic@^1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/gatsby-plugin-newrelic/-/gatsby-plugin-newrelic-1.0.6.tgz#0f7e1855704e18a5af9c3ea551e68ffe8e8005c9"
+  integrity sha512-DqdDlE3g/Hm2rnv5a9kQSkAFi3c43n1S+fXiX4N6TqOMTViNBQanKnRPi8oxBx05eFbHsLpSJJBa7OHasLL3eg==
   dependencies:
-    "@babel/runtime" "^7.0.0"
+    "@babel/runtime" "^7.11.2"
 
 gatsby-plugin-offline@^3.2.32:
   version "3.3.2"
@@ -10196,6 +10219,14 @@ html-comment-regex@^1.1.0:
   resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
   integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
 
+html-dom-parser@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/html-dom-parser/-/html-dom-parser-1.0.0.tgz#00d42aa3ecfc1a965a91293ca60973c08205fad0"
+  integrity sha512-1lKgZW6TccI5OMxRB+5+B3urj62oFB8bRx5cJPgOSHAPk9B5V+k2NM/2z7FuIwOgopnPP/KlgBMNnX/2nKy0lA==
+  dependencies:
+    domhandler "4.0.0"
+    htmlparser2 "6.0.0"
+
 html-encoding-sniffer@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
@@ -10220,6 +10251,15 @@ html-parse-stringify2@2.0.1:
   dependencies:
     void-elements "^2.0.1"
 
+html-react-parser@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-1.2.4.tgz#812ed948722a29da641e1662a9b6eaec80f8d5de"
+  integrity sha512-56JaGqDmYSRKGTJw8lxfiFrfwYLHnyz3qaq/A0/RivjlguOEOMPvt5WuD1zAtAz9/Cr2OZZk2eGDOJUcAKLHcw==
+  dependencies:
+    html-dom-parser "1.0.0"
+    react-property "1.0.1"
+    style-to-js "1.1.0"
+
 html-to-react@^1.3.4:
   version "1.4.3"
   resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.3.tgz#1430a1cb581ef29533892ec70a2fdc4554b17ffd"
@@ -10235,6 +10275,16 @@ html-void-elements@^1.0.0, html-void-elements@^1.0.1:
   resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483"
   integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==
 
+htmlparser2@6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.0.0.tgz#c2da005030390908ca4c91e5629e418e0665ac01"
+  integrity sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.0.0"
+    domutils "^2.4.4"
+    entities "^2.0.0"
+
 htmlparser2@^3.3.0, htmlparser2@^3.9.1:
   version "3.10.1"
   resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
@@ -15602,6 +15652,11 @@ react-middle-ellipsis@^1.1.0:
   resolved "https://registry.yarnpkg.com/react-middle-ellipsis/-/react-middle-ellipsis-1.1.0.tgz#c8fb226c5621e8f0852494be05a5d1574ae37b19"
   integrity sha512-jEkF6l6l12/V70bYqCCEdHRDFHVG8kdR46tcE5HBssgPDaoLm7XC9hkrL1cW4eL4wi2/0g19PMORge38ReXp9A==
 
+react-property@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/react-property/-/react-property-1.0.1.tgz#4ae4211557d0a0ae050a71aa8ad288c074bea4e6"
+  integrity sha512-1tKOwxFn3dXVomH6pM9IkLkq2Y8oh+fh/lYW3MJ/B03URswUTqttgckOlbxY2XHF3vPG6uanSc4dVsLW/wk3wQ==
+
 react-refresh@^0.8.3:
   version "0.8.3"
   resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
@@ -18080,6 +18135,13 @@ style-loader@^0.23.1:
     loader-utils "^1.1.0"
     schema-utils "^1.0.0"
 
+style-to-js@1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.0.tgz#631cbb20fce204019b3aa1fcb5b69d951ceac4ac"
+  integrity sha512-1OqefPDxGrlMwcbfpsTVRyzwdhr4W0uxYQzeA2F1CBc8WG04udg2+ybRnvh3XYL4TdHQrCahLtax2jc8xaE6rA==
+  dependencies:
+    style-to-object "0.3.0"
+
 style-to-object@0.3.0, style-to-object@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
@@ -18780,6 +18842,11 @@ ua-parser-js@^0.7.18:
   resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
   integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
 
+ua-parser-js@^0.7.24:
+  version "0.7.24"
+  resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.24.tgz#8d3ecea46ed4f1f1d63ec25f17d8568105dc027c"
+  integrity sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==
+
 unbzip2-stream@^1.0.9:
   version "1.4.3"
   resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7"

From cf840dc5f9b03131187b2df44809dd751dd50fa4 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 11:45:55 -0800
Subject: [PATCH 02/40] chore: update gatsby-config to match new config for
 related resources

---
 gatsby-config.js | 65 +++++++++++++++++++-----------------------------
 1 file changed, 26 insertions(+), 39 deletions(-)

diff --git a/gatsby-config.js b/gatsby-config.js
index 8d06a96b2..0c9a8dd8d 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -41,48 +41,35 @@ module.exports = {
             },
           },
         },
-        swiftype: {
-          file: `${__dirname}/src/data/related-pages.json`,
-          refetch: Boolean(process.env.BUILD_RELATED_CONTENT),
-          engineKey: 'Ad9HfGjDw4GRkcmJjUut',
-          limit: 5,
-          getPath: ({ node }) => node.frontmatter.path,
-          getParams: ({ node }) => {
-            const {
-              tags,
-              title,
-              redirects = [],
-              resources = [],
-            } = node.frontmatter;
+        relatedResources: {
+          swiftype: {
+            resultsPath: `${__dirname}/src/data/related-pages.json`,
+            refetch: Boolean(process.env.BUILD_RELATED_CONTENT),
+            engineKey: 'Ad9HfGjDw4GRkcmJjUut',
+            limit: 5,
+            getSlug: ({ node }) => node.frontmatter.path,
+            getParams: ({ node }) => {
+              const { tags, title } = node.frontmatter;
 
-            const filteredUrls = resources
-              .map((resource) => resource.url)
-              .concat(redirects);
-
-            return {
-              q: tags ? tags.map(quote).join(' OR ') : title,
-              search_fields: {
-                page: ['tags^10', 'body^5', 'title^1.5', '*'],
-              },
-              filters: {
-                page: {
-                  type: ['!blog', '!forum'],
-                  url: filteredUrls.map((url) =>
-                    url.startsWith('/')
-                      ? `!https://developer.newrelic.com${url}`
-                      : `!${url}`
-                  ),
-                  document_type: [
-                    '!views_page_menu',
-                    '!term_page_api_menu',
-                    '!term_page_landing_page',
-                  ],
+              return {
+                q: tags ? tags.map(quote).join(' OR ') : title,
+                search_fields: {
+                  page: ['tags^10', 'body^5', 'title^1.5', '*'],
                 },
-              },
-            };
+                filters: {
+                  page: {
+                    type: ['!blog', '!forum'],
+                    document_type: [
+                      '!views_page_menu',
+                      '!term_page_api_menu',
+                      '!term_page_landing_page',
+                    ],
+                  },
+                },
+              };
+            },
+            filter: ({ node }) => node.frontmatter.template === 'GuideTemplate',
           },
-          filterNode: ({ node }) =>
-            node.frontmatter.template === 'GuideTemplate',
         },
         newrelic: {
           configs: {

From 88a7fd11a3d7760863016030fce1db96133e998b Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 12:01:36 -0800
Subject: [PATCH 03/40] chore: add needed config for i18n to get the site to
 build

---
 gatsby-config.js                          | 6 ++++++
 src/i18n/translations/en/translation.json | 1 +
 2 files changed, 7 insertions(+)
 create mode 100644 src/i18n/translations/en/translation.json

diff --git a/gatsby-config.js b/gatsby-config.js
index 0c9a8dd8d..304661e9d 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -22,6 +22,12 @@ module.exports = {
           maxWidth: '1700px',
           component: require.resolve('./src/layouts'),
         },
+        // workaround until this is no longer needed.
+        // https://github.com/newrelic/gatsby-theme-newrelic/issues/302
+        i18n: {
+          translationsPath: `${__dirname}/src/i18n/translations`,
+          additionalLocales: [],
+        },
         prism: {
           languages: ['yaml', 'sass', 'scss', 'java'],
         },
diff --git a/src/i18n/translations/en/translation.json b/src/i18n/translations/en/translation.json
new file mode 100644
index 000000000..9e26dfeeb
--- /dev/null
+++ b/src/i18n/translations/en/translation.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file

From 029bd114c390f10ac3ba20c929a5465e00f14be9 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 12:08:09 -0800
Subject: [PATCH 04/40] chore: update guide template to use updated right rail
 format

---
 gatsby-node.js                 |  4 ----
 src/templates/GuideTemplate.js | 15 ++++++++++-----
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/gatsby-node.js b/gatsby-node.js
index 8624fce4b..aed610cd4 100644
--- a/gatsby-node.js
+++ b/gatsby-node.js
@@ -91,10 +91,6 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
           frontmatter.template === 'OverviewTemplate'
             ? `${frontmatter.path}/*`
             : undefined,
-        relatedResourceLimit: Math.max(
-          MAX_RESULTS - (frontmatter.resources || []).length,
-          0
-        ),
       },
     });
   });
diff --git a/src/templates/GuideTemplate.js b/src/templates/GuideTemplate.js
index c5813eb60..105633aab 100644
--- a/src/templates/GuideTemplate.js
+++ b/src/templates/GuideTemplate.js
@@ -3,13 +3,14 @@ import { graphql } from 'gatsby';
 import { css } from '@emotion/core';
 import PropTypes from 'prop-types';
 
-import { PageUpdated, Resources } from '../components/RelatedContentModules';
+import { PageUpdated } from '../components/RelatedContentModules';
 import PageLayout from '../components/PageLayout';
 import FeatherIcon from '../components/FeatherIcon';
 import SEO from '../components/Seo';
 import {
   ContributingGuidelines,
   Layout,
+  RelatedResources,
   SimpleFeedback,
 } from '@newrelic/gatsby-theme-newrelic';
 
@@ -18,6 +19,7 @@ const GuideTemplate = ({ data }) => {
   const {
     frontmatter,
     body,
+    relatedResources,
     fields: { fileRelativePath },
   } = mdx;
   const { title, description, duration, tags, path } = frontmatter;
@@ -48,13 +50,13 @@ const GuideTemplate = ({ data }) => {
         </PageLayout.Header>
         <PageLayout.MarkdownContent>{body}</PageLayout.MarkdownContent>
         <Layout.PageTools>
-          <ContributingGuidelines fileRelativePath={fileRelativePath} />
-          <Resources page={mdx} />
           <SimpleFeedback
             pageTitle={title}
             slug={path}
             labels={['content', 'feedback']}
           />
+          <ContributingGuidelines fileRelativePath={fileRelativePath} />
+          <RelatedResources resources={relatedResources} />
           <PageUpdated page={mdx} />
         </Layout.PageTools>
       </PageLayout>
@@ -67,7 +69,7 @@ GuideTemplate.propTypes = {
 };
 
 export const pageQuery = graphql`
-  query($path: String!, $relatedResourceLimit: Int!) {
+  query($path: String!) {
     mdx(frontmatter: { path: { eq: $path } }) {
       body
       frontmatter {
@@ -80,8 +82,11 @@ export const pageQuery = graphql`
       fields {
         fileRelativePath
       }
+      relatedResources(limit: 5) {
+        title
+        url
+      }
 
-      ...Resources_page
       ...PageUpdated_page
     }
   }

From d8bbfc70b01cecaf0bfa101e4d7db9a56dcf8b84 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 13:20:03 -0800
Subject: [PATCH 05/40] chore: update to newly released version

---
 package.json | 2 +-
 yarn.lock    | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/package.json b/package.json
index fcdb55e9c..421a78980 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
     "@emotion/styled": "^10.0.27",
     "@mdx-js/mdx": "^1.6.19",
     "@mdx-js/react": "^1.6.19",
-    "@newrelic/gatsby-theme-newrelic": "^1.33.0",
+    "@newrelic/gatsby-theme-newrelic": "^1.34.0",
     "@splitsoftware/splitio-react": "^1.2.0",
     "@xstate/react": "^1.0.2",
     "classnames": "^2.2.6",
diff --git a/yarn.lock b/yarn.lock
index b4dd5e9dd..baa3d24b0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2515,10 +2515,10 @@
     eslint-plugin-promise "^4.2.1"
     eslint-plugin-react "^7.14.3"
 
-"@newrelic/gatsby-theme-newrelic@^1.33.0":
-  version "1.33.0"
-  resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-1.33.0.tgz#2bb4a137cf8627fc08b555063742b97b195a77fd"
-  integrity sha512-fhoxxZLqvLuNueOz132mxeppAYW09r7jxEfLQztI3jBUajACBWUdaaly0HzUnPoM/CHM3uHYTuTE82URksRhgQ==
+"@newrelic/gatsby-theme-newrelic@^1.34.0":
+  version "1.34.0"
+  resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-1.34.0.tgz#9f05bf71ac1bf044595cd1fc350d42695a99e70f"
+  integrity sha512-vw5DpV6rleB5SPsi3hey4QhaO4DuKK8lbC523pQLMs1na6hyoVB4pVsmvBJ4SVUtTHIOkiDgTREJu1SszpdS1w==
   dependencies:
     "@elastic/react-search-ui" "^1.4.1"
     "@elastic/react-search-ui-views" "^1.4.1"

From 41290c14f817127d5debc3ebb7f235f25cd9dc61 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:13:38 -0800
Subject: [PATCH 06/40] chore: replace sidenav.json with nav.yml

---
 src/data/nav.yml      | 338 +++++++++++++++++++++
 src/data/sidenav.json | 691 ------------------------------------------
 2 files changed, 338 insertions(+), 691 deletions(-)
 create mode 100644 src/data/nav.yml
 delete mode 100644 src/data/sidenav.json

diff --git a/src/data/nav.yml b/src/data/nav.yml
new file mode 100644
index 000000000..fb74089d5
--- /dev/null
+++ b/src/data/nav.yml
@@ -0,0 +1,338 @@
+- title: Collect data
+  url: '/collect-data'
+  pages:
+    - title: Collect data from any source
+      url: '/collect-data/collect-data-from-any-source'
+    - title: Create custom attributes
+      url: '/collect-data/custom-attributes'
+    - title: Create custom New Relic events
+      url: '/collect-data/custom-events'
+    - title: Query data with NRQL
+      url: '/collect-data/query-data-nrql'
+    - title: Explore NerdGraph using the API Explorer
+      url: '/collect-data/get-started-nerdgraph-api-explorer'
+- title: Automate workflows
+  url: '/automate-workflows'
+  pages:
+    - title: Using Terrafom with New Relic
+      url: '/terraform'
+      pages:
+        - title: Set up New Relic using Terraform
+          url: '/automate-workflows/get-started-terraform'
+        - title: Using Terraform modules and remote storage
+          url: '/terraform/terraform-modules'
+        - title: Using Terragrunt to manage multiple environments
+          url: '/terraform/terragrunt-configuration'
+    - title: Get started with the New Relic CLI
+      url: '/automate-workflows/get-started-new-relic-cli'
+    - title: Set up New Relic using the Kubernetes operator
+      url: '/automate-workflows/get-started-kubernetes'
+    - title: Set up New Relic using Helm charts
+      url: '/automate-workflows/kubernetes-helm-deployment'
+    - title: Tag a set of resources efficiently
+      url: '/automate-workflows/5-mins-tag-resources'
+    - title: Automated end-to-end tagging of entities
+      url: '/automate-workflows/automated-tagging'
+    - title: Use New Relic to diagnose problems in your system
+      url: '/automate-workflows/diagnose-problems'
+      pages:
+        - title: High response times
+          url: '/automate-workflows/diagnose-problems/high-response-times'
+        - title: Error alerts
+          url: '/automate-workflows/diagnose-problems/error-alerts'
+- title: Build apps
+  url: '/build-apps'
+  pages:
+    - title: Set up your development environment
+      url: '/build-apps/set-up-dev-env'
+    - title: Create a 'Hello, World!' app
+      url: '/build-apps/build-hello-world-app'
+    - title: Publish and deploy your app
+      url: '/build-apps/publish-deploy'
+    - title: Permissions for managing apps
+      url: '/build-apps/permission-manage-apps'
+    - title: Map pageviews by region
+      url: '/build-apps/map-pageviews-by-region'
+    - title: Add a time picker
+      url: '/build-apps/add-time-picker-guide'
+    - title: Add the NerdGraphQuery component to an app
+      url: '/build-apps/add-nerdgraphquery-guide'
+    - title: Add tables to your New Relic One application
+      url: '/build-apps/howto-use-nrone-table-components'
+    - title: Add, query, and mutate data using NerdStorage
+      url: '/build-apps/add-query-mutate-data-nerdstorage'
+    - title: See all open source apps
+      url: https://opensource.newrelic.com/nerdpacks/
+    - title: Build custom visualizations for dashboards
+      url: '/build-apps/build-visualization'
+- title: Try our APIs
+  url: '/try-our-apis'
+  pages:
+    - title: Telemetry APIs
+      pages:
+        - title: Metrics API
+          url: https://docs.newrelic.com/docs/telemetry-data-platform/get-data/apis/introduction-metric-api
+        - title: Event API
+          url: https://docs.newrelic.com/docs/telemetry-data-platform/ingest-manage-data/ingest-apis/use-event-api-report-custom-events
+        - title: Log API
+          url: https://docs.newrelic.com/docs/logs/log-management/log-api/introduction-log-api
+        - title: Trace API
+          url: https://docs.newrelic.com/docs/understand-dependencies/distributed-tracing/trace-api/introduction-trace-api
+    - title: REST & GraphQL APIs
+      pages:
+        - title: NerdGraph API Explorer
+          url: https://api.newrelic.com/graphiql
+        - title: REST API Explorer
+          url: https://rpm.newrelic.com/api/explore
+        - title: Insights API
+          url: https://docs.newrelic.com/docs/insights/insights-api/get-data/query-insights-event-data-api
+        - title: Synthetics API
+          url: https://docs.newrelic.com/docs/apis/synthetics-rest-api
+- title: Explore docs
+  pages:
+    - title: New Relic One CLI
+      url: '/explore-docs/nr1-cli'
+      pages:
+        - title: Common commands
+          url: '/explore-docs/nr1-common'
+        - title: Config commands
+          url: '/explore-docs/nr1-config'
+        - title: Nerdpack commands
+          url: '/explore-docs/nr1-nerdpack'
+        - title: Subscription commands
+          url: '/explore-docs/nr1-subscription'
+        - title: Plugin commands
+          url: '/explore-docs/nr1-plugins'
+        - title: Catalog commands
+          url: '/explore-docs/nr1-catalog'
+    - title: New Relic CLI
+      url: '/explore-docs/newrelic-cli'
+    - title: Nerdpack file structure
+      url: '/explore-docs/nerdpack-file-structure'
+    - title: Intro to Nerdstorage
+      url: '/explore-docs/nerdstorage'
+    - title: Intro to NerdstorageVault
+      url: '/explore-docs/nerdstoragevault'
+    - title: Query and store data
+      url: '/explore-docs/query-and-store-data'
+    - title: New Relic One SDK Component library
+      url: '/explore-docs/intro-to-sdk'
+      pages:
+        - title: Controls
+          pages:
+            - title: AccountPicker
+              url: '/components/account-picker'
+            - title: Button
+              url: '/components/button'
+            - title: Checkbox
+              url: '/components/checkbox'
+            - title: Dropdown
+              url: '/components/dropdown'
+            - title: DropdownItem
+              url: '/components/dropdown-item'
+            - title: DropdownSection
+              url: '/components/dropdown-section'
+            - title: MultilineTextField
+              url: '/components/multiline-text-field'
+            - title: Radio
+              url: '/components/radio'
+            - title: RadioGroup
+              url: '/components/radio-group'
+            - title: SegmentedControl
+              url: '/components/segmented-control'
+            - title: SegmentedControlItem
+              url: '/components/segmented-control-item'
+            - title: Select
+              url: '/components/select'
+            - title: SelectItem
+              url: '/components/select-item'
+            - title: Switch
+              url: '/components/switch'
+            - title: TextField
+              url: '/components/text-field'
+        - title: Tables
+          pages:
+            - title: Table
+              url: '/components/table'
+            - title: TableHeader
+              url: '/components/table-header'
+            - title: TableHeaderCell
+              url: '/components/table-header-cell'
+            - title: TableRow
+              url: '/components/table-row'
+            - title: TableRowCell
+              url: '/components/table-row-cell'
+            - title: EntityTitleTableRowCell
+              url: '/components/entity-title-table-row-cell'
+            - title: FavoriteTableRowCell
+              url: '/components/favorite-table-row-cell'
+            - title: MetricTableRowCell
+              url: '/components/metric-table-row-cell'
+            - title: SparklineTableRowCell
+              url: '/components/sparkline-table-row-cell'
+            - title: UserTableRowCell
+              url: '/components/user-table-row-cell'
+        - title: Feedback
+          pages:
+            - title: Icon
+              url: '/components/icon'
+            - title: Spinner
+              url: '/components/spinner'
+            - title: Toast
+              url: '/components/toast'
+        - title: Indicators
+          pages:
+            - title: Badge
+              url: '/components/badge'
+        - title: Overlays
+          pages:
+            - title: Modal
+              url: '/components/modal'
+            - title: Popover
+              url: '/components/popover'
+            - title: PopoverBody
+              url: '/components/popover-body'
+            - title: PopoverTrigger
+              url: '/components/popover-trigger'
+            - title: Tooltip
+              url: '/components/tooltip'
+        - title: Structure
+          pages:
+            - title: AutoSizer
+              url: '/components/auto-sizer'
+            - title: Card
+              url: '/components/card'
+            - title: CardBody
+              url: '/components/card-body'
+            - title: CardHeader
+              url: '/components/card-header'
+            - title: Grid
+              url: '/components/grid'
+            - title: GridItem
+              url: '/components/grid-item'
+            - title: Layout
+              url: '/components/layout'
+            - title: LayoutItem
+              url: '/components/layout-item'
+            - title: List
+              url: '/components/list'
+            - title: ListItem
+              url: '/components/list-item'
+            - title: Spacing
+              url: '/components/spacing'
+            - title: Stack
+              url: '/components/stack'
+            - title: StackItem
+              url: '/components/stack-item'
+            - title: Tabs
+              url: '/components/tabs'
+            - title: TabsItem
+              url: '/components/tabs-item'
+        - title: Text
+          pages:
+            - title: BlockText
+              url: '/components/block-text'
+            - title: HeadingText
+              url: '/components/heading-text'
+            - title: Link
+              url: '/components/link'
+        - title: Charts
+          url: '/components/charts'
+          pages:
+            - title: AreaChart
+              url: '/components/area-chart'
+            - title: BarChart
+              url: '/components/bar-chart'
+            - title: BillboardChart
+              url: '/components/billboard-chart'
+            - title: ChartGroup
+              url: '/components/chart-group'
+            - title: FunnelChart
+              url: '/components/funnel-chart'
+            - title: HeatmapChart
+              url: '/components/heatmap-chart'
+            - title: HistogramChart
+              url: '/components/histogram-chart'
+            - title: JsonChart
+              url: '/components/json-chart'
+            - title: LineChart
+              url: '/components/line-chart'
+            - title: PieChart
+              url: '/components/pie-chart'
+            - title: ScatterChart
+              url: '/components/scatter-chart'
+            - title: SparklineChart
+              url: '/components/sparkline-chart'
+            - title: StackedBarChart
+              url: '/components/stacked-bar-chart'
+            - title: TableChart
+              url: '/components/table-chart'
+        - title: Query and storage
+          pages:
+            - title: AccountStorageMutation
+              url: '/components/account-storage-mutation'
+            - title: AccountStorageQuery
+              url: '/components/account-storage-query'
+            - title: AccountsQuery
+              url: '/components/accounts-query'
+            - title: EntitiesByDomainTypeQuery
+              url: '/components/entities-by-domain-type-query'
+            - title: EntitiesByGuidsQuery
+              url: '/components/entities-by-guids-query'
+            - title: EntitiesByNameQuery
+              url: '/components/entities-by-name-query'
+            - title: EntityByGuidQuery
+              url: '/components/entity-by-guid-query'
+            - title: EntityCountQuery
+              url: '/components/entity-count-query'
+            - title: EntitySearchQuery
+              url: '/components/entity-search-query'
+            - title: EntityStorageMutation
+              url: '/components/entity-storage-mutation'
+            - title: EntityStorageQuery
+              url: '/components/entity-storage-query'
+            - title: NerdGraphMutation
+              url: '/components/nerd-graph-mutation'
+            - title: NerdGraphQuery
+              url: '/components/nerd-graph-query'
+            - title: NrqlQuery
+              url: '/components/nrql-query'
+            - title: UserQuery
+              url: '/components/user-query'
+            - title: UserStorageMutation
+              url: '/components/user-storage-mutation'
+            - title: UserStorageQuery
+              url: '/components/user-storage-query'
+        - title: Platform APIs
+          pages:
+            - title: NerdletStateContext
+              url: '/components/nerdlet-state-context'
+            - title: PlatformStateContext
+              url: '/components/platform-state-context'
+            - title: logger
+              url: '/apis/logger'
+            - title: navigation
+              url: '/apis/navigation'
+            - title: nerdlet
+              url: '/apis/nerdlet'
+            - title: ngql
+              url: '/apis/ngql'
+- title: Developer events
+  url: '/developer-events'
+  pages:
+    - title: Past events
+      pages:
+        - title: Kubecon & CloudNativeCon
+          url: '/kubecon-europe-2020'
+        - title: Nerd days 1.0
+          url: '/nerd-days'
+        - title: All things open
+          url: '/all-things-open'
+- title: The Relicans
+  url: '/relicans'
+- title: Developer champions
+  url: '/developer-champion'
+- title: New Relic Builders
+  url: '/builders'
+- title: Podcasts
+  url: '/podcasts'
diff --git a/src/data/sidenav.json b/src/data/sidenav.json
deleted file mode 100644
index ae2612e0d..000000000
--- a/src/data/sidenav.json
+++ /dev/null
@@ -1,691 +0,0 @@
-[
-  {
-    "displayName": "Collect data",
-    "url": "/collect-data",
-    "children": [
-      {
-        "displayName": "Collect data from any source",
-        "url": "/collect-data/collect-data-from-any-source"
-      },
-      {
-        "displayName": "Create custom attributes",
-        "url": "/collect-data/custom-attributes"
-      },
-      {
-        "displayName": "Create custom New Relic events",
-        "url": "/collect-data/custom-events"
-      },
-      {
-        "displayName": "Query data with NRQL",
-        "url": "/collect-data/query-data-nrql"
-      },
-      {
-        "displayName": "Explore NerdGraph using the API Explorer",
-        "url": "/collect-data/get-started-nerdgraph-api-explorer"
-      }
-    ]
-  },
-  {
-    "displayName": "Automate workflows",
-    "url": "/automate-workflows",
-    "children": [
-      {
-        "displayName": "Using Terrafom with New Relic",
-        "url": "/terraform",
-        "children":[
-          {
-            "displayName": "Set up New Relic using Terraform",
-            "url": "/automate-workflows/get-started-terraform"
-          },
-          {
-            "displayName": "Using Terraform modules and remote storage",
-            "url": "/terraform/terraform-modules"
-          },
-          {
-            "displayName": "Using Terragrunt to manage multiple environments",
-            "url": "/terraform/terragrunt-configuration"
-          }
-        ]
-      },
-      {
-        "displayName": "Get started with the New Relic CLI",
-        "url": "/automate-workflows/get-started-new-relic-cli"
-      },
-      {
-        "displayName": "Set up New Relic using the Kubernetes operator",
-        "url": "/automate-workflows/get-started-kubernetes"
-      },
-      {
-        "displayName": "Set up New Relic using Helm charts",
-        "url": "/automate-workflows/kubernetes-helm-deployment"
-      },
-      {
-        "displayName": "Tag a set of resources efficiently",
-        "url": "/automate-workflows/5-mins-tag-resources"
-      },
-      {
-        "displayName": "Automated end-to-end tagging of entities",
-        "url": "/automate-workflows/automated-tagging"
-      },
-      {
-        "displayName": "Use New Relic to diagnose problems in your system",
-        "url": "/automate-workflows/diagnose-problems",
-        "children": [
-          {
-            "displayName": "High response times",
-            "url": "/automate-workflows/diagnose-problems/high-response-times"
-          },
-          {
-            "displayName": "Error alerts",
-            "url": "/automate-workflows/diagnose-problems/error-alerts"
-          }
-        ]
-      }
-    ]
-  },
-  {
-    "displayName": "Build apps",
-    "url": "/build-apps",
-    "children": [
-      {
-        "displayName": "Set up your development environment",
-        "url": "/build-apps/set-up-dev-env"
-      },
-      {
-        "displayName": "Create a 'Hello, World!' app",
-        "url": "/build-apps/build-hello-world-app"
-      },
-      {
-        "displayName": "Publish and deploy your app",
-        "url": "/build-apps/publish-deploy"
-      },
-      {
-        "displayName": "Permissions for managing apps",
-        "url": "/build-apps/permission-manage-apps"
-      },
-      {
-        "displayName": "Map pageviews by region",
-        "url": "/build-apps/map-pageviews-by-region"
-      },
-      {
-        "displayName": "Add a time picker",
-        "url": "/build-apps/add-time-picker-guide"
-      },
-      {
-        "displayName": "Add the NerdGraphQuery component to an app",
-        "url": "/build-apps/add-nerdgraphquery-guide"
-      },
-      {
-        "displayName": "Add tables to your New Relic One application",
-        "url": "/build-apps/howto-use-nrone-table-components"
-      },
-      {
-        "displayName": "Add, query, and mutate data using NerdStorage",
-        "url": "/build-apps/add-query-mutate-data-nerdstorage"
-      },
-      {
-        "displayName": "See all open source apps",
-        "url": "https://opensource.newrelic.com/nerdpacks/"
-      },
-      {
-        "displayName": "Build custom visualizations for dashboards",
-        "url": "/build-apps/build-visualization"
-      }
-    ]
-  },
-  {
-    "displayName": "Try our APIs",
-    "url": "/try-our-apis",
-    "children": [
-      {
-        "displayName": "Telemetry APIs",
-        "children": [
-          {
-            "displayName": "Metrics API",
-            "url": "https://docs.newrelic.com/docs/telemetry-data-platform/get-data/apis/introduction-metric-api"
-          },
-          {
-            "displayName": "Event API",
-            "url": "https://docs.newrelic.com/docs/telemetry-data-platform/ingest-manage-data/ingest-apis/use-event-api-report-custom-events"
-          },
-          {
-            "displayName": "Log API",
-            "url": "https://docs.newrelic.com/docs/logs/log-management/log-api/introduction-log-api"
-          },
-          {
-            "displayName": "Trace API",
-            "url": "https://docs.newrelic.com/docs/understand-dependencies/distributed-tracing/trace-api/introduction-trace-api"
-          }
-        ]
-      },
-      {
-        "displayName": "REST & GraphQL APIs",
-        "children": [
-          {
-            "displayName": "NerdGraph API Explorer",
-            "url": "https://api.newrelic.com/graphiql"
-          },
-          {
-            "displayName": "REST API Explorer",
-            "url": "https://rpm.newrelic.com/api/explore"
-          },
-          {
-            "displayName": "Insights API",
-            "url": "https://docs.newrelic.com/docs/insights/insights-api/get-data/query-insights-event-data-api"
-          },
-          {
-            "displayName": "Synthetics API",
-            "url": "https://docs.newrelic.com/docs/apis/synthetics-rest-api"
-          }
-        ]
-      }
-    ]
-  },
-  {
-    "displayName": "Explore docs",
-    "children": [
-      {
-        "displayName": "New Relic One CLI",
-        "url": "/explore-docs/nr1-cli",
-        "children": [
-          {
-            "displayName": "Common commands",
-            "url": "/explore-docs/nr1-common"
-          },
-          {
-            "displayName": "Config commands",
-            "url": "/explore-docs/nr1-config"
-          },
-          {
-            "displayName": "Nerdpack commands",
-            "url": "/explore-docs/nr1-nerdpack"
-          },
-          {
-            "displayName": "Subscription commands",
-            "url": "/explore-docs/nr1-subscription"
-          },
-          {
-            "displayName": "Plugin commands",
-            "url": "/explore-docs/nr1-plugins"
-          },
-          {
-            "displayName": "Catalog commands",
-            "url": "/explore-docs/nr1-catalog"
-          }
-        ]
-      },
-      {
-        "displayName": "New Relic CLI",
-        "url": "/explore-docs/newrelic-cli"
-      },
-      {
-        "displayName": "Nerdpack file structure",
-        "url": "/explore-docs/nerdpack-file-structure"
-      },
-      {
-        "displayName": "Intro to Nerdstorage",
-        "url": "/explore-docs/nerdstorage"
-      },
-      {
-        "displayName": "Intro to NerdstorageVault",
-        "url": "/explore-docs/nerdstoragevault"
-      },
-      {
-        "displayName": "Query and store data",
-        "url": "/explore-docs/query-and-store-data"
-      },
-      {
-        "displayName": "New Relic One SDK Component library",
-        "url": "/explore-docs/intro-to-sdk",
-        "children": [
-          {
-            "displayName": "Controls",
-            "children": [
-              {
-                "displayName": "AccountPicker",
-                "url": "/components/account-picker"
-              },
-              {
-                "displayName": "Button",
-                "url": "/components/button"
-              },
-              {
-                "displayName": "Checkbox",
-                "url": "/components/checkbox"
-              },
-              {
-                "displayName": "Dropdown",
-                "url": "/components/dropdown"
-              },
-              {
-                "displayName": "DropdownItem",
-                "url": "/components/dropdown-item"
-              },
-              {
-                "displayName": "DropdownSection",
-                "url": "/components/dropdown-section"
-              },
-              {
-                "displayName": "MultilineTextField",
-                "url": "/components/multiline-text-field"
-              },
-              {
-                "displayName": "Radio",
-                "url": "/components/radio"
-              },
-              {
-                "displayName": "RadioGroup",
-                "url": "/components/radio-group"
-              },
-              {
-                "displayName": "SegmentedControl",
-                "url": "/components/segmented-control"
-              },
-              {
-                "displayName": "SegmentedControlItem",
-                "url": "/components/segmented-control-item"
-              },
-              {
-                "displayName": "Select",
-                "url": "/components/select"
-              },
-              {
-                "displayName": "SelectItem",
-                "url": "/components/select-item"
-              },
-              {
-                "displayName": "Switch",
-                "url": "/components/switch"
-              },
-              {
-                "displayName": "TextField",
-                "url": "/components/text-field"
-              }
-            ]
-          },
-          {
-            "displayName": "Tables",
-            "children": [
-              {
-                "displayName": "Table",
-                "url": "/components/table"
-              },
-              {
-                "displayName": "TableHeader",
-                "url": "/components/table-header"
-              },
-              {
-                "displayName": "TableHeaderCell",
-                "url": "/components/table-header-cell"
-              },
-              {
-                "displayName": "TableRow",
-                "url": "/components/table-row"
-              },
-              {
-                "displayName": "TableRowCell",
-                "url": "/components/table-row-cell"
-              },
-              {
-                "displayName": "EntityTitleTableRowCell",
-                "url": "/components/entity-title-table-row-cell"
-              },
-              {
-                "displayName": "FavoriteTableRowCell",
-                "url": "/components/favorite-table-row-cell"
-              },
-              {
-                "displayName": "MetricTableRowCell",
-                "url": "/components/metric-table-row-cell"
-              },
-              {
-                "displayName": "SparklineTableRowCell",
-                "url": "/components/sparkline-table-row-cell"
-              },
-              {
-                "displayName": "UserTableRowCell",
-                "url": "/components/user-table-row-cell"
-              }
-            ]
-          },
-          {
-            "displayName": "Feedback",
-            "children": [
-              {
-                "displayName": "Icon",
-                "url": "/components/icon"
-              },
-              {
-                "displayName": "Spinner",
-                "url": "/components/spinner"
-              },
-              {
-                "displayName": "Toast",
-                "url": "/components/toast"
-              }
-            ]
-          },
-          {
-            "displayName": "Indicators",
-            "children": [
-              {
-                "displayName": "Badge",
-                "url": "/components/badge"
-              }
-            ]
-          },
-          {
-            "displayName": "Overlays",
-            "children": [
-              {
-                "displayName": "Modal",
-                "url": "/components/modal"
-              },
-              {
-                "displayName": "Popover",
-                "url": "/components/popover"
-              },
-              {
-                "displayName": "PopoverBody",
-                "url": "/components/popover-body"
-              },
-              {
-                "displayName": "PopoverTrigger",
-                "url": "/components/popover-trigger"
-              },
-              {
-                "displayName": "Tooltip",
-                "url": "/components/tooltip"
-              }
-            ]
-          },
-          {
-            "displayName": "Structure",
-            "children": [
-              {
-                "displayName": "AutoSizer",
-                "url": "/components/auto-sizer"
-              },
-              {
-                "displayName": "Card",
-                "url": "/components/card"
-              },
-              {
-                "displayName": "CardBody",
-                "url": "/components/card-body"
-              },
-              {
-                "displayName": "CardHeader",
-                "url": "/components/card-header"
-              },
-              {
-                "displayName": "Grid",
-                "url": "/components/grid"
-              },
-              {
-                "displayName": "GridItem",
-                "url": "/components/grid-item"
-              },
-              {
-                "displayName": "Layout",
-                "url": "/components/layout"
-              },
-              {
-                "displayName": "LayoutItem",
-                "url": "/components/layout-item"
-              },
-              {
-                "displayName": "List",
-                "url": "/components/list"
-              },
-              {
-                "displayName": "ListItem",
-                "url": "/components/list-item"
-              },
-              {
-                "displayName": "Spacing",
-                "url": "/components/spacing"
-              },
-              {
-                "displayName": "Stack",
-                "url": "/components/stack"
-              },
-              {
-                "displayName": "StackItem",
-                "url": "/components/stack-item"
-              },
-              {
-                "displayName": "Tabs",
-                "url": "/components/tabs"
-              },
-              {
-                "displayName": "TabsItem",
-                "url": "/components/tabs-item"
-              }
-            ]
-          },
-          {
-            "displayName": "Text",
-            "children": [
-              {
-                "displayName": "BlockText",
-                "url": "/components/block-text"
-              },
-              {
-                "displayName": "HeadingText",
-                "url": "/components/heading-text"
-              },
-              {
-                "displayName": "Link",
-                "url": "/components/link"
-              }
-            ]
-          },
-          {
-            "displayName": "Charts",
-            "url": "/components/charts",
-            "children": [
-              {
-                "displayName": "AreaChart",
-                "url": "/components/area-chart"
-              },
-              {
-                "displayName": "BarChart",
-                "url": "/components/bar-chart"
-              },
-              {
-                "displayName": "BillboardChart",
-                "url": "/components/billboard-chart"
-              },
-              {
-                "displayName": "ChartGroup",
-                "url": "/components/chart-group"
-              },
-              {
-                "displayName": "FunnelChart",
-                "url": "/components/funnel-chart"
-              },
-              {
-                "displayName": "HeatmapChart",
-                "url": "/components/heatmap-chart"
-              },
-              {
-                "displayName": "HistogramChart",
-                "url": "/components/histogram-chart"
-              },
-              {
-                "displayName": "JsonChart",
-                "url": "/components/json-chart"
-              },
-              {
-                "displayName": "LineChart",
-                "url": "/components/line-chart"
-              },
-              {
-                "displayName": "PieChart",
-                "url": "/components/pie-chart"
-              },
-              {
-                "displayName": "ScatterChart",
-                "url": "/components/scatter-chart"
-              },
-              {
-                "displayName": "SparklineChart",
-                "url": "/components/sparkline-chart"
-              },
-              {
-                "displayName": "StackedBarChart",
-                "url": "/components/stacked-bar-chart"
-              },
-              {
-                "displayName": "TableChart",
-                "url": "/components/table-chart"
-              }
-            ]
-          },
-          {
-            "displayName": "Query and storage",
-            "children": [
-              {
-                "displayName": "AccountStorageMutation",
-                "url": "/components/account-storage-mutation"
-              },
-              {
-                "displayName": "AccountStorageQuery",
-                "url": "/components/account-storage-query"
-              },
-              {
-                "displayName": "AccountsQuery",
-                "url": "/components/accounts-query"
-              },
-              {
-                "displayName": "EntitiesByDomainTypeQuery",
-                "url": "/components/entities-by-domain-type-query"
-              },
-              {
-                "displayName": "EntitiesByGuidsQuery",
-                "url": "/components/entities-by-guids-query"
-              },
-              {
-                "displayName": "EntitiesByNameQuery",
-                "url": "/components/entities-by-name-query"
-              },
-              {
-                "displayName": "EntityByGuidQuery",
-                "url": "/components/entity-by-guid-query"
-              },
-              {
-                "displayName": "EntityCountQuery",
-                "url": "/components/entity-count-query"
-              },
-              {
-                "displayName": "EntitySearchQuery",
-                "url": "/components/entity-search-query"
-              },
-              {
-                "displayName": "EntityStorageMutation",
-                "url": "/components/entity-storage-mutation"
-              },
-              {
-                "displayName": "EntityStorageQuery",
-                "url": "/components/entity-storage-query"
-              },
-              {
-                "displayName": "NerdGraphMutation",
-                "url": "/components/nerd-graph-mutation"
-              },
-              {
-                "displayName": "NerdGraphQuery",
-                "url": "/components/nerd-graph-query"
-              },
-              {
-                "displayName": "NrqlQuery",
-                "url": "/components/nrql-query"
-              },
-              {
-                "displayName": "UserQuery",
-                "url": "/components/user-query"
-              },
-              {
-                "displayName": "UserStorageMutation",
-                "url": "/components/user-storage-mutation"
-              },
-              {
-                "displayName": "UserStorageQuery",
-                "url": "/components/user-storage-query"
-              }
-            ]
-          },
-          {
-            "displayName": "Platform APIs",
-            "children": [
-              {
-                "displayName": "NerdletStateContext",
-                "url": "/components/nerdlet-state-context"
-              },
-              {
-                "displayName": "PlatformStateContext",
-                "url": "/components/platform-state-context"
-              },
-              {
-                "displayName": "logger",
-                "url": "/apis/logger"
-              },
-              {
-                "displayName": "navigation",
-                "url": "/apis/navigation"
-              },
-              {
-                "displayName": "nerdlet",
-                "url": "/apis/nerdlet"
-              },
-              {
-                "displayName": "ngql",
-                "url": "/apis/ngql"
-              }
-            ]
-          }
-        ]
-      }
-    ]
-  },
-  {
-    "displayName": "Developer events",
-    "url": "/developer-events",
-    "children": [
-      {
-        "displayName": "Past events",
-        "children": [
-          {
-            "displayName": "Kubecon & CloudNativeCon",
-            "url": "/kubecon-europe-2020"
-          },
-          {
-            "displayName": "Nerd days 1.0",
-            "url": "/nerd-days"
-          },
-          {
-            "displayName": "All things open",
-            "url": "/all-things-open"
-          }
-        ]
-      }
-    ]
-  },
-  {
-    "displayName": "The Relicans",
-    "url": "/relicans"
-  },
-  {
-    "displayName": "Developer champions",
-    "url": "/developer-champion"
-  },
-  {
-    "displayName": "New Relic Builders",
-    "url": "/builders"
-  },
-  {
-    "displayName": "Podcasts",
-    "url": "/podcasts"
-  }
-]

From bb4ac59ed32508511ed194426ba74b2f707795b6 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:14:57 -0800
Subject: [PATCH 07/40] chore: update the navigation to use the nav components
 from the theme

---
 src/layouts/MainLayout.js | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/layouts/MainLayout.js b/src/layouts/MainLayout.js
index 387822bee..924a25531 100644
--- a/src/layouts/MainLayout.js
+++ b/src/layouts/MainLayout.js
@@ -6,13 +6,15 @@ import {
   GlobalHeader,
   Layout,
   Logo,
+  Navigation,
+  NavItem,
   SearchInput,
 } from '@newrelic/gatsby-theme-newrelic';
 import MobileHeader from '../components/MobileHeader';
 import { Link } from 'gatsby';
-import Navigation from '../components/Navigation';
 import '../components/styles.scss';
 import { useLocation } from '@reach/router';
+import pages from '../data/nav.yml';
 
 const MainLayout = ({ children, pageContext }) => {
   const location = useLocation();
@@ -77,7 +79,11 @@ const MainLayout = ({ children, pageContext }) => {
               value={searchTerm}
             />
           </div>
-          <Navigation searchTerm={searchTerm} />
+          <Navigation searchTerm={searchTerm}>
+            {pages.map((page, idx) => (
+              <NavItem key={idx} page={page} />
+            ))}
+          </Navigation>
         </Layout.Sidebar>
         <Layout.Main>{children}</Layout.Main>
         <Layout.Footer fileRelativePath={fileRelativePath} />

From 71039b1440be829a2ea38d16133838c973721937 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:15:05 -0800
Subject: [PATCH 08/40] chore: set the mobile breakpoint

---
 gatsby-config.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gatsby-config.js b/gatsby-config.js
index 304661e9d..be35308f7 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -21,6 +21,7 @@ module.exports = {
           contentPadding: '2rem',
           maxWidth: '1700px',
           component: require.resolve('./src/layouts'),
+          mobileBreakpoint: '760px',
         },
         // workaround until this is no longer needed.
         // https://github.com/newrelic/gatsby-theme-newrelic/issues/302

From ea706276aa43f75a99ad2e3977643f14126f827e Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:17:14 -0800
Subject: [PATCH 09/40] chore: remove breadcrumb context as it is no longer
 used

---
 gatsby/wrap-page-element.js               | 11 +--
 src/components/BreadcrumbContext.js       |  3 -
 src/utils/__tests__/create-breadcrumbs.js | 86 -----------------------
 src/utils/create-breadcrumbs.js           | 61 ----------------
 4 files changed, 1 insertion(+), 160 deletions(-)
 delete mode 100644 src/components/BreadcrumbContext.js
 delete mode 100644 src/utils/__tests__/create-breadcrumbs.js
 delete mode 100644 src/utils/create-breadcrumbs.js

diff --git a/gatsby/wrap-page-element.js b/gatsby/wrap-page-element.js
index e3c2a9351..74634be17 100644
--- a/gatsby/wrap-page-element.js
+++ b/gatsby/wrap-page-element.js
@@ -1,15 +1,8 @@
-/* eslint-disable react/prop-types */
 import React from 'react';
-import { BreadcrumbContext } from '../src/components/BreadcrumbContext';
 import { PageContext } from '../src/components/PageContext';
 import { Global, css } from '@emotion/core';
 
-import createBreadcrumbs from '../src/utils/create-breadcrumbs';
-import pages from '../src/data/sidenav.json';
-
 const wrapPageElement = ({ element, props }) => {
-  const crumbs = createBreadcrumbs(props.path ?? '/404', pages);
-
   return (
     <>
       <Global
@@ -43,9 +36,7 @@ const wrapPageElement = ({ element, props }) => {
         `}
       />
       <PageContext.Provider value={props.pageContext}>
-        <BreadcrumbContext.Provider value={crumbs}>
-          {element}
-        </BreadcrumbContext.Provider>
+        {element}
       </PageContext.Provider>
     </>
   );
diff --git a/src/components/BreadcrumbContext.js b/src/components/BreadcrumbContext.js
deleted file mode 100644
index 936ae93ae..000000000
--- a/src/components/BreadcrumbContext.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import React from 'react';
-
-export const BreadcrumbContext = React.createContext([]);
diff --git a/src/utils/__tests__/create-breadcrumbs.js b/src/utils/__tests__/create-breadcrumbs.js
deleted file mode 100644
index 5d383cb1a..000000000
--- a/src/utils/__tests__/create-breadcrumbs.js
+++ /dev/null
@@ -1,86 +0,0 @@
-import createBreadcrumbs from '../create-breadcrumbs';
-
-const sidenav = [
-  {
-    displayName: 'Plants',
-    url: '/plants',
-    children: [
-      {
-        displayName: 'Ficus',
-        url: '/plants/ficus',
-      },
-      {
-        displayName: 'Bromeliad',
-        url: '/plants/bromeliad',
-      },
-    ],
-  },
-  {
-    displayName: 'Food',
-    url: '/food',
-    children: [
-      {
-        displayName: 'Mexican',
-        children: [
-          {
-            displayName: 'Chimichurri',
-            url: '/food/mex/chimichurri',
-          },
-          {
-            displayName: 'Tacos',
-            url: '/food/mex/tacos',
-          },
-        ],
-      },
-    ],
-  },
-];
-
-describe('util/create-breadcrumbs', () => {
-  it('should create breadcrumbs for a page', () => {
-    const result1 = createBreadcrumbs('/plants', sidenav);
-    const expected1 = [{ displayName: 'Plants' }];
-
-    const result2 = createBreadcrumbs('/plants/bromeliad', sidenav);
-    const expected2 = [
-      { displayName: 'Plants', url: '/plants' },
-      { displayName: 'Bromeliad' },
-    ];
-
-    const result3 = createBreadcrumbs('/food/mex/tacos', sidenav);
-    const expected3 = [
-      { displayName: 'Food', url: '/food' },
-      { displayName: 'Mexican' },
-      { displayName: 'Tacos' },
-    ];
-
-    expect(result1).toEqual(expected1);
-    expect(result2).toEqual(expected2);
-    expect(result3).toEqual(expected3);
-  });
-
-  it('should return an empty array if unable to find page', () => {
-    const result = createBreadcrumbs('/foobar', sidenav);
-    const expected = [];
-
-    expect(result).toEqual(expected);
-  });
-
-  it('should throw an error if missing parameters', () => {
-    const result1 = () => createBreadcrumbs();
-    const result2 = () => createBreadcrumbs('/plants');
-
-    expect(result1).toThrow(new Error('createBreadcrumbs: Missing parameters'));
-    expect(result2).toThrow(new Error('createBreadcrumbs: Missing parameters'));
-  });
-
-  it('should throw an error if parameters in wrong format', () => {
-    const result1 = () => createBreadcrumbs(7, sidenav);
-    const result2 = () => createBreadcrumbs('/plants', 'foobar');
-    const result3 = () => createBreadcrumbs('/plants', []);
-
-    expect(result1).toThrow(new Error('createBreadcrumbs: Invalid parameters'));
-    expect(result2).toThrow(new Error('createBreadcrumbs: Invalid parameters'));
-    expect(result3).toThrow(new Error('createBreadcrumbs: Invalid parameters'));
-  });
-});
diff --git a/src/utils/create-breadcrumbs.js b/src/utils/create-breadcrumbs.js
deleted file mode 100644
index 9b9e9d235..000000000
--- a/src/utils/create-breadcrumbs.js
+++ /dev/null
@@ -1,61 +0,0 @@
-const URL_WITH_TRAILING_SLASH = /(.+)\/$/;
-
-/**
- * Create a flat array of breadcrumbs for a given relative url given the
- * site structure (sidenav). Returns an empty array if no match found. NOTE:
- * this function calls itself.
- *
- * @param {string} url - The relative path of the page needing breadcrumbs.
- * @param {Object[]} links - An array of link objects for this level.
- * @param {Object[]} [result] - An array of links representing breadcrumbs.
- * @return {Object[]} An array of link objects representing breadcrumbs.
- */
-const createBreadcrumbs = (url, links, result = []) => {
-  // if mising url or links, throw an error
-  if (!url || !links) {
-    throw new Error('createBreadcrumbs: Missing parameters');
-  }
-
-  // if url or link is in wrong format, throw an error
-  if (typeof url !== 'string' || !Array.isArray(links) || !links.length) {
-    throw new Error('createBreadcrumbs: Invalid parameters');
-  }
-
-  // check to see if any of the links at this level match the path
-  const match = links.find(
-    (link) =>
-      link.url === url ||
-      link.url === url.replace(URL_WITH_TRAILING_SLASH, '$1')
-  );
-
-  // if we have a link, return the displayName at the end of the result
-  if (match) {
-    return [...result, { displayName: match.displayName }];
-  }
-
-  // Find all the links at this level with children
-  const linksWithChildren = links.filter(
-    (link) => link.children && link.children.length
-  );
-
-  // loop over all links that have children (possible branches)
-  return linksWithChildren.reduce((acc, link) => {
-    // get the crumbs by calling this function on the children for this link
-    const crumbs = createBreadcrumbs(url, link.children, result);
-
-    // if the crumbs are different, we found a valid match below this link
-    if (crumbs !== result) {
-      // get the details for this link without the children
-      const parentLink = { displayName: link.displayName };
-      if (link.url) parentLink.url = link.url;
-
-      // return the current crumbs, this link, and the crumbs found below
-      return [...acc, parentLink, ...crumbs];
-    } else {
-      // otherwise, this is an invalid branch, just return the result so far
-      return acc;
-    }
-  }, result);
-};
-
-export default createBreadcrumbs;

From c3ddf6af2e56635e94e5d1dd91e245359b5a0a28 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:20:37 -0800
Subject: [PATCH 10/40] chore: replace mobile header with the theme mobile
 header

---
 src/components/MobileHeader.js | 77 ----------------------------------
 src/layouts/MainLayout.js      | 18 ++++----
 2 files changed, 8 insertions(+), 87 deletions(-)
 delete mode 100644 src/components/MobileHeader.js

diff --git a/src/components/MobileHeader.js b/src/components/MobileHeader.js
deleted file mode 100644
index fbf9c6737..000000000
--- a/src/components/MobileHeader.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import React, { useState } from 'react';
-import PropTypes from 'prop-types';
-import { css } from '@emotion/core';
-import { Link } from 'gatsby';
-import Navigation from './Navigation';
-import {
-  Logo,
-  HamburgerMenu,
-  SearchInput,
-} from '@newrelic/gatsby-theme-newrelic';
-
-const MobileHeader = ({ className, isOpen, toggle }) => {
-  const [searchTerm, setSearchTerm] = useState('');
-
-  return (
-    <header
-      data-swiftype-index={false}
-      className={className}
-      css={css`
-        position: relative;
-        padding: 0 2rem;
-
-        width: 100vw;
-      `}
-    >
-      <div
-        css={css`
-          display: flex;
-          align-items: center;
-          justify-content: space-between;
-          height: var(--height-mobile-nav-bar);
-        `}
-      >
-        <Link to="/">
-          <Logo
-            css={css`
-              display: block;
-              width: 150px;
-            `}
-          />
-        </Link>
-
-        <HamburgerMenu onToggle={toggle} isOpen={isOpen} />
-      </div>
-
-      {isOpen && (
-        <>
-          <SearchInput
-            placeholder="Filter developer docs"
-            onClear={() => setSearchTerm('')}
-            onChange={(e) => setSearchTerm(e.target.value)}
-            value={searchTerm}
-          />
-          <Navigation
-            searchTerm={searchTerm}
-            css={css`
-              font-size: 1rem;
-              padding: 1.5rem 0rem;
-              height: calc(
-                100vh -
-                  (var(--height-mobile-nav-bar) + var(--global-header-height))
-              );
-            `}
-          />
-        </>
-      )}
-    </header>
-  );
-};
-
-MobileHeader.propTypes = {
-  className: PropTypes.string,
-  isOpen: PropTypes.bool.isRequired,
-  toggle: PropTypes.func.isRequired,
-};
-
-export default MobileHeader;
diff --git a/src/layouts/MainLayout.js b/src/layouts/MainLayout.js
index 924a25531..cc5e90613 100644
--- a/src/layouts/MainLayout.js
+++ b/src/layouts/MainLayout.js
@@ -6,11 +6,11 @@ import {
   GlobalHeader,
   Layout,
   Logo,
+  MobileHeader,
   Navigation,
   NavItem,
   SearchInput,
 } from '@newrelic/gatsby-theme-newrelic';
-import MobileHeader from '../components/MobileHeader';
 import { Link } from 'gatsby';
 import '../components/styles.scss';
 import { useLocation } from '@reach/router';
@@ -29,15 +29,13 @@ const MainLayout = ({ children, pageContext }) => {
   return (
     <>
       <GlobalHeader />
-      <MobileHeader
-        css={css`
-          @media (min-width: 761px) {
-            display: none;
-          }
-        `}
-        isOpen={isMobileNavOpen}
-        toggle={() => setIsMobileNavOpen(!isMobileNavOpen)}
-      />
+      <MobileHeader>
+        <Navigation searchTerm={searchTerm}>
+          {pages.map((page, idx) => (
+            <NavItem key={idx} page={page} />
+          ))}
+        </Navigation>
+      </MobileHeader>
       <Layout
         css={css`
           display: ${isMobileNavOpen ? 'none' : 'grid'};

From ab4639c3f16f354fe1dad23c98a36880125a8dc0 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:26:28 -0800
Subject: [PATCH 11/40] chore: shadow automation icon into nr icons

---
 .../gatsby-theme-newrelic/icons/newrelic.js   |  7 ++++
 .../icons/newrelic/automation.js              | 41 +++++++++++++++++++
 2 files changed, 48 insertions(+)
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js

diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js
new file mode 100644
index 000000000..51152b7a9
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js
@@ -0,0 +1,7 @@
+import defaultIcons from '@newrelic/gatsby-theme-newrelic/src/icons/newrelic';
+import automation from './newrelic/automation';
+
+export default {
+  ...defaultIcons,
+  automation,
+};
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js
new file mode 100644
index 000000000..d3404737f
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js
@@ -0,0 +1,41 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { css } from '@emotion/core';
+import SVG from '@newrelic/gatsby-theme-newrelic/src/components/SVG';
+
+const AutomationIcon = (props) => (
+  <SVG
+    {...props}
+    viewBox="0 0 24 24"
+    css={css`
+      fill: none;
+      stroke: currentColor;
+      stroke-width: 1.5;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+    `}
+  >
+    <g>
+      <path
+        d="M14.6,14.3l1.4-0.8l-1.9-3.3l-1.4,0.8c-0.7-0.6-1.5-1.1-2.4-1.4V7.9H6.4v1.6C5.5,9.8,4.7,10.3,4,10.9l-1.4-0.8
+		l-1.9,3.3L2,14.3c-0.2,1-0.2,1.8,0,2.8l-1.4,0.8l1.9,3.3L4,20.4c0.7,0.6,1.5,1.1,2.4,1.4v1.6h3.9v-1.6c0.9-0.3,1.7-0.8,2.4-1.4
+		l1.4,0.8l1.9-3.3l-1.4-0.8C14.8,16.1,14.8,15.2,14.6,14.3z"
+      />
+      <circle cx="8.3" cy="15.7" r="2.6" />
+    </g>
+    <g>
+      <path
+        d="M22.7,4.2l0.8-0.5l-1.2-2l-0.8,0.5c-0.4-0.4-0.9-0.7-1.5-0.8v-1h-2.3v1c-0.5,0.2-1,0.5-1.5,0.8l-0.8-0.5
+		l-1.2,2l0.8,0.5c-0.1,0.6-0.1,1.1,0,1.7l-0.8,0.5l1.2,2l0.8-0.5c0.4,0.4,0.9,0.7,1.5,0.8v1h2.3v-1c0.5-0.2,1-0.5,1.5-0.8l0.8,0.5
+		l1.2-2l-0.8-0.5C22.9,5.3,22.9,4.8,22.7,4.2z"
+      />
+      <circle cx="18.9" cy="5.1" r="1.6" />
+    </g>
+  </SVG>
+);
+
+AutomationIcon.propTypes = {
+  size: PropTypes.string,
+};
+
+export default AutomationIcon;

From 53ddf06772226a7d4dbc4bf54da8cb22318fce4c Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:44:38 -0800
Subject: [PATCH 12/40] chore: Create the rest of the nr icons and update the
 nav to use them

---
 .../gatsby-theme-newrelic/icons/newrelic.js   | 16 +++++++++++++
 .../icons/newrelic/automation.js              | 22 +++---------------
 .../icons/newrelic/book.js                    | 15 ++++++++++++
 .../icons/newrelic/build-apps.js              | 13 +++++++++++
 .../icons/newrelic/builders.js                | 10 ++++++++
 .../icons/newrelic/developer-champions.js     | 18 +++++++++++++++
 .../icons/newrelic/event.js                   | 10 ++++++++
 .../icons/newrelic/podcasts.js                | 14 +++++++++++
 .../icons/newrelic/relicans.js                | 10 ++++++++
 .../icons/newrelic/share.js                   | 14 +++++++++++
 src/components/NewRelicSVG.js                 | 23 +++++++++++++++++++
 src/data/nav.yml                              | 10 ++++++++
 12 files changed, 156 insertions(+), 19 deletions(-)
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/book.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/build-apps.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/builders.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/developer-champions.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/event.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/podcasts.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/relicans.js
 create mode 100644 src/@newrelic/gatsby-theme-newrelic/icons/newrelic/share.js
 create mode 100644 src/components/NewRelicSVG.js

diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js
index 51152b7a9..891888d61 100644
--- a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic.js
@@ -1,7 +1,23 @@
 import defaultIcons from '@newrelic/gatsby-theme-newrelic/src/icons/newrelic';
 import automation from './newrelic/automation';
+import book from './newrelic/book';
+import buildApps from './newrelic/build-apps';
+import builders from './newrelic/builders';
+import developerChampions from './newrelic/developer-champions';
+import event from './newrelic/event';
+import podcasts from './newrelic/podcasts';
+import relicans from './newrelic/relicans';
+import share from './newrelic/share';
 
 export default {
   ...defaultIcons,
   automation,
+  book,
+  'build-apps': buildApps,
+  builders,
+  'developer-champions': developerChampions,
+  event,
+  relicans,
+  podcasts,
+  share,
 };
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js
index d3404737f..d3c0cc104 100644
--- a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/automation.js
@@ -1,20 +1,8 @@
 import React from 'react';
-import PropTypes from 'prop-types';
-import { css } from '@emotion/core';
-import SVG from '@newrelic/gatsby-theme-newrelic/src/components/SVG';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
 
 const AutomationIcon = (props) => (
-  <SVG
-    {...props}
-    viewBox="0 0 24 24"
-    css={css`
-      fill: none;
-      stroke: currentColor;
-      stroke-width: 1.5;
-      stroke-linecap: round;
-      stroke-linejoin: round;
-    `}
-  >
+  <NewRelicSVG {...props}>
     <g>
       <path
         d="M14.6,14.3l1.4-0.8l-1.9-3.3l-1.4,0.8c-0.7-0.6-1.5-1.1-2.4-1.4V7.9H6.4v1.6C5.5,9.8,4.7,10.3,4,10.9l-1.4-0.8
@@ -31,11 +19,7 @@ const AutomationIcon = (props) => (
       />
       <circle cx="18.9" cy="5.1" r="1.6" />
     </g>
-  </SVG>
+  </NewRelicSVG>
 );
 
-AutomationIcon.propTypes = {
-  size: PropTypes.string,
-};
-
 export default AutomationIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/book.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/book.js
new file mode 100644
index 000000000..585265eb7
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/book.js
@@ -0,0 +1,15 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const BookIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <path d="M16.5 2.5c0 0-1.893 0-2 0 -2 0-3 1.5-3 3.5 0-2-1-3.5-3-3.5 -.5 0-8 0-8 0v16c0 0 6.5 0 8 0 2 0 3 1 3 3 0-2 1-3 3-3 1.5 0 8 0 8 0v-16h-2" />
+    <line x1="11.5" x2="11.5" y1="6" y2="21" />
+    <polygon
+      stroke="var(--accent-color)"
+      points="20.5,10 18.5,8 16.5,10 16.5,1.5 20.5,1.5"
+    />
+  </NewRelicSVG>
+);
+
+export default BookIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/build-apps.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/build-apps.js
new file mode 100644
index 000000000..db67ba208
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/build-apps.js
@@ -0,0 +1,13 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const BuildAppsIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <rect x="14" y="1" width="9" height="9" />
+    <rect x="14" y="14" width="9" height="9" />
+    <rect x="1" y="14" width="9" height="9" />
+    <rect x="1" y="1" width="9" height="9" />
+  </NewRelicSVG>
+);
+
+export default BuildAppsIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/builders.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/builders.js
new file mode 100644
index 000000000..70c514529
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/builders.js
@@ -0,0 +1,10 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const BuildersIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <path d="M12.7,5.3c-0.38,0.39-0.38,1.01,0,1.4l1.6,1.6c0.39,0.38,1.01,0.38,1.4,0l3.77-3.77 c1.37,3.02,0.03,6.57-2.99,7.94c-1.57,0.71-3.37,0.71-4.95,0l-6.91,6.91c-0.83,0.83-2.17,0.83-3,0s-0.83-2.17,0-3l6.91-6.91 C7.17,6.45,8.51,2.9,11.52,1.53c1.57-0.71,3.37-0.71,4.95,0L12.7,5.3L12.7,5.3z" />
+  </NewRelicSVG>
+);
+
+export default BuildersIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/developer-champions.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/developer-champions.js
new file mode 100644
index 000000000..219bdbd55
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/developer-champions.js
@@ -0,0 +1,18 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const DeveloperChampionsIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <path d="M5.37,15.76c-0.24,0.04-0.48,0.09-0.7,0.14c1.07,2.85,3.18,5.75,7.32,8.1v-0.76 C8.34,21.07,6.39,18.47,5.37,15.76z" />
+    <path d="M4.33,10.15C4.31,9.7,4.3,9.25,4.3,8.81V3.63c0.66-0.1,1.64-0.23,2.29-0.4l3.46-1.48 c0.02-0.01,0.04-0.02,0.06-0.03c0.61-0.28,1.29-0.6,1.88-0.94V0c-0.76,0.51-1.8,0.96-2.64,1.35l-2.04,1 C6.22,2.69,4.76,2.93,3.59,3.08v5.73c0,0.49,0.01,1,0.03,1.54C3.84,10.28,4.08,10.21,4.33,10.15z" />
+    <path d="M7.36,5.12" />
+    <path d="M13.88,1.72c0.02,0.01,0.04,0.02,0.06,0.03l3.46,1.48c0.64,0.16,1.63,0.3,2.29,0.4v5.18 c0,0.44-0.01,0.89-0.03,1.34c0.25,0.06,0.49,0.13,0.71,0.19c0.02-0.54,0.03-1.05,0.03-1.54V3.08c-1.17-0.14-2.63-0.39-3.71-0.72 l-2.04-1C13.81,0.96,12.76,0.51,12,0l-0.12,0.4L12,0.78C12.6,1.12,13.27,1.44,13.88,1.72z" />
+    <path d="M18.62,15.76c-1.02,2.71-2.97,5.31-6.61,7.47l-0.12,0.33L12,24c4.14-2.35,6.25-5.25,7.32-8.1 C19.1,15.85,18.86,15.81,18.62,15.76z" />
+    <path d="M20.94,9.98C19.1,9.32,15.67,8.9,11.98,8.9v0.51H12c3.52,0,6.92,0.41,8.65,1.03c0.72,0.26,1.05,0.74,1.05,1.55 v4.78c-1.19-0.88-5.09-1.53-9.71-1.53v0.51c3.51,0,8.9,0.82,8.9,1.83c0,0.52-1.81,1-3.59,1.33c-0.06,0.11-0.13,0.22-0.19,0.33 c2.7-0.38,5.16-1.03,5.16-1.75v-5.59C22.26,10.94,21.83,10.3,20.94,9.98z" />
+    <path d="M8.05,11.15" />
+    <path d="M3.06,9.98C4.89,9.32,8.3,8.9,11.98,8.9v0.51h-0.01c-3.51,0-6.89,0.41-8.62,1.03C2.62,10.71,2.3,11.19,2.3,12 v4.78c1.19-0.88,5.07-1.53,9.68-1.53v0.51c-3.5,0-8.87,0.82-8.87,1.83c0,0.52,1.81,1,3.58,1.33c0.06,0.11,0.13,0.22,0.19,0.33 c-2.69-0.38-5.15-1.03-5.15-1.75v-5.59C1.74,10.94,2.17,10.3,3.06,9.98z" />
+    <path d="M750.7,362.2" />
+  </NewRelicSVG>
+);
+
+export default DeveloperChampionsIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/event.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/event.js
new file mode 100644
index 000000000..7ba1af7ed
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/event.js
@@ -0,0 +1,10 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const EventIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <polygon points="3 11 22 2 13 21 11 13 3 11" />
+  </NewRelicSVG>
+);
+
+export default EventIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/podcasts.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/podcasts.js
new file mode 100644
index 000000000..b1cb5f690
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/podcasts.js
@@ -0,0 +1,14 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const PodcastsIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <path d="M12,3.179c-4.85,0-8.782,4.099-8.782,9.153c0,2.589,1.031,4.927,2.689,6.593 c0.063,0.062,0.162-0.023,0.107-0.094c-1.2-1.568-1.926-3.611-1.926-5.846c0-4.938,3.542-8.15,7.911-8.15 c4.37,0,7.911,3.213,7.911,8.15c0,2.235-0.727,4.278-1.926,5.846c-0.055,0.07,0.044,0.156,0.107,0.094 c1.658-1.666,2.689-4.004,2.689-6.593C20.781,7.278,16.85,3.179,12,3.179z" />
+    <path d="M7.098,12.49c-0.086-0.209-0.312-0.323-0.531-0.27L5.28,12.536c-0.281,0.068-0.428,0.378-0.304,0.64 l3.36,7.078c0.125,0.262,0.458,0.344,0.689,0.168l0.748-0.568c0.165-0.125,0.225-0.346,0.146-0.537L7.098,12.49z" />
+    <path d="M4.696,13.119c-0.061-0.126-0.217-0.174-0.338-0.102H4.357c-0.057,0.033-0.092,0.096-0.09,0.162 c0.023,1.211,0.269,2.396,0.712,3.482l0.526,1.082c0.195,0.342,0.412,0.67,0.649,0.98c0.058,0.076,0.068,0.174,0.027,0.258 c0,0.002,0,0.002,0,0.002c-0.023,0.045-0.025,0.098-0.003,0.143l0.454,0.934c0.021,0.045,0.057,0.082,0.101,0.105l1.154,0.625 c0.068,0.037,0.151,0.039,0.221,0.004l0.015-0.008c0.117-0.059,0.165-0.199,0.108-0.316L4.696,13.119z" />
+    <path d="M18.719,12.536l-1.287-0.315c-0.219-0.054-0.445,0.061-0.531,0.27l-2.82,6.827 c-0.079,0.191-0.02,0.412,0.146,0.537l0.748,0.568c0.23,0.176,0.564,0.094,0.688-0.168l3.36-7.078 C19.147,12.914,19,12.604,18.719,12.536z" />
+    <path d="M18.494,17.746l0.527-1.084c0.442-1.086,0.688-2.271,0.711-3.482c0.001-0.066-0.033-0.129-0.09-0.162 h-0.002c-0.121-0.073-0.277-0.025-0.338,0.102l-3.535,7.352c-0.057,0.117-0.008,0.258,0.109,0.316l0.015,0.008 c0.069,0.035,0.152,0.033,0.222-0.004l1.153-0.625c0.044-0.023,0.079-0.061,0.101-0.105l0.455-0.934 c0.021-0.045,0.019-0.098-0.004-0.143c0,0,0,0,0-0.002c-0.042-0.084-0.031-0.182,0.026-0.258 C18.082,18.414,18.299,18.088,18.494,17.746z" />
+  </NewRelicSVG>
+);
+
+export default PodcastsIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/relicans.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/relicans.js
new file mode 100644
index 000000000..56a212a6f
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/relicans.js
@@ -0,0 +1,10 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const RelicansIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" />
+  </NewRelicSVG>
+);
+
+export default RelicansIcon;
diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/share.js b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/share.js
new file mode 100644
index 000000000..cc383e191
--- /dev/null
+++ b/src/@newrelic/gatsby-theme-newrelic/icons/newrelic/share.js
@@ -0,0 +1,14 @@
+import React from 'react';
+import NewRelicSVG from '../../../../components/NewRelicSVG';
+
+const ShareIcon = (props) => (
+  <NewRelicSVG {...props}>
+    <circle cx="18" cy="5" r="3" />
+    <circle cx="6" cy="12" r="3" />
+    <circle cx="18" cy="19" r="3" />
+    <line x1="8.59" y1="13.51" x2="15.42" y2="17.49" />
+    <line x1="15.41" y1="6.51" x2="8.59" y2="10.49" />
+  </NewRelicSVG>
+);
+
+export default ShareIcon;
diff --git a/src/components/NewRelicSVG.js b/src/components/NewRelicSVG.js
new file mode 100644
index 000000000..2caa20585
--- /dev/null
+++ b/src/components/NewRelicSVG.js
@@ -0,0 +1,23 @@
+import React from 'react';
+import { css } from '@emotion/core';
+import SVG from '@newrelic/gatsby-theme-newrelic/src/components/SVG';
+
+const NewRelicSVG = (props) => (
+  <SVG
+    {...props}
+    viewBox="0 0 24 24"
+    css={css`
+      fill: none;
+      stroke: currentColor;
+      stroke-width: 1;
+      stroke-linecap: round;
+      stroke-linejoin: round;
+    `}
+  />
+);
+
+NewRelicSVG.defaultProps = {
+  size: '1em',
+};
+
+export default NewRelicSVG;
diff --git a/src/data/nav.yml b/src/data/nav.yml
index fb74089d5..e1f3c859a 100644
--- a/src/data/nav.yml
+++ b/src/data/nav.yml
@@ -1,4 +1,5 @@
 - title: Collect data
+  icon: nr-tdp
   url: '/collect-data'
   pages:
     - title: Collect data from any source
@@ -12,6 +13,7 @@
     - title: Explore NerdGraph using the API Explorer
       url: '/collect-data/get-started-nerdgraph-api-explorer'
 - title: Automate workflows
+  icon: nr-automation
   url: '/automate-workflows'
   pages:
     - title: Using Terrafom with New Relic
@@ -41,6 +43,7 @@
         - title: Error alerts
           url: '/automate-workflows/diagnose-problems/error-alerts'
 - title: Build apps
+  icon: nr-build-apps
   url: '/build-apps'
   pages:
     - title: Set up your development environment
@@ -66,6 +69,7 @@
     - title: Build custom visualizations for dashboards
       url: '/build-apps/build-visualization'
 - title: Try our APIs
+  icon: nr-share
   url: '/try-our-apis'
   pages:
     - title: Telemetry APIs
@@ -89,6 +93,7 @@
         - title: Synthetics API
           url: https://docs.newrelic.com/docs/apis/synthetics-rest-api
 - title: Explore docs
+  icon: nr-book
   pages:
     - title: New Relic One CLI
       url: '/explore-docs/nr1-cli'
@@ -318,6 +323,7 @@
             - title: ngql
               url: '/apis/ngql'
 - title: Developer events
+  icon: nr-event
   url: '/developer-events'
   pages:
     - title: Past events
@@ -329,10 +335,14 @@
         - title: All things open
           url: '/all-things-open'
 - title: The Relicans
+  icon: nr-relicans
   url: '/relicans'
 - title: Developer champions
+  icon: nr-developer-champions
   url: '/developer-champion'
 - title: New Relic Builders
+  icon: nr-builders
   url: '/builders'
 - title: Podcasts
+  icon: nr-podcasts
   url: '/podcasts'

From 2c6750b181cf9430eda0db0f6edd444a7341df9a Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:47:10 -0800
Subject: [PATCH 13/40] chore: remove old nav components

---
 src/components/Navigation.js               |  64 ------
 src/components/Navigation.module.scss      |   9 -
 src/components/NavigationItems.js          | 245 ---------------------
 src/components/NavigationItems.module.scss |  87 --------
 src/utils/matchSearchString.js             |   8 -
 5 files changed, 413 deletions(-)
 delete mode 100644 src/components/Navigation.js
 delete mode 100644 src/components/Navigation.module.scss
 delete mode 100644 src/components/NavigationItems.js
 delete mode 100644 src/components/NavigationItems.module.scss
 delete mode 100644 src/utils/matchSearchString.js

diff --git a/src/components/Navigation.js b/src/components/Navigation.js
deleted file mode 100644
index f320092fc..000000000
--- a/src/components/Navigation.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import cx from 'classnames';
-import NavigationItems from './NavigationItems';
-import pages from '../data/sidenav.json';
-import matchSearchString from '../utils/matchSearchString';
-import styles from './Navigation.module.scss';
-
-const filterPageNames = (pages, searchTerm, parent = []) => {
-  return [
-    ...new Set(
-      pages.flatMap((page) => {
-        if (page.children) {
-          return filterPageNames(page.children, searchTerm, [
-            ...parent,
-            page.displayName,
-          ]);
-        } else if (matchSearchString(page.displayName, searchTerm)) {
-          return [...parent, page.displayName];
-        } else if (parent.some((el) => matchSearchString(el, searchTerm))) {
-          return [...parent];
-        }
-
-        return null;
-      })
-    ),
-  ].filter(Boolean);
-};
-
-const Navigation = ({ className, searchTerm }) => {
-  const searchTermSanitized = searchTerm?.replace(
-    /[.*+?^${}()|[\]\\]/g,
-    '\\$&'
-  );
-
-  const filteredPageNames = searchTerm
-    ? filterPageNames(pages, searchTermSanitized)
-    : undefined;
-
-  if (filteredPageNames?.length === 0) {
-    return <div className={styles.emptyResults}>No results found</div>;
-  }
-
-  return (
-    <nav
-      className={cx(styles.container, className)}
-      role="navigation"
-      aria-label="Navigation"
-    >
-      <NavigationItems
-        searchTerm={searchTermSanitized}
-        pages={pages}
-        filteredPageNames={filteredPageNames}
-      />
-    </nav>
-  );
-};
-
-Navigation.propTypes = {
-  className: PropTypes.string,
-  searchTerm: PropTypes.string,
-};
-
-export default Navigation;
diff --git a/src/components/Navigation.module.scss b/src/components/Navigation.module.scss
deleted file mode 100644
index 025eb98eb..000000000
--- a/src/components/Navigation.module.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-.container {
-  font-size: 0.875rem;
-}
-
-.emptyResults {
-  font-size: 0.875rem;
-  padding-top: 1rem;
-  font-style: italic;
-}
diff --git a/src/components/NavigationItems.js b/src/components/NavigationItems.js
deleted file mode 100644
index 0e4222f08..000000000
--- a/src/components/NavigationItems.js
+++ /dev/null
@@ -1,245 +0,0 @@
-import React, { Fragment, useState, useContext, useEffect } from 'react';
-import { css } from '@emotion/core';
-import usePrevious from '../hooks/usePrevious';
-import PropTypes from 'prop-types';
-import FeatherIcon from './FeatherIcon';
-import NewRelicIcon from './NewRelicIcon';
-import { Link } from 'gatsby';
-import cx from 'classnames';
-import { BreadcrumbContext } from './BreadcrumbContext';
-import styles from './NavigationItems.module.scss';
-import { link } from '../types';
-import { useLocation, useMatch } from '@reach/router';
-import { Icon } from '@newrelic/gatsby-theme-newrelic';
-
-const iconLibrary = {
-  'Collect data': 'collectData',
-  'Build apps': 'buildApps',
-  'Automate workflows': 'automation',
-  'Explore docs': 'developerDocs',
-  'Developer events': 'event',
-  'Developer champions': 'developerChampions',
-  'The Relicans': 'theRelicans',
-  'New Relic Builders': 'builders',
-  Podcasts: 'podcasts',
-  'Try our APIs': 'tryOurAPIs',
-};
-
-const getHighlightedText = (text, highlight) => {
-  const parts = text.split(new RegExp(`(${highlight})`, 'gi'));
-  return (
-    <span>
-      {parts.map((part) =>
-        part.toLowerCase() === highlight.toLowerCase() ? <b>{part}</b> : part
-      )}
-    </span>
-  );
-};
-
-const isExternal = (url) => url.slice(0, 4) === 'http';
-
-const NavigationItems = ({
-  pages,
-  filteredPageNames,
-  searchTerm,
-  depthLevel = 0,
-}) => {
-  const groupedPages = pages.reduce((groups, page) => {
-    const { group = '' } = page;
-
-    return {
-      ...groups,
-      [group]: [...(groups[group] || []), page],
-    };
-  }, {});
-
-  return Object.entries(groupedPages).map(([group, pages]) => {
-    const showGroup =
-      (group && !filteredPageNames) ||
-      (group &&
-        filteredPageNames &&
-        pages.some((el) => filteredPageNames.includes(el.displayName)));
-
-    return (
-      <Fragment key={group}>
-        {showGroup && (
-          <li className={cx(styles.navLink, styles.groupName)}>{group}</li>
-        )}
-        {pages.map((page, index) =>
-          filteredPageNames?.includes(page.displayName) ||
-          !filteredPageNames ? (
-            <NavItem
-              page={page}
-              depthLevel={depthLevel}
-              searchTerm={searchTerm}
-              filteredPageNames={filteredPageNames}
-              key={index}
-            />
-          ) : null
-        )}
-      </Fragment>
-    );
-  });
-};
-
-const NavIcon = ({ page }) => {
-  if (page.displayName === 'Collect data') {
-    return (
-      <Icon
-        name="nr-tdp"
-        className={styles.headerIcon}
-        size="var(--icon-size)"
-      />
-    );
-  }
-
-  if (iconLibrary[page.displayName]) {
-    return (
-      <NewRelicIcon
-        className={styles.headerIcon}
-        name={iconLibrary[page.displayName]}
-        size="var(--icon-size)"
-      />
-    );
-  }
-
-  return null;
-};
-
-const NavItem = ({ page, depthLevel, searchTerm, filteredPageNames }) => {
-  const location = useLocation();
-  const crumbs = useContext(BreadcrumbContext).flatMap((x) => x.displayName);
-  const isBreadCrumb = crumbs.includes(page.displayName);
-  const matchesSearch = filteredPageNames?.includes(page.displayName);
-  const hasChangedPage = location.pathname !== usePrevious(location.pathname);
-  const [toggleIsExpanded, setToggleIsExpanded] = useState(isBreadCrumb);
-  const isExpanded = toggleIsExpanded || matchesSearch;
-
-  useEffect(() => {
-    if (hasChangedPage) {
-      setToggleIsExpanded(isBreadCrumb);
-    }
-  }, [hasChangedPage, isBreadCrumb]);
-
-  const isCurrentPage = Boolean(useMatch(page.url || '/'));
-
-  const isToggleable = [
-    'Component library',
-    'Explore docs',
-    'Try our APIs',
-    'New Relic One CLI',
-  ].includes(page.displayName);
-  const headerIcon = depthLevel === 0 && <NavIcon page={page} />;
-  const display = filteredPageNames
-    ? getHighlightedText(page.displayName, searchTerm)
-    : page.displayName;
-
-  return (
-    <>
-      <div
-        key={page.displayName}
-        data-depth={depthLevel}
-        className={cx({ [styles.filterOn]: filteredPageNames })}
-        css={css`
-          --icon-size: 1.5rem;
-
-          padding-left: ${depthLevel === 0
-            ? '0'
-            : 'calc(0.5rem + var(--icon-size))'};
-
-          ${depthLevel === 0 &&
-          css`
-            &:not(:first-child) {
-              margin-top: 1rem;
-            }
-          `}
-        `}
-      >
-        {page.url ? (
-          <Link
-            onClick={
-              isToggleable && isCurrentPage
-                ? () => setToggleIsExpanded(!toggleIsExpanded)
-                : null
-            }
-            className={cx(styles.navLink, {
-              [styles.isCurrentPage]: isCurrentPage,
-            })}
-            to={page.url}
-          >
-            <span className={styles.navLinkText}>
-              {headerIcon}
-              {display}
-            </span>
-            {page.children && (
-              <FeatherIcon
-                size="1rem"
-                className={cx(
-                  { [styles.isExpanded]: isExpanded },
-                  styles.nestedChevron
-                )}
-                name="chevron-right"
-              />
-            )}
-            {isExternal(page.url) && <FeatherIcon name="external-link" />}
-          </Link>
-        ) : (
-          <div
-            role="button"
-            css={css`
-              cursor: pointer;
-            `}
-            className={styles.navLink}
-            onClick={() => setToggleIsExpanded(!toggleIsExpanded)}
-            onKeyPress={() => setToggleIsExpanded(!toggleIsExpanded)}
-            tabIndex={0}
-          >
-            <span className={styles.navLinkText}>
-              {headerIcon}
-              {display}
-            </span>
-            <FeatherIcon
-              size="1rem"
-              className={cx(
-                { [styles.isExpanded]: isExpanded },
-                styles.nestedChevron
-              )}
-              name="chevron-right"
-            />
-          </div>
-        )}
-
-        {page.children && isExpanded && (
-          <NavigationItems
-            pages={page.children}
-            filteredPageNames={filteredPageNames}
-            depthLevel={depthLevel + 1}
-            searchTerm={searchTerm}
-          />
-        )}
-      </div>
-    </>
-  );
-};
-
-NavIcon.propTypes = {
-  page: PropTypes.shape({
-    displayName: PropTypes.string.isRequired,
-  }),
-};
-
-NavigationItems.propTypes = {
-  pages: PropTypes.array.isRequired,
-  filteredPageNames: PropTypes.array,
-  searchTerm: PropTypes.string,
-  depthLevel: PropTypes.number,
-};
-
-NavItem.propTypes = {
-  page: link,
-  filteredPageNames: PropTypes.array,
-  searchTerm: PropTypes.string,
-  depthLevel: PropTypes.number.isRequired,
-};
-
-export default NavigationItems;
diff --git a/src/components/NavigationItems.module.scss b/src/components/NavigationItems.module.scss
deleted file mode 100644
index d47d8040f..000000000
--- a/src/components/NavigationItems.module.scss
+++ /dev/null
@@ -1,87 +0,0 @@
-.navLink {
-  color: var(--primary-text-color);
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  text-decoration: none;
-  transition: 0.2s ease-out;
-  padding: 0.5rem;
-  margin: 0 -0.5rem;
-  margin-left: calc((0.5rem + var(--icon-size)) * -1);
-  border-radius: 0.25rem;
-  padding-left: calc(0.5rem + var(--icon-size));
-
-  &:hover {
-    color: var(--primary-text-hover-color);
-  }
-
-  [data-depth='0'] > & {
-    padding-left: 0.5rem;
-    margin-left: -0.5rem;
-    font-weight: bold;
-  }
-}
-
-.headerIcon {
-  margin-right: 0.5rem;
-}
-
-button.navLink {
-  color: var(--primary-text-color);
-  background: inherit;
-  border: none;
-  font-size: inherit;
-  font-weight: inherit;
-
-  &:focus {
-    outline: none;
-  }
-}
-
-.navLinkText {
-  display: flex;
-  align-items: center;
-}
-
-.currentPageIndicator {
-  stroke-width: 4;
-
-  @media (max-width: 760px) {
-    display: none;
-  }
-}
-
-.nestedChevron {
-  stroke-width: 2;
-  transition: 0.2s;
-
-  &.isExpanded {
-    transform: rotate(90deg);
-  }
-}
-
-.groupName {
-  color: var(--secondary-text-color);
-  font-weight: bold;
-  font-size: 0.75rem;
-  text-transform: uppercase;
-
-  &:not(:first-child) {
-    margin-top: 2rem;
-  }
-}
-
-.isCurrentPage {
-  background: var(--color-neutrals-100);
-
-  :global(.dark-mode) & {
-    color: var(--primary-text-hover-color);
-    background: var(--color-dark-100);
-  }
-}
-
-.filterOn {
-  .groupName {
-    margin-top: 0.5rem;
-  }
-}
diff --git a/src/utils/matchSearchString.js b/src/utils/matchSearchString.js
deleted file mode 100644
index bd3063610..000000000
--- a/src/utils/matchSearchString.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const matchSearchString = (str, searchTerm) => {
-  return new RegExp(
-    searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'),
-    'i'
-  ).test(str);
-};
-
-export default matchSearchString;

From 9273dea78c46f52802176613359175474ff21e10 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:47:42 -0800
Subject: [PATCH 14/40] chore: remove unused breadcrumb bar component

---
 src/components/BreadcrumbBar.js           | 29 ----------------
 src/components/BreadcrumbBar.module.scss  | 40 -----------------------
 src/components/__tests__/BreadcrumbBar.js | 38 ---------------------
 3 files changed, 107 deletions(-)
 delete mode 100644 src/components/BreadcrumbBar.js
 delete mode 100644 src/components/BreadcrumbBar.module.scss
 delete mode 100644 src/components/__tests__/BreadcrumbBar.js

diff --git a/src/components/BreadcrumbBar.js b/src/components/BreadcrumbBar.js
deleted file mode 100644
index 65f43df95..000000000
--- a/src/components/BreadcrumbBar.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import React from 'react';
-import { Link } from 'gatsby';
-import styles from './BreadcrumbBar.module.scss';
-import PropTypes from 'prop-types';
-import { link } from '../types';
-
-const BreadcrumbBar = ({ crumbs, duration }) => (
-  <div className={styles.breadcrumbBar}>
-    <ul className={styles.crumbs}>
-      {crumbs.map((crumb, index) => (
-        <li key={index}>
-          {crumb.url ? (
-            <Link to={crumb.url}>{crumb.displayName}</Link>
-          ) : (
-            <span>{crumb.displayName}</span>
-          )}
-        </li>
-      ))}
-    </ul>
-    {duration && <div className={styles.duration}>{duration}</div>}
-  </div>
-);
-
-BreadcrumbBar.propTypes = {
-  crumbs: PropTypes.arrayOf(link),
-  duration: PropTypes.string,
-};
-
-export default BreadcrumbBar;
diff --git a/src/components/BreadcrumbBar.module.scss b/src/components/BreadcrumbBar.module.scss
deleted file mode 100644
index 04a696b72..000000000
--- a/src/components/BreadcrumbBar.module.scss
+++ /dev/null
@@ -1,40 +0,0 @@
-.breadcrumbBar {
-  padding: 1rem 0;
-  font-size: 0.9rem;
-  width: 100%;
-}
-
-.container {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.crumbs {
-  display: flex;
-  list-style: none;
-  margin: 0;
-  padding: 0;
-
-  a,
-  span {
-    color: var(--color-black);
-    text-decoration: none;
-  }
-
-  li:last-child > span {
-    font-weight: 600;
-  }
-
-  li:not(:last-child):after {
-    content: '';
-    display: inline-block;
-    width: 0.9rem;
-    height: 0.9rem;
-    margin: 0 1rem;
-    vertical-align: middle;
-    background-image: url('../images/chevron-right.svg');
-    background-repeat: no-repeat;
-    background-position: center center;
-  }
-}
diff --git a/src/components/__tests__/BreadcrumbBar.js b/src/components/__tests__/BreadcrumbBar.js
deleted file mode 100644
index 2ad2f0370..000000000
--- a/src/components/__tests__/BreadcrumbBar.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import React from 'react';
-import { render } from '@testing-library/react';
-
-import BreadcrumbBar from '../BreadcrumbBar';
-
-const crumbs = [
-  { displayName: 'Food', url: '/food' },
-  { displayName: 'Mexican' },
-  { displayName: 'Tacos' },
-];
-
-describe('BreadcrumbBar', () => {
-  it('renders a list of breadcrumbs', () => {
-    const { getByText } = render(<BreadcrumbBar crumbs={crumbs} />);
-    const crumb1 = getByText('Food');
-    const crumb2 = getByText('Mexican');
-    const crumb3 = getByText('Tacos');
-
-    expect(crumb1).toBeTruthy();
-    expect(crumb2).toBeTruthy();
-    expect(crumb3).toBeTruthy();
-  });
-
-  it('render crumbs with urls as links', () => {
-    const { getByText } = render(<BreadcrumbBar crumbs={crumbs} />);
-    const crumb1 = getByText('Food');
-    const expected = `${window.location.href}food`;
-
-    expect(crumb1.href).toEqual(expected);
-  });
-
-  it('render crumbs without urls as spans', () => {
-    const { getByText } = render(<BreadcrumbBar crumbs={crumbs} />);
-    const crumb2 = getByText('Mexican');
-
-    expect(crumb2.href).toBeFalsy();
-  });
-});

From 4928d7324a42da20fd48550cdf12b32c5eeca3e3 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:50:46 -0800
Subject: [PATCH 15/40] chore: update homepage to use Icon instead of
 NewRelicIcon

---
 src/pages/index.js | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/pages/index.js b/src/pages/index.js
index bad5f431f..7555e5f89 100644
--- a/src/pages/index.js
+++ b/src/pages/index.js
@@ -11,7 +11,6 @@ import GuideTile from '../components/GuideTile/GuideTile';
 import PageLayout from '../components/PageLayout';
 import FeatherIcon from '../components/FeatherIcon';
 import FeaturedGuideTile from '../components/FeaturedGuideTile';
-import NewRelicIcon from '../components/NewRelicIcon';
 import { PageContext } from '../components/PageContext';
 import { pageContext } from '../types';
 import styles from './index.module.scss';
@@ -33,14 +32,14 @@ const getStartedGuides = [
     title: 'Add tags to apps',
     description: `Add tags to applications you instrument for easier filtering and organization`,
     url: '/automate-workflows/5-mins-tag-resources',
-    icon: <NewRelicIcon name="automation" />,
+    icon: <Icon name="nr-automation" />,
   },
   {
     duration: '12 min',
     title: 'Build a Hello, World! app',
     description: `Build a Hello, World! app and publish it to your local New Relic One Catalog`,
     url: '/build-apps/build-hello-world-app',
-    icon: <NewRelicIcon name="buildApps" />,
+    icon: <Icon name="nr-build-apps" />,
   },
 ];
 

From 5dff16bf985fdcda58f6db425778c6bab9ab560c Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:51:20 -0800
Subject: [PATCH 16/40] chore: remove old NR icon component

---
 src/components/NewRelicIcon.js          | 118 ------------------------
 src/components/NewRelicIcon.module.scss |   7 --
 2 files changed, 125 deletions(-)
 delete mode 100644 src/components/NewRelicIcon.js
 delete mode 100644 src/components/NewRelicIcon.module.scss

diff --git a/src/components/NewRelicIcon.js b/src/components/NewRelicIcon.js
deleted file mode 100644
index 0c1a4b358..000000000
--- a/src/components/NewRelicIcon.js
+++ /dev/null
@@ -1,118 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import cx from 'classnames';
-import styles from './NewRelicIcon.module.scss';
-
-const NewRelicIcon = ({ className, name, size = '1em' }) => {
-  const paths = NEWRELIC_ICONS[name];
-
-  return paths ? (
-    <svg
-      xmlns="http://www.w3.org/2000/svg"
-      viewBox="0 0 24 24"
-      className={cx(styles.icon, className)}
-      style={{ width: size, height: size }}
-    >
-      {paths}
-    </svg>
-  ) : null;
-};
-
-const NEWRELIC_ICONS = {
-  automation: (
-    <>
-      <g>
-        <path
-          d="M14.6,14.3l1.4-0.8l-1.9-3.3l-1.4,0.8c-0.7-0.6-1.5-1.1-2.4-1.4V7.9H6.4v1.6C5.5,9.8,4.7,10.3,4,10.9l-1.4-0.8
-		l-1.9,3.3L2,14.3c-0.2,1-0.2,1.8,0,2.8l-1.4,0.8l1.9,3.3L4,20.4c0.7,0.6,1.5,1.1,2.4,1.4v1.6h3.9v-1.6c0.9-0.3,1.7-0.8,2.4-1.4
-		l1.4,0.8l1.9-3.3l-1.4-0.8C14.8,16.1,14.8,15.2,14.6,14.3z"
-        />
-        <circle cx="8.3" cy="15.7" r="2.6" />
-      </g>
-      <g>
-        <path
-          d="M22.7,4.2l0.8-0.5l-1.2-2l-0.8,0.5c-0.4-0.4-0.9-0.7-1.5-0.8v-1h-2.3v1c-0.5,0.2-1,0.5-1.5,0.8l-0.8-0.5
-		l-1.2,2l0.8,0.5c-0.1,0.6-0.1,1.1,0,1.7l-0.8,0.5l1.2,2l0.8-0.5c0.4,0.4,0.9,0.7,1.5,0.8v1h2.3v-1c0.5-0.2,1-0.5,1.5-0.8l0.8,0.5
-		l1.2-2l-0.8-0.5C22.9,5.3,22.9,4.8,22.7,4.2z"
-        />
-        <circle cx="18.9" cy="5.1" r="1.6" />
-      </g>
-    </>
-  ),
-  buildApps: (
-    <>
-      <rect x="14" y="1" width="9" height="9" />
-      <rect x="14" y="14" width="9" height="9" />
-      <rect x="1" y="14" width="9" height="9" />
-      <rect x="1" y="1" width="9" height="9" />
-    </>
-  ),
-  collectData: (
-    <>
-      <path d="M15.799 16.5h2.396c0 0 4.305-.561 4.305-4.783 0-2.675-2.209-4.874-4.955-4.773 -1.073-2.266-3.373-3.835-6.045-3.835 -3.563 0-6.468 2.784-6.676 6.294 -2.232-.467-4.324 1.232-4.324 3.509 0 3.645 3.826 3.588 3.826 3.588h2.863" />
-      <line x1="11.5" x2="11.5" y1="11" y2="22" />
-      <polyline points="14.5,14 11.5,11 8.5,14" />
-    </>
-  ),
-  tryOurAPIs: (
-    <>
-      <circle cx="18" cy="5" r="3" />
-      <circle cx="6" cy="12" r="3" />
-      <circle cx="18" cy="19" r="3" />
-      <line x1="8.59" y1="13.51" x2="15.42" y2="17.49" />
-      <line x1="15.41" y1="6.51" x2="8.59" y2="10.49" />
-    </>
-  ),
-  developerDocs: (
-    <>
-      <path d="M16.5 2.5c0 0-1.893 0-2 0 -2 0-3 1.5-3 3.5 0-2-1-3.5-3-3.5 -.5 0-8 0-8 0v16c0 0 6.5 0 8 0 2 0 3 1 3 3 0-2 1-3 3-3 1.5 0 8 0 8 0v-16h-2" />
-      <line x1="11.5" x2="11.5" y1="6" y2="21" />
-      <polygon points="20.5,10 18.5,8 16.5,10 16.5,1.5 20.5,1.5" />
-    </>
-  ),
-  developerChampions: (
-    <>
-      <path d="M5.37,15.76c-0.24,0.04-0.48,0.09-0.7,0.14c1.07,2.85,3.18,5.75,7.32,8.1v-0.76 C8.34,21.07,6.39,18.47,5.37,15.76z" />
-      <path d="M4.33,10.15C4.31,9.7,4.3,9.25,4.3,8.81V3.63c0.66-0.1,1.64-0.23,2.29-0.4l3.46-1.48 c0.02-0.01,0.04-0.02,0.06-0.03c0.61-0.28,1.29-0.6,1.88-0.94V0c-0.76,0.51-1.8,0.96-2.64,1.35l-2.04,1 C6.22,2.69,4.76,2.93,3.59,3.08v5.73c0,0.49,0.01,1,0.03,1.54C3.84,10.28,4.08,10.21,4.33,10.15z" />
-      <path d="M7.36,5.12" />
-      <path d="M13.88,1.72c0.02,0.01,0.04,0.02,0.06,0.03l3.46,1.48c0.64,0.16,1.63,0.3,2.29,0.4v5.18 c0,0.44-0.01,0.89-0.03,1.34c0.25,0.06,0.49,0.13,0.71,0.19c0.02-0.54,0.03-1.05,0.03-1.54V3.08c-1.17-0.14-2.63-0.39-3.71-0.72 l-2.04-1C13.81,0.96,12.76,0.51,12,0l-0.12,0.4L12,0.78C12.6,1.12,13.27,1.44,13.88,1.72z" />
-      <path d="M18.62,15.76c-1.02,2.71-2.97,5.31-6.61,7.47l-0.12,0.33L12,24c4.14-2.35,6.25-5.25,7.32-8.1 C19.1,15.85,18.86,15.81,18.62,15.76z" />
-      <path d="M20.94,9.98C19.1,9.32,15.67,8.9,11.98,8.9v0.51H12c3.52,0,6.92,0.41,8.65,1.03c0.72,0.26,1.05,0.74,1.05,1.55 v4.78c-1.19-0.88-5.09-1.53-9.71-1.53v0.51c3.51,0,8.9,0.82,8.9,1.83c0,0.52-1.81,1-3.59,1.33c-0.06,0.11-0.13,0.22-0.19,0.33 c2.7-0.38,5.16-1.03,5.16-1.75v-5.59C22.26,10.94,21.83,10.3,20.94,9.98z" />
-      <path d="M8.05,11.15" />
-      <path d="M3.06,9.98C4.89,9.32,8.3,8.9,11.98,8.9v0.51h-0.01c-3.51,0-6.89,0.41-8.62,1.03C2.62,10.71,2.3,11.19,2.3,12 v4.78c1.19-0.88,5.07-1.53,9.68-1.53v0.51c-3.5,0-8.87,0.82-8.87,1.83c0,0.52,1.81,1,3.58,1.33c0.06,0.11,0.13,0.22,0.19,0.33 c-2.69-0.38-5.15-1.03-5.15-1.75v-5.59C1.74,10.94,2.17,10.3,3.06,9.98z" />
-      <path d="M750.7,362.2" />
-    </>
-  ),
-  theRelicans: (
-    <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" />
-  ),
-  podcasts: (
-    <>
-      <path d="M12,3.179c-4.85,0-8.782,4.099-8.782,9.153c0,2.589,1.031,4.927,2.689,6.593 c0.063,0.062,0.162-0.023,0.107-0.094c-1.2-1.568-1.926-3.611-1.926-5.846c0-4.938,3.542-8.15,7.911-8.15 c4.37,0,7.911,3.213,7.911,8.15c0,2.235-0.727,4.278-1.926,5.846c-0.055,0.07,0.044,0.156,0.107,0.094 c1.658-1.666,2.689-4.004,2.689-6.593C20.781,7.278,16.85,3.179,12,3.179z" />
-      <path d="M7.098,12.49c-0.086-0.209-0.312-0.323-0.531-0.27L5.28,12.536c-0.281,0.068-0.428,0.378-0.304,0.64 l3.36,7.078c0.125,0.262,0.458,0.344,0.689,0.168l0.748-0.568c0.165-0.125,0.225-0.346,0.146-0.537L7.098,12.49z" />
-      <path d="M4.696,13.119c-0.061-0.126-0.217-0.174-0.338-0.102H4.357c-0.057,0.033-0.092,0.096-0.09,0.162 c0.023,1.211,0.269,2.396,0.712,3.482l0.526,1.082c0.195,0.342,0.412,0.67,0.649,0.98c0.058,0.076,0.068,0.174,0.027,0.258 c0,0.002,0,0.002,0,0.002c-0.023,0.045-0.025,0.098-0.003,0.143l0.454,0.934c0.021,0.045,0.057,0.082,0.101,0.105l1.154,0.625 c0.068,0.037,0.151,0.039,0.221,0.004l0.015-0.008c0.117-0.059,0.165-0.199,0.108-0.316L4.696,13.119z" />
-      <path d="M18.719,12.536l-1.287-0.315c-0.219-0.054-0.445,0.061-0.531,0.27l-2.82,6.827 c-0.079,0.191-0.02,0.412,0.146,0.537l0.748,0.568c0.23,0.176,0.564,0.094,0.688-0.168l3.36-7.078 C19.147,12.914,19,12.604,18.719,12.536z" />
-      <path d="M18.494,17.746l0.527-1.084c0.442-1.086,0.688-2.271,0.711-3.482c0.001-0.066-0.033-0.129-0.09-0.162 h-0.002c-0.121-0.073-0.277-0.025-0.338,0.102l-3.535,7.352c-0.057,0.117-0.008,0.258,0.109,0.316l0.015,0.008 c0.069,0.035,0.152,0.033,0.222-0.004l1.153-0.625c0.044-0.023,0.079-0.061,0.101-0.105l0.455-0.934 c0.021-0.045,0.019-0.098-0.004-0.143c0,0,0,0,0-0.002c-0.042-0.084-0.031-0.182,0.026-0.258 C18.082,18.414,18.299,18.088,18.494,17.746z" />
-    </>
-  ),
-  builders: (
-    <path
-      d="M12.7,5.3c-0.38,0.39-0.38,1.01,0,1.4l1.6,1.6c0.39,0.38,1.01,0.38,1.4,0l3.77-3.77
-	c1.37,3.02,0.03,6.57-2.99,7.94c-1.57,0.71-3.37,0.71-4.95,0l-6.91,6.91c-0.83,0.83-2.17,0.83-3,0s-0.83-2.17,0-3l6.91-6.91
-	C7.17,6.45,8.51,2.9,11.52,1.53c1.57-0.71,3.37-0.71,4.95,0L12.7,5.3L12.7,5.3z"
-    />
-  ),
-  event: (
-    <>
-      <polygon points="3 11 22 2 13 21 11 13 3 11" />
-    </>
-  ),
-};
-
-NewRelicIcon.propTypes = {
-  className: PropTypes.string,
-  name: PropTypes.oneOf(Object.keys(NEWRELIC_ICONS)).isRequired,
-  size: PropTypes.string,
-};
-
-export default NewRelicIcon;
diff --git a/src/components/NewRelicIcon.module.scss b/src/components/NewRelicIcon.module.scss
deleted file mode 100644
index 6c6f7e56f..000000000
--- a/src/components/NewRelicIcon.module.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-.icon {
-  fill: none;
-  stroke: currentColor;
-  stroke-width: 1.5;
-  stroke-linecap: round;
-  stroke-linejoin: round;
-}

From 52f772fc78a43a50b8813d8eac3e858b5ebae4f2 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Wed, 3 Mar 2021 20:59:30 -0800
Subject: [PATCH 17/40] chore: update contributing doc to use nav.yml

---
 CONTRIBUTING.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6a79d90c3..f20c5edbc 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -265,7 +265,7 @@ When a new guide is added or an existing guide path frontmatter slug is changed
 
 1. Make your guide change and submit a PR.
 2. Within that PR also make the navigation change.
-3. In order to change navigation you will need to update the [sidenav.json](/src/data/sidenav.json) file.
+3. In order to change navigation you will need to update the [nav.yml](/src/data/nav.yml) file.
 4. Given the side navigation file is JSON, be sure to close all `[ ]` and `{ }` and use trailing `,` correctly.
 5. Navigation `displayName` should always be sentence case.
 6. Submit your PR and add the `navigation` label.
@@ -410,5 +410,5 @@ as that will contain only 3rd party SDK documentation.
 ### Step 3: Add any new APIs or components to the navigation
 
 If there are new APIs or components, we will want to list them in the navigation
-so that a user can easily discover them. [Add an entry to `sidenav.json`](https://github.com/newrelic/developer-website/blob/develop/src/data/sidenav.json)
+so that a user can easily discover them. [Add an entry to `nav.yml`](https://github.com/newrelic/developer-website/blob/develop/src/data/nav.yml)
 to get the new API/component in the nav.

From d43954bf58d14c62aaae3f5df8d86aca2d1a0c56 Mon Sep 17 00:00:00 2001
From: David Carrington <david.carrington@gmail.com>
Date: Thu, 4 Mar 2021 17:24:07 +0000
Subject: [PATCH 18/40] Correct Ali's LinkedIn URL

---
 src/data/relicansData.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/data/relicansData.js b/src/data/relicansData.js
index d5f8f39f1..f207ea086 100644
--- a/src/data/relicansData.js
+++ b/src/data/relicansData.js
@@ -112,7 +112,7 @@ export const teamMembers = [
       },
       {
         name: 'linkedin',
-        url: 'https://linkedin.com/in/alifinkelsteina',
+        url: 'https://linkedin.com/in/alifinkelstein',
       },
     ],
   },

From cf6069b0412831f7be9322b6e2a0dadf49768b84 Mon Sep 17 00:00:00 2001
From: Zack Stickles <zstickles@newrelic.com>
Date: Fri, 5 Mar 2021 13:31:05 -0800
Subject: [PATCH 19/40] chore: update NR browser to new account

---
 gatsby-config.js | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/gatsby-config.js b/gatsby-config.js
index 304661e9d..b8c102c0c 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -81,23 +81,23 @@ module.exports = {
           configs: {
             production: {
               instrumentationType: 'proAndSPA',
-              accountId: '10175106',
+              accountId: '10956800',
               trustKey: '1',
-              agentID: '22273498',
-              licenseKey: '23448da482',
-              applicationID: '22273498',
-              beacon: 'staging-bam.nr-data.net',
-              errorBeacon: 'staging-bam.nr-data.net',
+              agentID: '30712246',
+              licenseKey: '649173eb1a7b28cd6ab',
+              applicationID: '30712246',
+              beacon: 'staging-bam-cell.nr-data.net',
+              errorBeacon: 'staging-bam-cell.nr-data.net',
             },
             staging: {
               instrumentationType: 'proAndSPA',
-              accountId: '10175106',
+              accountId: '10956800',
               trustKey: '1',
-              agentID: '22273531',
-              licenseKey: '23448da482',
-              applicationID: '22273531',
-              beacon: 'staging-bam.nr-data.net',
-              errorBeacon: 'staging-bam.nr-data.net',
+              agentID: '30712246',
+              licenseKey: '649173eb1a7b28cd6ab',
+              applicationID: '30712246',
+              beacon: 'staging-bam-cell.nr-data.net',
+              errorBeacon: 'staging-bam-cell.nr-data.net',
             },
           },
         },

From 955d0349cf497731101b1c462c7217843230e3a6 Mon Sep 17 00:00:00 2001
From: Zack Stickles <zstickles@newrelic.com>
Date: Fri, 5 Mar 2021 15:03:50 -0800
Subject: [PATCH 20/40] chore: update licenseKey format

---
 gatsby-config.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gatsby-config.js b/gatsby-config.js
index b8c102c0c..57e314d33 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -84,7 +84,7 @@ module.exports = {
               accountId: '10956800',
               trustKey: '1',
               agentID: '30712246',
-              licenseKey: '649173eb1a7b28cd6ab',
+              licenseKey: 'NRJS-649173eb1a7b28cd6ab',
               applicationID: '30712246',
               beacon: 'staging-bam-cell.nr-data.net',
               errorBeacon: 'staging-bam-cell.nr-data.net',
@@ -94,7 +94,7 @@ module.exports = {
               accountId: '10956800',
               trustKey: '1',
               agentID: '30712246',
-              licenseKey: '649173eb1a7b28cd6ab',
+              licenseKey: 'NRJS-649173eb1a7b28cd6ab',
               applicationID: '30712246',
               beacon: 'staging-bam-cell.nr-data.net',
               errorBeacon: 'staging-bam-cell.nr-data.net',

From 5cc93120812efde1fdc2b5e154a9abe017e4641a Mon Sep 17 00:00:00 2001
From: John P Vajda <jvajda@newrelic.com>
Date: Fri, 5 Mar 2021 17:09:00 -0700
Subject: [PATCH 21/40] updated TF provider version to most current

---
 src/markdown-pages/automate-workflows/get-started-terraform.mdx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/markdown-pages/automate-workflows/get-started-terraform.mdx b/src/markdown-pages/automate-workflows/get-started-terraform.mdx
index 9a64bcbd5..e30ec68f6 100644
--- a/src/markdown-pages/automate-workflows/get-started-terraform.mdx
+++ b/src/markdown-pages/automate-workflows/get-started-terraform.mdx
@@ -66,7 +66,7 @@ terraform {
   required_providers {
     newrelic = {
       source  = "newrelic/newrelic"
-      version = "~> 2.12"
+      version = "~> 2.21"
     }
   }
 }

From 315c79cd82caba71aea987ca0959f7da828408ef Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Fri, 5 Mar 2021 21:13:34 -0800
Subject: [PATCH 22/40] chore: upgrade to react 17

---
 package.json |  4 ++--
 yarn.lock    | 28 +++++++++++++++++-----------
 2 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/package.json b/package.json
index 421a78980..8c46149ec 100644
--- a/package.json
+++ b/package.json
@@ -37,8 +37,8 @@
     "prism-react-renderer": "^1.1.1",
     "prismjs": "^1.21.0",
     "prop-types": "^15.7.2",
-    "react": "^16.12.0",
-    "react-dom": "^16.12.0",
+    "react": "^17.0.1",
+    "react-dom": "^17.0.1",
     "react-helmet": "^6.1.0",
     "react-live": "^2.2.2",
     "react-markdown": "^5.0.3",
diff --git a/yarn.lock b/yarn.lock
index baa3d24b0..04bffc40d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -15548,15 +15548,14 @@ react-dev-utils@^4.2.3:
     strip-ansi "3.0.1"
     text-table "0.2.0"
 
-react-dom@^16.12.0:
-  version "16.13.1"
-  resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
-  integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
+react-dom@^17.0.1:
+  version "17.0.1"
+  resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6"
+  integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==
   dependencies:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
-    prop-types "^15.6.2"
-    scheduler "^0.19.1"
+    scheduler "^0.20.1"
 
 react-error-overlay@^3.0.0:
   version "3.0.0"
@@ -15758,14 +15757,13 @@ react-use@^15.3.3, react-use@^15.3.4:
     ts-easing "^0.2.0"
     tslib "^2.0.0"
 
-react@^16.12.0:
-  version "16.13.1"
-  resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
-  integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
+react@^17.0.1:
+  version "17.0.1"
+  resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
+  integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
   dependencies:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
-    prop-types "^15.6.2"
 
 read-chunk@^3.2.0:
   version "3.2.0"
@@ -16641,6 +16639,14 @@ scheduler@^0.19.1:
     loose-envify "^1.1.0"
     object-assign "^4.1.1"
 
+scheduler@^0.20.1:
+  version "0.20.1"
+  resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c"
+  integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw==
+  dependencies:
+    loose-envify "^1.1.0"
+    object-assign "^4.1.1"
+
 schema-utils@^0.4.5:
   version "0.4.7"
   resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"

From 166348eb24cc2979ecf6c8fb27221b028c41128a Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Fri, 5 Mar 2021 21:21:23 -0800
Subject: [PATCH 23/40] chore: update gatsby to latest v2 release

---
 package.json |   2 +-
 yarn.lock    | 938 ++++++++++++++++++++++++---------------------------
 2 files changed, 448 insertions(+), 492 deletions(-)

diff --git a/package.json b/package.json
index 8c46149ec..b2ad0d31c 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
     "classnames": "^2.2.6",
     "date-fns": "^2.16.1",
     "diff": "^4.0.2",
-    "gatsby": "^2.30.2",
+    "gatsby": "^2.32.9",
     "gatsby-image": "^2.4.20",
     "gatsby-plugin-emotion": "^4.3.14",
     "gatsby-plugin-manifest": "^2.4.35",
diff --git a/yarn.lock b/yarn.lock
index 04bffc40d..9a7465ab8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2971,11 +2971,26 @@
   resolved "https://registry.yarnpkg.com/@types/common-tags/-/common-tags-1.8.0.tgz#79d55e748d730b997be5b7fce4b74488d8b26a6b"
   integrity sha512-htRqZr5qn8EzMelhX/Xmx142z218lLyGaeZ3YR8jlze4TATRU9huKKvuBmAJEW4LCC4pnY1N6JAm6p85fMHjhg==
 
+"@types/component-emitter@^1.2.10":
+  version "1.2.10"
+  resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.10.tgz#ef5b1589b9f16544642e473db5ea5639107ef3ea"
+  integrity sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==
+
 "@types/configstore@^2.1.1":
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6"
   integrity sha1-zR6FU2M60xhcPy8jns/10mQ+krY=
 
+"@types/cookie@^0.4.0":
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.0.tgz#14f854c0f93d326e39da6e3b6f34f7d37513d108"
+  integrity sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==
+
+"@types/cors@^2.8.8":
+  version "2.8.10"
+  resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.10.tgz#61cc8469849e5bcdd0c7044122265c39cec10cf4"
+  integrity sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==
+
 "@types/debug@^0.0.30":
   version "0.0.30"
   resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.30.tgz#dc1e40f7af3b9c815013a7860e6252f6352a84df"
@@ -3042,11 +3057,6 @@
   dependencies:
     "@types/unist" "*"
 
-"@types/history@*":
-  version "4.7.8"
-  resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.8.tgz#49348387983075705fe8f4e02fb67f7daaec4934"
-  integrity sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA==
-
 "@types/hosted-git-info@^2.7.0":
   version "2.7.0"
   resolved "https://registry.yarnpkg.com/@types/hosted-git-info/-/hosted-git-info-2.7.0.tgz#5199b4df62d53f51d60520d61513eaa4b2dd3d3d"
@@ -3163,6 +3173,11 @@
   resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.0.tgz#30d2d09f623fe32cde9cb582c7a6eda2788ce4a8"
   integrity sha512-WE4IOAC6r/yBZss1oQGM5zs2D7RuKR6Q+w+X2SouPofnWn+LbCqClRyhO3ZE7Ix8nmFgo/oVuuE01cJT2XB13A==
 
+"@types/node@^14.14.10":
+  version "14.14.31"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055"
+  integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==
+
 "@types/node@^6.14.7":
   version "6.14.13"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-6.14.13.tgz#b6649578fc0b5dac88c4ef48a46cab33c50a6c72"
@@ -3203,12 +3218,11 @@
   resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
   integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
 
-"@types/reach__router@^1.3.6":
-  version "1.3.6"
-  resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.6.tgz#413417ce74caab331c70ce6a03a4c825188e4709"
-  integrity sha512-RHYataCUPQnt+GHoASyRLq6wmZ0n8jWlBW8Lxcwd30NN6vQfbmTeoSDfkgxO0S1lEzArp8OFDsq5KIs7FygjtA==
+"@types/reach__router@^1.3.7":
+  version "1.3.7"
+  resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.7.tgz#de8ab374259ae7f7499fc1373b9697a5f3cd6428"
+  integrity sha512-cyBEb8Ef3SJNH5NYEIDGPoMMmYUxROatuxbICusVRQIqZUB85UCt6R2Ok60tKS/TABJsJYaHyNTW3kqbpxlMjg==
   dependencies:
-    "@types/history" "*"
     "@types/react" "*"
 
 "@types/react-dom@*":
@@ -3626,11 +3640,6 @@ address@1.1.2:
   resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
   integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==
 
-after@0.8.2:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
-  integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
-
 agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
@@ -3961,11 +3970,6 @@ array.prototype.flatmap@^1.2.3:
     es-abstract "^1.17.0-next.1"
     function-bind "^1.1.1"
 
-arraybuffer.slice@~0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
-  integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==
-
 arrify@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -4115,17 +4119,10 @@ axe-core@^3.5.4:
   resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227"
   integrity sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==
 
-axios@^0.19.0:
-  version "0.19.2"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
-  integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
-  dependencies:
-    follow-redirects "1.5.10"
-
-axios@^0.20.0:
-  version "0.20.0"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.20.0.tgz#057ba30f04884694993a8cd07fa394cff11c50bd"
-  integrity sha512-ANA4rr2BDcmmAQLOKft2fufrtuvlqR+cXNNinUmvfeSNCOF98PZL+7M/v1zIdGo7OLjEA9J2gXJL+j4zGsl0bA==
+axios@^0.21.0, axios@^0.21.1:
+  version "0.21.1"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
+  integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
   dependencies:
     follow-redirects "^1.10.0"
 
@@ -4192,12 +4189,10 @@ babel-loader@^8.1.0:
     pify "^4.0.1"
     schema-utils "^2.6.5"
 
-babel-plugin-add-module-exports@^0.3.3:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.3.3.tgz#b9f7c0a93b989170dce07c3e97071a905a13fc29"
-  integrity sha512-hC37mm7aAdEb1n8SgggG8a1QuhZapsY/XLCi4ETSH6AVjXBCWEa50CXlOsAMPPWLnSx5Ns6mzz39uvuseh0Xjg==
-  optionalDependencies:
-    chokidar "^2.0.4"
+babel-plugin-add-module-exports@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz#6caa4ddbe1f578c6a5264d4d3e6c8a2720a7ca2b"
+  integrity sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==
 
 babel-plugin-apply-mdx-type-prop@1.6.21:
   version "1.6.21"
@@ -4275,7 +4270,7 @@ babel-plugin-jest-hoist@^26.0.0:
     "@babel/types" "^7.3.3"
     "@types/babel__traverse" "^7.0.6"
 
-babel-plugin-lodash@3.3.4:
+babel-plugin-lodash@^3.3.4:
   version "3.3.4"
   resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz#4f6844358a1340baed182adbeffa8df9967bc196"
   integrity sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==
@@ -4300,10 +4295,10 @@ babel-plugin-prismjs@^2.0.1:
   resolved "https://registry.yarnpkg.com/babel-plugin-prismjs/-/babel-plugin-prismjs-2.0.1.tgz#b56095f423926662259de8f5ee50a7afbcf0fd92"
   integrity sha512-GqQGa3xX3Z2ft97oDbGvEFoxD8nKqb3ZVszrOc5H7icnEUA56BIjVYm86hfZZA82uuHLwTIfCXbEKzKG1BzKzg==
 
-babel-plugin-remove-graphql-queries@^2.14.0:
-  version "2.14.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.14.0.tgz#d34dbc8aaa4eb2b6f11165c63bf3c226b283194b"
-  integrity sha512-7uc3CzyMZRuGVU69RZ/vJ4+jYeuyIbT9dTMjX2wu3QJ+TcRAaW3MJVxG5cN7YhCBv0S0/KIqXdh6BpSYswzUkw==
+babel-plugin-remove-graphql-queries@^2.16.1:
+  version "2.16.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.16.1.tgz#bacfcd87eabdfffe025072c11602a9586cd0285a"
+  integrity sha512-PkHJuRodMp4p617a/ZVhV8elBhRoFpOTpdu2DaApXJFIsDJWhjZ8d4BGbbFCT/yKJrhRDTdqg1r5AhWEaEUKkw==
 
 babel-plugin-syntax-jsx@^6.18.0:
   version "6.18.0"
@@ -4344,10 +4339,10 @@ babel-preset-current-node-syntax@^0.1.2:
     "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
 
-babel-preset-gatsby@^0.10.0:
-  version "0.10.0"
-  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.10.0.tgz#a7870e340f1125622cc70bd43a722982c587bdda"
-  integrity sha512-lcP5h4hUUUDRGTXvJfhDjY6NNSNeOagZlN1fW9HwBTk9ZnkExImDCclNdh88Bq7Wvygnmm/3CHcahCU8lcGMmA==
+babel-preset-gatsby@^0.11.0:
+  version "0.11.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.11.0.tgz#06e769ec8888dfa3bda17762def15dca3cc59bae"
+  integrity sha512-0kZ5KK02RKmnCab897XOP1xWcFthumcmI6Y3R0gFBv4w4qZR4fTLk/iIeNz24oQGaRXO0QprsssdVEVfDlewNw==
   dependencies:
     "@babel/plugin-proposal-class-properties" "^7.12.1"
     "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
@@ -4361,18 +4356,19 @@ babel-preset-gatsby@^0.10.0:
     babel-plugin-dynamic-import-node "^2.3.3"
     babel-plugin-macros "^2.8.0"
     babel-plugin-transform-react-remove-prop-types "^0.4.24"
-    gatsby-core-utils "^1.8.0"
-    gatsby-legacy-polyfills "^0.5.0"
+    gatsby-core-utils "^1.9.0"
+    gatsby-legacy-polyfills "^0.6.0"
 
-babel-preset-gatsby@^0.11.0:
-  version "0.11.0"
-  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.11.0.tgz#06e769ec8888dfa3bda17762def15dca3cc59bae"
-  integrity sha512-0kZ5KK02RKmnCab897XOP1xWcFthumcmI6Y3R0gFBv4w4qZR4fTLk/iIeNz24oQGaRXO0QprsssdVEVfDlewNw==
+babel-preset-gatsby@^0.12.2:
+  version "0.12.2"
+  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.12.2.tgz#784d41fd622afd50fbf8d9bcde0cdf48d5b78152"
+  integrity sha512-MQhUnp+DO9FFCdSyhXkLsNpuTxIkB02NnA9eOkV5HtJsRIhX85ZYw+pJeSTPl9d3QdEP/GyiQWPHigU6TAOyqg==
   dependencies:
     "@babel/plugin-proposal-class-properties" "^7.12.1"
     "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
     "@babel/plugin-proposal-optional-chaining" "^7.12.1"
     "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-transform-classes" "^7.12.1"
     "@babel/plugin-transform-runtime" "^7.12.1"
     "@babel/plugin-transform-spread" "^7.12.1"
     "@babel/preset-env" "^7.12.1"
@@ -4381,8 +4377,8 @@ babel-preset-gatsby@^0.11.0:
     babel-plugin-dynamic-import-node "^2.3.3"
     babel-plugin-macros "^2.8.0"
     babel-plugin-transform-react-remove-prop-types "^0.4.24"
-    gatsby-core-utils "^1.9.0"
-    gatsby-legacy-polyfills "^0.6.0"
+    gatsby-core-utils "^1.10.1"
+    gatsby-legacy-polyfills "^0.7.0"
 
 babel-preset-jest@^26.0.0:
   version "26.0.0"
@@ -4405,7 +4401,7 @@ babylon@^6.18.0:
   resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
   integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
 
-backo2@1.0.2, backo2@^1.0.2:
+backo2@^1.0.2, backo2@~1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
   integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
@@ -4425,17 +4421,12 @@ base64-arraybuffer@0.1.4:
   resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812"
   integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=
 
-base64-arraybuffer@0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
-  integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg=
-
 base64-js@^1.0.2:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
   integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
 
-base64id@2.0.0:
+base64id@2.0.0, base64id@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
   integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
@@ -4465,13 +4456,6 @@ bcrypt-pbkdf@^1.0.0, bcrypt-pbkdf@^1.0.2:
   dependencies:
     tweetnacl "^0.14.3"
 
-better-assert@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
-  integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=
-  dependencies:
-    callsite "1.0.0"
-
 better-opn@^2.0.0:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6"
@@ -4572,11 +4556,6 @@ bl@^1.0.0, bl@^4.0.0, bl@^4.0.1, bl@^4.0.3:
     inherits "^2.0.4"
     readable-stream "^3.4.0"
 
-blob@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683"
-  integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==
-
 block-stream@*:
   version "0.0.9"
   resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
@@ -4882,11 +4861,6 @@ bufferutil@^4.0.1:
   dependencies:
     node-gyp-build "~3.7.0"
 
-builtin-modules@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
-  integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
-
 builtin-status-codes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
@@ -5037,11 +5011,6 @@ caller-path@^2.0.0:
   dependencies:
     caller-callsite "^2.0.0"
 
-callsite@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
-  integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
-
 callsites@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
@@ -5304,7 +5273,7 @@ child-process@^1.0.2:
   resolved "https://registry.yarnpkg.com/child-process/-/child-process-1.0.2.tgz#98974dc7ed1ee4c6229f8e305fa7313a6885a7f2"
   integrity sha1-mJdNx+0e5MYin44wX6cxOmiFp/I=
 
-chokidar@^2.0.4, chokidar@^2.1.8:
+chokidar@^2.1.8:
   version "2.1.8"
   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
   integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
@@ -5323,7 +5292,7 @@ chokidar@^2.0.4, chokidar@^2.1.8:
   optionalDependencies:
     fsevents "^1.2.7"
 
-chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.4.3:
+chokidar@^3.4.1, chokidar@^3.4.2:
   version "3.4.3"
   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b"
   integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==
@@ -5338,6 +5307,21 @@ chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.4.3:
   optionalDependencies:
     fsevents "~2.1.2"
 
+chokidar@^3.5.1:
+  version "3.5.1"
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
+  integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
+  dependencies:
+    anymatch "~3.1.1"
+    braces "~3.0.2"
+    glob-parent "~5.1.0"
+    is-binary-path "~2.1.0"
+    is-glob "~4.0.1"
+    normalize-path "~3.0.0"
+    readdirp "~3.5.0"
+  optionalDependencies:
+    fsevents "~2.3.1"
+
 chownr@^1.1.1, chownr@^1.1.2:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
@@ -5412,16 +5396,6 @@ cli-spinner@0.2.10:
   resolved "https://registry.yarnpkg.com/cli-spinner/-/cli-spinner-0.2.10.tgz#f7d617a36f5c47a7bc6353c697fc9338ff782a47"
   integrity sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==
 
-cli-table3@^0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202"
-  integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==
-  dependencies:
-    object-assign "^4.1.0"
-    string-width "^2.1.1"
-  optionalDependencies:
-    colors "^1.1.2"
-
 cli-width@^2.0.0:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
@@ -5571,11 +5545,6 @@ colorette@^1.2.0, colorette@^1.2.1:
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
   integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
 
-colors@^1.1.2:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
-  integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
-
 combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
   version "1.0.8"
   resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -5613,26 +5582,11 @@ compare-versions@^3.6.0:
   resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
   integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
 
-component-bind@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
-  integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=
-
-component-emitter@1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
-  integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
-
 component-emitter@^1.2.1, component-emitter@~1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
   integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
 
-component-inherit@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
-  integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=
-
 component-props@1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/component-props/-/component-props-1.1.1.tgz#f9b7df9b9927b6e6d97c9bd272aa867670f34944"
@@ -5758,23 +5712,24 @@ content-type@^1.0.4, content-type@~1.0.4:
   resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
   integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
 
-contentful-management@^5.26.3:
-  version "5.28.0"
-  resolved "https://registry.yarnpkg.com/contentful-management/-/contentful-management-5.28.0.tgz#f3b58d60400d66e42439bbd9085cecb0e486f0bb"
-  integrity sha512-o+qihN3zrD6+/BT/e8n26jl/zQvmV6+9S6NY5QDmzM+IaiSeCk6yvPMq74s+IZT9mOS54igl6qFTbeIpdJ9FDA==
+contentful-management@^7.5.1:
+  version "7.9.0"
+  resolved "https://registry.yarnpkg.com/contentful-management/-/contentful-management-7.9.0.tgz#161a55b91473332542abe3030d16f8bb0805edd4"
+  integrity sha512-9jXsX1QJrHFl2ao1j2pwHteW7vUe4/pus0Xm9GObMnyASeG1g9d/VCP6b4FoPek0Y8uEe1YjLGYxzM3YJha1kg==
   dependencies:
-    axios "^0.19.0"
-    contentful-sdk-core "^6.4.0"
-    lodash "^4.17.11"
-    type-fest "0.15.1"
+    axios "^0.21.0"
+    contentful-sdk-core "^6.7.0"
+    fast-copy "^2.1.0"
+    lodash.isplainobject "^4.0.6"
+    type-fest "0.20.2"
 
-contentful-sdk-core@^6.4.0:
-  version "6.4.6"
-  resolved "https://registry.yarnpkg.com/contentful-sdk-core/-/contentful-sdk-core-6.4.6.tgz#a94b1355afd292dfddb0cdc16b565980f9a03c47"
-  integrity sha512-6KVLeCdn1akqjGvVMUgMxQ3B+zNIYeq3MUlqWsSLLJozr++0ZYWU76XmHf4n5MPTMoX9RGbRSR8hJAaKcUNDFw==
+contentful-sdk-core@^6.7.0:
+  version "6.7.0"
+  resolved "https://registry.yarnpkg.com/contentful-sdk-core/-/contentful-sdk-core-6.7.0.tgz#c014f12d7a716548c248e905dd8e095a6dbf7a0f"
+  integrity sha512-+b8UXVE249Z6WzMLXvsu3CIvN/s5xXRZ9o+zY7zDdPkIYBMW15xcs9N2ATI6ncmc+s1uj4XZij/2skflletHiw==
   dependencies:
-    lodash "^4.17.10"
-    qs "^6.5.2"
+    fast-copy "^2.1.0"
+    qs "^6.9.4"
 
 convert-hrtime@^3.0.0:
   version "3.0.0"
@@ -5793,16 +5748,16 @@ cookie-signature@1.0.6:
   resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
   integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
 
-cookie@0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
-  integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
-
 cookie@0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
   integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
 
+cookie@~0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
+  integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
+
 copy-concurrently@^1.0.0:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
@@ -5881,7 +5836,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
   integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
 
-cors@^2.8.5:
+cors@^2.8.5, cors@~2.8.5:
   version "2.8.5"
   resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
   integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
@@ -5931,10 +5886,10 @@ create-emotion@^9.2.12:
     stylis "^3.5.0"
     stylis-rule-sheet "^0.0.10"
 
-create-gatsby@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/create-gatsby/-/create-gatsby-0.3.0.tgz#f3dc214d81397d9ee0ff9b90dfcaa43712536e91"
-  integrity sha512-s2uKhikANIqFY/v2mBkB3D7JgGUx3P5tMdewLfd2gnAIoJnFO3F94M+xPGkpWhJ3E8k3t2BkLIAZPC80tNIY2w==
+create-gatsby@^0.5.1:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/create-gatsby/-/create-gatsby-0.5.1.tgz#a99519416c1a73ae27562b9035b6357f22748319"
+  integrity sha512-iQ3Z757x02uw9Z3ereR/+RNjiQPCKLEAh3GLqfcTNNVeGgRd07XdgIgGIZrbuNaKL/3EGdfejd7ElJ1UBLQSHQ==
 
 create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
   version "1.2.0"
@@ -6334,7 +6289,7 @@ debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, de
   dependencies:
     ms "2.0.0"
 
-debug@3.1.0, debug@=3.1.0, debug@~3.1.0:
+debug@3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
   integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
@@ -6348,21 +6303,28 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
   dependencies:
     ms "2.1.2"
 
-debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
+debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6:
   version "3.2.6"
   resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
   integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
   dependencies:
     ms "^2.1.1"
 
-debug@^4.0.0, debug@~4.1.0:
+debug@^3.2.7:
+  version "3.2.7"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+  integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+  dependencies:
+    ms "^2.1.1"
+
+debug@^4.0.0:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
   integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
   dependencies:
     ms "^2.1.1"
 
-debug@^4.2.0:
+debug@^4.2.0, debug@^4.3.1, debug@~4.3.1:
   version "4.3.1"
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
   integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
@@ -6473,7 +6435,7 @@ decompress@^4.0.0, decompress@^4.2.0:
     pify "^2.3.0"
     strip-dirs "^2.0.0"
 
-deep-equal@^1.0.1, deep-equal@^1.1.0:
+deep-equal@^1.0.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
   integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
@@ -6628,11 +6590,6 @@ detab@2.0.3, detab@^2.0.0:
   dependencies:
     repeat-string "^1.5.4"
 
-detect-indent@^6.0.0:
-  version "6.0.0"
-  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
-  integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
-
 detect-libc@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
@@ -7135,45 +7092,41 @@ endian-reader@^0.3.0:
   resolved "https://registry.yarnpkg.com/endian-reader/-/endian-reader-0.3.0.tgz#84eca436b80aed0d0639c47291338b932efe50a0"
   integrity sha1-hOykNrgK7Q0GOcRykTOLky7+UKA=
 
-engine.io-client@~3.4.0:
-  version "3.4.4"
-  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.4.4.tgz#77d8003f502b0782dd792b073a4d2cf7ca5ab967"
-  integrity sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==
+engine.io-client@~4.1.0:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-4.1.2.tgz#823b4f005360321c41445fc23ce8ee028ef2e36b"
+  integrity sha512-1mwvwKYMa0AaCy+sPgvJ/SnKyO5MJZ1HEeXfA3Rm/KHkHGiYD5bQVq8QzvIrkI01FuVtOdZC5lWdRw1BGXB2NQ==
   dependencies:
+    base64-arraybuffer "0.1.4"
     component-emitter "~1.3.0"
-    component-inherit "0.0.3"
-    debug "~3.1.0"
-    engine.io-parser "~2.2.0"
+    debug "~4.3.1"
+    engine.io-parser "~4.0.1"
     has-cors "1.1.0"
-    indexof "0.0.1"
     parseqs "0.0.6"
     parseuri "0.0.6"
-    ws "~6.1.0"
+    ws "~7.4.2"
     xmlhttprequest-ssl "~1.5.4"
     yeast "0.1.2"
 
-engine.io-parser@~2.2.0:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7"
-  integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==
+engine.io-parser@~4.0.0, engine.io-parser@~4.0.1:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-4.0.2.tgz#e41d0b3fb66f7bf4a3671d2038a154024edb501e"
+  integrity sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==
   dependencies:
-    after "0.8.2"
-    arraybuffer.slice "~0.0.7"
     base64-arraybuffer "0.1.4"
-    blob "0.0.5"
-    has-binary2 "~1.0.2"
 
-engine.io@~3.4.0:
-  version "3.4.2"
-  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.4.2.tgz#8fc84ee00388e3e228645e0a7d3dfaeed5bd122c"
-  integrity sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==
+engine.io@~4.1.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-4.1.1.tgz#9a8f8a5ac5a5ea316183c489bf7f5b6cf91ace5b"
+  integrity sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==
   dependencies:
     accepts "~1.3.4"
     base64id "2.0.0"
-    cookie "0.3.1"
-    debug "~4.1.0"
-    engine.io-parser "~2.2.0"
-    ws "^7.1.2"
+    cookie "~0.4.1"
+    cors "~2.8.5"
+    debug "~4.3.1"
+    engine.io-parser "~4.0.0"
+    ws "~7.4.2"
 
 enhanced-resolve@^4.3.0:
   version "4.3.0"
@@ -7276,7 +7229,7 @@ es-to-primitive@^1.2.1:
     is-date-object "^1.0.1"
     is-symbol "^1.0.2"
 
-es5-ext@^0.10.35, es5-ext@^0.10.50:
+es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
   version "0.10.53"
   resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
   integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
@@ -7285,7 +7238,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50:
     es6-symbol "~3.1.3"
     next-tick "~1.0.0"
 
-es6-iterator@~2.0.3:
+es6-iterator@^2.0.3, es6-iterator@~2.0.3:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
   integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
@@ -7314,6 +7267,16 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3:
     d "^1.0.1"
     ext "^1.1.2"
 
+es6-weak-map@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
+  integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
+  dependencies:
+    d "1"
+    es5-ext "^0.10.46"
+    es6-iterator "^2.0.3"
+    es6-symbol "^3.1.1"
+
 escalade@^3.1.0, escalade@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -7735,6 +7698,14 @@ eval@^0.1.0, eval@^0.1.4:
   dependencies:
     require-like ">= 0.1.1"
 
+event-emitter@^0.3.5:
+  version "0.3.5"
+  resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
+  integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
+  dependencies:
+    d "1"
+    es5-ext "~0.10.14"
+
 event-loop-spinner@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/event-loop-spinner/-/event-loop-spinner-2.0.0.tgz#3aa949264a7d80be45d6cb782ab5e97ffc87b9e1"
@@ -8025,6 +7996,11 @@ extsprintf@1.3.0, extsprintf@^1.2.0:
   resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
   integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
 
+fast-copy@^2.1.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-2.1.1.tgz#f5cbcf2df64215e59b8e43f0b2caabc19848083a"
+  integrity sha512-Qod3DdRgFZ8GUIM6ygeoZYpQ0QLW9cf/FS9KhhjlYggcSZXWAemAw8BOCO5LuYCrR3Uj3qXDVTUzOUwG8C7beQ==
+
 fast-deep-equal@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
@@ -8082,6 +8058,13 @@ fastparse@^1.1.2:
   resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
   integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
 
+fastq@^1.10.0:
+  version "1.11.0"
+  resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858"
+  integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==
+  dependencies:
+    reusify "^1.0.4"
+
 fastq@^1.6.0:
   version "1.8.0"
   resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
@@ -8089,14 +8072,7 @@ fastq@^1.6.0:
   dependencies:
     reusify "^1.0.4"
 
-faye-websocket@^0.10.0:
-  version "0.10.0"
-  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
-  integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
-  dependencies:
-    websocket-driver ">=0.5.1"
-
-faye-websocket@~0.11.0, faye-websocket@~0.11.1:
+faye-websocket@^0.11.3, faye-websocket@~0.11.0:
   version "0.11.3"
   resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
   integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==
@@ -8365,13 +8341,6 @@ flush-write-stream@^1.0.0:
     inherits "^2.0.3"
     readable-stream "^2.3.6"
 
-follow-redirects@1.5.10:
-  version "1.5.10"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
-  integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
-  dependencies:
-    debug "=3.1.0"
-
 follow-redirects@^1.0.0, follow-redirects@^1.10.0:
   version "1.13.0"
   resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
@@ -8512,6 +8481,11 @@ fsevents@^2.1.2, fsevents@~2.1.2:
   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
   integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
 
+fsevents@~2.3.1:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
 fstream@^1.0.0, fstream@^1.0.12:
   version "1.0.12"
   resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
@@ -8540,10 +8514,10 @@ functional-red-black-tree@^1.0.1:
   resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
   integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
 
-gatsby-cli@^2.17.1:
-  version "2.17.1"
-  resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.17.1.tgz#94f271f8ad4d1207d09c8ff21509e0f6216d4fb4"
-  integrity sha512-uyM1dZx8ALQp5UO30oPDPttEX5eASAM/FLjC9DA7f5cAy0xflMNs9CZB+w6xVoUKDadabZzdyGWB2INMiQn36A==
+gatsby-cli@^2.19.2:
+  version "2.19.2"
+  resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.19.2.tgz#0a0c3b719af4ec49fef066081d09be41a7eda892"
+  integrity sha512-Z6y0MgYC07uLF1jBtcLoFJfD9iX+CeaNMbpet7qrolNjig8v5ukyttvn5GUAliwC4ifwCJpbURkXKPFicr0KrA==
   dependencies:
     "@babel/code-frame" "^7.10.4"
     "@hapi/joi" "^15.1.1"
@@ -8554,14 +8528,14 @@ gatsby-cli@^2.17.1:
     common-tags "^1.8.0"
     configstore "^5.0.1"
     convert-hrtime "^3.0.0"
-    create-gatsby "^0.3.0"
+    create-gatsby "^0.5.1"
     envinfo "^7.7.3"
     execa "^3.4.0"
     fs-exists-cached "^1.0.0"
     fs-extra "^8.1.0"
-    gatsby-core-utils "^1.8.0"
-    gatsby-recipes "^0.7.1"
-    gatsby-telemetry "^1.8.1"
+    gatsby-core-utils "^1.10.1"
+    gatsby-recipes "^0.9.2"
+    gatsby-telemetry "^1.10.1"
     hosted-git-info "^3.0.6"
     is-valid-path "^0.1.1"
     lodash "^4.17.20"
@@ -8582,7 +8556,20 @@ gatsby-cli@^2.17.1:
     uuid "3.4.0"
     yargs "^15.4.1"
     yoga-layout-prebuilt "^1.9.6"
-    yurnalist "^1.1.2"
+    yurnalist "^2.1.0"
+
+gatsby-core-utils@^1.10.1:
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.10.1.tgz#97bed40df3fa79800e7ce0c0491680f0aadd6ce7"
+  integrity sha512-4P3feGCJckg+DRWWl2beFk7N9c63zmCryEGPaU1OHCp+ZT2bO0ihCBuXywDWuuEp6SYP9PZ1fs0YJ/Rt6q6lag==
+  dependencies:
+    ci-info "2.0.0"
+    configstore "^5.0.1"
+    fs-extra "^8.1.0"
+    node-object-hash "^2.0.0"
+    proper-lockfile "^4.1.1"
+    tmp "^0.2.1"
+    xdg-basedir "^4.0.0"
 
 gatsby-core-utils@^1.3.22, gatsby-core-utils@^1.3.23:
   version "1.3.23"
@@ -8636,19 +8623,6 @@ gatsby-core-utils@^1.6.0:
     tmp "^0.2.1"
     xdg-basedir "^4.0.0"
 
-gatsby-core-utils@^1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.8.0.tgz#712579cd94d28c71f50202f073e15b8781f8b195"
-  integrity sha512-MurWnytVVG9rOai0oAdcCsLODqj7P7Y9ndoAswHDk6hrlsWwiRMOsDS1kEyL7n2BM7lhgzZ+gz9OaOukqU1BhA==
-  dependencies:
-    ci-info "2.0.0"
-    configstore "^5.0.1"
-    fs-extra "^8.1.0"
-    node-object-hash "^2.0.0"
-    proper-lockfile "^4.1.1"
-    tmp "^0.2.1"
-    xdg-basedir "^4.0.0"
-
 gatsby-core-utils@^1.9.0:
   version "1.9.0"
   resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.9.0.tgz#ff349cc2013fd06a85099b3aee061b01f64ceabb"
@@ -8662,10 +8636,10 @@ gatsby-core-utils@^1.9.0:
     tmp "^0.2.1"
     xdg-basedir "^4.0.0"
 
-gatsby-graphiql-explorer@^0.9.0:
-  version "0.9.0"
-  resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.9.0.tgz#5c0c1df9c5fc3d3275f158599349d97859f6395e"
-  integrity sha512-n6eAbeVuHn67/8n0iHJ0hOIKs3Cuw4qvukbPF0iWbGQsJSoR6X+eFB4jreaAYagyPheWSdMUSD9pnDovYaBncg==
+gatsby-graphiql-explorer@^0.11.0:
+  version "0.11.0"
+  resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.11.0.tgz#2fe20ddb756180cf3a86defb2f24326ba0c9b062"
+  integrity sha512-mmxQhQSDUkbtOhQUek9a9sSg6LpiQUytNNR2hec8iklau2D4MDA5CvHTk9GUGhjdUgtnHSe/MPyZVJGmXSnYAA==
   dependencies:
     "@babel/runtime" "^7.12.5"
 
@@ -8678,13 +8652,6 @@ gatsby-image@^2.4.20:
     object-fit-images "^3.2.4"
     prop-types "^15.7.2"
 
-gatsby-legacy-polyfills@^0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-0.5.0.tgz#a4d12df5dd107993543021b6127b73d568d17d22"
-  integrity sha512-BdUQnMYd1o49+TwcTvhHeptwWzkRVFPIMA1a5FmdACZt0jl2SE5MNXiiPpa1U4hOG0e7fnMJtwm/sbarPO5Ymg==
-  dependencies:
-    core-js-compat "^3.6.5"
-
 gatsby-legacy-polyfills@^0.6.0:
   version "0.6.0"
   resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-0.6.0.tgz#e751864f179f8e61de8bfdd1aab4532496b9be9a"
@@ -8692,25 +8659,32 @@ gatsby-legacy-polyfills@^0.6.0:
   dependencies:
     core-js-compat "^3.6.5"
 
-gatsby-link@^2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-2.9.0.tgz#8507653835503f554426d054ab0007174d0b6030"
-  integrity sha512-MT1qAVYhkWPaTSAizVABVMt6WuSv7O8b0YZSbGIUx4vRKIq3DcbjY1Kikf2RrysXDa3/p3c+E5fUMiy8h5lfuQ==
+gatsby-legacy-polyfills@^0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-0.7.0.tgz#8ef8aeeb59b6679920489edb2493ac16bcd03c82"
+  integrity sha512-fHDJeFib1iNaFuNRMWOpTmu2aw0AZ1ViIzwY2ar4kL3X3fYDL4RLnoBaw6Fcyc/sCCYHdBDSGzb/imvsddkRaA==
+  dependencies:
+    core-js-compat "^3.6.5"
+
+gatsby-link@^2.11.0:
+  version "2.11.0"
+  resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-2.11.0.tgz#15e99c89bdde1c99686ce53bda72beb3c9c39455"
+  integrity sha512-AYXxndlSx5mnYv+/PBPdPBRvdv1LeSGE3WO8uYj2ReYDSbhiAlF3KKz30D62ErartXP0deySPtRKx4Dd3nCFYw==
   dependencies:
     "@babel/runtime" "^7.12.5"
-    "@types/reach__router" "^1.3.6"
+    "@types/reach__router" "^1.3.7"
     prop-types "^15.7.2"
 
-gatsby-page-utils@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-0.7.0.tgz#1bdd9a617bc6eb33458bc04632cce5698bef1c20"
-  integrity sha512-3tts3ItXERhA9rDtiCw/Xdni+ALqC7EWUPd4Yg8JsfRAifGE078Ai2x52rO+7r7u0KzaO8PnOKUsOVFlkWVmSw==
+gatsby-page-utils@^0.9.1:
+  version "0.9.1"
+  resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-0.9.1.tgz#93cf757bda303f66ca5ffd14c4308effae883a5b"
+  integrity sha512-UHedSs64HXzoivCk7ZdE9139hi34CcZfexP+Vxe2Zt4aK+MeXowec8VdxKD3Pp08O/YEGKBv2TtSV9gSR/lt2g==
   dependencies:
     "@babel/runtime" "^7.12.5"
     bluebird "^3.7.2"
-    chokidar "^3.4.3"
+    chokidar "^3.5.1"
     fs-exists-cached "^1.0.0"
-    gatsby-core-utils "^1.8.0"
+    gatsby-core-utils "^1.10.1"
     glob "^7.1.6"
     lodash "^4.17.20"
     micromatch "^4.0.2"
@@ -8826,18 +8800,18 @@ gatsby-plugin-offline@^3.2.32:
     lodash "^4.17.20"
     workbox-build "^4.3.1"
 
-gatsby-plugin-page-creator@^2.8.1:
-  version "2.8.1"
-  resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.8.1.tgz#c8b17a062332e4ba7c940ffbe8025ee2d4d244c9"
-  integrity sha512-jMdPVBcpmoHkneknP/t03W1DxwW9SGHTaOFi15tOovDZ10/qpmOoz9gM4Toej0Ap0tjHTuPelLm8GgS7vlX2LQ==
+gatsby-plugin-page-creator@^2.10.1:
+  version "2.10.1"
+  resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.10.1.tgz#2b2e651d12a605d91047b99893fa41720e18b45d"
+  integrity sha512-hNckbeemjTm0SFpellmwkgw5RkjaEiw31ekSesZgRkh+IrlB3HXfRtXRCXtEkVPbrnbOpHrSLgWrNmyM8KcI4w==
   dependencies:
     "@babel/traverse" "^7.12.5"
     "@sindresorhus/slugify" "^1.1.0"
-    chokidar "^3.4.2"
+    chokidar "^3.5.1"
     fs-exists-cached "^1.0.0"
-    gatsby-page-utils "^0.7.0"
-    gatsby-telemetry "^1.8.1"
-    globby "^11.0.1"
+    gatsby-page-utils "^0.9.1"
+    gatsby-telemetry "^1.10.1"
+    globby "^11.0.2"
     lodash "^4.17.20"
 
 gatsby-plugin-react-helmet@^3.3.10, gatsby-plugin-react-helmet@^3.3.12:
@@ -8908,10 +8882,10 @@ gatsby-plugin-sitemap@^2.4.17:
     pify "^3.0.0"
     sitemap "^1.13.0"
 
-gatsby-plugin-typescript@^2.10.0:
-  version "2.10.0"
-  resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.10.0.tgz#d6cd190384804eb8b7d1e1fb1e6e132b8fa0bdda"
-  integrity sha512-1mf7zrFVE5UEut+3YRnb3N2XareM0Xk4Mfzw0K89ASqWT4R4QaEIxycsjPERBZMFy0GLWt8e0Hl93Wwn+eefwg==
+gatsby-plugin-typescript@^2.12.1:
+  version "2.12.1"
+  resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.12.1.tgz#cb2f009d5c015a7703578b86608e90d71b55e9ae"
+  integrity sha512-p32qJVDi5Xw1Oo5vLMUXdRBxSDlMrfxTGb7etMAsVfyLRlRhMLb2YsuXJIvN1IfybQ6Z3EbhlH293cpxn5jozg==
   dependencies:
     "@babel/core" "^7.12.3"
     "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
@@ -8919,7 +8893,7 @@ gatsby-plugin-typescript@^2.10.0:
     "@babel/plugin-proposal-optional-chaining" "^7.12.1"
     "@babel/preset-typescript" "^7.12.1"
     "@babel/runtime" "^7.12.5"
-    babel-plugin-remove-graphql-queries "^2.14.0"
+    babel-plugin-remove-graphql-queries "^2.16.1"
 
 gatsby-plugin-use-dark-mode@^1.1.2:
   version "1.1.2"
@@ -8944,24 +8918,24 @@ gatsby-plugin-utils@^0.2.40:
   dependencies:
     joi "^17.2.1"
 
-gatsby-plugin-utils@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-0.7.0.tgz#bc511319a25241b31456f8178b8414bae8c48838"
-  integrity sha512-fClolFlWQvczukRQhLfdFtz9GXIehgf567HJbggC2oPkVT0NCwwNPAAjVq1CcmxQE8k/kcp7kxQVc86pVcWuzA==
+gatsby-plugin-utils@^0.9.0:
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/gatsby-plugin-utils/-/gatsby-plugin-utils-0.9.0.tgz#64b35a0faaabad5b5c99ee8951a9c08cd64be289"
+  integrity sha512-InM8PNHtx1kF87qQOlf4pVeNA8lSIsvSjImvN6dvpUjeQqOMRN1avY0W9Trh6LKTF/keWWj975Gk8Vcr+PYyDA==
   dependencies:
     joi "^17.2.1"
 
-gatsby-react-router-scroll@^3.5.0:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-3.5.0.tgz#4b1e92058dab346e13f7479037c7ef8ec4332a22"
-  integrity sha512-VAwM6UqYPmIz9POpeHdKv+t/0bv7S6+LyVOP6zou0HhbBruRMcx5HfBFLTnmI1vFf8NwH/JwpOvHYPvI8eBeYw==
+gatsby-react-router-scroll@^3.7.0:
+  version "3.7.0"
+  resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-3.7.0.tgz#4b519c517f09f263275d3ac9001efe3d1f2b5957"
+  integrity sha512-8sm04EQac7fccJZlllFEo349wAlNEuPVu35juuL0hgMDTyWlk4nPwPH/ACdpn2MgpEmrTSfp2yPxyzaRKVyzeQ==
   dependencies:
     "@babel/runtime" "^7.12.5"
 
-gatsby-recipes@^0.7.1:
-  version "0.7.1"
-  resolved "https://registry.yarnpkg.com/gatsby-recipes/-/gatsby-recipes-0.7.1.tgz#a9abda5dc1c6be55858490cfc0aae3f3bef3920b"
-  integrity sha512-DVamMJ9dIxcdd5K9F0WINEhfZv1eF4ls/t4swUPsy8v6kQB8DC9suYYCueyFZl9waCR7dNeX4jAPs+2Z7eUeSw==
+gatsby-recipes@^0.9.2:
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/gatsby-recipes/-/gatsby-recipes-0.9.2.tgz#04ece7eaec2c6f08ac0b71fa2ef1829344b07153"
+  integrity sha512-+jcVzYh7RUxvU1yxdUdUfp06nrwl8y/G9FUWC7izho/t65R3IYTJo2danTwxiva6jPRWLfjfolNwD7m1rQ1KRA==
   dependencies:
     "@babel/core" "^7.12.3"
     "@babel/generator" "^7.12.5"
@@ -8977,23 +8951,23 @@ gatsby-recipes@^0.7.1:
     "@hapi/joi" "^15.1.1"
     better-queue "^3.8.10"
     chokidar "^3.4.2"
-    contentful-management "^5.26.3"
+    contentful-management "^7.5.1"
     cors "^2.8.5"
-    debug "^4.1.1"
+    debug "^4.3.1"
     detect-port "^1.3.0"
     dotenv "^8.2.0"
     execa "^4.0.2"
     express "^4.17.1"
     express-graphql "^0.9.0"
     fs-extra "^8.1.0"
-    gatsby-core-utils "^1.8.0"
-    gatsby-telemetry "^1.8.1"
+    gatsby-core-utils "^1.10.1"
+    gatsby-telemetry "^1.10.1"
     glob "^7.1.6"
     graphql "^14.6.0"
     graphql-compose "^6.3.8"
     graphql-subscriptions "^1.1.0"
     graphql-type-json "^0.3.2"
-    hicat "^0.7.0"
+    hicat "^0.8.0"
     is-binary-path "^2.1.0"
     is-url "^1.2.4"
     jest-diff "^25.5.0"
@@ -9091,10 +9065,10 @@ gatsby-source-filesystem@^2.3.35:
     valid-url "^1.0.9"
     xstate "^4.13.0"
 
-gatsby-telemetry@^1.8.1:
-  version "1.8.1"
-  resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.8.1.tgz#c9fefb0a16d437c9ddb4722fd92909c390bf0c4e"
-  integrity sha512-Az+2rArUf2Qxef6dOxYIo6SadRSFHWCckZGThiedwWguvjz4WLF4G4d7k1q/6BvzIu+tk/SrH+/fQ/Un6WOXPQ==
+gatsby-telemetry@^1.10.1:
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.10.1.tgz#f32ed4fa9bb4d352cf9f1f973e5474d3d6d4a2d0"
+  integrity sha512-iIXWHD6CSePzL77ZeBnWVRHKh9MxB8QaEf1eRUODH8uqK7GnyV34zJclSD4EIGVFWwd419MhrWqI1oE9iouskA==
   dependencies:
     "@babel/code-frame" "^7.10.4"
     "@babel/runtime" "^7.12.5"
@@ -9104,7 +9078,7 @@ gatsby-telemetry@^1.8.1:
     boxen "^4.2.0"
     configstore "^5.0.1"
     fs-extra "^8.1.0"
-    gatsby-core-utils "^1.8.0"
+    gatsby-core-utils "^1.10.1"
     git-up "^4.0.2"
     is-docker "^2.1.1"
     lodash "^4.17.20"
@@ -9164,10 +9138,10 @@ gatsby-transformer-sharp@^2.5.20:
     semver "^7.3.2"
     sharp "^0.25.4"
 
-gatsby@^2.30.2:
-  version "2.30.2"
-  resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.30.2.tgz#e3dba172457aadd4d02e2510bea3dca1e7e673de"
-  integrity sha512-ioJnAFTyq2BoNL6BECXx6ZWyLY3yu7ZrmT2T4PSFhef8MQeeflL4lbdom3tv3J4R4YQO0bY4vV5yGlxgQtQfBw==
+gatsby@^2.32.9:
+  version "2.32.9"
+  resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.32.9.tgz#8ce47133b143acaa577f8cf0907be89afa3fa514"
+  integrity sha512-4QyrOUGLG6V51YSOJW+cFmRDcey6DnF8YMbsOQ1efp9MJ91fSgOI3r6dYd6lc1lJwppN4KZWbqE9WOXtFgda7w==
   dependencies:
     "@babel/code-frame" "^7.10.4"
     "@babel/core" "^7.12.3"
@@ -9188,15 +9162,15 @@ gatsby@^2.30.2:
     anser "^2.0.1"
     ansi-html "^0.0.7"
     autoprefixer "^9.8.4"
-    axios "^0.20.0"
+    axios "^0.21.1"
     babel-core "7.0.0-bridge.0"
     babel-eslint "^10.1.0"
     babel-loader "^8.1.0"
-    babel-plugin-add-module-exports "^0.3.3"
+    babel-plugin-add-module-exports "^1.0.4"
     babel-plugin-dynamic-import-node "^2.3.3"
-    babel-plugin-lodash "3.3.4"
-    babel-plugin-remove-graphql-queries "^2.14.0"
-    babel-preset-gatsby "^0.10.0"
+    babel-plugin-lodash "^3.3.4"
+    babel-plugin-remove-graphql-queries "^2.16.1"
+    babel-preset-gatsby "^0.12.2"
     better-opn "^2.0.0"
     better-queue "^3.8.10"
     bluebird "^3.7.2"
@@ -9213,7 +9187,7 @@ gatsby@^2.30.2:
     cors "^2.8.5"
     css-loader "^1.0.1"
     date-fns "^2.14.0"
-    debug "^3.2.6"
+    debug "^3.2.7"
     del "^5.1.0"
     detect-port "^1.3.0"
     devcert "^1.1.3"
@@ -9232,20 +9206,21 @@ gatsby@^2.30.2:
     express "^4.17.1"
     express-graphql "^0.9.0"
     fastest-levenshtein "^1.0.12"
+    fastq "^1.10.0"
     file-loader "^1.1.11"
     find-cache-dir "^3.3.1"
     fs-exists-cached "1.0.0"
     fs-extra "^8.1.0"
-    gatsby-cli "^2.17.1"
-    gatsby-core-utils "^1.8.0"
-    gatsby-graphiql-explorer "^0.9.0"
-    gatsby-legacy-polyfills "^0.5.0"
-    gatsby-link "^2.9.0"
-    gatsby-plugin-page-creator "^2.8.1"
-    gatsby-plugin-typescript "^2.10.0"
-    gatsby-plugin-utils "^0.7.0"
-    gatsby-react-router-scroll "^3.5.0"
-    gatsby-telemetry "^1.8.1"
+    gatsby-cli "^2.19.2"
+    gatsby-core-utils "^1.10.1"
+    gatsby-graphiql-explorer "^0.11.0"
+    gatsby-legacy-polyfills "^0.7.0"
+    gatsby-link "^2.11.0"
+    gatsby-plugin-page-creator "^2.10.1"
+    gatsby-plugin-typescript "^2.12.1"
+    gatsby-plugin-utils "^0.9.0"
+    gatsby-react-router-scroll "^3.7.0"
+    gatsby-telemetry "^1.10.1"
     glob "^7.1.6"
     got "8.3.2"
     graphql "^14.6.0"
@@ -9264,6 +9239,7 @@ gatsby@^2.30.2:
     lodash "^4.17.20"
     md5-file "^5.0.0"
     meant "^1.0.1"
+    memoizee "^0.4.15"
     micromatch "^4.0.2"
     mime "^2.4.6"
     mini-css-extract-plugin "^0.11.2"
@@ -9295,8 +9271,8 @@ gatsby@^2.30.2:
     shallow-compare "^1.2.2"
     signal-exit "^3.0.3"
     slugify "^1.4.4"
-    socket.io "2.3.0"
-    socket.io-client "2.3.0"
+    socket.io "3.1.1"
+    socket.io-client "3.1.1"
     source-map "^0.7.3"
     source-map-support "^0.5.19"
     st "^2.0.0"
@@ -9304,7 +9280,6 @@ gatsby@^2.30.2:
     string-similarity "^1.2.2"
     strip-ansi "^5.2.0"
     style-loader "^0.23.1"
-    terminal-link "^2.1.1"
     terser-webpack-plugin "^2.3.8"
     tmp "^0.2.1"
     "true-case-path" "^2.2.1"
@@ -9312,10 +9287,10 @@ gatsby@^2.30.2:
     url-loader "^1.1.2"
     util.promisify "^1.0.1"
     uuid "3.4.0"
-    v8-compile-cache "^1.1.2"
+    v8-compile-cache "^2.2.0"
     webpack "^4.44.1"
     webpack-dev-middleware "^3.7.2"
-    webpack-dev-server "^3.11.0"
+    webpack-dev-server "^3.11.2"
     webpack-hot-middleware "^2.25.0"
     webpack-merge "^4.2.2"
     webpack-stats-plugin "^0.3.2"
@@ -9554,7 +9529,7 @@ globals@^12.1.0:
   dependencies:
     type-fest "^0.8.1"
 
-globby@11.0.1, globby@^11.0.1:
+globby@11.0.1:
   version "11.0.1"
   resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
   integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
@@ -9580,6 +9555,18 @@ globby@^10.0.0, globby@^10.0.1:
     merge2 "^1.2.3"
     slash "^3.0.0"
 
+globby@^11.0.2:
+  version "11.0.2"
+  resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83"
+  integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==
+  dependencies:
+    array-union "^2.1.0"
+    dir-glob "^3.0.1"
+    fast-glob "^3.1.1"
+    ignore "^5.1.4"
+    merge2 "^1.3.0"
+    slash "^3.0.0"
+
 globby@^6.1.0:
   version "6.1.0"
   resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
@@ -9858,13 +9845,6 @@ has-ansi@^2.0.0:
   dependencies:
     ansi-regex "^2.0.0"
 
-has-binary2@~1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d"
-  integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==
-  dependencies:
-    isarray "2.0.1"
-
 has-cors@1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
@@ -10134,18 +10114,18 @@ hex-color-regex@^1.1.0:
   resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
   integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
 
-hicat@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/hicat/-/hicat-0.7.0.tgz#a704cb3f57e49fbd7d38c2edd7aba38ff0b35263"
-  integrity sha1-pwTLP1fkn719OMLt16ujj/CzUmM=
+hicat@^0.8.0:
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/hicat/-/hicat-0.8.0.tgz#20cd71f58aaf1bd84d52e54f1aeea0c90fa74251"
+  integrity sha512-om8L9O5XwqeSdwl5NtHgrzK3wcF4fT9T4gb/NktoH8EyoZipas/tvUZLV48xT7fQfMYr9qvb0WEutqdf0LWSqA==
   dependencies:
-    highlight.js "^8.1.0"
-    minimist "^0.2.0"
+    highlight.js "^10.4.1"
+    minimist "^1.2.5"
 
-highlight.js@^8.1.0:
-  version "8.9.1"
-  resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-8.9.1.tgz#b8a9c5493212a9392f0222b649c9611497ebfb88"
-  integrity sha1-uKnFSTISqTkvAiK2SclhFJfr+4g=
+highlight.js@^10.4.1:
+  version "10.6.0"
+  resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.6.0.tgz#0073aa71d566906965ba6e1b7be7b2682f5e18b6"
+  integrity sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==
 
 history@^4.9.0:
   version "4.10.1"
@@ -10365,6 +10345,11 @@ http-errors@~1.6.2:
     setprototypeof "1.1.0"
     statuses ">= 1.4.0 < 2"
 
+http-parser-js@>=0.5.1:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9"
+  integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==
+
 http-proxy-agent@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
@@ -10644,11 +10629,6 @@ indexes-of@^1.0.1:
   resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
   integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
 
-indexof@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
-  integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
-
 infer-owner@^1.0.3, infer-owner@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
@@ -10759,7 +10739,7 @@ into-stream@^3.1.0:
     from2 "^2.1.1"
     p-is-promise "^1.1.0"
 
-invariant@^2.2.0, invariant@^2.2.3, invariant@^2.2.4:
+invariant@^2.2.3, invariant@^2.2.4:
   version "2.2.4"
   resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
   integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
@@ -10882,13 +10862,6 @@ is-buffer@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
   integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
 
-is-builtin-module@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.0.0.tgz#137d3d2425023a19a660fb9dd6ddfabe52c03466"
-  integrity sha512-/93sDihsAD652hrMEbJGbMAVBf1qc96kyThHQ0CAOONHaE3aROLpTjDe4WQ5aoC5ITHFxEq1z8XqSU7km+8amw==
-  dependencies:
-    builtin-modules "^3.0.0"
-
 is-callable@^1.1.4, is-callable@^1.1.5:
   version "1.1.5"
   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
@@ -11207,6 +11180,11 @@ is-promise@^2.1.0:
   resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
   integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
 
+is-promise@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
+  integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
+
 is-regex@^1.0.4, is-regex@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
@@ -11367,11 +11345,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
-isarray@2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
-  integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=
-
 isexe@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -11999,7 +11972,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
   resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
   integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
 
-json3@^3.3.2:
+json3@^3.3.2, json3@^3.3.3:
   version "3.3.3"
   resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
   integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
@@ -12397,6 +12370,11 @@ lodash.isequal@^4.5.0:
   resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
   integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
 
+lodash.isplainobject@^4.0.6:
+  version "4.0.6"
+  resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+  integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
+
 lodash.map@^4.4.0, lodash.map@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
@@ -12462,11 +12440,6 @@ lodash.templatesettings@^4.0.0:
   dependencies:
     lodash._reinterpolate "^3.0.0"
 
-lodash.toarray@^4.4.0:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
-  integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
-
 lodash.topairs@^4.3.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/lodash.topairs/-/lodash.topairs-4.3.0.tgz#3b6deaa37d60fb116713c46c5f17ea190ec48d64"
@@ -12530,14 +12503,6 @@ loud-rejection@^1.0.0:
     currently-unhandled "^0.4.1"
     signal-exit "^3.0.0"
 
-loud-rejection@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-2.2.0.tgz#4255eb6e9c74045b0edc021fa7397ab655a8517c"
-  integrity sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==
-  dependencies:
-    currently-unhandled "^0.4.1"
-    signal-exit "^3.0.2"
-
 lower-case-first@^1.0.0:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
@@ -12612,6 +12577,13 @@ lru-cache@^6.0.0:
   dependencies:
     yallist "^4.0.0"
 
+lru-queue@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
+  integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
+  dependencies:
+    es5-ext "~0.10.2"
+
 macos-release@^2.2.0:
   version "2.4.1"
   resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac"
@@ -12864,6 +12836,20 @@ memoize-one@^5.0.0:
   resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
   integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
 
+memoizee@^0.4.15:
+  version "0.4.15"
+  resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72"
+  integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==
+  dependencies:
+    d "^1.0.1"
+    es5-ext "^0.10.53"
+    es6-weak-map "^2.0.3"
+    event-emitter "^0.3.5"
+    is-promise "^2.2.2"
+    lru-queue "^0.1.0"
+    next-tick "^1.1.0"
+    timers-ext "^0.1.7"
+
 memory-fs@^0.4.1:
   version "0.4.1"
   resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -13083,11 +13069,6 @@ minimist-options@4.1.0:
     is-plain-obj "^1.1.0"
     kind-of "^6.0.3"
 
-minimist@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.1.tgz#827ba4e7593464e7c221e8c5bed930904ee2c455"
-  integrity sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==
-
 minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
   version "1.2.5"
   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
@@ -13321,6 +13302,11 @@ netmask@^1.0.6:
   resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35"
   integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=
 
+next-tick@1, next-tick@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
+  integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
+
 next-tick@^1.0.0, next-tick@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
@@ -13363,13 +13349,6 @@ node-addon-api@^3.0.0:
   resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.0.tgz#812446a1001a54f71663bed188314bba07e09247"
   integrity sha512-sSHCgWfJ+Lui/u+0msF3oyCgvdkhxDbkCS6Q8uiJquzOimkJBvX6hl5aSSA7DR1XbMpdM8r7phjcF63sF4rkKg==
 
-node-emoji@^1.10.0:
-  version "1.10.0"
-  resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da"
-  integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==
-  dependencies:
-    lodash.toarray "^4.4.0"
-
 node-eta@^0.9.0:
   version "0.9.0"
   resolved "https://registry.yarnpkg.com/node-eta/-/node-eta-0.9.0.tgz#9fb0b099bcd2a021940e603c64254dc003d9a7a8"
@@ -13657,11 +13636,6 @@ object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
   integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
 
-object-component@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
-  integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=
-
 object-copy@^0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
@@ -13709,7 +13683,7 @@ object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
   integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
 
-object-path@^0.11.2, object-path@^0.11.4:
+object-path@^0.11.4:
   version "0.11.5"
   resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.5.tgz#d4e3cf19601a5140a55a16ad712019a9c50b577a"
   integrity sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==
@@ -14354,25 +14328,11 @@ parse5@^6.0.0:
   resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
   integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
 
-parseqs@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
-  integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=
-  dependencies:
-    better-assert "~1.0.0"
-
 parseqs@0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5"
   integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==
 
-parseuri@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
-  integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=
-  dependencies:
-    better-assert "~1.0.0"
-
 parseuri@0.0.6:
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a"
@@ -15377,11 +15337,16 @@ q@^1.1.2:
   resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
   integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
 
-qs@6.7.0, qs@^6.5.2, qs@^6.7.0:
+qs@6.7.0, qs@^6.7.0:
   version "6.7.0"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
   integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
 
+qs@^6.9.4:
+  version "6.9.6"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
+  integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
+
 qs@~6.5.2:
   version "6.5.2"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -16556,7 +16521,7 @@ safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
-safe-buffer@^5.2.0:
+safe-buffer@>=5.1.0, safe-buffer@^5.2.0:
   version "5.2.1"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -16711,7 +16676,7 @@ select@^1.1.2:
   resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
   integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
 
-selfsigned@^1.10.7:
+selfsigned@^1.10.8:
   version "1.10.8"
   resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30"
   integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==
@@ -17393,60 +17358,47 @@ snyk@^1.437.4:
     uuid "^3.3.2"
     wrap-ansi "^5.1.0"
 
-socket.io-adapter@~1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9"
-  integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==
+socket.io-adapter@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz#edc5dc36602f2985918d631c1399215e97a1b527"
+  integrity sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==
 
-socket.io-client@2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.3.0.tgz#14d5ba2e00b9bcd145ae443ab96b3f86cbcc1bb4"
-  integrity sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==
-  dependencies:
-    backo2 "1.0.2"
-    base64-arraybuffer "0.1.5"
-    component-bind "1.0.0"
-    component-emitter "1.2.1"
-    debug "~4.1.0"
-    engine.io-client "~3.4.0"
-    has-binary2 "~1.0.2"
-    has-cors "1.1.0"
-    indexof "0.0.1"
-    object-component "0.0.3"
-    parseqs "0.0.5"
-    parseuri "0.0.5"
-    socket.io-parser "~3.3.0"
-    to-array "0.1.4"
-
-socket.io-parser@~3.3.0:
-  version "3.3.1"
-  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.1.tgz#f07d9c8cb3fb92633aa93e76d98fd3a334623199"
-  integrity sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==
+socket.io-client@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-3.1.1.tgz#43dfc3feddbb675b274a724f685d6b6af319b3e3"
+  integrity sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA==
   dependencies:
+    "@types/component-emitter" "^1.2.10"
+    backo2 "~1.0.2"
     component-emitter "~1.3.0"
-    debug "~3.1.0"
-    isarray "2.0.1"
+    debug "~4.3.1"
+    engine.io-client "~4.1.0"
+    parseuri "0.0.6"
+    socket.io-parser "~4.0.4"
 
-socket.io-parser@~3.4.0:
-  version "3.4.1"
-  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a"
-  integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==
+socket.io-parser@~4.0.3, socket.io-parser@~4.0.4:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0"
+  integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==
   dependencies:
-    component-emitter "1.2.1"
-    debug "~4.1.0"
-    isarray "2.0.1"
+    "@types/component-emitter" "^1.2.10"
+    component-emitter "~1.3.0"
+    debug "~4.3.1"
 
-socket.io@2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.3.0.tgz#cd762ed6a4faeca59bc1f3e243c0969311eb73fb"
-  integrity sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==
+socket.io@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-3.1.1.tgz#905e3d4a3b37d8e7970e67a4a6eb81110a5778ba"
+  integrity sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA==
   dependencies:
-    debug "~4.1.0"
-    engine.io "~3.4.0"
-    has-binary2 "~1.0.2"
-    socket.io-adapter "~1.1.0"
-    socket.io-client "2.3.0"
-    socket.io-parser "~3.4.0"
+    "@types/cookie" "^0.4.0"
+    "@types/cors" "^2.8.8"
+    "@types/node" "^14.14.10"
+    accepts "~1.3.4"
+    base64id "~2.0.0"
+    debug "~4.3.1"
+    engine.io "~4.1.0"
+    socket.io-adapter "~2.1.0"
+    socket.io-parser "~4.0.3"
 
 sockjs-client@1.1.4:
   version "1.1.4"
@@ -17460,26 +17412,26 @@ sockjs-client@1.1.4:
     json3 "^3.3.2"
     url-parse "^1.1.8"
 
-sockjs-client@1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
-  integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==
+sockjs-client@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.0.tgz#2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add"
+  integrity sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==
   dependencies:
-    debug "^3.2.5"
+    debug "^3.2.6"
     eventsource "^1.0.7"
-    faye-websocket "~0.11.1"
-    inherits "^2.0.3"
-    json3 "^3.3.2"
-    url-parse "^1.4.3"
+    faye-websocket "^0.11.3"
+    inherits "^2.0.4"
+    json3 "^3.3.3"
+    url-parse "^1.4.7"
 
-sockjs@0.3.20:
-  version "0.3.20"
-  resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855"
-  integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==
+sockjs@^0.3.21:
+  version "0.3.21"
+  resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417"
+  integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==
   dependencies:
-    faye-websocket "^0.10.0"
+    faye-websocket "^0.11.3"
     uuid "^3.4.0"
-    websocket-driver "0.6.5"
+    websocket-driver "^0.7.4"
 
 socks-proxy-agent@^4.0.1:
   version "4.0.2"
@@ -17915,7 +17867,7 @@ string-width@^1.0.1:
     is-fullwidth-code-point "^1.0.0"
     strip-ansi "^3.0.0"
 
-"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
   integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -18361,7 +18313,7 @@ term-size@^2.1.0:
   resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753"
   integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==
 
-terminal-link@^2.0.0, terminal-link@^2.1.1:
+terminal-link@^2.0.0:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
   integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==
@@ -18474,6 +18426,14 @@ timers-browserify@^2.0.4:
   dependencies:
     setimmediate "^1.0.4"
 
+timers-ext@^0.1.7:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
+  integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
+  dependencies:
+    es5-ext "~0.10.46"
+    next-tick "1"
+
 timm@^1.6.1:
   version "1.6.2"
   resolved "https://registry.yarnpkg.com/timm/-/timm-1.6.2.tgz#dfd8c6719f7ba1fcfc6295a32670a1c6d166c0bd"
@@ -18538,11 +18498,6 @@ tmpl@1.0.x:
   resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
   integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
 
-to-array@0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
-  integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA=
-
 to-arraybuffer@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
@@ -18778,10 +18733,10 @@ type-detect@4.0.8:
   resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
   integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
 
-type-fest@0.15.1:
-  version "0.15.1"
-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.15.1.tgz#d2c4e73d3e4a53cf1a906396dd460a1c5178ca00"
-  integrity sha512-n+UXrN8i5ioo7kqT/nF8xsEzLaqFra7k32SEsSPwvXVGyAcRgV/FUQN/sgfptJTR1oRmmq7z4IXMFSM7im7C9A==
+type-fest@0.20.2:
+  version "0.20.2"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
 
 type-fest@^0.10.0:
   version "0.10.0"
@@ -19306,6 +19261,14 @@ url-parse@^1.1.8, url-parse@^1.4.3:
     querystringify "^2.1.1"
     requires-port "^1.0.0"
 
+url-parse@^1.4.7:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
+  integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
+  dependencies:
+    querystringify "^2.1.1"
+    requires-port "^1.0.0"
+
 url-to-options@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9"
@@ -19429,16 +19392,16 @@ uuid@^8.2.0, uuid@^8.3.0:
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31"
   integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==
 
-v8-compile-cache@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4"
-  integrity sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==
-
 v8-compile-cache@^2.0.3:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
   integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
 
+v8-compile-cache@^2.2.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+  integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+
 v8-to-istanbul@^4.1.3:
   version "4.1.4"
   resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
@@ -19640,10 +19603,10 @@ webpack-dev-middleware@^3.7.2:
     range-parser "^1.2.1"
     webpack-log "^2.0.0"
 
-webpack-dev-server@^3.11.0:
-  version "3.11.0"
-  resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c"
-  integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==
+webpack-dev-server@^3.11.2:
+  version "3.11.2"
+  resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708"
+  integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==
   dependencies:
     ansi-html "0.0.7"
     bonjour "^3.5.0"
@@ -19665,11 +19628,11 @@ webpack-dev-server@^3.11.0:
     p-retry "^3.0.1"
     portfinder "^1.0.26"
     schema-utils "^1.0.0"
-    selfsigned "^1.10.7"
+    selfsigned "^1.10.8"
     semver "^6.3.0"
     serve-index "^1.9.1"
-    sockjs "0.3.20"
-    sockjs-client "1.4.0"
+    sockjs "^0.3.21"
+    sockjs-client "^1.5.0"
     spdy "^4.0.2"
     strip-ansi "^3.0.1"
     supports-color "^6.1.0"
@@ -19761,13 +19724,22 @@ webpack@^4.44.1:
     watchpack "^1.7.4"
     webpack-sources "^1.4.1"
 
-websocket-driver@0.6.5, websocket-driver@>=0.5.1:
+websocket-driver@>=0.5.1:
   version "0.6.5"
   resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
   integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=
   dependencies:
     websocket-extensions ">=0.1.1"
 
+websocket-driver@^0.7.4:
+  version "0.7.4"
+  resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
+  integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
+  dependencies:
+    http-parser-js ">=0.5.1"
+    safe-buffer ">=5.1.0"
+    websocket-extensions ">=0.1.1"
+
 websocket-extensions@>=0.1.1:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
@@ -20057,7 +20029,7 @@ ws@^6.2.1:
   dependencies:
     async-limiter "~1.0.0"
 
-ws@^7.1.2, ws@^7.2.3:
+ws@^7.2.3:
   version "7.2.3"
   resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46"
   integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==
@@ -20067,12 +20039,10 @@ ws@^7.3.0:
   resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
   integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
 
-ws@~6.1.0:
-  version "6.1.4"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
-  integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==
-  dependencies:
-    async-limiter "~1.0.0"
+ws@~7.4.2:
+  version "7.4.3"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd"
+  integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==
 
 x-is-string@^0.1.0:
   version "0.1.0"
@@ -20298,30 +20268,16 @@ yoga-layout-prebuilt@^1.9.6:
   dependencies:
     "@types/yoga-layout" "1.9.2"
 
-yurnalist@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/yurnalist/-/yurnalist-1.1.2.tgz#0fce283f1c53ea25ec278e2d1ab58537323b63e0"
-  integrity sha512-y7bsTXqL+YMJQ2De2CBtSftJNLQnB7gWIzzKm10GDyC8Fg4Dsmd2LG5YhT8pudvUiuotic80WVXt/g1femRVQg==
+yurnalist@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/yurnalist/-/yurnalist-2.1.0.tgz#44cf7ea5a33a8fab4968cc8c2970489f93760902"
+  integrity sha512-PgrBqosQLM3gN2xBFIMDLACRTV9c365VqityKKpSTWpwR+U4LAFR3rSVyEoscWlu3EzX9+Y0I86GXUKxpHFl6w==
   dependencies:
-    babel-runtime "^6.26.0"
     chalk "^2.4.2"
-    cli-table3 "^0.5.1"
-    debug "^4.1.1"
-    deep-equal "^1.1.0"
-    detect-indent "^6.0.0"
     inquirer "^7.0.0"
-    invariant "^2.2.0"
-    is-builtin-module "^3.0.0"
     is-ci "^2.0.0"
-    leven "^3.1.0"
-    loud-rejection "^2.2.0"
-    node-emoji "^1.10.0"
-    object-path "^0.11.2"
     read "^1.0.7"
-    rimraf "^3.0.0"
-    semver "^6.3.0"
     strip-ansi "^5.2.0"
-    strip-bom "^4.0.0"
 
 zwitch@^1.0.0:
   version "1.0.5"

From fc386347c18858a2cc15f04ae261224990c6e3ef Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Fri, 5 Mar 2021 21:34:36 -0800
Subject: [PATCH 24/40] chore: update babel-plugin-gatsby

---
 package.json |   2 +-
 yarn.lock    | 118 ++++++++++++++++++++++++++++++++++++++-------------
 2 files changed, 90 insertions(+), 30 deletions(-)

diff --git a/package.json b/package.json
index b2ad0d31c..91b89f406 100644
--- a/package.json
+++ b/package.json
@@ -59,7 +59,7 @@
     "@semantic-release/git": "^9.0.0",
     "@testing-library/react": "^10.0.4",
     "babel-jest": "^26.0.1",
-    "babel-preset-gatsby": "^0.11.0",
+    "babel-preset-gatsby": "^1.0.0",
     "core-js": "^2.4.0",
     "eslint": "^7.11.0",
     "eslint-plugin-jsx-a11y": "^6.3.1",
diff --git a/yarn.lock b/yarn.lock
index 9a7465ab8..fbb29f550 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2906,6 +2906,11 @@
     "@testing-library/dom" "^7.2.2"
     "@types/testing-library__react" "^10.0.1"
 
+"@tokenizer/token@^0.1.1":
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.1.1.tgz#f0d92c12f87079ddfd1b29f614758b9696bc29e3"
+  integrity sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==
+
 "@turist/fetch@^7.1.7":
   version "7.1.7"
   resolved "https://registry.yarnpkg.com/@turist/fetch/-/fetch-7.1.7.tgz#a2b1f7ec0265e6fe0946c51eef34bad9b9efc865"
@@ -2996,7 +3001,7 @@
   resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.30.tgz#dc1e40f7af3b9c815013a7860e6252f6352a84df"
   integrity sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==
 
-"@types/debug@^4.1.4":
+"@types/debug@^4.1.4", "@types/debug@^4.1.5":
   version "4.1.5"
   resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
   integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
@@ -3240,6 +3245,14 @@
     "@types/prop-types" "*"
     csstype "^2.2.0"
 
+"@types/readable-stream@^2.3.9":
+  version "2.3.9"
+  resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.9.tgz#40a8349e6ace3afd2dd1b6d8e9b02945de4566a9"
+  integrity sha512-sqsgQqFT7HmQz/V5jH1O0fvQQnXAJO46Gg9LRO/JPfjmVmGUlcx831TZZO3Y3HtWhIkzf3kTsNT0Z0kzIhIvZw==
+  dependencies:
+    "@types/node" "*"
+    safe-buffer "*"
+
 "@types/responselike@*", "@types/responselike@^1.0.0":
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
@@ -4339,15 +4352,16 @@ babel-preset-current-node-syntax@^0.1.2:
     "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
 
-babel-preset-gatsby@^0.11.0:
-  version "0.11.0"
-  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.11.0.tgz#06e769ec8888dfa3bda17762def15dca3cc59bae"
-  integrity sha512-0kZ5KK02RKmnCab897XOP1xWcFthumcmI6Y3R0gFBv4w4qZR4fTLk/iIeNz24oQGaRXO0QprsssdVEVfDlewNw==
+babel-preset-gatsby@^0.12.2:
+  version "0.12.2"
+  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.12.2.tgz#784d41fd622afd50fbf8d9bcde0cdf48d5b78152"
+  integrity sha512-MQhUnp+DO9FFCdSyhXkLsNpuTxIkB02NnA9eOkV5HtJsRIhX85ZYw+pJeSTPl9d3QdEP/GyiQWPHigU6TAOyqg==
   dependencies:
     "@babel/plugin-proposal-class-properties" "^7.12.1"
     "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
     "@babel/plugin-proposal-optional-chaining" "^7.12.1"
     "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-transform-classes" "^7.12.1"
     "@babel/plugin-transform-runtime" "^7.12.1"
     "@babel/plugin-transform-spread" "^7.12.1"
     "@babel/preset-env" "^7.12.1"
@@ -4356,13 +4370,13 @@ babel-preset-gatsby@^0.11.0:
     babel-plugin-dynamic-import-node "^2.3.3"
     babel-plugin-macros "^2.8.0"
     babel-plugin-transform-react-remove-prop-types "^0.4.24"
-    gatsby-core-utils "^1.9.0"
-    gatsby-legacy-polyfills "^0.6.0"
+    gatsby-core-utils "^1.10.1"
+    gatsby-legacy-polyfills "^0.7.0"
 
-babel-preset-gatsby@^0.12.2:
-  version "0.12.2"
-  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.12.2.tgz#784d41fd622afd50fbf8d9bcde0cdf48d5b78152"
-  integrity sha512-MQhUnp+DO9FFCdSyhXkLsNpuTxIkB02NnA9eOkV5HtJsRIhX85ZYw+pJeSTPl9d3QdEP/GyiQWPHigU6TAOyqg==
+babel-preset-gatsby@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-1.0.0.tgz#14bcb46e45bfee12d095819f1f439415401377b7"
+  integrity sha512-3jCjp/yhbgbvSxj9j6ieF6h1JKi9Kfot8N+NSh80GDQ5iwhg/x+Ev7ocyU0UKm89t5QaZuPcGY/RopK0gck+pg==
   dependencies:
     "@babel/plugin-proposal-class-properties" "^7.12.1"
     "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
@@ -4377,8 +4391,8 @@ babel-preset-gatsby@^0.12.2:
     babel-plugin-dynamic-import-node "^2.3.3"
     babel-plugin-macros "^2.8.0"
     babel-plugin-transform-react-remove-prop-types "^0.4.24"
-    gatsby-core-utils "^1.10.1"
-    gatsby-legacy-polyfills "^0.7.0"
+    gatsby-core-utils "^2.0.0"
+    gatsby-legacy-polyfills "^1.0.0"
 
 babel-preset-jest@^26.0.0:
   version "26.0.0"
@@ -8163,6 +8177,16 @@ file-type@^12.0.0, file-type@^12.4.2:
   resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz#a344ea5664a1d01447ee7fb1b635f72feb6169d9"
   integrity sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==
 
+file-type@^16.2.0:
+  version "16.2.0"
+  resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.2.0.tgz#d4f1da71ddda758db7f15f93adfaed09ce9e2715"
+  integrity sha512-1Wwww3mmZCMmLjBfslCluwt2mxH80GsAXYrvPnfQ42G1EGWag336kB1iyCgyn7UXiKY3cJrNykXPrCwA7xb5Ag==
+  dependencies:
+    readable-web-to-node-stream "^3.0.0"
+    strtok3 "^6.0.3"
+    token-types "^2.0.0"
+    typedarray-to-buffer "^3.1.5"
+
 file-type@^3.8.0:
   version "3.9.0"
   resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
@@ -8623,13 +8647,14 @@ gatsby-core-utils@^1.6.0:
     tmp "^0.2.1"
     xdg-basedir "^4.0.0"
 
-gatsby-core-utils@^1.9.0:
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.9.0.tgz#ff349cc2013fd06a85099b3aee061b01f64ceabb"
-  integrity sha512-AWq9E+rBY+fWJrhdOx0rn/LlZ0eCjpqLYlDcUmLZ5NjwLARgkEXNf4JsvDETLtThcNlSOibEMQex8arsYatmkA==
+gatsby-core-utils@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-2.0.0.tgz#00fdc1f2efcaabe7426e63b020a7117ca613780c"
+  integrity sha512-+DrClKZ/ScTbzhIHZXuU3DoIhEJ95uJV+swR7VVqYVhEpV1CnjUGR/dB+tMd0VqlPdrXB38FuR8O5kuSvYm+/A==
   dependencies:
     ci-info "2.0.0"
     configstore "^5.0.1"
+    file-type "^16.2.0"
     fs-extra "^8.1.0"
     node-object-hash "^2.0.0"
     proper-lockfile "^4.1.1"
@@ -8652,13 +8677,6 @@ gatsby-image@^2.4.20:
     object-fit-images "^3.2.4"
     prop-types "^15.7.2"
 
-gatsby-legacy-polyfills@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-0.6.0.tgz#e751864f179f8e61de8bfdd1aab4532496b9be9a"
-  integrity sha512-w6ZnPi3JWhvfEwNgxGA42XFzytsKsGj5uQnEsQzDU8JgVD7WXT4vPlbLUF/RjqIjcVrbLWkYWkLLeZG4fdX28Q==
-  dependencies:
-    core-js-compat "^3.6.5"
-
 gatsby-legacy-polyfills@^0.7.0:
   version "0.7.0"
   resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-0.7.0.tgz#8ef8aeeb59b6679920489edb2493ac16bcd03c82"
@@ -8666,6 +8684,13 @@ gatsby-legacy-polyfills@^0.7.0:
   dependencies:
     core-js-compat "^3.6.5"
 
+gatsby-legacy-polyfills@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-1.0.0.tgz#42e740b9a62df1a4be022b7519e77a504788f857"
+  integrity sha512-whGt//oMbsQvr2uok4qkd1MrlbpSKYXl1lifkwZnrHTvAAf5wreeOZKbzM/C3SWLb0lmD2X7WO7gAamOBj7PwA==
+  dependencies:
+    core-js-compat "^3.6.5"
+
 gatsby-link@^2.11.0:
   version "2.11.0"
   resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-2.11.0.tgz#15e99c89bdde1c99686ce53bda72beb3c9c39455"
@@ -10481,6 +10506,11 @@ ieee754@^1.1.4:
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
   integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
 
+ieee754@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
 iferr@^0.1.5:
   version "0.1.5"
   resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
@@ -14486,6 +14516,11 @@ pbkdf2@^3.0.3:
     safe-buffer "^5.0.1"
     sha.js "^2.4.8"
 
+peek-readable@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-3.1.3.tgz#932480d46cf6aa553c46c68566c4fb69a82cd2b1"
+  integrity sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==
+
 peek-stream@^1.1.0:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67"
@@ -15840,6 +15875,14 @@ readable-stream@~1.0.31:
     isarray "0.0.1"
     string_decoder "~0.10.x"
 
+readable-web-to-node-stream@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz#3f619b1bc5dd73a4cfe5c5f9b4f6faba55dff845"
+  integrity sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==
+  dependencies:
+    "@types/readable-stream" "^2.3.9"
+    readable-stream "^3.6.0"
+
 readdirp@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
@@ -16516,16 +16559,16 @@ rxjs@^6.6.0:
   dependencies:
     tslib "^1.9.0"
 
+safe-buffer@*, safe-buffer@>=5.1.0, safe-buffer@^5.2.0:
+  version "5.2.1"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
 safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
-safe-buffer@>=5.1.0, safe-buffer@^5.2.0:
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
-  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
 safe-regex@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -18085,6 +18128,15 @@ strip-outer@^1.0.0:
   dependencies:
     escape-string-regexp "^1.0.2"
 
+strtok3@^6.0.3:
+  version "6.0.8"
+  resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.0.8.tgz#c839157f615c10ba0f4ae35067dad9959eeca346"
+  integrity sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==
+  dependencies:
+    "@tokenizer/token" "^0.1.1"
+    "@types/debug" "^4.1.5"
+    peek-readable "^3.1.3"
+
 style-loader@^0.23.1:
   version "0.23.1"
   resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925"
@@ -18565,6 +18617,14 @@ toidentifier@1.0.0:
   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
   integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
 
+token-types@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/token-types/-/token-types-2.1.1.tgz#bd585d64902aaf720b8979d257b4b850b4d45c45"
+  integrity sha512-wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==
+  dependencies:
+    "@tokenizer/token" "^0.1.1"
+    ieee754 "^1.2.1"
+
 toml@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee"

From dae6400571793ebfcd4dcb6fb749e9ffdbadcfde Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Fri, 5 Mar 2021 21:48:56 -0800
Subject: [PATCH 25/40] chore: enable automatic runtime. turn off unneeded
 eslint rules

---
 .babelrc     | 11 +++++++++++
 .eslintrc.js |  2 ++
 2 files changed, 13 insertions(+)
 create mode 100644 .babelrc

diff --git a/.babelrc b/.babelrc
new file mode 100644
index 000000000..3cb4a9332
--- /dev/null
+++ b/.babelrc
@@ -0,0 +1,11 @@
+{
+  "presets": [
+    [
+      "babel-preset-gatsby",
+      {
+        "reactRuntime": "automatic",
+        "reactImportSource": "@emotion/core"
+      }
+    ]
+  ]
+}
diff --git a/.eslintrc.js b/.eslintrc.js
index 4efaf3108..398b2d8f6 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -36,5 +36,7 @@ module.exports = {
         ignoreRestSiblings: false,
       },
     ],
+    'react/jsx-uses-react': 'off',
+    'react/react-in-jsx-scope': 'off',
   },
 };

From 36761c58df418740baafdbf9984a562c868215e8 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Fri, 5 Mar 2021 21:56:56 -0800
Subject: [PATCH 26/40] chore: remove babelrc for now to leave as classic

---
 .babelrc | 11 -----------
 1 file changed, 11 deletions(-)
 delete mode 100644 .babelrc

diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index 3cb4a9332..000000000
--- a/.babelrc
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "presets": [
-    [
-      "babel-preset-gatsby",
-      {
-        "reactRuntime": "automatic",
-        "reactImportSource": "@emotion/core"
-      }
-    ]
-  ]
-}

From 90d9456a24cad15a4770e7a739139acf9c52dc5e Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Fri, 5 Mar 2021 22:00:50 -0800
Subject: [PATCH 27/40] chore: reenable eslint rules

---
 .eslintrc.js | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.eslintrc.js b/.eslintrc.js
index 398b2d8f6..4efaf3108 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -36,7 +36,5 @@ module.exports = {
         ignoreRestSiblings: false,
       },
     ],
-    'react/jsx-uses-react': 'off',
-    'react/react-in-jsx-scope': 'off',
   },
 };

From 9a6e49c94f72a20acd305fe480773ccd991c1428 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Sun, 7 Mar 2021 20:47:35 -0800
Subject: [PATCH 28/40] chore: install react spring v9 and newest version of
 the theme

---
 package.json |  3 ++-
 yarn.lock    | 70 ++++++++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 67 insertions(+), 6 deletions(-)

diff --git a/package.json b/package.json
index 91b89f406..bf3a9dc32 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
     "@emotion/styled": "^10.0.27",
     "@mdx-js/mdx": "^1.6.19",
     "@mdx-js/react": "^1.6.19",
-    "@newrelic/gatsby-theme-newrelic": "^1.34.0",
+    "@newrelic/gatsby-theme-newrelic": "^1.35.1",
     "@splitsoftware/splitio-react": "^1.2.0",
     "@xstate/react": "^1.0.2",
     "classnames": "^2.2.6",
@@ -45,6 +45,7 @@
     "react-middle-ellipsis": "^1.1.0",
     "react-shadow": "^18.6.1",
     "react-simple-code-editor": "^0.11.0",
+    "react-spring": "npm:@react-spring/web@9.0.0-rc.3",
     "react-typist": "^2.0.5",
     "react-use": "^15.3.4",
     "snyk": "^1.437.4",
diff --git a/yarn.lock b/yarn.lock
index fbb29f550..158487da5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,11 @@
 # yarn lockfile v1
 
 
+"@alloc/types@^1.2.1":
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/@alloc/types/-/types-1.3.0.tgz#904245b8d3260a4b7d8a801c12501968f64fac08"
+  integrity sha512-mH7LiFiq9g6rX2tvt1LtwsclfG5hnsmtIfkZiauAGrm1AwXhoRS0sF2WrN9JGN7eV5vFXqNaB0eXZ3IvMsVi9g==
+
 "@ardatan/aggregate-error@0.0.6":
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609"
@@ -2515,10 +2520,10 @@
     eslint-plugin-promise "^4.2.1"
     eslint-plugin-react "^7.14.3"
 
-"@newrelic/gatsby-theme-newrelic@^1.34.0":
-  version "1.34.0"
-  resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-1.34.0.tgz#9f05bf71ac1bf044595cd1fc350d42695a99e70f"
-  integrity sha512-vw5DpV6rleB5SPsi3hey4QhaO4DuKK8lbC523pQLMs1na6hyoVB4pVsmvBJ4SVUtTHIOkiDgTREJu1SszpdS1w==
+"@newrelic/gatsby-theme-newrelic@^1.35.1":
+  version "1.35.1"
+  resolved "https://registry.yarnpkg.com/@newrelic/gatsby-theme-newrelic/-/gatsby-theme-newrelic-1.35.1.tgz#16bec25a8c7d44b4fd9842b0da4aab1ac3c5819e"
+  integrity sha512-y4Ikx0vtxiJbw30FASrtDFnrIda8+O/5NMeUWQq3Eey/DnqltDP7JmYMU77ZXJgbuupBkv6ziqnOMQwZxf7wGQ==
   dependencies:
     "@elastic/react-search-ui" "^1.4.1"
     "@elastic/react-search-ui-views" "^1.4.1"
@@ -2612,6 +2617,36 @@
     prop-types "^15.6.1"
     react-lifecycles-compat "^3.0.4"
 
+"@react-spring/animated@9.0.0-rc.3":
+  version "9.0.0-rc.3"
+  resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.0.0-rc.3.tgz#e792cb76aacecfc78db2be6020ac11ce96503eb5"
+  integrity sha512-dAvgtKhkYpzzr+EkmZ4ZuJ5CujxCW0LaT109DvO/2MQNk3EWIxcgl+ik4tSulSbgau1GN8RlkRKyDp0wISdQ3Q==
+  dependencies:
+    "@babel/runtime" "^7.3.1"
+    "@react-spring/shared" "9.0.0-rc.3"
+    react-layout-effect "^1.0.1"
+
+"@react-spring/core@9.0.0-rc.3":
+  version "9.0.0-rc.3"
+  resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.0.0-rc.3.tgz#c8e697573936c525bd0f6ca0c0869f75c86e8a83"
+  integrity sha512-3OzsVFxpfMJNkkQj8TwAH3NhUAX76AXu6WkslQF4EgBeEoG5eY3m+VvM9RsAsGWDuBKpscZ/wBpFt5Ih6KdGHA==
+  dependencies:
+    "@babel/runtime" "^7.3.1"
+    "@react-spring/animated" "9.0.0-rc.3"
+    "@react-spring/shared" "9.0.0-rc.3"
+    react-layout-effect "^1.0.1"
+    use-memo-one "^1.1.0"
+
+"@react-spring/shared@9.0.0-rc.3":
+  version "9.0.0-rc.3"
+  resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.0.0-rc.3.tgz#3f4c9d90accc20fef51a283a7806d78390b84161"
+  integrity sha512-dd50TxwwMWd+dSB0InjndUN9w17cbnMCPy+0sag6zRxxKIo7eOyWSliOtLKxvufgmdC8Prm4M3GT5dmB1yxKEQ==
+  dependencies:
+    "@alloc/types" "^1.2.1"
+    "@babel/runtime" "^7.3.1"
+    fluids "^0.1.6"
+    tslib "^1.11.1"
+
 "@semantic-release/changelog@^5.0.1":
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/@semantic-release/changelog/-/changelog-5.0.1.tgz#50a84b63e5d391b7debfe021421589fa2bcdafe4"
@@ -8357,6 +8392,11 @@ flatted@^2.0.0:
   resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
   integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
 
+fluids@^0.1.6:
+  version "0.1.10"
+  resolved "https://registry.yarnpkg.com/fluids/-/fluids-0.1.10.tgz#0517e7a53dbce1db011dddec301b75178518ba0e"
+  integrity sha512-66FLmUJOrkvEHIsRVeM+88MG0bjd2TOBuR0BkM0hzyCb68W9drzqeX/AHDNp3ouZALQN7JvBvmKdVhHI+PZsdg==
+
 flush-write-stream@^1.0.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -15611,6 +15651,11 @@ react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6, react-i
   resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
   integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
 
+react-layout-effect@^1.0.1:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/react-layout-effect/-/react-layout-effect-1.0.5.tgz#0dc4e24452aee5de66c93c166f0ec512dfb1be80"
+  integrity sha512-zdRXHuch+OBHU6bvjTelOGUCM+UDr/iCY+c0wXLEAc+G4/FlcJruD/hUOzlKH5XgO90Y/BUJPNhI/g9kl+VAsA==
+
 react-lifecycles-compat@^3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
@@ -15705,6 +15750,16 @@ react-spring@^8.0.27:
     "@babel/runtime" "^7.3.1"
     prop-types "^15.5.8"
 
+"react-spring@npm:@react-spring/web@9.0.0-rc.3":
+  version "9.0.0-rc.3"
+  resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.0.0-rc.3.tgz#da977382f91d9af4c400e4aa7dc37d3db07b87e0"
+  integrity sha512-rEvipblmihiz8+Eo01zDp5dqWn6XfYk8q2rlN9c18YIOL4o6nuY/VplDoocUMHYfH4liurpO4o1QudKOO1nAiQ==
+  dependencies:
+    "@babel/runtime" "^7.3.1"
+    "@react-spring/animated" "9.0.0-rc.3"
+    "@react-spring/core" "9.0.0-rc.3"
+    "@react-spring/shared" "9.0.0-rc.3"
+
 react-test-renderer@^16.13.1:
   version "16.13.1"
   resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.1.tgz#de25ea358d9012606de51e012d9742e7f0deabc1"
@@ -18740,7 +18795,7 @@ tslib@1.11.1, tslib@^1, tslib@^1.8.1, tslib@^1.9.0:
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
   integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
 
-tslib@^1.10.0, tslib@^1.11.2, tslib@^1.13.0, tslib@^1.9.3:
+tslib@^1.10.0, tslib@^1.11.1, tslib@^1.11.2, tslib@^1.13.0, tslib@^1.9.3:
   version "1.14.1"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
   integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
@@ -19360,6 +19415,11 @@ use-media@^1.4.0:
   resolved "https://registry.yarnpkg.com/use-media/-/use-media-1.4.0.tgz#e777bf1f382a7aacabbd1f9ce3da2b62e58b2a98"
   integrity sha512-XsgyUAf3nhzZmEfhc5MqLHwyaPjs78bgytpVJ/xDl0TF4Bptf3vEpBNBBT/EIKOmsOc8UbuECq3mrP3mt1QANA==
 
+use-memo-one@^1.1.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.2.tgz#0c8203a329f76e040047a35a1197defe342fab20"
+  integrity sha512-u2qFKtxLsia/r8qG0ZKkbytbztzRb317XCkT7yP8wxL0tZ/CzK2G+WWie5vWvpyeP7+YoPIwbJoIHJ4Ba4k0oQ==
+
 use-persisted-state@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/use-persisted-state/-/use-persisted-state-0.3.0.tgz#f8e3d2fd8eee67e0c86fd596c3ea3e8121c07402"

From 7961233649dd3f59885bfa979ba7aea98723a96a Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Sun, 7 Mar 2021 20:50:03 -0800
Subject: [PATCH 29/40] chore: force trailing slashes

---
 gatsby-config.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gatsby-config.js b/gatsby-config.js
index 13322bfc2..f2e7484ad 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -16,6 +16,7 @@ module.exports = {
     {
       resolve: '@newrelic/gatsby-theme-newrelic',
       options: {
+        forceTrailingSlashes: true,
         gaTrackingId: 'UA-3047412-33',
         layout: {
           contentPadding: '2rem',

From fae45816434750e4032d4d5f641ad42b0cbe1f42 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Sun, 7 Mar 2021 20:54:41 -0800
Subject: [PATCH 30/40] chore: no need for react-spring install

---
 package.json |  1 -
 yarn.lock    | 62 +---------------------------------------------------
 2 files changed, 1 insertion(+), 62 deletions(-)

diff --git a/package.json b/package.json
index bf3a9dc32..a6a3dc860 100644
--- a/package.json
+++ b/package.json
@@ -45,7 +45,6 @@
     "react-middle-ellipsis": "^1.1.0",
     "react-shadow": "^18.6.1",
     "react-simple-code-editor": "^0.11.0",
-    "react-spring": "npm:@react-spring/web@9.0.0-rc.3",
     "react-typist": "^2.0.5",
     "react-use": "^15.3.4",
     "snyk": "^1.437.4",
diff --git a/yarn.lock b/yarn.lock
index 158487da5..5f43aceff 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,11 +2,6 @@
 # yarn lockfile v1
 
 
-"@alloc/types@^1.2.1":
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/@alloc/types/-/types-1.3.0.tgz#904245b8d3260a4b7d8a801c12501968f64fac08"
-  integrity sha512-mH7LiFiq9g6rX2tvt1LtwsclfG5hnsmtIfkZiauAGrm1AwXhoRS0sF2WrN9JGN7eV5vFXqNaB0eXZ3IvMsVi9g==
-
 "@ardatan/aggregate-error@0.0.6":
   version "0.0.6"
   resolved "https://registry.yarnpkg.com/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609"
@@ -2617,36 +2612,6 @@
     prop-types "^15.6.1"
     react-lifecycles-compat "^3.0.4"
 
-"@react-spring/animated@9.0.0-rc.3":
-  version "9.0.0-rc.3"
-  resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.0.0-rc.3.tgz#e792cb76aacecfc78db2be6020ac11ce96503eb5"
-  integrity sha512-dAvgtKhkYpzzr+EkmZ4ZuJ5CujxCW0LaT109DvO/2MQNk3EWIxcgl+ik4tSulSbgau1GN8RlkRKyDp0wISdQ3Q==
-  dependencies:
-    "@babel/runtime" "^7.3.1"
-    "@react-spring/shared" "9.0.0-rc.3"
-    react-layout-effect "^1.0.1"
-
-"@react-spring/core@9.0.0-rc.3":
-  version "9.0.0-rc.3"
-  resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.0.0-rc.3.tgz#c8e697573936c525bd0f6ca0c0869f75c86e8a83"
-  integrity sha512-3OzsVFxpfMJNkkQj8TwAH3NhUAX76AXu6WkslQF4EgBeEoG5eY3m+VvM9RsAsGWDuBKpscZ/wBpFt5Ih6KdGHA==
-  dependencies:
-    "@babel/runtime" "^7.3.1"
-    "@react-spring/animated" "9.0.0-rc.3"
-    "@react-spring/shared" "9.0.0-rc.3"
-    react-layout-effect "^1.0.1"
-    use-memo-one "^1.1.0"
-
-"@react-spring/shared@9.0.0-rc.3":
-  version "9.0.0-rc.3"
-  resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.0.0-rc.3.tgz#3f4c9d90accc20fef51a283a7806d78390b84161"
-  integrity sha512-dd50TxwwMWd+dSB0InjndUN9w17cbnMCPy+0sag6zRxxKIo7eOyWSliOtLKxvufgmdC8Prm4M3GT5dmB1yxKEQ==
-  dependencies:
-    "@alloc/types" "^1.2.1"
-    "@babel/runtime" "^7.3.1"
-    fluids "^0.1.6"
-    tslib "^1.11.1"
-
 "@semantic-release/changelog@^5.0.1":
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/@semantic-release/changelog/-/changelog-5.0.1.tgz#50a84b63e5d391b7debfe021421589fa2bcdafe4"
@@ -8392,11 +8357,6 @@ flatted@^2.0.0:
   resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
   integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
 
-fluids@^0.1.6:
-  version "0.1.10"
-  resolved "https://registry.yarnpkg.com/fluids/-/fluids-0.1.10.tgz#0517e7a53dbce1db011dddec301b75178518ba0e"
-  integrity sha512-66FLmUJOrkvEHIsRVeM+88MG0bjd2TOBuR0BkM0hzyCb68W9drzqeX/AHDNp3ouZALQN7JvBvmKdVhHI+PZsdg==
-
 flush-write-stream@^1.0.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -15651,11 +15611,6 @@ react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6, react-i
   resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
   integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
 
-react-layout-effect@^1.0.1:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/react-layout-effect/-/react-layout-effect-1.0.5.tgz#0dc4e24452aee5de66c93c166f0ec512dfb1be80"
-  integrity sha512-zdRXHuch+OBHU6bvjTelOGUCM+UDr/iCY+c0wXLEAc+G4/FlcJruD/hUOzlKH5XgO90Y/BUJPNhI/g9kl+VAsA==
-
 react-lifecycles-compat@^3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
@@ -15750,16 +15705,6 @@ react-spring@^8.0.27:
     "@babel/runtime" "^7.3.1"
     prop-types "^15.5.8"
 
-"react-spring@npm:@react-spring/web@9.0.0-rc.3":
-  version "9.0.0-rc.3"
-  resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.0.0-rc.3.tgz#da977382f91d9af4c400e4aa7dc37d3db07b87e0"
-  integrity sha512-rEvipblmihiz8+Eo01zDp5dqWn6XfYk8q2rlN9c18YIOL4o6nuY/VplDoocUMHYfH4liurpO4o1QudKOO1nAiQ==
-  dependencies:
-    "@babel/runtime" "^7.3.1"
-    "@react-spring/animated" "9.0.0-rc.3"
-    "@react-spring/core" "9.0.0-rc.3"
-    "@react-spring/shared" "9.0.0-rc.3"
-
 react-test-renderer@^16.13.1:
   version "16.13.1"
   resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.1.tgz#de25ea358d9012606de51e012d9742e7f0deabc1"
@@ -18795,7 +18740,7 @@ tslib@1.11.1, tslib@^1, tslib@^1.8.1, tslib@^1.9.0:
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
   integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
 
-tslib@^1.10.0, tslib@^1.11.1, tslib@^1.11.2, tslib@^1.13.0, tslib@^1.9.3:
+tslib@^1.10.0, tslib@^1.11.2, tslib@^1.13.0, tslib@^1.9.3:
   version "1.14.1"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
   integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
@@ -19415,11 +19360,6 @@ use-media@^1.4.0:
   resolved "https://registry.yarnpkg.com/use-media/-/use-media-1.4.0.tgz#e777bf1f382a7aacabbd1f9ce3da2b62e58b2a98"
   integrity sha512-XsgyUAf3nhzZmEfhc5MqLHwyaPjs78bgytpVJ/xDl0TF4Bptf3vEpBNBBT/EIKOmsOc8UbuECq3mrP3mt1QANA==
 
-use-memo-one@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.2.tgz#0c8203a329f76e040047a35a1197defe342fab20"
-  integrity sha512-u2qFKtxLsia/r8qG0ZKkbytbztzRb317XCkT7yP8wxL0tZ/CzK2G+WWie5vWvpyeP7+YoPIwbJoIHJ4Ba4k0oQ==
-
 use-persisted-state@^0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/use-persisted-state/-/use-persisted-state-0.3.0.tgz#f8e3d2fd8eee67e0c86fd596c3ea3e8121c07402"

From 794ca3fc796d770c36fc45bcbd9c7f194c944528 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Sun, 7 Mar 2021 20:54:54 -0800
Subject: [PATCH 31/40] chore: polyfill requestAnimationFrame in ssr

---
 gatsby-ssr.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gatsby-ssr.js b/gatsby-ssr.js
index 83bbf8c51..2cec2ee99 100644
--- a/gatsby-ssr.js
+++ b/gatsby-ssr.js
@@ -8,6 +8,7 @@ import React, { createContext } from 'react';
 import wrapPageElement from './gatsby/wrap-page-element';
 
 global.window = {
+  requestAnimationFrame: () => {},
   __NR1_SDK__: {
     default: {
       PlatformStateContext: createContext(),

From e6406d40cb64603fea81b34f42d9138ec9c195d0 Mon Sep 17 00:00:00 2001
From: Jerel Miller <jerelmiller@gmail.com>
Date: Sun, 7 Mar 2021 20:59:28 -0800
Subject: [PATCH 32/40] chore: dont add trailing slashes for now. Need more
 testing

---
 gatsby-config.js | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gatsby-config.js b/gatsby-config.js
index f2e7484ad..13322bfc2 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -16,7 +16,6 @@ module.exports = {
     {
       resolve: '@newrelic/gatsby-theme-newrelic',
       options: {
-        forceTrailingSlashes: true,
         gaTrackingId: 'UA-3047412-33',
         layout: {
           contentPadding: '2rem',

From 06a6d695a0952a47a005356c0002ad06e65a326c Mon Sep 17 00:00:00 2001
From: Aaron Bassett <me@aaronbassett.com>
Date: Mon, 8 Mar 2021 15:28:16 -0500
Subject: [PATCH 33/40] chore(podcasts): Add The Relicans Launchies and
 Polyglot podcast embeds

---
 src/pages/podcasts.js | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/src/pages/podcasts.js b/src/pages/podcasts.js
index 63a2f6549..b6252fe3a 100644
--- a/src/pages/podcasts.js
+++ b/src/pages/podcasts.js
@@ -1,11 +1,26 @@
+import PageLayout from '../components/PageLayout';
 import React from 'react';
-import cx from 'classnames';
 import SEO from '../components/Seo';
-import PageLayout from '../components/PageLayout';
+import cx from 'classnames';
 import podcastsHeader from '../images/podcasts/podcasts.jpg';
 import styles from './podcasts.module.scss';
 
 const PodcastsPage = () => {
+  const podcastIds = ['1225223', '1677727', '1677670'];
+
+  const podcastEmbeds = podcastIds.map((podcastId) => {
+    return (
+      <section className={cx(styles.section, styles.player)} key={podcastId}>
+        <div>
+          <iframe
+            title="buzzsprout"
+            src={`https://www.buzzsprout.com/${podcastId}?client_source=large_player&iframe=true&referrer=https://www.buzzsprout.com/${podcastId}.js?container_id=buzzsprout-large-player-${podcastId}&player=large`}
+          />
+        </div>
+      </section>
+    );
+  });
+
   return (
     <>
       <SEO />
@@ -54,14 +69,8 @@ const PodcastsPage = () => {
               alt="podcasts header"
             />
           </section>
-          <section className={cx(styles.section, styles.player)}>
-            <div id="buzzsprout-player">
-              <iframe
-                title="buzzsprout"
-                src="https://www.buzzsprout.com/1225223?client_source=large_player&iframe=true&referrer=https://www.buzzsprout.com/1225223.js?container_id=buzzsprout-large-player-1225223&player=large"
-              />
-            </div>
-          </section>
+
+          {podcastEmbeds}
         </PageLayout.Content>
       </PageLayout>
     </>

From e9f50c3d1c823d3f7134b37572f0c5ef998a11c4 Mon Sep 17 00:00:00 2001
From: Aaron Bassett <me@aaronbassett.com>
Date: Mon, 8 Mar 2021 16:12:17 -0500
Subject: [PATCH 34/40] chore(podcast): Apply requested changes from review

- Add meaningful title to iframes
- Remove superfluous div from embed code
- Move emebed map inline
---
 src/pages/podcasts.js | 42 +++++++++++++++++++++++++++---------------
 1 file changed, 27 insertions(+), 15 deletions(-)

diff --git a/src/pages/podcasts.js b/src/pages/podcasts.js
index b6252fe3a..12fa21940 100644
--- a/src/pages/podcasts.js
+++ b/src/pages/podcasts.js
@@ -6,20 +6,20 @@ import podcastsHeader from '../images/podcasts/podcasts.jpg';
 import styles from './podcasts.module.scss';
 
 const PodcastsPage = () => {
-  const podcastIds = ['1225223', '1677727', '1677670'];
-
-  const podcastEmbeds = podcastIds.map((podcastId) => {
-    return (
-      <section className={cx(styles.section, styles.player)} key={podcastId}>
-        <div>
-          <iframe
-            title="buzzsprout"
-            src={`https://www.buzzsprout.com/${podcastId}?client_source=large_player&iframe=true&referrer=https://www.buzzsprout.com/${podcastId}.js?container_id=buzzsprout-large-player-${podcastId}&player=large`}
-          />
-        </div>
-      </section>
-    );
-  });
+  const podcastsMeta = [
+    {
+      id: '1225223',
+      title: 'Observy McObservface',
+    },
+    {
+      id: '1677727',
+      title: 'Polyglot',
+    },
+    {
+      id: '1677670',
+      title: 'Launchies',
+    },
+  ];
 
   return (
     <>
@@ -70,7 +70,19 @@ const PodcastsPage = () => {
             />
           </section>
 
-          {podcastEmbeds}
+          {podcastsMeta.map((podcastMeta) => {
+            return (
+              <section
+                className={cx(styles.section, styles.player)}
+                key={podcastMeta.id}
+              >
+                <iframe
+                  title={`${podcastMeta.title} podcast player`}
+                  src={`https://www.buzzsprout.com/${podcastMeta.id}?client_source=large_player&iframe=true&referrer=https://www.buzzsprout.com/${podcastMeta.id}.js?container_id=buzzsprout-large-player-${podcastMeta.id}&player=large`}
+                />
+              </section>
+            );
+          })}
         </PageLayout.Content>
       </PageLayout>
     </>

From 2f0ea5600e9bef3fbe738383abd5c1ce9c97d1d0 Mon Sep 17 00:00:00 2001
From: lbaker <lizbaker.pdx@gmail.com>
Date: Mon, 8 Mar 2021 14:55:39 -0800
Subject: [PATCH 35/40] fix: Use correct path for set-up-dev-env guide link

---
 src/markdown-pages/build-apps/add-nerdgraphquery-guide.mdx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/markdown-pages/build-apps/add-nerdgraphquery-guide.mdx b/src/markdown-pages/build-apps/add-nerdgraphquery-guide.mdx
index 3706a2470..eb267e1d7 100644
--- a/src/markdown-pages/build-apps/add-nerdgraphquery-guide.mdx
+++ b/src/markdown-pages/build-apps/add-nerdgraphquery-guide.mdx
@@ -50,7 +50,7 @@ If you've already installed the New Relic One CLI, but you can't remember your a
 
 </Callout>
 
-For additional details, see [Set up your development environment](set-up-dev-env).
+For additional details, see [Set up your development environment](/build-apps/set-up-dev-env).
 
 ## Prepare the sample code
 

From 2736ad82b96af23ffa938b29332c5562695e843e Mon Sep 17 00:00:00 2001
From: lbaker <lizbaker.pdx@gmail.com>
Date: Mon, 8 Mar 2021 14:56:17 -0800
Subject: [PATCH 36/40] fix: Swap guide linked for permissions

---
 src/markdown-pages/explore-docs/nr1-cli.mdx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/markdown-pages/explore-docs/nr1-cli.mdx b/src/markdown-pages/explore-docs/nr1-cli.mdx
index c605a3953..d4ef26b30 100644
--- a/src/markdown-pages/explore-docs/nr1-cli.mdx
+++ b/src/markdown-pages/explore-docs/nr1-cli.mdx
@@ -56,7 +56,7 @@ Use the [NR1 VS Code extension](https://marketplace.visualstudio.com/items?itemN
 
 This table provides descriptions for the New Relic One commands. For more context, including usage and option details, click any individual command or the command category.
 
-For details on user permissions, see [Authentication and permissions](/build-apps/set-up-dev-env).
+For details on user permissions, see [Authentication and permissions](/build-apps/permission-manage-apps).
 
 For more on how to serve and publish your application, see our guide on [Deploying your New Relic One app](/build-tools/new-relic-one-applications/publish-deploy).
 

From d2bb6a8795e987b89a1c1058390d4052b48163c1 Mon Sep 17 00:00:00 2001
From: lbaker <lizbaker.pdx@gmail.com>
Date: Mon, 8 Mar 2021 15:07:41 -0800
Subject: [PATCH 37/40] chore: Add a couple more set-up-dev-env path tweaks

---
 src/markdown-pages/build-apps/add-time-picker-guide.mdx | 2 +-
 src/markdown-pages/build-apps/build-hello-world-app.mdx | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/markdown-pages/build-apps/add-time-picker-guide.mdx b/src/markdown-pages/build-apps/add-time-picker-guide.mdx
index b5d834218..28288383c 100644
--- a/src/markdown-pages/build-apps/add-time-picker-guide.mdx
+++ b/src/markdown-pages/build-apps/add-time-picker-guide.mdx
@@ -43,7 +43,7 @@ If you've already installed the New Relic One CLI, but you can't remember your a
 
 </Callout>
 
-For additional details, see [Set up your development environment](set-up-dev-env).
+For additional details, see [Set up your development environment](/build-apps/set-up-dev-env).
 
 ## Prepare the time picker sample code
 
diff --git a/src/markdown-pages/build-apps/build-hello-world-app.mdx b/src/markdown-pages/build-apps/build-hello-world-app.mdx
index 25568e69d..4f307b2cf 100644
--- a/src/markdown-pages/build-apps/build-hello-world-app.mdx
+++ b/src/markdown-pages/build-apps/build-hello-world-app.mdx
@@ -41,7 +41,7 @@ If you haven't already installed it, do the following:
 - Install [Node.js](https://nodejs.org/en/download/).
 - Complete all the steps in the [CLI quick start](https://one.newrelic.com/launcher/developer-center.launcher?pane=eyJuZXJkbGV0SWQiOiJkZXZlbG9wZXItY2VudGVyLmRldmVsb3Blci1jZW50ZXIifQ==).
 
-For additional details about setting up your environment, see [Set up your development environment](set-up-dev-env).
+For additional details about setting up your environment, see [Set up your development environment](/build-apps/set-up-dev-env).
 
 <Callout variant="tip">
 

From 0ddfd97a03f7a85232faf0928c03f31d2013b605 Mon Sep 17 00:00:00 2001
From: nr-opensource-bot <opensource+bot@newrelic.com>
Date: Tue, 9 Mar 2021 21:43:11 +0000
Subject: [PATCH 38/40] chore(release): 1.35.6

## [1.35.6](https://github.com/newrelic/developer-website/compare/v1.35.5...v1.35.6) (2021-03-09)

### Bug Fixes

* Swap guide linked for permissions ([2736ad8](https://github.com/newrelic/developer-website/commit/2736ad82b96af23ffa938b29332c5562695e843e))
* Use correct path for set-up-dev-env guide link ([2f0ea56](https://github.com/newrelic/developer-website/commit/2f0ea5600e9bef3fbe738383abd5c1ce9c97d1d0))
---
 CHANGELOG.md | 8 ++++++++
 package.json | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3386a9dbd..2051fd4d6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+## [1.35.6](https://github.com/newrelic/developer-website/compare/v1.35.5...v1.35.6) (2021-03-09)
+
+
+### Bug Fixes
+
+* Swap guide linked for permissions ([2736ad8](https://github.com/newrelic/developer-website/commit/2736ad82b96af23ffa938b29332c5562695e843e))
+* Use correct path for set-up-dev-env guide link ([2f0ea56](https://github.com/newrelic/developer-website/commit/2f0ea5600e9bef3fbe738383abd5c1ce9c97d1d0))
+
 ## [1.35.5](https://github.com/newrelic/developer-website/compare/v1.35.4...v1.35.5) (2021-02-25)
 
 
diff --git a/package.json b/package.json
index a6a3dc860..fa3d906de 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "developer-website",
   "private": true,
-  "version": "1.35.5",
+  "version": "1.35.6",
   "dependencies": {
     "@emotion/core": "^10.1.1",
     "@emotion/styled": "^10.0.27",

From b82372bba6be823c4ee6c06fa6a2ae34e32e4921 Mon Sep 17 00:00:00 2001
From: Jemiah Sius <jsius@newrelic.com>
Date: Wed, 10 Mar 2021 16:03:13 -0500
Subject: [PATCH 39/40] add fs registration banner

---
 src/pages/index.js | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/pages/index.js b/src/pages/index.js
index 7555e5f89..69a9e88d3 100644
--- a/src/pages/index.js
+++ b/src/pages/index.js
@@ -16,6 +16,7 @@ import { pageContext } from '../types';
 import styles from './index.module.scss';
 import devChampionBadge from '../images/developer-champion/dev-champion-badge.png';
 import podcastBadge from '../images/podcasts/podcasts-badge.png';
+import fsBanner from '../images/futurestack-registration.png';
 import Video from '../components/Video';
 
 const getStartedGuides = [
@@ -58,6 +59,19 @@ const IndexPage = ({ data, pageContext }) => {
         <PageLayout.Header title="Getting started with New Relic and Terraform" />
 
         <PageLayout.Content>
+          <section>
+            <a href="https://newrelic.com/futurestack">
+              <img
+                css={css`
+                  display: block;
+                  width: 99%;
+                  margin-bottom: 25px;
+                `}
+                src={fsBanner}
+                alt="Register for FutureStack 2021"
+              />
+            </a>
+          </section>
           <section
             css={css`
               margin-top: 0;

From 3344d9e0c7765a14a2403492ce991b822998c7b9 Mon Sep 17 00:00:00 2001
From: Jemiah Sius <jsius@newrelic.com>
Date: Wed, 10 Mar 2021 16:14:03 -0500
Subject: [PATCH 40/40] Add fs banner image

---
 src/images/futurestack-registration.png | Bin 0 -> 37088 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 src/images/futurestack-registration.png

diff --git a/src/images/futurestack-registration.png b/src/images/futurestack-registration.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b9a210893997440f7e0a030d31319a5790e0db0
GIT binary patch
literal 37088
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

literal 0
HcmV?d00001