aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'public/index.html')
-rw-r--r--public/index.html6
1 files changed, 3 insertions, 3 deletions
diff --git a/public/index.html b/public/index.html
index 8447961..bb4ffc9 100644
--- a/public/index.html
+++ b/public/index.html
@@ -17,10 +17,10 @@ data-styled.g4[id="Content-sc-1nsqces-0"]{content:"haedly,"}/*!sc*/
.jVEOXb{width:100%;position:fixed;left:0px;bottom:0px;text-align:center;font-size:12px;}/*!sc*/
.jVEOXb span{background-color:#e1e1e1;}/*!sc*/
data-styled.g5[id="Footer-sc-1as233t-0"]{content:"jVEOXb,"}/*!sc*/
-</style><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block;vertical-align:top}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript><script type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script><link rel="icon" href="/favicon-32x32.png" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><main><div class="Content-sc-1nsqces-0 haedly"><div><div data-gatsby-image-wrapper="" style="width:350px;height:350px" class="gatsby-image-wrapper"><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/png;base64,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" alt=""/><picture><source type="image/webp" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" data-src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></picture><noscript><picture><source type="image/webp" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></picture></noscript><script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script></div></div><div class="BlockHeader-sc-1tkpfhe-0 huRVZJ">Hello!</div><div class="BlockBody-sc-13lvm6o-0 leQvlK"><p>I&#x27;m a computer science and math graduate from Millersville University. I work as a Solutions Architect and specialize in development operations and systems validation for web applications.</p><p>My most recent projects have been focused on full-stack development. I use Kubernetes for orchestration and NextJS for the front-end. For back-end development, I have built services enabled by Java with Spring Boot, Quarkus, and rust+actix-web with a GraphQL serving public API.</p><p>I run a personal Kubernetes cluster at home using MicroOS and k3d. I have also run multiple clusters via DigitalOcean with deployments dedicated for hosting git projects, CI/CD, and code coverage. Since then all projects have been moved to GitHub.</p><em>- Kevin H.</em></div><div class="BlockBody-sc-13lvm6o-0 vjVoK"><a href="https://cybr.es/@kjhoerr" rel="me" aria-label="My Mastodon account" class="BlockAnchor-sc-49dv1p-0 bqDhcO"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"></path></svg> @kjhoerr@cybr.es</a></div><div class="BlockBody-sc-13lvm6o-0 vjVoK"><a href="https://github.com/kjhoerr" rel="me" aria-label="My GitHub account with my most active personal projects" class="BlockAnchor-sc-49dv1p-0 bqDhcO"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg> kjhoerr on GitHub</a></div></div><div class="Footer-sc-1as233t-0 jVEOXb"><span>©2022 kjhoerr@https://submelon.dev/:<!-- -->wC.b.s.g.K-0</span></div></main></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><!-- slice-start id="_gatsby-scripts-1" -->
+</style><style>.gatsby-image-wrapper{position:relative;overflow:hidden}.gatsby-image-wrapper picture.object-fit-polyfill{position:static!important}.gatsby-image-wrapper img{bottom:0;height:100%;left:0;margin:0;max-width:none;padding:0;position:absolute;right:0;top:0;width:100%;object-fit:cover}.gatsby-image-wrapper [data-main-image]{opacity:0;transform:translateZ(0);transition:opacity .25s linear;will-change:opacity}.gatsby-image-wrapper-constrained{display:inline-block;vertical-align:top}</style><noscript><style>.gatsby-image-wrapper noscript [data-main-image]{opacity:1!important}.gatsby-image-wrapper [data-placeholder-image]{opacity:0!important}</style></noscript><script type="module">const e="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;e&&document.body.addEventListener("load",(function(e){const t=e.target;if(void 0===t.dataset.mainImage)return;if(void 0===t.dataset.gatsbyImageSsr)return;let a=null,n=t;for(;null===a&&n;)void 0!==n.parentNode.dataset.gatsbyImageWrapper&&(a=n.parentNode),n=n.parentNode;const o=a.querySelector("[data-placeholder-image]"),r=new Image;r.src=t.currentSrc,r.decode().catch((()=>{})).then((()=>{t.style.opacity=1,o&&(o.style.opacity=0,o.style.transition="opacity 500ms linear")}))}),!0);</script><link rel="icon" href="/favicon-32x32.png" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><main><div class="Content-sc-1nsqces-0 haedly"><div><div data-gatsby-image-wrapper="" style="width:350px;height:350px" class="gatsby-image-wrapper"><img aria-hidden="true" data-placeholder-image="" style="opacity:1;transition:opacity 500ms linear" decoding="async" src="data:image/png;base64,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" alt=""/><picture><source type="image/webp" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" data-src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" data-srcset="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></picture><noscript><picture><source type="image/webp" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/6cac9/main.webp 350w" sizes="350px"/><img data-gatsby-image-ssr="" layout="fixed" data-main-image="" style="opacity:0" sizes="350px" decoding="async" loading="lazy" src="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png" srcSet="/static/81e0da73927123f3f6b0c9a2d0750e76/88e48/main.png 350w" alt="Picture of Kevin Hoerr"/></picture></noscript><script type="module">const t="undefined"!=typeof HTMLImageElement&&"loading"in HTMLImageElement.prototype;if(t){const t=document.querySelectorAll("img[data-main-image]");for(let e of t){e.dataset.src&&(e.setAttribute("src",e.dataset.src),e.removeAttribute("data-src")),e.dataset.srcset&&(e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset"));const t=e.parentNode.querySelectorAll("source[data-srcset]");for(let e of t)e.setAttribute("srcset",e.dataset.srcset),e.removeAttribute("data-srcset");e.complete&&(e.style.opacity=1,e.parentNode.parentNode.querySelector("[data-placeholder-image]").style.opacity=0)}}</script></div></div><div class="BlockHeader-sc-1tkpfhe-0 huRVZJ">Hello!</div><div class="BlockBody-sc-13lvm6o-0 leQvlK"><p>I&#x27;m a computer science and math graduate from Millersville University. I work as a Solutions Architect and specialize in development operations and systems validation for web applications.</p><p>During my time at Millersville I was the lead Linux admin for the Cyber Defense Organization (CDO). In addition to constructing a new computer lab for our efforts, we participated in NCL and MACCDC.</p><p>Most of my development experience is focused around full stack development. For the front-end I use TypeScript and ReactJS using create-react-app or NextJS. For back-end systems I have experience using Java with Spring Boot and rust with actix-web. To mediate APIs I have used Apache Kafka, OpenAPI, and GraphQL.</p><p>My free time is spent around general computing hobbies. When I&#x27;m not trying out new application frameworks I am fiddling around with Guix or NixOS. I run a kubernetes cluster at home to manage, maintain, and secure my personal network in conjunction with experimenting with distributed workloads.</p><em>- Kevin H.</em></div><div class="BlockBody-sc-13lvm6o-0 vjVoK"><a href="https://cybr.es/@kjhoerr" rel="me" aria-label="My Mastodon account" class="BlockAnchor-sc-49dv1p-0 bqDhcO"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"></path></svg> @kjhoerr@cybr.es</a></div><div class="BlockBody-sc-13lvm6o-0 vjVoK"><a href="https://github.com/kjhoerr" rel="me" aria-label="My GitHub account with my most active personal projects" class="BlockAnchor-sc-49dv1p-0 bqDhcO"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" style="margin-bottom:-4px" height="20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg> kjhoerr on GitHub</a></div></div><div class="Footer-sc-1as233t-0 jVEOXb"><span>©2022 kjhoerr@https://submelon.dev/:<!-- -->wC.b.s.j.W-0</span></div></main></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><!-- slice-start id="_gatsby-scripts-1" -->
<script
id="gatsby-chunk-mapping"
>
- window.___chunkMapping="{\"app\":[\"/app-ab8ccc4e8dafa3ca248d.js\"],\"component---cache-caches-gatsby-plugin-offline-app-shell-js\":[\"/component---cache-caches-gatsby-plugin-offline-app-shell-js-56599e2012c5599fcb23.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d29fb8ea3e32c047febf.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-80f6efd0e7592285e097.js\"]}";
+ window.___chunkMapping="{\"app\":[\"/app-ab8ccc4e8dafa3ca248d.js\"],\"component---cache-caches-gatsby-plugin-offline-app-shell-js\":[\"/component---cache-caches-gatsby-plugin-offline-app-shell-js-56599e2012c5599fcb23.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d29fb8ea3e32c047febf.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-804d0ec6dbe442b6f0a6.js\"]}";
</script>
- <script>window.___webpackCompilationHash="0aaf5bbc06d83239d9d5";</script><script src="/webpack-runtime-04b726ee48540d5c6836.js" async></script><script src="/framework-9d7199247c4ea55ff463.js" async></script><script src="/app-ab8ccc4e8dafa3ca248d.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
+ <script>window.___webpackCompilationHash="4ad6f2ebe45d993a0330";</script><script src="/webpack-runtime-60ec0dc7d54ced5e6199.js" async></script><script src="/framework-9d7199247c4ea55ff463.js" async></script><script src="/app-ab8ccc4e8dafa3ca248d.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file