Shellsharks Blogroll - BlogFlock
2026-08-06T03:32:12.983Z
BlogFlock
Adepts of 0xCC, destructured, fLaMEd, Aaron Parecki, Trail of Bits Blog, James' Coffee Blog, Westenberg, gynvael.coldwind//vx.log (pl), joelchrono, Evan Boehs, Kev Quirk, cool-as-heck, Posts feed, Sophie Koonin, <span>Songs</span> on the Security of Networks, cmdr-nova@internet:~$, Werd I/O, Johnny.Decimal, Robb Knight, Molly White, Hey, it's Jason!, Terence Eden’s Blog
📝 2026-08-05 22:52: I have a habit of giving all our pets nicknames, there's many of them for... - Kev Quirk
https://kevquirk.com/2026-08-05-2252
2026-08-05T21:52:00.000Z
<p>I have a habit of giving all our pets nicknames, there's many of them for each of our dogs. We've Nelly for 4 days and already I have:</p>
<p>Nells Bells
Nelly Bean
Nelly Furtado
Man Eater (after the song)
Nelly the Elephant</p>
<p>It's anyone's guess which will stick. Our other dogs, Tia and Sid, are t-bone and squid (short for Sqidley) respectively. 🤷🏼♂️</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=%F0%9F%93%9D%202026-08-05%2022%3A52">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-08-05-2252#comments">leave a comment</a>.</p>
</div>
Picking up where I left off - Joel's Log Files
https://joelchrono.xyz/blog/picking-up-where-i-left-off
2026-08-05T18:50:00.000Z
<p>Behold, it is I, the guy who continues to play new shiny videogames instead of sticking to my ongoing playthroughs.</p>
<p>I’ve written before about my <a href="/blog/ongoing-games-2025/">ongoing games</a>, which games I would start over instead of resuming, why I abandoned them, and the like.</p>
<p>This post will be different. Not a list of games, not excuses as to why I stopped playing them. My plan is to share with you exactly where I stopped playing and trying to remember what I was doing and where I was going! So, an excercise on my own memory, I guess.</p>
<p>It should be obvious but I won’t actually look at gameplay videos or guides and such, this is just what my brain remembers and I’ll share it with you here. Of course, there may be spoilers in case you haven’t played these videogames, but you may also not care, and I could also be wrong!</p>
<p>If you are okay with being exposed to some sections of the story of these, let’s go! Think of them as the memories of some old hermit or something, if you wish.</p>
<h2 id="dragon-quest-xi-s-echoes-of-an-elusive-age---definitive-edition">Dragon Quest XI S: Echoes of an Elusive Age - Definitive Edition</h2>
<p><strong>Last Played: June 20, 2025</strong></p>
<p>I literally stopped at a perfect spot, in my opinion. I have been searching for the location of Ygddrasil, the giant magic tree of the world in <em>Dragon Quest</em>, and I have been looking for some special orbs of energy or something that will let me access it!</p>
<p>I am not completely sure if I already have all of the orbs or not right now, but after countless, wonderful adventures and thirty hours of gameplay, I’ve made it to a magical city, which is where the twin sisters that are members of my party—one of them shrinked by some curse at the moment—were born.</p>
<p>At this point, the guy in charge, who is wise or something, just told me the story of my ancestors who saved the world in what I guess would be, the “Elusive Age” of the game’s title! The story was told by showing some beautiful art engraved on the walls in some sort of sanctuary.</p>
<p>After all of that was done, the guy finally opened the door, which should, lead me right through to Ygddrasil at last.</p>
<p>My theory of course is that something will stop me before I do that, and all of what I’ve gathered, including my party members, will be dispersed somehow by some bigger evil. I may be wrong though, I am probably just affected by one of the games in here…</p>
<h2 id="final-fantasy-vii">Final Fantasy VII</h2>
<p><strong>Last Played: May 2, 2025</strong></p>
<p>We have been on the run from Shinra for quite a while now, and I’m not totally sure of where I’m at story-wise, I may be telling stuff that happened much earlier, but I’ll write away…</p>
<p>I believe last I played, I managed to escape from Rocket Town, it was a place where a giant Rocket—if the town’s name wasn’t clear enough—failed to launch or something. We saw some of the backstory, shared by a guy who was there, it was very traumatic I guess and he is taking care of—or being cared for by—some lady who was also there back then…</p>
<p>Anyway, Shinra showed up—they are the bad guys by the way—and I ended up stealing—or borrowing maybe—a flying airplane! This was super cool because I thought I would finally be able to explore the whole world. But it’s way too early in the story, so of course I was shot by some missiles and my plane lost the ability to fly, landing on the sea. So, now I have a way to travel by sea using a broken airplane!</p>
<p>I believe I headed to some place where all of my powers got stolen by one of the characters in the game. I was super weak and not ready for that at all, so I decided to reload my save and head elsewhere—I think I looked online and that was a sidequest I could save for later either way. Instead I went to some other place where there was this ugly forest, and then a cutscene telling me I would get lost if I didn’t have some item…</p>
<p>So then I went to the place where I can play games and there are bets and casino stuff and I talked to some guy who gave me that item, I think. So I think I should simply go back to the other place and try to walk through that mysterious forest to continue the story.</p>
<h2 id="outer-wilds">Outer Wilds</h2>
<p><strong>Last Played: January 23, 2026</strong></p>
<p><strong>This game is absolutely ruined by spoilers, go ahead and skip this if you want to play it. Please play it first, it’s absolutely worth it after 11 hours of playtime and I’m just a silly person who refuses to continue it with no reason, proceed with caution</strong></p>
<p><em>I’m literally only writing this so the people playing this game can get excited I mention it and then email me to say I’m missing out, basically provoking them to interact with my post and bring more traffic to my website</em></p>
<p>On this game there are a lot of options and paths for me to take, so there’s really no right way for me to proceed as far as I know.</p>
<p>Last I played, I was visiting a twin planet, which fills with sand over time. The most interesting places there are some underground cities that slowly fill up with said sand as time progresses.</p>
<p>I think I was trying to get to some weird fossil that was there, which I could see through a crevice in a wall. Apparently, reaching that fossil will provide me with information, which I will need to progress in a different planet. I expect this information to be useful in multiple places, which is something that has happened before playing this game. My theory is I will be able to go beyond the electrical field that protects the core of the sea planet.</p>
<p>Another interesting path to take would be the weird non-euclidean seed thing that seems to be playing music and go on infinitely. I launched a scout inside that seed and it really did go on forever… I don’t know how to get in there myself, because the entrance is too small for me, but I’m definitely curious and also extremely scared by it.</p>
<p>There’s another dead end that I’m yet to reach, in the planet that is slowly devoured by a black hole. There is this weird mining structure, that I can’t really reach for some reason. I have been trying through multiple angles, and it just stays too far away for me… There seems to be some way to reach it if I step in one of those stones that reverse the gravity, but I can’t find the path just yet. I also want to get inside the Tower of Knowledge or Wisdom or something like that, can’t recall the name.</p>
<p>Don’t give me any clues, by the way.</p>
<h2 id="suikoden-ii">Suikoden II</h2>
<p><strong>Last Played: Around 2020</strong></p>
<p>This game was absolutely awesome, but I think I got lost for a bit longer than I liked.</p>
<p>I believe that I had been in a city for a while, and then one of the main characters or a main character’s friend tried to take the life of the leader of the resistance, or something like that—the resistance to some sort of conqueror who is probably the main villain of the game, I’ve heard he is a very popular antagonist but I don’t know.</p>
<p>Anyway, I <em>think</em> the attempt failed, or maybe it worked and then some other guys showed up to help keep things afloat while I escape or something.</p>
<p>So I went to another city which is near a coast, and I am supposed to take a boat or something, I think, or maybe to talk with some character that will tell me what to do next.</p>
<p>This is the kind of game where you can get a bunch of characters to be part of your party rotation, kind of like Pokémon I guess, so I was also trying to find interesting looking sprites that would probably end up as allies.</p>
<p>In any case, I believe I got annoyed because I couldn’t figure out where to go from where I was, I even recall returning to previous cities in the map trying to find out a way to go.</p>
<p>I am honestly really liking the story of this game, it was very interesting and deep! And the trauma of the main character seemed rather interesting.</p>
<h2 id="xenogears">Xenogears</h2>
<p><strong>Last Played: Around 2021</strong></p>
<p>Oh yeah… now this brings me back…</p>
<p>I don’t think I have mentioned Xenogears very much, but along Suikoden II (and most PS1 games I’ve played), it survived the transfer from my PSP to my current handheld emulator and it’s still there waiting for my return.</p>
<p>Last time I played I think I was escaping from some sort of forest. It was only the opening hours in the game so there’s not a lot to spoil yet. I remember being extremely confused by the rotating camera controls, but eventually going to some last boss fight that blocked my path to the exit of the forest.</p>
<p>I believe the boss fight was against some giant dinosaur or something? It would be quite cringe to be wrong about this, maybe it was just a regular mecha, or a mecha dinosaur! I really can’t remember well.</p>
<p>In any case, we managed to exit the forest and met some new member for the party, I believe, and headed outside.</p>
<p>We ended up in a desert, with some oasis city in the middle full of merchants and stuff, I believe I was even warned by one of my companions to not trust their word or something…</p>
<h2 id="triangle-strategy">Triangle Strategy</h2>
<p><strong>Last Played: March 2, 2025</strong></p>
<p>I have an overarching idea of what was going on, but this game is so full of twists and turns and dialogue, I actually don’t remember what was going on last time I played!</p>
<p>I remember there were these factions fighting for resources, I remember I took certain decisions too. I saved the Prince of my kingdom and I refused to surrender him to the enemies.</p>
<p>I believe I even went through a battle where a lot of my people—I am a Lord or something in charge of them—ended up losing their houses to enemy fire and the like.</p>
<p>From there, the Prince who is also my best friend decided to escape, maybe to surrender himself or something. Now maybe this was not actually what happened and it was only one of the many choices available that I am yet to take. It’s weird how I really have no idea.</p>
<p>Seriously there are so many narratives going on at once I don’t recall a single one, but I will still continue where I left off if I ever pick it back up.</p>
<h2 id="parasite-eve">Parasite Eve</h2>
<p><strong>Last Played: Around 2024</strong></p>
<p>I had to end with a banger right? Even though last time I touched this game was in 2024, that really is only because I took my time to transfer the PSP save to my Anbernic handheld yet again. I opened the game and I was surprised to see it still working!</p>
<p>You see, I was playing a Spanish translation ages ago, and I wanted to switch to English, and to use the <a href="https://www.romhacking.net/hacks/1950/">Chicago Font</a> romhack just because. I was surprised to see my save worked perfectly fine despite the language and romhack change, it was cool to have no problems caused by that.</p>
<p>Story-wise, I was visiting the hospital and learning more about mythochondria, I was just about done with the part where I realize that I received a kidney transplant from a japanese girl or something. There’s also this weird ghost of a different little girl, who is guiding me through the hospital to the roof top. Of course there’s enemies everywhere and they have this annoying bouncy projectile that keeps hitting me.</p>
<p>It turns out that Eve, the antagonist of the game is up at the roof, and she is now a giant naked lady with spider legs. I believe my weapon set needed a lot of upgrades though, so I was unable to beat her.</p>
<p>I know what happens after that because I got spoiled by some playthrough on YouTube a while back, but I still want to see what happens with my own eyes!</p>
<h2 id="finishing-up">Finishing up</h2>
<p>If you read through all of that without playing any of the games mentioned, I gotta give kudos to you, I really feel like I sound like some weirdo telling stories by the campfire of lives I never lived or something.</p>
<p>In any case, those are games with a story and with stuff going on that I remember somewhat. There are plenty of other games that I haven’t completed either but don’t really have a plot, such as <em>Lumines</em> or <em>Ridge Racer</em> , so I obviously skipped those.</p>
<p>Now, in case the opposite case is true, and you have played through a few or many of the games on this post, what are your thoughts? Does my memory fail, or was yours reawakened? Let me know which one should I continue or maybe start over, one of these days, or months…</p>
<p>This is day 10 of <a href="https://100DaysToOffload.com">#100DaysToOffload</a> and day 5 of <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/">#Blaugust2026</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Picking up where I left off">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117044429129179293">Reply on Fediverse</a>
</p>
Note published on August 5, 2026 at 4:54 PM UTC - Molly White's activity feed
6a736aaddf53bab218d35d11
2026-08-05T16:54:05.000Z
<article><div class="entry h-entry hentry"><header></header><div class="content e-content"><p>It's a year and a half after I <a href="https://www.mollywhite.net/micro/entry/202501092000">highlighted the issue</a>, but nice to see...</p><div class="related-post"><div class="article h-cite hcite"><div class="title"><a class="u-url u-repost-of u-in-reply-to" href="https://arstechnica.com/tech-policy/2026/08/senators-demand-crackdown-on-wildfire-prediction-markets/" rel="bookmark">“<span class="p-name">Senators demand crackdown on wildfire "prediction market" bets</span>”</a>. </div><div class="byline"><span class="p-author h-card">Ars Contributors</span> in <i class="p-publication">Ars Technica</i>. <span class="read-date"></span></div><blockquote class="summary p-summary entry-summary">Fire experts warn such markets could incentivize arson.</blockquote></div></div><img src="https://www.mollywhite.net/assets/images/placeholder_social.png" alt="Illustration of Molly White sitting and typing on a laptop, on a purple background with 'Molly White' in white serif." style="display: none;"/></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp-block"><div class="timestamp">Posted: <a class="u-url" href="https://www.mollywhite.net/micro/entry/202608051253"><time class="dt-published" datetime="2026-08-05T16:54:05+00:00" title="August 5, 2026 at 4:54 PM UTC">August 5, 2026 at 4:54 PM UTC</time>. </a></div></div><div class="social-links"> <span> Also posted to: </span><a class="social-link u-syndication mastodon" href="https://hachyderm.io/@molly0xfff/117043934736406093" title="Mastodon" rel="syndication">Mastodon, </a><a class="social-link u-syndication bluesky" href="https://bsky.app/profile/molly.wiki/post/3msdydmny7k2p" title="Bluesky" rel="syndication">Bluesky</a></div></div><div class="bottomRow"><div class="tags">Tagged: <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/polymarket" title="See all micro posts tagged "Polymarket"" rel="category tag">Polymarket</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/prediction_markets" title="See all micro posts tagged "prediction markets"" rel="category tag">prediction markets</a>. </div></div></footer></div></article>
Gadget Review: T2 Max plug-in Thermal Camera ★★★⯪☆ - Terence Eden’s Blog
https://shkspr.mobi/blog/?p=73440
2026-08-05T11:34:17.000Z
<p>The good folks at Thermal Master have sent me another Thermal Camera to review. The last one was <a href="https://shkspr.mobi/blog/2026/07/gadget-review-thermal-master-dv2-infrared-birdwatching-scope/">a big beastie with a huge touchscreen</a>. This one is <em>much</em> smaller and is designed to plug into your phone's USB-C port.</p>
<p>The <a href="https://thermalmaster.com/en-gb/products/thermal-master-t2-max-for-birdwatching-wildlife-observation">T2 Max</a> is a chunky little camera - but doesn't weight too much. The USB-C connector is long enough to securely plug in even if your phone is wearing a case.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/T2-Max-size.webp" alt="T2 Max a few cm cubed, but with a large lens." width="1024" height="768" class="aligncenter size-full wp-image-73579">
<p>Thermal Master boasts that this is the "world's smallest thermal monocular" - and it is easy to believe. The lens is comparatively huge, but the total package size is tiny.</p>
<p>In the box you get the camera module with rubber lens cover, a short extension lead, a Lightning adapter, and a handy carry case which is well-padded and has a carabiner clip.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/T2-Max-Unboxing.webp" alt="T2 Max Unboxing." width="1024" height="933" class="aligncenter size-full wp-image-73578">
<p>The focus is manually adjustable. Gently twist the lens until you can clearly see what it is pointed at.</p>
<p>Wanna see some photos?</p>
<h2 id="photos"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#photos">Photos</a></h2>
<p>These are the original photos, untouched. Annoyingly, the images are rotated 90°, so I've fixed that. I've also removed the geolocation.</p>
<p>Photos are 1008x1344 pixels. Of course, that's massively upscaled - still, the level of detail is impressive.</p>
<p>Here's a cat I spotted.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_220237_521-rotated.jpg" alt="Slightly blurry photo of a cat." width="1344" height="1008" class="aligncenter size-full wp-image-73544"></p>
<p>Turning on the X3 enhanced mode, and you can see the amount of extra detail it extracts.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_220241_345-rotated.jpg" alt="A clearer photo of a cat." width="1344" height="1008" class="aligncenter size-full wp-image-73545">
<p>There's a variety of thermal modes. Particularly effective is this one which highlights heat in green and lets the rest of the image fade away. Very good for birdwatching.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_214949_061-rotated.jpg" alt="Thermal photo of a cat - its hot bits are in green." width="1344" height="1008" class="size-full wp-image-73546">
<p>The zoom is relatively impressive, and the picture-in-picture mode allows you to see an optical image as well as thermal. Here's the moon.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_215826_166-rotated.jpg" alt="Moon against a blank background." width="1344" height="1008" class="aligncenter size-full wp-image-73547">
<h2 id="videos"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#videos">Videos</a></h2>
<p>Video is about 25MB per minute with a resolution of 672x504. Here's a re-encoded video showing off the various thermal modes, focuses, etc.</p>
<p><video controls="" src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/fox1.webm"></video></p>
<p>Your device's microphone can be used to record an audio track. That's useful for giving commentary on what you're seeing. I've stripped it out because you don't need to hear me chatting to the cat.</p>
<p><video controls="" width="672" height="504" src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Thermal-Cat.mp4"></video></p>
<p>The camera can pick up a remarkable amount of detail - although the zoom is digital rather than optical.</p>
<p><video controls="" width="672" height="504" src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/fox2.webm"></video></p>
<p>Framerate starts off well but, as you can see, degrades a bit. I suspect that's the app's fault. It's a real shame because the phone screen seems to display a silky-smooth frame rate.</p>
<h2 id="android-app"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#android-app">Android App</a></h2>
<p>Once you've installed the Thermal Master app, you can set it to open as soon as the camera is plugged in.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Always-open.webp" alt="Option to always open the app whenever the camera is plugged in." width="408" height="179" class="aligncenter size-full wp-image-73583">
<p>The app takes a bit of getting used to. There's no direct on-screen "take photo" button, you have to open it up from a menu, which is a little annoying.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Thermal-Master-UI.webp" alt="A confusing UI with lots of options." width="2093" height="1008" class="aligncenter size-full wp-image-73584">
<p>There are a decent amount of options to fiddle about with. Because USB-C is bidirectional, the camera can either face you or away from you. If you swap orientation you'll need to adjust the settings.</p>
<p>It also has a "Picture in Picture" mode which overlays the thermal image with what your device's regular camera is seeing. That's handy in daytime, but a bit pointless at night.</p>
<p>Sadly, the app is a bit crap. It crashed several times while I was using it.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Not-responding.webp" alt="Error dialogue showing not responding." width="504" height="339" class="aligncenter size-full wp-image-73586">
<p>The interface isn't brilliant and you'll find yourself taking several taps to do anything basic.</p>
<h2 id="ios-support"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#ios-support">iOS Support</a></h2>
<p>No idea. It should work with newer USB-C iPhones. It also comes with an adapter for older Lightning port devices.</p>
<h2 id="linux-support"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#linux-support">Linux Support</a></h2>
<p>Nope. I tried using the extension cable and plugging it directly into my computer's USB-C ports. I got this series of errors from <code>dmesg</code>:</p>
<pre><code class="language-_">device descriptor read/64, error -32
attempt power cycle
new full-speed USB device number 17 using xhci_hcd
Device not responding to setup address.
device not accepting address 17, error -71
WARN: invalid context state for evaluate context command.
unable to enumerate USB device
</code></pre>
<p>I rotated the cable, and it showed up as <code>3474:41b2 Thermal Master Technology Co., Ltd. T2 Max</code>. I suspect that it doesn't have the internal resistors needed to signal that it is a USB 2 device - and the included extension cable is wired to only provide them on one orientation. Even after all that, I couldn't get it working in any standard Linux tools.</p>
<p>To be fair, it isn't marketed as being suitable for computer use. It explicitly says iPhone and Android only. Ah well!</p>
<h2 id="price"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#price">Price</a></h2>
<p>Thermal Cameras are expensive - even more so when they're miniaturised like this. So, brace yourself, <a href="https://link.amazon/B06ehBMMu">it is on sale for £320</a>!</p>
<p>Readers can use the code <code>THERMBIRD10</code> for 10% off at <a href="https://bit.ly/4gbVrzO">Thermal Master website</a>, or <a href="https://link.amazon/B06ehBMMu">Amazon UK</a>, or <a href="https://www.amazon.com/dp/B0G7FR32PY">Amazon.com</a>.</p>
<h2 id="final-thoughts"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#final-thoughts">Final Thoughts</a></h2>
<p>If you spend a lot of time looking for wildlife, The T2 Max is a decent bit of kit. It is small, lightweight, and easy to integrate with your phone.</p>
<p>The app is a real let down. It isn't exactly the zenith of interaction design - but you'll find your way round it easily enough. The real problem is the frequent crashes an the lapses in frame-rate while recording video.</p>
<p>Because of the design of the lens, it isn't great for domestic tasks like spotting leaks & hotspots. For that you'll want <a href="https://shkspr.mobi/blog/2026/08/gadget-review-hikmicro-d02-thermal-camera/">something like the Hikmicro unit I reviewed last week</a>.</p>
<p>Being able to shove it into your phone means that it can easily integrate into your workflow. You can edit, crop, and post images just as you normally do. For such a small device, you get a <em>lot</em> of image - and the on-board processing is excellent.</p>
<p>Sadly, the zoom is digital, rather than optical. All you're doing is blowing up pixels rather than getting closer to the subject.</p>
<p>The image quality is exquisite but the Android app is a real let down. If you're prepared to put up with a baffling interface and occasional crashes, you'll get some fine photos and videos out of it.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=73440&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">
Winter is here - The Weblog of fLaMEd
https://flamedfury.com/posts/winter-is-here/
2026-08-05T11:32:36.000Z
<p>What’s going on, Internet? Winter is here, properly here, and July was mostly about staying warm and keeping the kids entertained through the school holidays.</p>
<p>From the last update we got back from Waiheke in the middle of the kids school holidays. The next holiday outing was <a href="https://flamedfury.com/posts/dinosaur-discovery-returns/">Dinosaur Discovery at Auckland Zoo</a>, back again this year with a batch of new dinosaurs on the loose. We did the track after dark, all the dinosaurs lit up against the night sky. The kids loved it.</p>
<p>I had the kids out with me one Saturday morning where we headed to Ellerslie to check out the Auckland Lego Users Group Lego show. The kids enjoyed walking around and checking out the displays. They then had a blast for forty minutes in the build your own room. My eldest now wants to show off his Lego at the next show, we’ll see. We then headed to Newmarket for a Gin Wigmore signing of her new album, Beautiful Mess.</p>
<p>I’ve had <a href="https://flamedfury.com/posts/blaow-blaow-lets-get-rowdy/">Rowdy (BLAOW!) stuck in my head</a> thanks to Les Mills SPRINT. This is now one of the kids favourite tunes so is constantly on repeat during school drop offs.</p>
<p>I wrote a <a href="https://flamedfury.com/posts/re-we-need-a-physical-digital-music-experience/">reply to Olly’s physical-digital music idea</a>, buying digital music through your local record store. The book world already has this figured out.</p>
<p>My episode of <a href="https://web-weaving.jamesg.blog/11" rel="noopener">Wonders of Web Weaving</a> is out. Episode 11, me and James chatting about the web, me waxing nostalgia. Go give it a listen.</p>
<p>Reading-wise I finished <a href="https://flamedfury.com/bookshelf/yesteryear/">Yesteryear</a> by Caro Claire Burke, and just as the month ticked over I wrapped up <a href="https://flamedfury.com/bookshelf/whatever-you-say-i-am/">Whatever You Say I Am</a>, Anthony Bozza’s Eminem book, and went straight into his follow-up, <a href="https://flamedfury.com/bookshelf/not-afraid/">Not Afraid: The Evolution of Eminem</a>. I’ve also got <a href="https://flamedfury.com/bookshelf/empire-of-ai/">Empire of AI</a> by Karen Hao on the go.</p>
<p>Five new arrivals on the record shelf. PRINS’s <a href="https://flamedfury.com/recordshelf/records/heaven-or-hell-clear-glitter/">Heaven or Hell</a> on clear glitter, Olivia Rodrigo’s <a href="https://flamedfury.com/recordshelf/records/drop-dead-chewing-gum-pink/">Drop Dead</a> single on chewing gum pink because apparently the Olivia situation from last update is ongoing, lol. Hilary Duff’s <a href="https://flamedfury.com/recordshelf/records/luck-or-something-pink/">Luck … Or Something</a>, the <a href="https://flamedfury.com/recordshelf/records/kpop-demon-hunters-soundtrack-from-the-netflix-film-sodalite-splatter/">KPop Demon Hunters soundtrack</a> on sodalite splatter, and Gin Wigmore’s <a href="https://flamedfury.com/recordshelf/records/beautiful-mess-bleeding-heart/">Beautiful Mess</a> on the Bleeding Heart pressing.</p>
<div class="grid" style="--grid-min-item-size: 12rem;">
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/heaven-or-hell-clear-glitter/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/heaven-or-hell-clear-glitter.webp" alt="PRINS - Heaven or Hell album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/drop-dead-chewing-gum-pink/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/drop-dead-chewing-gum-pink.webp" alt="Olivia Rodrigo - Drop Dead album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/luck-or-something-pink/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/luck-or-something-pink.webp" alt="Hilary Duff - Luck ... Or Something album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/kpop-demon-hunters-soundtrack-from-the-netflix-film-sodalite-splatter/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/kpop-demon-hunters-soundtrack-from-the-netflix-film-sodalite-splatter.webp" alt="Various - KPop Demon Hunters soundtrack album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/beautiful-mess-bleeding-heart/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/beautiful-mess-bleeding-heart.webp" alt="Gin Wigmore - Beautiful Mess album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
</div>
<p>Watching a lot of shows. I finished off <a href="https://trakt.tv/shows/outer-banks" rel="noopener">Outer Banks</a> season four not long after the last update went out. I knocked out all six episodes of <a href="https://trakt.tv/shows/head-girl" rel="noopener">Head Girl</a>, a local drama, it gets pretty dark. Started <a href="https://trakt.tv/shows/lucky-2026" rel="noopener">Lucky</a> and watching as they drop. <a href="https://trakt.tv/shows/maximum-pleasure-guaranteed" rel="noopener">Maximum Pleasure Guaranteed</a> was another that I picked up and almost finished. Plus the weekly episodes of <a href="https://trakt.tv/shows/house-of-the-dragon" rel="noopener">House of the Dragon</a> season three, <a href="https://trakt.tv/shows/x-men-97" rel="noopener">X-Men '97</a> season two, and <a href="https://trakt.tv/shows/power-book-iii-raising-kanan" rel="noopener">Power Book III: Raising Kanan</a> season five. Kanan’s character is definitely onto his path of darkness where we saw him in the original Ghost series.</p>
<p>Lots of movies too, three of them at the theatre. <a href="https://trakt.tv/movies/toy-story-5-2026" rel="noopener">Toy Story 5</a> with my eldest. I’m so glad I managed to convince him to watch this rather than the Minions movie again. I don’t think I could handle that. <a href="https://trakt.tv/movies/the-odyssey-2026" rel="noopener">The Odyssey</a>, enjoyed, and it didn’t feel like I sat there for three hours. And <a href="https://trakt.tv/movies/spider-man-brand-new-day-2026" rel="noopener">Spider-Man: Brand New Day</a>, what a movie, damn. Loved it, it was so good.</p>
<p>At home, <a href="https://trakt.tv/movies/bugonia-2025" rel="noopener">Bugonia</a> which was a weird one. <a href="https://trakt.tv/movies/finding-emily-2026" rel="noopener">Finding Emily</a>, which I loved. <a href="https://trakt.tv/movies/i-love-boosters-2026" rel="noopener">I Love Boosters</a>, I don’t think I was in the right frame of mind for this one. <a href="https://trakt.tv/movies/scary-movie-2026" rel="noopener">Scary Movie</a>, worst movie of the year? <a href="https://trakt.tv/movies/the-mandalorian-and-grogu-2026" rel="noopener">The Mandalorian and Grogu</a>, I don’t care what people say, I love a Star Wars movie. The kids and I also watched <a href="https://trakt.tv/movies/zootopia-2016" rel="noopener">Zootopia</a> while over on Waiheke.</p>
<p>The bookmarks kept stacking up. I dumped <a href="https://flamedfury.com/posts/open-tabs-july-2026/">my open tabs from July</a>, and there’s plenty more on the <a href="https://flamedfury.com/bookmarks/">bookmarks page</a>.</p>
<p>Website wise it was quiet on the surface while the redesign work continues in the background. I joined <a href="https://pausedweb.binarydigit.net/" rel="noopener">The Paused Web(ring)</a>.</p>
<p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Winter is here">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/winter-is-here/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
A few notes on AWS Nitro Enclaves: KMS integration - Trail of Bits Blog
https://blog.trailofbits.com/2026/08/05/a-few-notes-on-aws-nitro-enclaves-kms-integration/
2026-08-05T11:00:00.000Z
<p>Nitro Enclaves and <a href="https://blog.trailofbits.com/2024/02/14/cloud-cryptography-demystified-amazon-web-services/">Key Management
Service</a> (KMS) feel like a
natural fit: since the KMS can verify attestation documents generated by the enclaves, developers
can offload key management tasks from their applications to the AWS-managed service. But integrating
an external service with your trusted enclaves comes with new threats, even if that service comes
from the same provider.</p>
<p>In this blog post—the third in our series on Nitro Enclaves, following our posts on <a href="https://blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/">attack
surface</a> and <a href="https://blog.trailofbits.com/2024/02/16/a-few-notes-on-aws-nitro-enclaves-images-and-attestation/">images and
attestation</a>—we catalog
passive and active attack classes against the enclave-KMS communication channel, and cover the
operational risks that persist even when the cryptography is correct. We also disclose
vulnerabilities in AWS Nitro Enclaves SDK for C and recommend safer alternatives.</p>
<h2 id="intro-to-kms">Intro to KMS</h2>
<p>The KMS is a set of Hardware Security Modules (HSM) with public API integrated to the broader AWS
ecosystem. There are three main key types supported by KMS that devs need to care about:</p>
<ul>
<li>Customer-managed keys (<a href="https://docs.aws.amazon.com/kms/latest/cryptographic-details/basic-concepts.html">Customer master
keys</a>, CMK)</li>
<li>Data keys (DK, symmetric)</li>
<li>Data key pairs (asymmetric)</li>
</ul>
<p>CMKs never leave KMS. You request KMS to perform cryptographic operations (like encryption or
signing) for you.</p>
<p>Data keys and key pairs are generated in KMS, are <em>not</em> stored in KMS, and are intended for
programmatic uses.</p>
<p>For symmetric keys, the KMS gives you a plaintext key and the same key encrypted to CMK. Your
application performs encryptions, removes the plaintext key, and stores the key encrypted to a CMK
along the ciphertexts; this pattern is called <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#enveloping">envelope
encryption</a>.</p>
<p>For asymmetric keys, the KMS gives you a plaintext key pair and the private key encrypted to CMK.
Your application creates signatures or encrypts data, deletes the private key, and keeps the public
key and encrypted private key (along with signatures/ciphertexts).</p>
<p>Both types of data keys can be used with <code>Decrypt</code> operation to get plaintext keys again.</p>
<figure>
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 512 633"
>
<g transform='translate(8,16)'>
<path d='M 240,48 L 488,48' fill='none' stroke='currentColor'></path>
<path d='M 248,96 L 256,96' fill='none' stroke='currentColor'></path>
<path d='M 272,96 L 280,96' fill='none' stroke='currentColor'></path>
<path d='M 288,96 L 296,96' fill='none' stroke='currentColor'></path>
<path d='M 304,96 L 312,96' fill='none' stroke='currentColor'></path>
<path d='M 320,96 L 328,96' fill='none' stroke='currentColor'></path>
<path d='M 336,96 L 344,96' fill='none' stroke='currentColor'></path>
<path d='M 352,96 L 360,96' fill='none' stroke='currentColor'></path>
<path d='M 368,96 L 376,96' fill='none' stroke='currentColor'></path>
<path d='M 384,96 L 392,96' fill='none' stroke='currentColor'></path>
<path d='M 400,96 L 408,96' fill='none' stroke='currentColor'></path>
<path d='M 416,96 L 424,96' fill='none' stroke='currentColor'></path>
<path d='M 432,96 L 440,96' fill='none' stroke='currentColor'></path>
<path d='M 448,96 L 456,96' fill='none' stroke='currentColor'></path>
<path d='M 464,96 L 472,96' fill='none' stroke='currentColor'></path>
<path d='M 480,96 L 488,96' fill='none' stroke='currentColor'></path>
<path d='M 240,128 L 264,128' fill='none' stroke='currentColor'></path>
<path d='M 248,160 L 264,160' fill='none' stroke='currentColor'></path>
<path d='M 40,208 L 240,208' fill='none' stroke='currentColor'></path>
<path d='M 240,256 L 488,256' fill='none' stroke='currentColor'></path>
<path d='M 248,320 L 256,320' fill='none' stroke='currentColor'></path>
<path d='M 272,320 L 280,320' fill='none' stroke='currentColor'></path>
<path d='M 288,320 L 296,320' fill='none' stroke='currentColor'></path>
<path d='M 304,320 L 312,320' fill='none' stroke='currentColor'></path>
<path d='M 320,320 L 328,320' fill='none' stroke='currentColor'></path>
<path d='M 336,320 L 344,320' fill='none' stroke='currentColor'></path>
<path d='M 352,320 L 360,320' fill='none' stroke='currentColor'></path>
<path d='M 368,320 L 376,320' fill='none' stroke='currentColor'></path>
<path d='M 384,320 L 392,320' fill='none' stroke='currentColor'></path>
<path d='M 400,320 L 408,320' fill='none' stroke='currentColor'></path>
<path d='M 416,320 L 424,320' fill='none' stroke='currentColor'></path>
<path d='M 432,320 L 440,320' fill='none' stroke='currentColor'></path>
<path d='M 448,320 L 456,320' fill='none' stroke='currentColor'></path>
<path d='M 464,320 L 472,320' fill='none' stroke='currentColor'></path>
<path d='M 480,320 L 488,320' fill='none' stroke='currentColor'></path>
<path d='M 240,352 L 264,352' fill='none' stroke='currentColor'></path>
<path d='M 248,400 L 264,400' fill='none' stroke='currentColor'></path>
<path d='M 40,448 L 240,448' fill='none' stroke='currentColor'></path>
<path d='M 40,496 L 48,496' fill='none' stroke='currentColor'></path>
<path d='M 56,496 L 64,496' fill='none' stroke='currentColor'></path>
<path d='M 72,496 L 80,496' fill='none' stroke='currentColor'></path>
<path d='M 88,496 L 96,496' fill='none' stroke='currentColor'></path>
<path d='M 104,496 L 112,496' fill='none' stroke='currentColor'></path>
<path d='M 120,496 L 128,496' fill='none' stroke='currentColor'></path>
<path d='M 136,496 L 144,496' fill='none' stroke='currentColor'></path>
<path d='M 152,496 L 160,496' fill='none' stroke='currentColor'></path>
<path d='M 168,496 L 176,496' fill='none' stroke='currentColor'></path>
<path d='M 184,496 L 192,496' fill='none' stroke='currentColor'></path>
<path d='M 200,496 L 208,496' fill='none' stroke='currentColor'></path>
<path d='M 216,496 L 232,496' fill='none' stroke='currentColor'></path>
<path d='M 240,544 L 488,544' fill='none' stroke='currentColor'></path>
<path d='M 248,592 L 256,592' fill='none' stroke='currentColor'></path>
<path d='M 272,592 L 280,592' fill='none' stroke='currentColor'></path>
<path d='M 288,592 L 296,592' fill='none' stroke='currentColor'></path>
<path d='M 304,592 L 312,592' fill='none' stroke='currentColor'></path>
<path d='M 320,592 L 328,592' fill='none' stroke='currentColor'></path>
<path d='M 336,592 L 344,592' fill='none' stroke='currentColor'></path>
<path d='M 352,592 L 360,592' fill='none' stroke='currentColor'></path>
<path d='M 368,592 L 376,592' fill='none' stroke='currentColor'></path>
<path d='M 384,592 L 392,592' fill='none' stroke='currentColor'></path>
<path d='M 400,592 L 408,592' fill='none' stroke='currentColor'></path>
<path d='M 416,592 L 424,592' fill='none' stroke='currentColor'></path>
<path d='M 432,592 L 440,592' fill='none' stroke='currentColor'></path>
<path d='M 448,592 L 456,592' fill='none' stroke='currentColor'></path>
<path d='M 464,592 L 472,592' fill='none' stroke='currentColor'></path>
<path d='M 480,592 L 488,592' fill='none' stroke='currentColor'></path>
<path d='M 32,16 L 32,608' fill='none' stroke='currentColor'></path>
<path d='M 240,16 L 240,48' fill='none' stroke='currentColor'></path>
<path d='M 240,48 L 240,128' fill='none' stroke='currentColor'></path>
<path d='M 240,128 L 240,208' fill='none' stroke='currentColor'></path>
<path d='M 240,208 L 240,256' fill='none' stroke='currentColor'></path>
<path d='M 240,256 L 240,352' fill='none' stroke='currentColor'></path>
<path d='M 240,352 L 240,448' fill='none' stroke='currentColor'></path>
<path d='M 240,448 L 240,544' fill='none' stroke='currentColor'></path>
<path d='M 240,544 L 240,608' fill='none' stroke='currentColor'></path>
<path d='M 264,128 L 264,160' fill='none' stroke='currentColor'></path>
<path d='M 264,352 L 264,400' fill='none' stroke='currentColor'></path>
<path d='M 496,16 L 496,608' fill='none' stroke='currentColor'></path>
<polygon points='48.000000,208.000000 36.000000,202.399994 36.000000,213.600006' fill='currentColor' transform='rotate(180.000000, 40.000000, 208.000000)'></polygon>
<polygon points='48.000000,448.000000 36.000000,442.399994 36.000000,453.600006' fill='currentColor' transform='rotate(180.000000, 40.000000, 448.000000)'></polygon>
<polygon points='240.000000,496.000000 228.000000,490.399994 228.000000,501.600006' fill='currentColor' transform='rotate(0.000000, 232.000000, 496.000000)'></polygon>
<polygon points='256.000000,96.000000 244.000000,90.400002 244.000000,101.599998' fill='currentColor' transform='rotate(180.000000, 248.000000, 96.000000)'></polygon>
<polygon points='256.000000,160.000000 244.000000,154.399994 244.000000,165.600006' fill='currentColor' transform='rotate(180.000000, 248.000000, 160.000000)'></polygon>
<polygon points='256.000000,320.000000 244.000000,314.399994 244.000000,325.600006' fill='currentColor' transform='rotate(180.000000, 248.000000, 320.000000)'></polygon>
<polygon points='256.000000,400.000000 244.000000,394.399994 244.000000,405.600006' fill='currentColor' transform='rotate(180.000000, 248.000000, 400.000000)'></polygon>
<polygon points='256.000000,592.000000 244.000000,586.400024 244.000000,597.599976' fill='currentColor' transform='rotate(180.000000, 248.000000, 592.000000)'></polygon>
<polygon points='496.000000,48.000000 484.000000,42.400002 484.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 488.000000, 48.000000)'></polygon>
<polygon points='496.000000,256.000000 484.000000,250.399994 484.000000,261.600006' fill='currentColor' transform='rotate(0.000000, 488.000000, 256.000000)'></polygon>
<polygon points='496.000000,544.000000 484.000000,538.400024 484.000000,549.599976' fill='currentColor' transform='rotate(0.000000, 488.000000, 544.000000)'></polygon>
<text text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='56' y='436' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='56' y='484' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='64' y='196' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='64' y='436' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='64' y='484' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='72' y='196' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='72' y='436' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='72' y='484' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='80' y='196' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='80' y='436' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='80' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='88' y='196' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='436' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='88' y='484' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='96' y='196' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='436' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='96' y='484' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='104' y='196' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='104' y='436' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='104' y='484' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='196' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='436' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='112' y='484' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='120' y='196' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='120' y='436' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='120' y='484' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='128' y='196' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='128' y='436' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='128' y='484' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='136' y='196' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='136' y='436' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='136' y='484' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='144' y='196' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='144' y='436' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='144' y='484' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='152' y='196' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='152' y='436' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='152' y='484' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='160' y='196' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='160' y='436' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='168' y='436' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='176' y='436' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='184' y='436' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='192' y='436' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='200' y='436' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='256' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='256' y='244' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='256' y='532' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='264' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='264' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='292' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='264' y='532' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='272' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='272' y='244' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='272' y='292' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='272' y='308' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='272' y='532' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='280' y='148' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='280' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='292' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='280' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='280' y='372' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='280' y='388' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='280' y='532' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='288' y='148' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='288' y='244' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='288' y='292' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='288' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='288' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='288' y='388' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='288' y='532' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='296' y='292' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='296' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='372' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='296' y='532' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='304' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='304' y='292' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='304' y='308' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='304' y='372' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='304' y='388' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='304' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='292' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='312' y='308' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='312' y='372' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='312' y='388' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='312' y='532' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='244' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='320' y='292' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='320' y='308' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='320' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='320' y='388' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='532' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='328' y='292' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='328' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='372' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='328' y='388' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='328' y='532' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='336' y='292' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='336' y='308' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='336' y='372' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='336' y='388' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='532' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='580' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='344' y='148' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='344' y='372' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='344' y='388' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='344' y='532' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='344' y='580' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='352' y='148' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='352' y='244' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='352' y='308' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='352' y='372' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='352' y='388' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='352' y='532' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='352' y='580' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='360' y='148' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='360' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='360' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='360' y='372' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='360' y='388' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='360' y='532' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='360' y='580' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='368' y='148' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='368' y='244' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='368' y='308' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='368' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='388' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='368' y='532' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='580' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='376' y='148' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='376' y='244' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='376' y='308' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='376' y='372' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='376' y='388' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='376' y='532' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='376' y='580' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='384' y='148' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='384' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='384' y='308' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='388' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='384' y='532' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='384' y='580' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='392' y='244' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='392' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='392' y='372' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='392' y='388' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='392' y='532' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='392' y='580' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='400' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='400' y='244' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='400' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='400' y='372' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='400' y='388' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='400' y='532' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='400' y='580' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='408' y='148' fill='currentColor' style='font-size:1em'>x</text>
<text text-anchor='middle' x='408' y='244' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='408' y='308' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='408' y='372' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='408' y='388' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='408' y='532' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='416' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='416' y='244' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='416' y='308' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='416' y='372' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='416' y='388' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='416' y='532' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='424' y='84' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='424' y='148' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='424' y='244' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='424' y='308' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='424' y='532' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='432' y='244' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='432' y='308' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='432' y='532' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='440' y='244' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='440' y='532' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='448' y='244' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='448' y='532' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='456' y='244' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='456' y='532' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='464' y='244' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='464' y='532' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='480' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
<figcaption><span>Figure 1: Basic KMS operations. <code>cmk_id</code> is an ID (ARN) of CMK key, <code>cmk</code> is the actual key used, <code>enc</code> is encryption, and <code>dec</code> is decryption.</span></figcaption></figure>
<p>Access to keys is subject to <a href="https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html">authorization
policies</a>, including key
policies, IAM policies, and grants. <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html">Cross-account
access</a>
for keys can be enabled.</p>
<p>Keys can be <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id">identified in multiple
ways</a>: ARN, Id, Alias
ARN, and Alias name. Keys are usually per-region (single-region), but <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">multi-region keys can be
created</a> too.</p>
<h2 id="enclave-kms-communication">Enclave-KMS communication</h2>
<p>There are two mechanisms that are in play when integrating KMS with Nitro Enclaves:</p>
<ul>
<li>KMS policies restricting access to CMKs to specific enclaves (by PCR values)</li>
<li>KMS encrypting responses to enclave’s public keys</li>
</ul>
<p>In the first mechanism, the key policy may authorize access to only requests that contain fresh and
correctly signed attestation documents with the expected PCR values. Enclaves have to generate
attestations and include them in requests to KMS. Note that the enclave still needs IAM credentials
to access KMS in the first place.</p>
<p>The second mechanism is about enclaves sending asymmetric public keys (inside the attestation
documents) to KMS, and KMS encrypting part of the responses to the key. This mechanism is supposed
to ensure that only the requesting enclave can see output from KMS.</p>
<p>Only <a href="https://docs.aws.amazon.com/kms/latest/developerguide/conditions-attestation.html">a few KMS
operations</a>
support these two mechanisms. The operations are:</p>
<ul>
<li><code>GenerateDataKey</code>, <code>GenerateDataKeyPair</code></li>
<li><code>Decrypt</code></li>
<li><code>DeriveSharedSecret</code></li>
<li><code>GenerateRandom</code></li>
</ul>
<p>Note the absence of the <code>Encrypt</code> operation: enclaves can request this operation, but without the
attestation-based security mechanisms. CMKs cannot be used directly by enclaves for encryption
without missing on the attestation checks. This means cryptography operations are supposed to be
implemented via data keys, and not directly via CMKs.</p>
<figure>
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 560 473"
>
<g transform='translate(8,16)'>
<path d='M 240,48 L 536,48' fill='none' stroke='currentColor'></path>
<path d='M 248,112 L 256,112' fill='none' stroke='currentColor'></path>
<path d='M 272,112 L 280,112' fill='none' stroke='currentColor'></path>
<path d='M 288,112 L 296,112' fill='none' stroke='currentColor'></path>
<path d='M 304,112 L 312,112' fill='none' stroke='currentColor'></path>
<path d='M 320,112 L 328,112' fill='none' stroke='currentColor'></path>
<path d='M 336,112 L 344,112' fill='none' stroke='currentColor'></path>
<path d='M 352,112 L 360,112' fill='none' stroke='currentColor'></path>
<path d='M 368,112 L 376,112' fill='none' stroke='currentColor'></path>
<path d='M 384,112 L 392,112' fill='none' stroke='currentColor'></path>
<path d='M 400,112 L 408,112' fill='none' stroke='currentColor'></path>
<path d='M 416,112 L 424,112' fill='none' stroke='currentColor'></path>
<path d='M 432,112 L 440,112' fill='none' stroke='currentColor'></path>
<path d='M 448,112 L 456,112' fill='none' stroke='currentColor'></path>
<path d='M 464,112 L 472,112' fill='none' stroke='currentColor'></path>
<path d='M 480,112 L 488,112' fill='none' stroke='currentColor'></path>
<path d='M 496,112 L 504,112' fill='none' stroke='currentColor'></path>
<path d='M 512,112 L 520,112' fill='none' stroke='currentColor'></path>
<path d='M 528,112 L 536,112' fill='none' stroke='currentColor'></path>
<path d='M 240,144 L 264,144' fill='none' stroke='currentColor'></path>
<path d='M 448,160 L 456,160' fill='none' stroke='currentColor'></path>
<path d='M 248,176 L 264,176' fill='none' stroke='currentColor'></path>
<path d='M 40,224 L 240,224' fill='none' stroke='currentColor'></path>
<path d='M 40,272 L 48,272' fill='none' stroke='currentColor'></path>
<path d='M 56,272 L 64,272' fill='none' stroke='currentColor'></path>
<path d='M 72,272 L 80,272' fill='none' stroke='currentColor'></path>
<path d='M 88,272 L 96,272' fill='none' stroke='currentColor'></path>
<path d='M 104,272 L 112,272' fill='none' stroke='currentColor'></path>
<path d='M 120,272 L 128,272' fill='none' stroke='currentColor'></path>
<path d='M 136,272 L 144,272' fill='none' stroke='currentColor'></path>
<path d='M 152,272 L 160,272' fill='none' stroke='currentColor'></path>
<path d='M 168,272 L 176,272' fill='none' stroke='currentColor'></path>
<path d='M 184,272 L 192,272' fill='none' stroke='currentColor'></path>
<path d='M 200,272 L 208,272' fill='none' stroke='currentColor'></path>
<path d='M 216,272 L 232,272' fill='none' stroke='currentColor'></path>
<path d='M 240,320 L 536,320' fill='none' stroke='currentColor'></path>
<path d='M 248,368 L 256,368' fill='none' stroke='currentColor'></path>
<path d='M 272,368 L 280,368' fill='none' stroke='currentColor'></path>
<path d='M 288,368 L 296,368' fill='none' stroke='currentColor'></path>
<path d='M 304,368 L 312,368' fill='none' stroke='currentColor'></path>
<path d='M 320,368 L 328,368' fill='none' stroke='currentColor'></path>
<path d='M 336,368 L 344,368' fill='none' stroke='currentColor'></path>
<path d='M 352,368 L 360,368' fill='none' stroke='currentColor'></path>
<path d='M 368,368 L 376,368' fill='none' stroke='currentColor'></path>
<path d='M 384,368 L 392,368' fill='none' stroke='currentColor'></path>
<path d='M 400,368 L 408,368' fill='none' stroke='currentColor'></path>
<path d='M 416,368 L 424,368' fill='none' stroke='currentColor'></path>
<path d='M 432,368 L 440,368' fill='none' stroke='currentColor'></path>
<path d='M 448,368 L 456,368' fill='none' stroke='currentColor'></path>
<path d='M 464,368 L 472,368' fill='none' stroke='currentColor'></path>
<path d='M 480,368 L 488,368' fill='none' stroke='currentColor'></path>
<path d='M 496,368 L 504,368' fill='none' stroke='currentColor'></path>
<path d='M 512,368 L 520,368' fill='none' stroke='currentColor'></path>
<path d='M 528,368 L 536,368' fill='none' stroke='currentColor'></path>
<path d='M 240,400 L 264,400' fill='none' stroke='currentColor'></path>
<path d='M 464,416 L 472,416' fill='none' stroke='currentColor'></path>
<path d='M 248,432 L 264,432' fill='none' stroke='currentColor'></path>
<path d='M 32,16 L 32,448' fill='none' stroke='currentColor'></path>
<path d='M 240,16 L 240,48' fill='none' stroke='currentColor'></path>
<path d='M 240,48 L 240,144' fill='none' stroke='currentColor'></path>
<path d='M 240,144 L 240,224' fill='none' stroke='currentColor'></path>
<path d='M 240,224 L 240,320' fill='none' stroke='currentColor'></path>
<path d='M 240,320 L 240,400' fill='none' stroke='currentColor'></path>
<path d='M 240,400 L 240,448' fill='none' stroke='currentColor'></path>
<path d='M 264,144 L 264,176' fill='none' stroke='currentColor'></path>
<path d='M 264,400 L 264,432' fill='none' stroke='currentColor'></path>
<path d='M 544,16 L 544,448' fill='none' stroke='currentColor'></path>
<polygon points='48.000000,224.000000 36.000000,218.399994 36.000000,229.600006' fill='currentColor' transform='rotate(180.000000, 40.000000, 224.000000)'></polygon>
<polygon points='240.000000,272.000000 228.000000,266.399994 228.000000,277.600006' fill='currentColor' transform='rotate(0.000000, 232.000000, 272.000000)'></polygon>
<polygon points='256.000000,112.000000 244.000000,106.400002 244.000000,117.599998' fill='currentColor' transform='rotate(180.000000, 248.000000, 112.000000)'></polygon>
<polygon points='256.000000,176.000000 244.000000,170.399994 244.000000,181.600006' fill='currentColor' transform='rotate(180.000000, 248.000000, 176.000000)'></polygon>
<polygon points='256.000000,368.000000 244.000000,362.399994 244.000000,373.600006' fill='currentColor' transform='rotate(180.000000, 248.000000, 368.000000)'></polygon>
<polygon points='256.000000,432.000000 244.000000,426.399994 244.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 248.000000, 432.000000)'></polygon>
<polygon points='464.000000,160.000000 452.000000,154.399994 452.000000,165.600006' fill='currentColor' transform='rotate(0.000000, 456.000000, 160.000000)'></polygon>
<polygon points='480.000000,416.000000 468.000000,410.399994 468.000000,421.600006' fill='currentColor' transform='rotate(0.000000, 472.000000, 416.000000)'></polygon>
<polygon points='544.000000,48.000000 532.000000,42.400002 532.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 536.000000, 48.000000)'></polygon>
<polygon points='544.000000,320.000000 532.000000,314.399994 532.000000,325.600006' fill='currentColor' transform='rotate(0.000000, 536.000000, 320.000000)'></polygon>
<text text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='56' y='212' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='56' y='260' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='64' y='212' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='64' y='260' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='72' y='212' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='72' y='260' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='80' y='212' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='80' y='260' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='88' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='256' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='256' y='308' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='264' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='264' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='356' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='272' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='272' y='100' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='272' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='272' y='356' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='280' y='100' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='280' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='280' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='280' y='356' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='280' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='288' y='100' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='288' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='308' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='288' y='356' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='288' y='420' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='100' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='296' y='164' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='296' y='356' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='296' y='420' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='100' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='304' y='164' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='304' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='304' y='356' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='304' y='420' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='164' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='308' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='312' y='356' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='420' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='100' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='320' y='164' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='356' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='320' y='420' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='100' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='164' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='328' y='308' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='328' y='356' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='420' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='336' y='100' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='336' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='336' y='308' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='356' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='336' y='420' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='344' y='100' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='344' y='164' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='344' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='344' y='356' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='420' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='100' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='352' y='164' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='308' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='352' y='356' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='420' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='360' y='100' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='164' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='308' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='360' y='356' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='360' y='420' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='368' y='100' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='164' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='368' y='308' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='356' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='368' y='420' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='376' y='100' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='164' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='376' y='308' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='376' y='356' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='376' y='420' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='384' y='100' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='384' y='164' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='384' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='384' y='356' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='384' y='420' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='392' y='100' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='392' y='164' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='392' y='308' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='392' y='356' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='392' y='420' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='400' y='100' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='400' y='164' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='400' y='308' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='400' y='356' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='400' y='420' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='408' y='164' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='408' y='308' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='408' y='356' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='408' y='420' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='416' y='164' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='416' y='308' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='416' y='356' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='416' y='420' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='424' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='424' y='164' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='424' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='424' y='356' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='424' y='420' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='432' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='432' y='164' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='432' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='432' y='356' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='432' y='420' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='440' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='440' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='440' y='356' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='420' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='448' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='448' y='308' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='448' y='356' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='448' y='420' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='456' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='456' y='356' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='464' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='464' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='464' y='356' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='472' y='36' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='472' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='472' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='480' y='164' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='480' y='308' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='488' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='488' y='308' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='488' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='496' y='36' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='496' y='308' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='496' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='504' y='36' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='504' y='308' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='512' y='36' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='520' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='528' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='536' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='544' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
<figcaption><span>Figure 2: Basic KMS operations with enclave attestation.</span></figcaption></figure>
<h2 id="use-cases">Use cases</h2>
<p>KMS can be integrated with Nitro Enclaves for various reasons: for application-specific needs, to
sign enclave image files (EIFs), or to increase the entropy available in the enclave.</p>
<p>The application-specific use cases are based on KMS’ ability to verify attestation documents, which
in turn enables developers to write KMS authorization policies based on PCR measurements from the
attestation. A common use case is implementation of <a href="https://blog.trailofbits.com/2023/12/18/a-trail-of-flipping-bits/">authenticated external
storage</a> for the enclaves. When access to KMS keys is
restricted by PCRs 0-2, only a specific enclave version has access to the keys.</p>
<p>Enclave image files can be signed. Any signing certificate (private key) can be used for the task,
but the <a href="https://docs.aws.amazon.com/enclaves/latest/user/cmd-nitro-sign-eif.html">officially supported
ways</a> include signing with
a key stored in a local file, and via KMS. The signing certificate used for the EIF is then <a href="https://docs.aws.amazon.com/enclaves/latest/user/set-up-attestation.html">exposed
as PCR8</a>. This PCR can be
used in KMS policies. This feature lets one to restrict access to KMS keys to enclaves created by
the same developer, while developer identity is protected by the KMS too.</p>
<p>Finally, the <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html"><code>GenerateRandom</code> method of
KMS</a> can be used to
<a href="https://blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/#randomness">add more entropy to the
enclave</a>. While not critically
important – enclaves already have access to high quality entropy from the hypervisor – additional
randomness may increase trust in the system. On the other hand, one may argue that the added
complexity exceeds the benefits. No strong opinions here.</p>
<h2 id="passive-attack-prevention">Passive attack prevention</h2>
<p>Threats to the enclave-KMS communication can be divided into two categories: passive and active.
Passive attackers can observe traffic and modify data that is stored outside of the enclave and is
not attested. Active attackers can additionally modify all traffic coming in and out of the enclave.</p>
<p>The exact landscape of passive attacks depends on specific system design, but KMS operations allow
us to reason about them fairly well, as an attacker can control any and all of the inputs to these
operations. This tl;dr checklist helps avoid passive attacks:</p>
<ul>
<li><input disabled="" type="checkbox"> Requests to KMS always contain the <code>Recipient</code> parameter.</li>
<li><input disabled="" type="checkbox"> Encryption context is used for supported operations.
<ul>
<li><input disabled="" type="checkbox"> Context is decided by enclaves, and is not fully attacker-controlled.</li>
<li><input disabled="" type="checkbox"> <code>Encrypt</code> and <code>GenDataKey</code> operations are authorized properly.</li>
</ul>
</li>
<li><input disabled="" type="checkbox"> Data encrypted with data keys has context.
<ul>
<li><input disabled="" type="checkbox"> Key commitment is considered.</li>
</ul>
</li>
<li><input disabled="" type="checkbox"> Correct CMK is used.
<ul>
<li><input disabled="" type="checkbox"> CMK ARN is hardcoded.</li>
<li><input disabled="" type="checkbox"> <code>keyId</code> from response is checked.</li>
<li><input disabled="" type="checkbox"> <code>Decrypt</code> requests always specify key ID.</li>
<li><input disabled="" type="checkbox"> IAM role is attested.</li>
<li><input disabled="" type="checkbox"> Full ARNs are used, key aliases are not used.</li>
</ul>
</li>
<li><input disabled="" type="checkbox"> Freshness/replay attacks are mitigated.</li>
<li><input disabled="" type="checkbox"> Side-channel attacks are considered.</li>
<li><input disabled="" type="checkbox"> Key types and cryptographic algorithms are validated.</li>
</ul>
<p>The <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_RecipientInfo.html"><code>Recipient</code>
parameter</a> includes
attestation, which allows KMS to validate PCRs. If key policies are correctly configured, requests
without this param fail, so it is rather hard to miss.</p>
<p>A single CMK key can be used to generate multiple data keys and shared secrets. Since the encrypted
data keys are stored outside of the enclave, an attacker can swap them. It is therefore important to
cryptographically distinguish the ciphertexts, and the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html">encryption
context</a> is one of the
ways to achieve that. Importantly, this solution works only if the attacker does not have full
control over the encryption context; if they do, they can swap the ciphertext blob while also making
the enclave use the wrong context.</p>
<p>Below are diagrams for simple “data swap” attacks that encryption contexts can prevent.</p>
<figure>
<div class="tabs">
<input
class="tabs__radio"
type="radio"
name="tabs-5"
id="tabs-5-0" checked />
<label class="tabs__label" for="tabs-5-0">Attack</label>
<div class="tabs__panel">
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 536 825"
>
<g transform='translate(8,16)'>
<path d='M 256,48 L 496,48' fill='none' stroke='currentColor'></path>
<path d='M 264,96 L 272,96' fill='none' stroke='currentColor'></path>
<path d='M 288,96 L 296,96' fill='none' stroke='currentColor'></path>
<path d='M 304,96 L 312,96' fill='none' stroke='currentColor'></path>
<path d='M 320,96 L 328,96' fill='none' stroke='currentColor'></path>
<path d='M 336,96 L 344,96' fill='none' stroke='currentColor'></path>
<path d='M 352,96 L 360,96' fill='none' stroke='currentColor'></path>
<path d='M 368,96 L 376,96' fill='none' stroke='currentColor'></path>
<path d='M 384,96 L 392,96' fill='none' stroke='currentColor'></path>
<path d='M 400,96 L 408,96' fill='none' stroke='currentColor'></path>
<path d='M 416,96 L 424,96' fill='none' stroke='currentColor'></path>
<path d='M 432,96 L 440,96' fill='none' stroke='currentColor'></path>
<path d='M 448,96 L 456,96' fill='none' stroke='currentColor'></path>
<path d='M 464,96 L 472,96' fill='none' stroke='currentColor'></path>
<path d='M 480,96 L 488,96' fill='none' stroke='currentColor'></path>
<path d='M 496,96 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 56,144 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 256,192 L 496,192' fill='none' stroke='currentColor'></path>
<path d='M 264,240 L 272,240' fill='none' stroke='currentColor'></path>
<path d='M 288,240 L 296,240' fill='none' stroke='currentColor'></path>
<path d='M 304,240 L 312,240' fill='none' stroke='currentColor'></path>
<path d='M 320,240 L 328,240' fill='none' stroke='currentColor'></path>
<path d='M 336,240 L 344,240' fill='none' stroke='currentColor'></path>
<path d='M 352,240 L 360,240' fill='none' stroke='currentColor'></path>
<path d='M 368,240 L 376,240' fill='none' stroke='currentColor'></path>
<path d='M 384,240 L 392,240' fill='none' stroke='currentColor'></path>
<path d='M 400,240 L 408,240' fill='none' stroke='currentColor'></path>
<path d='M 416,240 L 424,240' fill='none' stroke='currentColor'></path>
<path d='M 432,240 L 440,240' fill='none' stroke='currentColor'></path>
<path d='M 448,240 L 456,240' fill='none' stroke='currentColor'></path>
<path d='M 464,240 L 472,240' fill='none' stroke='currentColor'></path>
<path d='M 480,240 L 488,240' fill='none' stroke='currentColor'></path>
<path d='M 496,240 L 504,240' fill='none' stroke='currentColor'></path>
<path d='M 56,288 L 256,288' fill='none' stroke='currentColor'></path>
<path d='M 56,336 L 64,336' fill='none' stroke='currentColor'></path>
<path d='M 72,336 L 80,336' fill='none' stroke='currentColor'></path>
<path d='M 88,336 L 96,336' fill='none' stroke='currentColor'></path>
<path d='M 104,336 L 112,336' fill='none' stroke='currentColor'></path>
<path d='M 120,336 L 128,336' fill='none' stroke='currentColor'></path>
<path d='M 136,336 L 144,336' fill='none' stroke='currentColor'></path>
<path d='M 152,336 L 160,336' fill='none' stroke='currentColor'></path>
<path d='M 168,336 L 176,336' fill='none' stroke='currentColor'></path>
<path d='M 184,336 L 192,336' fill='none' stroke='currentColor'></path>
<path d='M 200,336 L 208,336' fill='none' stroke='currentColor'></path>
<path d='M 216,336 L 224,336' fill='none' stroke='currentColor'></path>
<path d='M 232,336 L 248,336' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 496,384' fill='none' stroke='currentColor'></path>
<path d='M 264,432 L 272,432' fill='none' stroke='currentColor'></path>
<path d='M 288,432 L 296,432' fill='none' stroke='currentColor'></path>
<path d='M 304,432 L 312,432' fill='none' stroke='currentColor'></path>
<path d='M 320,432 L 328,432' fill='none' stroke='currentColor'></path>
<path d='M 336,432 L 344,432' fill='none' stroke='currentColor'></path>
<path d='M 352,432 L 360,432' fill='none' stroke='currentColor'></path>
<path d='M 368,432 L 376,432' fill='none' stroke='currentColor'></path>
<path d='M 384,432 L 392,432' fill='none' stroke='currentColor'></path>
<path d='M 400,432 L 408,432' fill='none' stroke='currentColor'></path>
<path d='M 416,432 L 424,432' fill='none' stroke='currentColor'></path>
<path d='M 432,432 L 440,432' fill='none' stroke='currentColor'></path>
<path d='M 448,432 L 456,432' fill='none' stroke='currentColor'></path>
<path d='M 464,432 L 472,432' fill='none' stroke='currentColor'></path>
<path d='M 480,432 L 488,432' fill='none' stroke='currentColor'></path>
<path d='M 496,432 L 504,432' fill='none' stroke='currentColor'></path>
<path d='M 256,464 L 280,464' fill='none' stroke='currentColor'></path>
<path d='M 376,480 L 384,480' fill='none' stroke='currentColor'></path>
<path d='M 264,496 L 280,496' fill='none' stroke='currentColor'></path>
<path d='M 0,528 L 48,528' fill='none' stroke='currentColor'></path>
<path d='M 48,528 L 104,528' fill='none' stroke='currentColor'></path>
<path d='M 256,528 L 504,528' fill='none' stroke='currentColor'></path>
<path d='M 504,528 L 520,528' fill='none' stroke='currentColor'></path>
<path d='M 56,592 L 64,592' fill='none' stroke='currentColor'></path>
<path d='M 72,592 L 80,592' fill='none' stroke='currentColor'></path>
<path d='M 88,592 L 96,592' fill='none' stroke='currentColor'></path>
<path d='M 104,592 L 112,592' fill='none' stroke='currentColor'></path>
<path d='M 120,592 L 128,592' fill='none' stroke='currentColor'></path>
<path d='M 136,592 L 144,592' fill='none' stroke='currentColor'></path>
<path d='M 152,592 L 160,592' fill='none' stroke='currentColor'></path>
<path d='M 168,592 L 176,592' fill='none' stroke='currentColor'></path>
<path d='M 184,592 L 192,592' fill='none' stroke='currentColor'></path>
<path d='M 200,592 L 208,592' fill='none' stroke='currentColor'></path>
<path d='M 216,592 L 224,592' fill='none' stroke='currentColor'></path>
<path d='M 232,592 L 248,592' fill='none' stroke='currentColor'></path>
<path d='M 256,640 L 496,640' fill='none' stroke='currentColor'></path>
<path d='M 264,688 L 272,688' fill='none' stroke='currentColor'></path>
<path d='M 288,688 L 296,688' fill='none' stroke='currentColor'></path>
<path d='M 304,688 L 312,688' fill='none' stroke='currentColor'></path>
<path d='M 320,688 L 328,688' fill='none' stroke='currentColor'></path>
<path d='M 336,688 L 344,688' fill='none' stroke='currentColor'></path>
<path d='M 352,688 L 360,688' fill='none' stroke='currentColor'></path>
<path d='M 368,688 L 376,688' fill='none' stroke='currentColor'></path>
<path d='M 384,688 L 392,688' fill='none' stroke='currentColor'></path>
<path d='M 400,688 L 408,688' fill='none' stroke='currentColor'></path>
<path d='M 416,688 L 424,688' fill='none' stroke='currentColor'></path>
<path d='M 432,688 L 440,688' fill='none' stroke='currentColor'></path>
<path d='M 448,688 L 456,688' fill='none' stroke='currentColor'></path>
<path d='M 464,688 L 472,688' fill='none' stroke='currentColor'></path>
<path d='M 480,688 L 488,688' fill='none' stroke='currentColor'></path>
<path d='M 496,688 L 504,688' fill='none' stroke='currentColor'></path>
<path d='M 256,720 L 280,720' fill='none' stroke='currentColor'></path>
<path d='M 392,736 L 400,736' fill='none' stroke='currentColor'></path>
<path d='M 264,752 L 280,752' fill='none' stroke='currentColor'></path>
<path d='M 0,784 L 48,784' fill='none' stroke='currentColor'></path>
<path d='M 48,784 L 256,784' fill='none' stroke='currentColor'></path>
<path d='M 256,784 L 504,784' fill='none' stroke='currentColor'></path>
<path d='M 504,784 L 520,784' fill='none' stroke='currentColor'></path>
<path d='M 0,528 L 0,784' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,528' fill='none' stroke='currentColor'></path>
<path d='M 48,528 L 48,784' fill='none' stroke='currentColor'></path>
<path d='M 48,784 L 48,800' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,48' fill='none' stroke='currentColor'></path>
<path d='M 256,48 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 256,144 L 256,192' fill='none' stroke='currentColor'></path>
<path d='M 256,192 L 256,288' fill='none' stroke='currentColor'></path>
<path d='M 256,288 L 256,384' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 256,464' fill='none' stroke='currentColor'></path>
<path d='M 256,464 L 256,512' fill='none' stroke='currentColor'></path>
<path d='M 256,544 L 256,640' fill='none' stroke='currentColor'></path>
<path d='M 256,640 L 256,720' fill='none' stroke='currentColor'></path>
<path d='M 256,720 L 256,784' fill='none' stroke='currentColor'></path>
<path d='M 256,784 L 256,800' fill='none' stroke='currentColor'></path>
<path d='M 280,464 L 280,496' fill='none' stroke='currentColor'></path>
<path d='M 280,720 L 280,752' fill='none' stroke='currentColor'></path>
<path d='M 504,16 L 504,528' fill='none' stroke='currentColor'></path>
<path d='M 504,528 L 504,784' fill='none' stroke='currentColor'></path>
<path d='M 504,784 L 504,800' fill='none' stroke='currentColor'></path>
<path d='M 520,528 L 520,784' fill='none' stroke='currentColor'></path>
<path d='M 256,512 L 256,520' fill='none' stroke='currentColor'></path>
<path d='M 256,536 L 256,544' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,144.000000 52.000000,138.399994 52.000000,149.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 144.000000)'></polygon>
<polygon points='64.000000,288.000000 52.000000,282.399994 52.000000,293.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 288.000000)'></polygon>
<polygon points='256.000000,336.000000 244.000000,330.399994 244.000000,341.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 336.000000)'></polygon>
<polygon points='256.000000,592.000000 244.000000,586.400024 244.000000,597.599976' fill='currentColor' transform='rotate(0.000000, 248.000000, 592.000000)'></polygon>
<polygon points='272.000000,96.000000 260.000000,90.400002 260.000000,101.599998' fill='currentColor' transform='rotate(180.000000, 264.000000, 96.000000)'></polygon>
<polygon points='272.000000,240.000000 260.000000,234.399994 260.000000,245.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 240.000000)'></polygon>
<polygon points='272.000000,432.000000 260.000000,426.399994 260.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 432.000000)'></polygon>
<polygon points='272.000000,496.000000 260.000000,490.399994 260.000000,501.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 496.000000)'></polygon>
<polygon points='272.000000,688.000000 260.000000,682.400024 260.000000,693.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 688.000000)'></polygon>
<polygon points='272.000000,752.000000 260.000000,746.400024 260.000000,757.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 752.000000)'></polygon>
<polygon points='392.000000,480.000000 380.000000,474.399994 380.000000,485.600006' fill='currentColor' transform='rotate(0.000000, 384.000000, 480.000000)'></polygon>
<polygon points='408.000000,736.000000 396.000000,730.400024 396.000000,741.599976' fill='currentColor' transform='rotate(0.000000, 400.000000, 736.000000)'></polygon>
<polygon points='504.000000,48.000000 492.000000,42.400002 492.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 496.000000, 48.000000)'></polygon>
<polygon points='504.000000,192.000000 492.000000,186.399994 492.000000,197.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 192.000000)'></polygon>
<polygon points='504.000000,384.000000 492.000000,378.399994 492.000000,389.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 384.000000)'></polygon>
<polygon points='504.000000,640.000000 492.000000,634.400024 492.000000,645.599976' fill='currentColor' transform='rotate(0.000000, 496.000000, 640.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='72' y='324' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='72' y='564' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='80' y='324' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='564' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='324' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='564' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='88' y='580' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='564' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='96' y='580' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='104' y='564' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='104' y='580' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='564' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='112' y='580' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='120' y='532' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='120' y='564' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='120' y='580' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='128' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='580' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='136' y='132' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='136' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='136' y='580' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='144' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='152' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='152' y='580' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='160' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='160' y='532' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='160' y='580' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='168' y='132' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='168' y='532' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='176' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='176' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='176' y='580' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='184' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='184' y='532' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='184' y='580' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='192' y='580' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='200' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='200' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='200' y='580' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='208' y='132' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='208' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='208' y='580' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='216' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='224' y='276' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='224' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='232' y='532' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='240' y='532' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='248' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='180' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='228' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='272' y='372' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='272' y='628' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='280' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='228' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='280' y='372' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='628' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='288' y='180' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='288' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='288' y='628' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='228' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='372' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='628' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='740' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='180' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='228' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='372' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='484' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='628' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='740' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='228' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='372' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='484' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='628' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='740' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='228' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='372' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='484' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='628' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='676' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='320' y='740' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='228' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='372' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='628' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='676' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='740' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='180' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='228' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='484' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='628' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='676' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='740' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='228' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='372' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='420' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='484' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='628' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='676' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='344' y='740' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='228' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='372' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='484' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='352' y='628' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='676' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='352' y='740' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='228' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='372' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='484' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='360' y='628' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='740' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='368' y='180' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='228' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='368' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='420' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='628' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='740' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='376' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='228' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='376' y='372' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='628' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='740' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='180' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='384' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='628' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='180' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='228' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='392' y='372' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='628' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='400' y='180' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='228' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='400' y='372' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='400' y='484' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='400' y='628' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='408' y='180' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='228' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='408' y='628' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='416' y='180' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='228' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='740' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='180' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='424' y='740' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='432' y='180' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='432' y='228' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='180' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='740' fill='currentColor' style='font-size:1em'>≠</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='448' y='180' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='456' y='740' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
</div>
<input
class="tabs__radio"
type="radio"
name="tabs-5"
id="tabs-5-1" />
<label class="tabs__label" for="tabs-5-1">Prevented</label>
<div class="tabs__panel">
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 536 761"
>
<g transform='translate(8,16)'>
<path d='M 256,48 L 496,48' fill='none' stroke='currentColor'></path>
<path d='M 264,96 L 272,96' fill='none' stroke='currentColor'></path>
<path d='M 288,96 L 296,96' fill='none' stroke='currentColor'></path>
<path d='M 304,96 L 312,96' fill='none' stroke='currentColor'></path>
<path d='M 320,96 L 328,96' fill='none' stroke='currentColor'></path>
<path d='M 336,96 L 344,96' fill='none' stroke='currentColor'></path>
<path d='M 352,96 L 360,96' fill='none' stroke='currentColor'></path>
<path d='M 368,96 L 376,96' fill='none' stroke='currentColor'></path>
<path d='M 384,96 L 392,96' fill='none' stroke='currentColor'></path>
<path d='M 400,96 L 408,96' fill='none' stroke='currentColor'></path>
<path d='M 416,96 L 424,96' fill='none' stroke='currentColor'></path>
<path d='M 432,96 L 440,96' fill='none' stroke='currentColor'></path>
<path d='M 448,96 L 456,96' fill='none' stroke='currentColor'></path>
<path d='M 464,96 L 472,96' fill='none' stroke='currentColor'></path>
<path d='M 480,96 L 488,96' fill='none' stroke='currentColor'></path>
<path d='M 496,96 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 56,144 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 256,192 L 496,192' fill='none' stroke='currentColor'></path>
<path d='M 264,240 L 272,240' fill='none' stroke='currentColor'></path>
<path d='M 288,240 L 296,240' fill='none' stroke='currentColor'></path>
<path d='M 304,240 L 312,240' fill='none' stroke='currentColor'></path>
<path d='M 320,240 L 328,240' fill='none' stroke='currentColor'></path>
<path d='M 336,240 L 344,240' fill='none' stroke='currentColor'></path>
<path d='M 352,240 L 360,240' fill='none' stroke='currentColor'></path>
<path d='M 368,240 L 376,240' fill='none' stroke='currentColor'></path>
<path d='M 384,240 L 392,240' fill='none' stroke='currentColor'></path>
<path d='M 400,240 L 408,240' fill='none' stroke='currentColor'></path>
<path d='M 416,240 L 424,240' fill='none' stroke='currentColor'></path>
<path d='M 432,240 L 440,240' fill='none' stroke='currentColor'></path>
<path d='M 448,240 L 456,240' fill='none' stroke='currentColor'></path>
<path d='M 464,240 L 472,240' fill='none' stroke='currentColor'></path>
<path d='M 480,240 L 488,240' fill='none' stroke='currentColor'></path>
<path d='M 496,240 L 504,240' fill='none' stroke='currentColor'></path>
<path d='M 56,288 L 256,288' fill='none' stroke='currentColor'></path>
<path d='M 56,336 L 64,336' fill='none' stroke='currentColor'></path>
<path d='M 72,336 L 80,336' fill='none' stroke='currentColor'></path>
<path d='M 88,336 L 96,336' fill='none' stroke='currentColor'></path>
<path d='M 104,336 L 112,336' fill='none' stroke='currentColor'></path>
<path d='M 120,336 L 128,336' fill='none' stroke='currentColor'></path>
<path d='M 136,336 L 144,336' fill='none' stroke='currentColor'></path>
<path d='M 152,336 L 160,336' fill='none' stroke='currentColor'></path>
<path d='M 168,336 L 176,336' fill='none' stroke='currentColor'></path>
<path d='M 184,336 L 192,336' fill='none' stroke='currentColor'></path>
<path d='M 200,336 L 208,336' fill='none' stroke='currentColor'></path>
<path d='M 216,336 L 224,336' fill='none' stroke='currentColor'></path>
<path d='M 232,336 L 248,336' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 496,384' fill='none' stroke='currentColor'></path>
<path d='M 264,432 L 272,432' fill='none' stroke='currentColor'></path>
<path d='M 288,432 L 296,432' fill='none' stroke='currentColor'></path>
<path d='M 304,432 L 312,432' fill='none' stroke='currentColor'></path>
<path d='M 320,432 L 328,432' fill='none' stroke='currentColor'></path>
<path d='M 336,432 L 344,432' fill='none' stroke='currentColor'></path>
<path d='M 352,432 L 360,432' fill='none' stroke='currentColor'></path>
<path d='M 368,432 L 376,432' fill='none' stroke='currentColor'></path>
<path d='M 384,432 L 392,432' fill='none' stroke='currentColor'></path>
<path d='M 400,432 L 408,432' fill='none' stroke='currentColor'></path>
<path d='M 416,432 L 424,432' fill='none' stroke='currentColor'></path>
<path d='M 432,432 L 440,432' fill='none' stroke='currentColor'></path>
<path d='M 448,432 L 456,432' fill='none' stroke='currentColor'></path>
<path d='M 464,432 L 472,432' fill='none' stroke='currentColor'></path>
<path d='M 480,432 L 488,432' fill='none' stroke='currentColor'></path>
<path d='M 496,432 L 504,432' fill='none' stroke='currentColor'></path>
<path d='M 256,464 L 280,464' fill='none' stroke='currentColor'></path>
<path d='M 376,480 L 384,480' fill='none' stroke='currentColor'></path>
<path d='M 264,496 L 280,496' fill='none' stroke='currentColor'></path>
<path d='M 0,528 L 48,528' fill='none' stroke='currentColor'></path>
<path d='M 48,528 L 64,528' fill='none' stroke='currentColor'></path>
<path d='M 296,528 L 504,528' fill='none' stroke='currentColor'></path>
<path d='M 504,528 L 520,528' fill='none' stroke='currentColor'></path>
<path d='M 56,592 L 64,592' fill='none' stroke='currentColor'></path>
<path d='M 72,592 L 80,592' fill='none' stroke='currentColor'></path>
<path d='M 88,592 L 96,592' fill='none' stroke='currentColor'></path>
<path d='M 104,592 L 112,592' fill='none' stroke='currentColor'></path>
<path d='M 120,592 L 128,592' fill='none' stroke='currentColor'></path>
<path d='M 136,592 L 144,592' fill='none' stroke='currentColor'></path>
<path d='M 152,592 L 160,592' fill='none' stroke='currentColor'></path>
<path d='M 168,592 L 176,592' fill='none' stroke='currentColor'></path>
<path d='M 184,592 L 192,592' fill='none' stroke='currentColor'></path>
<path d='M 200,592 L 208,592' fill='none' stroke='currentColor'></path>
<path d='M 216,592 L 224,592' fill='none' stroke='currentColor'></path>
<path d='M 232,592 L 248,592' fill='none' stroke='currentColor'></path>
<path d='M 256,640 L 496,640' fill='none' stroke='currentColor'></path>
<path d='M 264,688 L 272,688' fill='none' stroke='currentColor'></path>
<path d='M 288,688 L 296,688' fill='none' stroke='currentColor'></path>
<path d='M 304,688 L 312,688' fill='none' stroke='currentColor'></path>
<path d='M 320,688 L 328,688' fill='none' stroke='currentColor'></path>
<path d='M 336,688 L 344,688' fill='none' stroke='currentColor'></path>
<path d='M 352,688 L 360,688' fill='none' stroke='currentColor'></path>
<path d='M 368,688 L 376,688' fill='none' stroke='currentColor'></path>
<path d='M 384,688 L 392,688' fill='none' stroke='currentColor'></path>
<path d='M 400,688 L 408,688' fill='none' stroke='currentColor'></path>
<path d='M 416,688 L 424,688' fill='none' stroke='currentColor'></path>
<path d='M 432,688 L 440,688' fill='none' stroke='currentColor'></path>
<path d='M 448,688 L 456,688' fill='none' stroke='currentColor'></path>
<path d='M 464,688 L 472,688' fill='none' stroke='currentColor'></path>
<path d='M 480,688 L 488,688' fill='none' stroke='currentColor'></path>
<path d='M 496,688 L 504,688' fill='none' stroke='currentColor'></path>
<path d='M 0,720 L 48,720' fill='none' stroke='currentColor'></path>
<path d='M 48,720 L 256,720' fill='none' stroke='currentColor'></path>
<path d='M 256,720 L 504,720' fill='none' stroke='currentColor'></path>
<path d='M 504,720 L 520,720' fill='none' stroke='currentColor'></path>
<path d='M 0,528 L 0,720' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,528' fill='none' stroke='currentColor'></path>
<path d='M 48,528 L 48,720' fill='none' stroke='currentColor'></path>
<path d='M 48,720 L 48,736' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,48' fill='none' stroke='currentColor'></path>
<path d='M 256,48 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 256,144 L 256,192' fill='none' stroke='currentColor'></path>
<path d='M 256,192 L 256,288' fill='none' stroke='currentColor'></path>
<path d='M 256,288 L 256,384' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 256,464' fill='none' stroke='currentColor'></path>
<path d='M 256,464 L 256,512' fill='none' stroke='currentColor'></path>
<path d='M 256,544 L 256,640' fill='none' stroke='currentColor'></path>
<path d='M 256,640 L 256,720' fill='none' stroke='currentColor'></path>
<path d='M 256,720 L 256,736' fill='none' stroke='currentColor'></path>
<path d='M 280,464 L 280,496' fill='none' stroke='currentColor'></path>
<path d='M 504,16 L 504,528' fill='none' stroke='currentColor'></path>
<path d='M 504,528 L 504,720' fill='none' stroke='currentColor'></path>
<path d='M 504,720 L 504,736' fill='none' stroke='currentColor'></path>
<path d='M 520,528 L 520,720' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,144.000000 52.000000,138.399994 52.000000,149.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 144.000000)'></polygon>
<polygon points='64.000000,288.000000 52.000000,282.399994 52.000000,293.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 288.000000)'></polygon>
<polygon points='256.000000,336.000000 244.000000,330.399994 244.000000,341.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 336.000000)'></polygon>
<polygon points='256.000000,592.000000 244.000000,586.400024 244.000000,597.599976' fill='currentColor' transform='rotate(0.000000, 248.000000, 592.000000)'></polygon>
<polygon points='272.000000,96.000000 260.000000,90.400002 260.000000,101.599998' fill='currentColor' transform='rotate(180.000000, 264.000000, 96.000000)'></polygon>
<polygon points='272.000000,240.000000 260.000000,234.399994 260.000000,245.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 240.000000)'></polygon>
<polygon points='272.000000,432.000000 260.000000,426.399994 260.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 432.000000)'></polygon>
<polygon points='272.000000,496.000000 260.000000,490.399994 260.000000,501.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 496.000000)'></polygon>
<polygon points='272.000000,688.000000 260.000000,682.400024 260.000000,693.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 688.000000)'></polygon>
<polygon points='392.000000,480.000000 380.000000,474.399994 380.000000,485.600006' fill='currentColor' transform='rotate(0.000000, 384.000000, 480.000000)'></polygon>
<polygon points='504.000000,48.000000 492.000000,42.400002 492.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 496.000000, 48.000000)'></polygon>
<polygon points='504.000000,192.000000 492.000000,186.399994 492.000000,197.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 192.000000)'></polygon>
<polygon points='504.000000,384.000000 492.000000,378.399994 492.000000,389.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 384.000000)'></polygon>
<polygon points='504.000000,640.000000 492.000000,634.400024 492.000000,645.599976' fill='currentColor' transform='rotate(0.000000, 496.000000, 640.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='72' y='324' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='72' y='564' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='80' y='324' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='532' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='80' y='564' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='324' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='88' y='564' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='88' y='580' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='96' y='564' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='96' y='580' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='104' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='104' y='564' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='104' y='580' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='564' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='112' y='580' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='120' y='532' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='120' y='564' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='120' y='580' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='128' y='532' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='128' y='580' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='136' y='132' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='136' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='136' y='580' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='144' y='532' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='152' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='152' y='580' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='160' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='160' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='160' y='580' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='168' y='132' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='168' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='176' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='176' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='176' y='580' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='184' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='184' y='532' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='184' y='580' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='192' y='532' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='192' y='580' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='200' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='200' y='532' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='200' y='580' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='208' y='132' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='208' y='580' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='216' y='532' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='224' y='276' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='224' y='532' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='232' y='532' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='240' y='532' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='248' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='248' y='532' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='256' y='532' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='264' y='532' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='180' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='228' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='272' y='372' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='272' y='532' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='628' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='280' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='228' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='280' y='372' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='532' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='280' y='628' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='288' y='180' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='288' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='288' y='628' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='228' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='372' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='628' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='180' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='228' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='372' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='484' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='628' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='228' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='372' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='484' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='628' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='228' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='372' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='484' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='628' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='676' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='228' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='372' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='628' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='676' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='180' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='228' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='484' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='628' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='676' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='228' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='372' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='420' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='484' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='628' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='676' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='228' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='372' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='484' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='352' y='628' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='676' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='228' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='372' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='484' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='360' y='628' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='676' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='368' y='180' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='228' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='368' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='420' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='628' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='676' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='376' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='228' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='376' y='372' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='628' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='180' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='384' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='628' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='180' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='228' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='372' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='628' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='400' y='180' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='228' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='400' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='400' y='484' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='400' y='628' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='408' y='180' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='228' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='408' y='372' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='408' y='628' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='416' y='180' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='416' y='372' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='416' y='628' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='424' y='180' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='228' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='424' y='372' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='424' y='628' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='432' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='432' y='180' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='432' y='228' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='432' y='372' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='432' y='628' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='440' y='180' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='228' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='628' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='448' y='84' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='448' y='180' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='448' y='228' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='456' y='180' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='456' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='464' y='36' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='464' y='180' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='464' y='228' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='472' y='36' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='472' y='180' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='480' y='180' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
</div>
</div>
<figcaption><span>Figure 3: Simple data swap attack and prevention.</span></figcaption>
</figure>
<p>Passive attackers that can call <code>Encrypt</code> (or <code>ReEncrypt</code>) on a CMK can perform an even more severe
version of the attack above and swap the DK-ciphertext pair with a custom one, effectively providing
arbitrary plaintext to the enclave. The same issue applies if an attacker can call
<code>GenerateDataKey</code>. Note that some cases <a href="https://docs.aws.amazon.com/enclaves/latest/user/kms.html">may
require</a> authorization to these
operations for non-enclave entities, but this authorization should be revoked after the initial
setup.</p>
<figure>
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 536 713"
>
<g transform='translate(8,16)'>
<path d='M 256,48 L 496,48' fill='none' stroke='currentColor'></path>
<path d='M 264,96 L 272,96' fill='none' stroke='currentColor'></path>
<path d='M 288,96 L 296,96' fill='none' stroke='currentColor'></path>
<path d='M 304,96 L 312,96' fill='none' stroke='currentColor'></path>
<path d='M 320,96 L 328,96' fill='none' stroke='currentColor'></path>
<path d='M 336,96 L 344,96' fill='none' stroke='currentColor'></path>
<path d='M 352,96 L 360,96' fill='none' stroke='currentColor'></path>
<path d='M 368,96 L 376,96' fill='none' stroke='currentColor'></path>
<path d='M 384,96 L 392,96' fill='none' stroke='currentColor'></path>
<path d='M 400,96 L 408,96' fill='none' stroke='currentColor'></path>
<path d='M 416,96 L 424,96' fill='none' stroke='currentColor'></path>
<path d='M 432,96 L 440,96' fill='none' stroke='currentColor'></path>
<path d='M 448,96 L 456,96' fill='none' stroke='currentColor'></path>
<path d='M 464,96 L 472,96' fill='none' stroke='currentColor'></path>
<path d='M 480,96 L 488,96' fill='none' stroke='currentColor'></path>
<path d='M 496,96 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 56,144 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 56,192 L 64,192' fill='none' stroke='currentColor'></path>
<path d='M 72,192 L 80,192' fill='none' stroke='currentColor'></path>
<path d='M 88,192 L 96,192' fill='none' stroke='currentColor'></path>
<path d='M 104,192 L 112,192' fill='none' stroke='currentColor'></path>
<path d='M 120,192 L 128,192' fill='none' stroke='currentColor'></path>
<path d='M 136,192 L 144,192' fill='none' stroke='currentColor'></path>
<path d='M 152,192 L 160,192' fill='none' stroke='currentColor'></path>
<path d='M 168,192 L 176,192' fill='none' stroke='currentColor'></path>
<path d='M 184,192 L 192,192' fill='none' stroke='currentColor'></path>
<path d='M 200,192 L 208,192' fill='none' stroke='currentColor'></path>
<path d='M 216,192 L 224,192' fill='none' stroke='currentColor'></path>
<path d='M 232,192 L 248,192' fill='none' stroke='currentColor'></path>
<path d='M 0,240 L 48,240' fill='none' stroke='currentColor'></path>
<path d='M 48,240 L 104,240' fill='none' stroke='currentColor'></path>
<path d='M 360,240 L 504,240' fill='none' stroke='currentColor'></path>
<path d='M 504,240 L 520,240' fill='none' stroke='currentColor'></path>
<path d='M 48,288 L 496,288' fill='none' stroke='currentColor'></path>
<path d='M 56,336 L 64,336' fill='none' stroke='currentColor'></path>
<path d='M 80,336 L 88,336' fill='none' stroke='currentColor'></path>
<path d='M 96,336 L 104,336' fill='none' stroke='currentColor'></path>
<path d='M 112,336 L 120,336' fill='none' stroke='currentColor'></path>
<path d='M 128,336 L 136,336' fill='none' stroke='currentColor'></path>
<path d='M 144,336 L 152,336' fill='none' stroke='currentColor'></path>
<path d='M 160,336 L 168,336' fill='none' stroke='currentColor'></path>
<path d='M 176,336 L 184,336' fill='none' stroke='currentColor'></path>
<path d='M 192,336 L 200,336' fill='none' stroke='currentColor'></path>
<path d='M 208,336 L 216,336' fill='none' stroke='currentColor'></path>
<path d='M 224,336 L 232,336' fill='none' stroke='currentColor'></path>
<path d='M 240,336 L 248,336' fill='none' stroke='currentColor'></path>
<path d='M 256,336 L 264,336' fill='none' stroke='currentColor'></path>
<path d='M 272,336 L 280,336' fill='none' stroke='currentColor'></path>
<path d='M 288,336 L 296,336' fill='none' stroke='currentColor'></path>
<path d='M 304,336 L 312,336' fill='none' stroke='currentColor'></path>
<path d='M 320,336 L 328,336' fill='none' stroke='currentColor'></path>
<path d='M 336,336 L 344,336' fill='none' stroke='currentColor'></path>
<path d='M 352,336 L 360,336' fill='none' stroke='currentColor'></path>
<path d='M 368,336 L 376,336' fill='none' stroke='currentColor'></path>
<path d='M 384,336 L 392,336' fill='none' stroke='currentColor'></path>
<path d='M 400,336 L 408,336' fill='none' stroke='currentColor'></path>
<path d='M 416,336 L 424,336' fill='none' stroke='currentColor'></path>
<path d='M 432,336 L 440,336' fill='none' stroke='currentColor'></path>
<path d='M 448,336 L 456,336' fill='none' stroke='currentColor'></path>
<path d='M 464,336 L 472,336' fill='none' stroke='currentColor'></path>
<path d='M 480,336 L 488,336' fill='none' stroke='currentColor'></path>
<path d='M 496,336 L 504,336' fill='none' stroke='currentColor'></path>
<path d='M 48,368 L 72,368' fill='none' stroke='currentColor'></path>
<path d='M 56,400 L 72,400' fill='none' stroke='currentColor'></path>
<path d='M 56,464 L 64,464' fill='none' stroke='currentColor'></path>
<path d='M 72,464 L 80,464' fill='none' stroke='currentColor'></path>
<path d='M 88,464 L 96,464' fill='none' stroke='currentColor'></path>
<path d='M 104,464 L 112,464' fill='none' stroke='currentColor'></path>
<path d='M 120,464 L 128,464' fill='none' stroke='currentColor'></path>
<path d='M 136,464 L 144,464' fill='none' stroke='currentColor'></path>
<path d='M 152,464 L 160,464' fill='none' stroke='currentColor'></path>
<path d='M 168,464 L 176,464' fill='none' stroke='currentColor'></path>
<path d='M 184,464 L 192,464' fill='none' stroke='currentColor'></path>
<path d='M 200,464 L 208,464' fill='none' stroke='currentColor'></path>
<path d='M 216,464 L 224,464' fill='none' stroke='currentColor'></path>
<path d='M 232,464 L 248,464' fill='none' stroke='currentColor'></path>
<path d='M 256,512 L 496,512' fill='none' stroke='currentColor'></path>
<path d='M 264,560 L 272,560' fill='none' stroke='currentColor'></path>
<path d='M 288,560 L 296,560' fill='none' stroke='currentColor'></path>
<path d='M 304,560 L 312,560' fill='none' stroke='currentColor'></path>
<path d='M 320,560 L 328,560' fill='none' stroke='currentColor'></path>
<path d='M 336,560 L 344,560' fill='none' stroke='currentColor'></path>
<path d='M 352,560 L 360,560' fill='none' stroke='currentColor'></path>
<path d='M 368,560 L 376,560' fill='none' stroke='currentColor'></path>
<path d='M 384,560 L 392,560' fill='none' stroke='currentColor'></path>
<path d='M 400,560 L 408,560' fill='none' stroke='currentColor'></path>
<path d='M 416,560 L 424,560' fill='none' stroke='currentColor'></path>
<path d='M 432,560 L 440,560' fill='none' stroke='currentColor'></path>
<path d='M 448,560 L 456,560' fill='none' stroke='currentColor'></path>
<path d='M 464,560 L 472,560' fill='none' stroke='currentColor'></path>
<path d='M 480,560 L 488,560' fill='none' stroke='currentColor'></path>
<path d='M 496,560 L 504,560' fill='none' stroke='currentColor'></path>
<path d='M 256,592 L 280,592' fill='none' stroke='currentColor'></path>
<path d='M 312,624 L 320,624' fill='none' stroke='currentColor'></path>
<path d='M 264,640 L 280,640' fill='none' stroke='currentColor'></path>
<path d='M 0,672 L 48,672' fill='none' stroke='currentColor'></path>
<path d='M 48,672 L 256,672' fill='none' stroke='currentColor'></path>
<path d='M 256,672 L 504,672' fill='none' stroke='currentColor'></path>
<path d='M 504,672 L 520,672' fill='none' stroke='currentColor'></path>
<path d='M 0,240 L 0,672' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,240' fill='none' stroke='currentColor'></path>
<path d='M 48,240 L 48,288' fill='none' stroke='currentColor'></path>
<path d='M 48,288 L 48,368' fill='none' stroke='currentColor'></path>
<path d='M 48,368 L 48,672' fill='none' stroke='currentColor'></path>
<path d='M 48,672 L 48,688' fill='none' stroke='currentColor'></path>
<path d='M 72,368 L 72,400' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,48' fill='none' stroke='currentColor'></path>
<path d='M 256,48 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 256,144 L 256,224' fill='none' stroke='currentColor'></path>
<path d='M 256,256 L 256,272' fill='none' stroke='currentColor'></path>
<path d='M 256,304 L 256,320' fill='none' stroke='currentColor'></path>
<path d='M 256,352 L 256,512' fill='none' stroke='currentColor'></path>
<path d='M 256,512 L 256,592' fill='none' stroke='currentColor'></path>
<path d='M 256,592 L 256,672' fill='none' stroke='currentColor'></path>
<path d='M 256,672 L 256,688' fill='none' stroke='currentColor'></path>
<path d='M 280,592 L 280,640' fill='none' stroke='currentColor'></path>
<path d='M 504,16 L 504,240' fill='none' stroke='currentColor'></path>
<path d='M 504,240 L 504,672' fill='none' stroke='currentColor'></path>
<path d='M 504,672 L 504,688' fill='none' stroke='currentColor'></path>
<path d='M 520,240 L 520,672' fill='none' stroke='currentColor'></path>
<path d='M 256,272 L 256,280' fill='none' stroke='currentColor'></path>
<path d='M 256,296 L 256,304' fill='none' stroke='currentColor'></path>
<path d='M 256,320 L 256,328' fill='none' stroke='currentColor'></path>
<path d='M 256,344 L 256,352' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,144.000000 52.000000,138.399994 52.000000,149.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 144.000000)'></polygon>
<polygon points='64.000000,336.000000 52.000000,330.399994 52.000000,341.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 336.000000)'></polygon>
<polygon points='64.000000,400.000000 52.000000,394.399994 52.000000,405.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 400.000000)'></polygon>
<polygon points='256.000000,192.000000 244.000000,186.399994 244.000000,197.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 192.000000)'></polygon>
<polygon points='256.000000,464.000000 244.000000,458.399994 244.000000,469.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 464.000000)'></polygon>
<polygon points='272.000000,96.000000 260.000000,90.400002 260.000000,101.599998' fill='currentColor' transform='rotate(180.000000, 264.000000, 96.000000)'></polygon>
<polygon points='272.000000,560.000000 260.000000,554.400024 260.000000,565.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 560.000000)'></polygon>
<polygon points='272.000000,640.000000 260.000000,634.400024 260.000000,645.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 640.000000)'></polygon>
<polygon points='328.000000,624.000000 316.000000,618.400024 316.000000,629.599976' fill='currentColor' transform='rotate(0.000000, 320.000000, 624.000000)'></polygon>
<polygon points='504.000000,48.000000 492.000000,42.400002 492.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 496.000000, 48.000000)'></polygon>
<polygon points='504.000000,288.000000 492.000000,282.399994 492.000000,293.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 288.000000)'></polygon>
<polygon points='504.000000,512.000000 492.000000,506.399994 492.000000,517.599976' fill='currentColor' transform='rotate(0.000000, 496.000000, 512.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='64' y='132' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='64' y='324' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='72' y='180' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='72' y='324' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='72' y='436' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='80' y='180' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='80' y='324' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='80' y='436' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='452' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='180' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='324' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='88' y='388' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='88' y='436' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='88' y='452' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='180' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='388' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='96' y='436' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='96' y='452' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='104' y='180' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='388' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='104' y='436' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='104' y='452' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='324' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='388' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='112' y='436' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='112' y='452' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='120' y='244' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='324' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='388' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='120' y='436' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='120' y='452' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='128' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='324' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='388' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='452' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='136' y='132' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='136' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='136' y='324' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='136' y='388' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='144' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='324' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='388' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='144' y='452' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='152' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='152' y='324' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='152' y='388' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='152' y='452' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='160' y='132' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='160' y='244' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='160' y='324' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='160' y='388' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='168' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='168' y='244' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='168' y='324' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='168' y='388' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='168' y='452' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='176' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='176' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='176' y='324' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='176' y='388' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='176' y='452' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='184' y='132' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='184' y='244' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='184' y='324' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='184' y='388' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='184' y='452' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='192' y='324' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='388' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='192' y='452' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='200' y='132' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='200' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='200' y='324' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='200' y='452' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='208' y='324' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='216' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='216' y='324' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='224' y='276' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='224' y='324' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='232' y='244' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='240' y='244' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='256' y='244' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='264' y='244' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='272' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='272' y='500' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='280' y='244' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='280' y='500' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='288' y='500' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='244' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='296' y='500' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='612' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='304' y='244' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='304' y='500' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='612' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='244' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='500' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='612' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='244' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='320' y='500' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='612' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='244' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='328' y='500' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='612' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='336' y='244' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='336' y='500' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='548' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='336' y='612' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='628' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='344' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='344' y='500' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='548' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='344' y='612' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='344' y='628' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='352' y='500' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='548' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='612' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='360' y='500' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='548' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='360' y='612' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='360' y='628' fill='currentColor' style='font-size:1em'>≠</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='368' y='500' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='548' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='612' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='376' y='500' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='612' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='376' y='628' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='384' y='500' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='392' y='500' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='400' y='500' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='408' y='500' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='416' y='500' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='424' y='500' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='432' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='432' y='500' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='84' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='440' y='500' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='464' y='36' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='472' y='36' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
<figcaption><span>Figure 4: Data swap attack with Encrypt operation.</span></figcaption></figure>
<p>The attacks we’ve discussed so far have been on the “envelope” level. Similar issues exist on the DK
level if a DK is used multiple times (though this rarely happens). These issues should be solvable
with correct encryption context implemented via AAD.</p>
<figure>
<div class="tabs">
<input
class="tabs__radio"
type="radio"
name="tabs-6"
id="tabs-6-0" checked />
<label class="tabs__label" for="tabs-6-0">Attack</label>
<div class="tabs__panel">
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 512 777"
>
<g transform='translate(8,16)'>
<path d='M 256,48 L 472,48' fill='none' stroke='currentColor'></path>
<path d='M 264,96 L 272,96' fill='none' stroke='currentColor'></path>
<path d='M 288,96 L 296,96' fill='none' stroke='currentColor'></path>
<path d='M 304,96 L 312,96' fill='none' stroke='currentColor'></path>
<path d='M 320,96 L 328,96' fill='none' stroke='currentColor'></path>
<path d='M 336,96 L 344,96' fill='none' stroke='currentColor'></path>
<path d='M 352,96 L 360,96' fill='none' stroke='currentColor'></path>
<path d='M 368,96 L 376,96' fill='none' stroke='currentColor'></path>
<path d='M 384,96 L 392,96' fill='none' stroke='currentColor'></path>
<path d='M 400,96 L 408,96' fill='none' stroke='currentColor'></path>
<path d='M 416,96 L 424,96' fill='none' stroke='currentColor'></path>
<path d='M 432,96 L 440,96' fill='none' stroke='currentColor'></path>
<path d='M 448,96 L 456,96' fill='none' stroke='currentColor'></path>
<path d='M 464,96 L 472,96' fill='none' stroke='currentColor'></path>
<path d='M 256,128 L 280,128' fill='none' stroke='currentColor'></path>
<path d='M 264,176 L 280,176' fill='none' stroke='currentColor'></path>
<path d='M 56,224 L 256,224' fill='none' stroke='currentColor'></path>
<path d='M 56,272 L 64,272' fill='none' stroke='currentColor'></path>
<path d='M 72,272 L 80,272' fill='none' stroke='currentColor'></path>
<path d='M 88,272 L 96,272' fill='none' stroke='currentColor'></path>
<path d='M 104,272 L 112,272' fill='none' stroke='currentColor'></path>
<path d='M 120,272 L 128,272' fill='none' stroke='currentColor'></path>
<path d='M 136,272 L 144,272' fill='none' stroke='currentColor'></path>
<path d='M 152,272 L 160,272' fill='none' stroke='currentColor'></path>
<path d='M 168,272 L 176,272' fill='none' stroke='currentColor'></path>
<path d='M 184,272 L 192,272' fill='none' stroke='currentColor'></path>
<path d='M 200,272 L 208,272' fill='none' stroke='currentColor'></path>
<path d='M 216,272 L 224,272' fill='none' stroke='currentColor'></path>
<path d='M 232,272 L 248,272' fill='none' stroke='currentColor'></path>
<path d='M 256,320 L 472,320' fill='none' stroke='currentColor'></path>
<path d='M 264,368 L 272,368' fill='none' stroke='currentColor'></path>
<path d='M 288,368 L 296,368' fill='none' stroke='currentColor'></path>
<path d='M 304,368 L 312,368' fill='none' stroke='currentColor'></path>
<path d='M 320,368 L 328,368' fill='none' stroke='currentColor'></path>
<path d='M 336,368 L 344,368' fill='none' stroke='currentColor'></path>
<path d='M 352,368 L 360,368' fill='none' stroke='currentColor'></path>
<path d='M 368,368 L 376,368' fill='none' stroke='currentColor'></path>
<path d='M 384,368 L 392,368' fill='none' stroke='currentColor'></path>
<path d='M 400,368 L 408,368' fill='none' stroke='currentColor'></path>
<path d='M 416,368 L 424,368' fill='none' stroke='currentColor'></path>
<path d='M 432,368 L 440,368' fill='none' stroke='currentColor'></path>
<path d='M 448,368 L 456,368' fill='none' stroke='currentColor'></path>
<path d='M 464,368 L 472,368' fill='none' stroke='currentColor'></path>
<path d='M 256,400 L 280,400' fill='none' stroke='currentColor'></path>
<path d='M 376,416 L 384,416' fill='none' stroke='currentColor'></path>
<path d='M 264,432 L 280,432' fill='none' stroke='currentColor'></path>
<path d='M 0,464 L 48,464' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 104,464' fill='none' stroke='currentColor'></path>
<path d='M 200,464 L 480,464' fill='none' stroke='currentColor'></path>
<path d='M 480,464 L 496,464' fill='none' stroke='currentColor'></path>
<path d='M 56,528 L 64,528' fill='none' stroke='currentColor'></path>
<path d='M 72,528 L 80,528' fill='none' stroke='currentColor'></path>
<path d='M 88,528 L 96,528' fill='none' stroke='currentColor'></path>
<path d='M 104,528 L 112,528' fill='none' stroke='currentColor'></path>
<path d='M 120,528 L 128,528' fill='none' stroke='currentColor'></path>
<path d='M 136,528 L 144,528' fill='none' stroke='currentColor'></path>
<path d='M 152,528 L 160,528' fill='none' stroke='currentColor'></path>
<path d='M 168,528 L 176,528' fill='none' stroke='currentColor'></path>
<path d='M 184,528 L 192,528' fill='none' stroke='currentColor'></path>
<path d='M 200,528 L 208,528' fill='none' stroke='currentColor'></path>
<path d='M 216,528 L 224,528' fill='none' stroke='currentColor'></path>
<path d='M 232,528 L 248,528' fill='none' stroke='currentColor'></path>
<path d='M 256,576 L 472,576' fill='none' stroke='currentColor'></path>
<path d='M 264,624 L 272,624' fill='none' stroke='currentColor'></path>
<path d='M 288,624 L 296,624' fill='none' stroke='currentColor'></path>
<path d='M 304,624 L 312,624' fill='none' stroke='currentColor'></path>
<path d='M 320,624 L 328,624' fill='none' stroke='currentColor'></path>
<path d='M 336,624 L 344,624' fill='none' stroke='currentColor'></path>
<path d='M 352,624 L 360,624' fill='none' stroke='currentColor'></path>
<path d='M 368,624 L 376,624' fill='none' stroke='currentColor'></path>
<path d='M 384,624 L 392,624' fill='none' stroke='currentColor'></path>
<path d='M 400,624 L 408,624' fill='none' stroke='currentColor'></path>
<path d='M 416,624 L 424,624' fill='none' stroke='currentColor'></path>
<path d='M 432,624 L 440,624' fill='none' stroke='currentColor'></path>
<path d='M 448,624 L 456,624' fill='none' stroke='currentColor'></path>
<path d='M 464,624 L 472,624' fill='none' stroke='currentColor'></path>
<path d='M 256,656 L 280,656' fill='none' stroke='currentColor'></path>
<path d='M 312,688 L 320,688' fill='none' stroke='currentColor'></path>
<path d='M 264,704 L 280,704' fill='none' stroke='currentColor'></path>
<path d='M 0,736 L 48,736' fill='none' stroke='currentColor'></path>
<path d='M 48,736 L 256,736' fill='none' stroke='currentColor'></path>
<path d='M 256,736 L 480,736' fill='none' stroke='currentColor'></path>
<path d='M 480,736 L 496,736' fill='none' stroke='currentColor'></path>
<path d='M 0,464 L 0,736' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,464' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 48,736' fill='none' stroke='currentColor'></path>
<path d='M 48,736 L 48,752' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,48' fill='none' stroke='currentColor'></path>
<path d='M 256,48 L 256,128' fill='none' stroke='currentColor'></path>
<path d='M 256,128 L 256,224' fill='none' stroke='currentColor'></path>
<path d='M 256,224 L 256,320' fill='none' stroke='currentColor'></path>
<path d='M 256,320 L 256,400' fill='none' stroke='currentColor'></path>
<path d='M 256,400 L 256,448' fill='none' stroke='currentColor'></path>
<path d='M 256,480 L 256,576' fill='none' stroke='currentColor'></path>
<path d='M 256,576 L 256,656' fill='none' stroke='currentColor'></path>
<path d='M 256,656 L 256,736' fill='none' stroke='currentColor'></path>
<path d='M 256,736 L 256,752' fill='none' stroke='currentColor'></path>
<path d='M 280,128 L 280,176' fill='none' stroke='currentColor'></path>
<path d='M 280,400 L 280,432' fill='none' stroke='currentColor'></path>
<path d='M 280,656 L 280,704' fill='none' stroke='currentColor'></path>
<path d='M 480,16 L 480,464' fill='none' stroke='currentColor'></path>
<path d='M 480,464 L 480,736' fill='none' stroke='currentColor'></path>
<path d='M 480,736 L 480,752' fill='none' stroke='currentColor'></path>
<path d='M 496,464 L 496,736' fill='none' stroke='currentColor'></path>
<path d='M 256,448 L 256,456' fill='none' stroke='currentColor'></path>
<path d='M 256,472 L 256,480' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,224.000000 52.000000,218.399994 52.000000,229.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 224.000000)'></polygon>
<polygon points='256.000000,272.000000 244.000000,266.399994 244.000000,277.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 272.000000)'></polygon>
<polygon points='256.000000,528.000000 244.000000,522.400024 244.000000,533.599976' fill='currentColor' transform='rotate(0.000000, 248.000000, 528.000000)'></polygon>
<polygon points='272.000000,96.000000 260.000000,90.400002 260.000000,101.599998' fill='currentColor' transform='rotate(180.000000, 264.000000, 96.000000)'></polygon>
<polygon points='272.000000,176.000000 260.000000,170.399994 260.000000,181.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 176.000000)'></polygon>
<polygon points='272.000000,368.000000 260.000000,362.399994 260.000000,373.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 368.000000)'></polygon>
<polygon points='272.000000,432.000000 260.000000,426.399994 260.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 432.000000)'></polygon>
<polygon points='272.000000,624.000000 260.000000,618.400024 260.000000,629.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 624.000000)'></polygon>
<polygon points='272.000000,704.000000 260.000000,698.400024 260.000000,709.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 704.000000)'></polygon>
<polygon points='328.000000,688.000000 316.000000,682.400024 316.000000,693.599976' fill='currentColor' transform='rotate(0.000000, 320.000000, 688.000000)'></polygon>
<polygon points='392.000000,416.000000 380.000000,410.399994 380.000000,421.600006' fill='currentColor' transform='rotate(0.000000, 384.000000, 416.000000)'></polygon>
<polygon points='480.000000,48.000000 468.000000,42.400002 468.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 472.000000, 48.000000)'></polygon>
<polygon points='480.000000,320.000000 468.000000,314.399994 468.000000,325.600006' fill='currentColor' transform='rotate(0.000000, 472.000000, 320.000000)'></polygon>
<polygon points='480.000000,576.000000 468.000000,570.400024 468.000000,581.599976' fill='currentColor' transform='rotate(0.000000, 472.000000, 576.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='72' y='260' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='72' y='500' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='80' y='260' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='500' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='88' y='212' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='88' y='260' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='500' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='516' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='96' y='260' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='500' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='516' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='104' y='260' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='104' y='500' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='104' y='516' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='112' y='500' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='112' y='516' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='468' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='120' y='516' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='128' y='468' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='128' y='516' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='136' y='516' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='144' y='212' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='144' y='468' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='152' y='212' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='152' y='468' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='152' y='516' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='160' y='212' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='160' y='468' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='160' y='516' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='168' y='212' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='168' y='468' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='176' y='212' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='176' y='468' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='176' y='516' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='184' y='212' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='184' y='468' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='184' y='516' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='516' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='200' y='516' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='208' y='516' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='308' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='272' y='564' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='280' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='564' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='288' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='288' y='564' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='296' y='164' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='296' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='564' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='676' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='304' y='164' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='304' y='308' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='420' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='564' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='676' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='164' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='312' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='420' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='564' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='676' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='320' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='420' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='564' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='676' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='164' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='328' y='308' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='564' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='676' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='336' y='164' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='564' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='676' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='692' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='148' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='344' y='164' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='344' y='308' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='356' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='420' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='564' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='612' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='676' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='692' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='148' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='308' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='356' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='420' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='352' y='564' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='612' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='676' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='148' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='164' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='356' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='420' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='360' y='564' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='612' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='676' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='360' y='692' fill='currentColor' style='font-size:1em'>≠</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='368' y='148' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='368' y='164' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='308' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='356' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='564' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='612' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='676' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='376' y='148' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='376' y='164' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='376' y='308' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='564' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='692' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='164' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='384' y='308' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='564' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='164' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='392' y='308' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='564' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='400' y='308' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='400' y='420' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='400' y='564' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='464' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='472' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='480' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
</div>
<input
class="tabs__radio"
type="radio"
name="tabs-6"
id="tabs-6-1" />
<label class="tabs__label" for="tabs-6-1">Prevented</label>
<div class="tabs__panel">
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 512 777"
>
<g transform='translate(8,16)'>
<path d='M 256,48 L 472,48' fill='none' stroke='currentColor'></path>
<path d='M 264,96 L 272,96' fill='none' stroke='currentColor'></path>
<path d='M 288,96 L 296,96' fill='none' stroke='currentColor'></path>
<path d='M 304,96 L 312,96' fill='none' stroke='currentColor'></path>
<path d='M 320,96 L 328,96' fill='none' stroke='currentColor'></path>
<path d='M 336,96 L 344,96' fill='none' stroke='currentColor'></path>
<path d='M 352,96 L 360,96' fill='none' stroke='currentColor'></path>
<path d='M 368,96 L 376,96' fill='none' stroke='currentColor'></path>
<path d='M 384,96 L 392,96' fill='none' stroke='currentColor'></path>
<path d='M 400,96 L 408,96' fill='none' stroke='currentColor'></path>
<path d='M 416,96 L 424,96' fill='none' stroke='currentColor'></path>
<path d='M 432,96 L 440,96' fill='none' stroke='currentColor'></path>
<path d='M 448,96 L 456,96' fill='none' stroke='currentColor'></path>
<path d='M 464,96 L 472,96' fill='none' stroke='currentColor'></path>
<path d='M 256,128 L 280,128' fill='none' stroke='currentColor'></path>
<path d='M 264,176 L 280,176' fill='none' stroke='currentColor'></path>
<path d='M 56,224 L 256,224' fill='none' stroke='currentColor'></path>
<path d='M 56,272 L 64,272' fill='none' stroke='currentColor'></path>
<path d='M 72,272 L 80,272' fill='none' stroke='currentColor'></path>
<path d='M 88,272 L 96,272' fill='none' stroke='currentColor'></path>
<path d='M 104,272 L 112,272' fill='none' stroke='currentColor'></path>
<path d='M 120,272 L 128,272' fill='none' stroke='currentColor'></path>
<path d='M 136,272 L 144,272' fill='none' stroke='currentColor'></path>
<path d='M 152,272 L 160,272' fill='none' stroke='currentColor'></path>
<path d='M 168,272 L 176,272' fill='none' stroke='currentColor'></path>
<path d='M 184,272 L 192,272' fill='none' stroke='currentColor'></path>
<path d='M 200,272 L 208,272' fill='none' stroke='currentColor'></path>
<path d='M 216,272 L 224,272' fill='none' stroke='currentColor'></path>
<path d='M 232,272 L 248,272' fill='none' stroke='currentColor'></path>
<path d='M 256,320 L 472,320' fill='none' stroke='currentColor'></path>
<path d='M 264,368 L 272,368' fill='none' stroke='currentColor'></path>
<path d='M 288,368 L 296,368' fill='none' stroke='currentColor'></path>
<path d='M 304,368 L 312,368' fill='none' stroke='currentColor'></path>
<path d='M 320,368 L 328,368' fill='none' stroke='currentColor'></path>
<path d='M 336,368 L 344,368' fill='none' stroke='currentColor'></path>
<path d='M 352,368 L 360,368' fill='none' stroke='currentColor'></path>
<path d='M 368,368 L 376,368' fill='none' stroke='currentColor'></path>
<path d='M 384,368 L 392,368' fill='none' stroke='currentColor'></path>
<path d='M 400,368 L 408,368' fill='none' stroke='currentColor'></path>
<path d='M 416,368 L 424,368' fill='none' stroke='currentColor'></path>
<path d='M 432,368 L 440,368' fill='none' stroke='currentColor'></path>
<path d='M 448,368 L 456,368' fill='none' stroke='currentColor'></path>
<path d='M 464,368 L 472,368' fill='none' stroke='currentColor'></path>
<path d='M 256,400 L 280,400' fill='none' stroke='currentColor'></path>
<path d='M 400,416 L 408,416' fill='none' stroke='currentColor'></path>
<path d='M 264,432 L 280,432' fill='none' stroke='currentColor'></path>
<path d='M 0,464 L 48,464' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 104,464' fill='none' stroke='currentColor'></path>
<path d='M 280,464 L 480,464' fill='none' stroke='currentColor'></path>
<path d='M 480,464 L 496,464' fill='none' stroke='currentColor'></path>
<path d='M 56,528 L 64,528' fill='none' stroke='currentColor'></path>
<path d='M 72,528 L 80,528' fill='none' stroke='currentColor'></path>
<path d='M 88,528 L 96,528' fill='none' stroke='currentColor'></path>
<path d='M 104,528 L 112,528' fill='none' stroke='currentColor'></path>
<path d='M 120,528 L 128,528' fill='none' stroke='currentColor'></path>
<path d='M 136,528 L 144,528' fill='none' stroke='currentColor'></path>
<path d='M 152,528 L 160,528' fill='none' stroke='currentColor'></path>
<path d='M 168,528 L 176,528' fill='none' stroke='currentColor'></path>
<path d='M 184,528 L 192,528' fill='none' stroke='currentColor'></path>
<path d='M 200,528 L 208,528' fill='none' stroke='currentColor'></path>
<path d='M 216,528 L 224,528' fill='none' stroke='currentColor'></path>
<path d='M 232,528 L 248,528' fill='none' stroke='currentColor'></path>
<path d='M 256,576 L 472,576' fill='none' stroke='currentColor'></path>
<path d='M 264,624 L 272,624' fill='none' stroke='currentColor'></path>
<path d='M 288,624 L 296,624' fill='none' stroke='currentColor'></path>
<path d='M 304,624 L 312,624' fill='none' stroke='currentColor'></path>
<path d='M 320,624 L 328,624' fill='none' stroke='currentColor'></path>
<path d='M 336,624 L 344,624' fill='none' stroke='currentColor'></path>
<path d='M 352,624 L 360,624' fill='none' stroke='currentColor'></path>
<path d='M 368,624 L 376,624' fill='none' stroke='currentColor'></path>
<path d='M 384,624 L 392,624' fill='none' stroke='currentColor'></path>
<path d='M 400,624 L 408,624' fill='none' stroke='currentColor'></path>
<path d='M 416,624 L 424,624' fill='none' stroke='currentColor'></path>
<path d='M 432,624 L 440,624' fill='none' stroke='currentColor'></path>
<path d='M 448,624 L 456,624' fill='none' stroke='currentColor'></path>
<path d='M 464,624 L 472,624' fill='none' stroke='currentColor'></path>
<path d='M 256,656 L 280,656' fill='none' stroke='currentColor'></path>
<path d='M 312,688 L 320,688' fill='none' stroke='currentColor'></path>
<path d='M 264,704 L 280,704' fill='none' stroke='currentColor'></path>
<path d='M 0,736 L 48,736' fill='none' stroke='currentColor'></path>
<path d='M 48,736 L 256,736' fill='none' stroke='currentColor'></path>
<path d='M 256,736 L 480,736' fill='none' stroke='currentColor'></path>
<path d='M 480,736 L 496,736' fill='none' stroke='currentColor'></path>
<path d='M 0,464 L 0,736' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,464' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 48,736' fill='none' stroke='currentColor'></path>
<path d='M 48,736 L 48,752' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,48' fill='none' stroke='currentColor'></path>
<path d='M 256,48 L 256,128' fill='none' stroke='currentColor'></path>
<path d='M 256,128 L 256,224' fill='none' stroke='currentColor'></path>
<path d='M 256,224 L 256,320' fill='none' stroke='currentColor'></path>
<path d='M 256,320 L 256,400' fill='none' stroke='currentColor'></path>
<path d='M 256,400 L 256,448' fill='none' stroke='currentColor'></path>
<path d='M 256,480 L 256,576' fill='none' stroke='currentColor'></path>
<path d='M 256,576 L 256,656' fill='none' stroke='currentColor'></path>
<path d='M 256,656 L 256,736' fill='none' stroke='currentColor'></path>
<path d='M 256,736 L 256,752' fill='none' stroke='currentColor'></path>
<path d='M 280,128 L 280,176' fill='none' stroke='currentColor'></path>
<path d='M 280,400 L 280,432' fill='none' stroke='currentColor'></path>
<path d='M 280,656 L 280,704' fill='none' stroke='currentColor'></path>
<path d='M 480,16 L 480,464' fill='none' stroke='currentColor'></path>
<path d='M 480,464 L 480,736' fill='none' stroke='currentColor'></path>
<path d='M 480,736 L 480,752' fill='none' stroke='currentColor'></path>
<path d='M 496,464 L 496,736' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,224.000000 52.000000,218.399994 52.000000,229.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 224.000000)'></polygon>
<polygon points='256.000000,272.000000 244.000000,266.399994 244.000000,277.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 272.000000)'></polygon>
<polygon points='256.000000,528.000000 244.000000,522.400024 244.000000,533.599976' fill='currentColor' transform='rotate(0.000000, 248.000000, 528.000000)'></polygon>
<polygon points='272.000000,96.000000 260.000000,90.400002 260.000000,101.599998' fill='currentColor' transform='rotate(180.000000, 264.000000, 96.000000)'></polygon>
<polygon points='272.000000,176.000000 260.000000,170.399994 260.000000,181.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 176.000000)'></polygon>
<polygon points='272.000000,368.000000 260.000000,362.399994 260.000000,373.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 368.000000)'></polygon>
<polygon points='272.000000,432.000000 260.000000,426.399994 260.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 432.000000)'></polygon>
<polygon points='272.000000,624.000000 260.000000,618.400024 260.000000,629.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 624.000000)'></polygon>
<polygon points='272.000000,704.000000 260.000000,698.400024 260.000000,709.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 704.000000)'></polygon>
<polygon points='328.000000,688.000000 316.000000,682.400024 316.000000,693.599976' fill='currentColor' transform='rotate(0.000000, 320.000000, 688.000000)'></polygon>
<polygon points='416.000000,416.000000 404.000000,410.399994 404.000000,421.600006' fill='currentColor' transform='rotate(0.000000, 408.000000, 416.000000)'></polygon>
<polygon points='480.000000,48.000000 468.000000,42.400002 468.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 472.000000, 48.000000)'></polygon>
<polygon points='480.000000,320.000000 468.000000,314.399994 468.000000,325.600006' fill='currentColor' transform='rotate(0.000000, 472.000000, 320.000000)'></polygon>
<polygon points='480.000000,576.000000 468.000000,570.400024 468.000000,581.599976' fill='currentColor' transform='rotate(0.000000, 472.000000, 576.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='72' y='260' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='72' y='500' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='80' y='260' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='500' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='88' y='212' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='88' y='260' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='500' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='516' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='96' y='260' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='96' y='500' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='96' y='516' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='104' y='260' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='104' y='500' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='104' y='516' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='112' y='260' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='112' y='500' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='112' y='516' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='260' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='120' y='468' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='120' y='500' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='120' y='516' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='128' y='260' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='128' y='468' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='128' y='500' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='128' y='516' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='136' y='500' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='136' y='516' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='144' y='212' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='144' y='468' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='152' y='212' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='152' y='468' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='152' y='516' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='160' y='212' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='160' y='468' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='160' y='516' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='168' y='212' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='168' y='468' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='176' y='212' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='176' y='468' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='176' y='516' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='184' y='212' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='184' y='468' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='184' y='516' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='516' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='200' y='468' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='200' y='516' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='208' y='468' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='208' y='516' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='216' y='468' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='216' y='516' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='468' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='224' y='516' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='232' y='468' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='232' y='516' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='240' y='468' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='248' y='468' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='256' y='468' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='264' y='468' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='308' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='272' y='564' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='280' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='564' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='288' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='288' y='564' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='296' y='164' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='296' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='564' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='676' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='304' y='164' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='304' y='308' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='420' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='564' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='676' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='164' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='312' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='420' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='564' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='676' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='320' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='420' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='564' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='676' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='164' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='328' y='308' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='564' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='676' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='336' y='164' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='564' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='676' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='692' fill='currentColor' style='font-size:1em'>F</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='148' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='344' y='164' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='344' y='308' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='356' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='420' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='564' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='612' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='676' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='692' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='148' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='308' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='356' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='420' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='352' y='564' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='612' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='676' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='352' y='692' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='148' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='164' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='356' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='420' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='360' y='564' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='612' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='676' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='360' y='692' fill='currentColor' style='font-size:1em'>L</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='368' y='148' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='368' y='164' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='308' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='356' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='420' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='368' y='564' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='612' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='676' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='692' fill='currentColor' style='font-size:1em'>U</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='376' y='148' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='376' y='164' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='376' y='308' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='420' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='376' y='564' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='676' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='376' y='692' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='148' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='384' y='164' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='384' y='308' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='420' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='564' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='676' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='384' y='692' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='148' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='392' y='164' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='308' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='564' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='676' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='400' y='148' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='400' y='164' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='400' y='308' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='400' y='564' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='408' y='164' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='416' y='164' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='164' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='424' y='420' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='464' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='472' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='480' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
</div>
</div>
<figcaption><span>Figure 5: Attack on a reused DK and proposed prevention.</span></figcaption>
</figure>
<p>Some funky attacks are possible if an algorithm without key commitment property is used with data
keys: an attacker can generate a single ciphertext that correctly decrypts under different keys.
Though this is unlikely, the key commitment should be considered as part of a security audit.</p>
<figure>
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 536 809"
>
<g transform='translate(8,16)'>
<path d='M 256,48 L 496,48' fill='none' stroke='currentColor'></path>
<path d='M 264,96 L 272,96' fill='none' stroke='currentColor'></path>
<path d='M 288,96 L 296,96' fill='none' stroke='currentColor'></path>
<path d='M 304,96 L 312,96' fill='none' stroke='currentColor'></path>
<path d='M 320,96 L 328,96' fill='none' stroke='currentColor'></path>
<path d='M 336,96 L 344,96' fill='none' stroke='currentColor'></path>
<path d='M 352,96 L 360,96' fill='none' stroke='currentColor'></path>
<path d='M 368,96 L 376,96' fill='none' stroke='currentColor'></path>
<path d='M 384,96 L 392,96' fill='none' stroke='currentColor'></path>
<path d='M 400,96 L 408,96' fill='none' stroke='currentColor'></path>
<path d='M 416,96 L 424,96' fill='none' stroke='currentColor'></path>
<path d='M 432,96 L 440,96' fill='none' stroke='currentColor'></path>
<path d='M 448,96 L 456,96' fill='none' stroke='currentColor'></path>
<path d='M 464,96 L 472,96' fill='none' stroke='currentColor'></path>
<path d='M 480,96 L 488,96' fill='none' stroke='currentColor'></path>
<path d='M 496,96 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 56,144 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 56,192 L 64,192' fill='none' stroke='currentColor'></path>
<path d='M 72,192 L 80,192' fill='none' stroke='currentColor'></path>
<path d='M 88,192 L 96,192' fill='none' stroke='currentColor'></path>
<path d='M 104,192 L 112,192' fill='none' stroke='currentColor'></path>
<path d='M 120,192 L 128,192' fill='none' stroke='currentColor'></path>
<path d='M 136,192 L 144,192' fill='none' stroke='currentColor'></path>
<path d='M 152,192 L 160,192' fill='none' stroke='currentColor'></path>
<path d='M 168,192 L 176,192' fill='none' stroke='currentColor'></path>
<path d='M 184,192 L 192,192' fill='none' stroke='currentColor'></path>
<path d='M 200,192 L 208,192' fill='none' stroke='currentColor'></path>
<path d='M 216,192 L 224,192' fill='none' stroke='currentColor'></path>
<path d='M 232,192 L 248,192' fill='none' stroke='currentColor'></path>
<path d='M 0,240 L 48,240' fill='none' stroke='currentColor'></path>
<path d='M 48,240 L 104,240' fill='none' stroke='currentColor'></path>
<path d='M 360,240 L 504,240' fill='none' stroke='currentColor'></path>
<path d='M 504,240 L 520,240' fill='none' stroke='currentColor'></path>
<path d='M 48,288 L 496,288' fill='none' stroke='currentColor'></path>
<path d='M 56,336 L 64,336' fill='none' stroke='currentColor'></path>
<path d='M 80,336 L 88,336' fill='none' stroke='currentColor'></path>
<path d='M 96,336 L 104,336' fill='none' stroke='currentColor'></path>
<path d='M 112,336 L 120,336' fill='none' stroke='currentColor'></path>
<path d='M 128,336 L 136,336' fill='none' stroke='currentColor'></path>
<path d='M 144,336 L 152,336' fill='none' stroke='currentColor'></path>
<path d='M 160,336 L 168,336' fill='none' stroke='currentColor'></path>
<path d='M 176,336 L 184,336' fill='none' stroke='currentColor'></path>
<path d='M 192,336 L 200,336' fill='none' stroke='currentColor'></path>
<path d='M 208,336 L 216,336' fill='none' stroke='currentColor'></path>
<path d='M 224,336 L 232,336' fill='none' stroke='currentColor'></path>
<path d='M 240,336 L 248,336' fill='none' stroke='currentColor'></path>
<path d='M 256,336 L 264,336' fill='none' stroke='currentColor'></path>
<path d='M 272,336 L 280,336' fill='none' stroke='currentColor'></path>
<path d='M 288,336 L 296,336' fill='none' stroke='currentColor'></path>
<path d='M 304,336 L 312,336' fill='none' stroke='currentColor'></path>
<path d='M 320,336 L 328,336' fill='none' stroke='currentColor'></path>
<path d='M 336,336 L 344,336' fill='none' stroke='currentColor'></path>
<path d='M 352,336 L 360,336' fill='none' stroke='currentColor'></path>
<path d='M 368,336 L 376,336' fill='none' stroke='currentColor'></path>
<path d='M 384,336 L 392,336' fill='none' stroke='currentColor'></path>
<path d='M 400,336 L 408,336' fill='none' stroke='currentColor'></path>
<path d='M 416,336 L 424,336' fill='none' stroke='currentColor'></path>
<path d='M 432,336 L 440,336' fill='none' stroke='currentColor'></path>
<path d='M 448,336 L 456,336' fill='none' stroke='currentColor'></path>
<path d='M 464,336 L 472,336' fill='none' stroke='currentColor'></path>
<path d='M 480,336 L 488,336' fill='none' stroke='currentColor'></path>
<path d='M 496,336 L 504,336' fill='none' stroke='currentColor'></path>
<path d='M 48,384 L 496,384' fill='none' stroke='currentColor'></path>
<path d='M 56,432 L 64,432' fill='none' stroke='currentColor'></path>
<path d='M 80,432 L 88,432' fill='none' stroke='currentColor'></path>
<path d='M 96,432 L 104,432' fill='none' stroke='currentColor'></path>
<path d='M 112,432 L 120,432' fill='none' stroke='currentColor'></path>
<path d='M 128,432 L 136,432' fill='none' stroke='currentColor'></path>
<path d='M 144,432 L 152,432' fill='none' stroke='currentColor'></path>
<path d='M 160,432 L 168,432' fill='none' stroke='currentColor'></path>
<path d='M 176,432 L 184,432' fill='none' stroke='currentColor'></path>
<path d='M 192,432 L 200,432' fill='none' stroke='currentColor'></path>
<path d='M 208,432 L 216,432' fill='none' stroke='currentColor'></path>
<path d='M 224,432 L 232,432' fill='none' stroke='currentColor'></path>
<path d='M 240,432 L 248,432' fill='none' stroke='currentColor'></path>
<path d='M 256,432 L 264,432' fill='none' stroke='currentColor'></path>
<path d='M 272,432 L 280,432' fill='none' stroke='currentColor'></path>
<path d='M 288,432 L 296,432' fill='none' stroke='currentColor'></path>
<path d='M 304,432 L 312,432' fill='none' stroke='currentColor'></path>
<path d='M 320,432 L 328,432' fill='none' stroke='currentColor'></path>
<path d='M 336,432 L 344,432' fill='none' stroke='currentColor'></path>
<path d='M 352,432 L 360,432' fill='none' stroke='currentColor'></path>
<path d='M 368,432 L 376,432' fill='none' stroke='currentColor'></path>
<path d='M 384,432 L 392,432' fill='none' stroke='currentColor'></path>
<path d='M 400,432 L 408,432' fill='none' stroke='currentColor'></path>
<path d='M 416,432 L 424,432' fill='none' stroke='currentColor'></path>
<path d='M 432,432 L 440,432' fill='none' stroke='currentColor'></path>
<path d='M 448,432 L 456,432' fill='none' stroke='currentColor'></path>
<path d='M 464,432 L 472,432' fill='none' stroke='currentColor'></path>
<path d='M 480,432 L 488,432' fill='none' stroke='currentColor'></path>
<path d='M 496,432 L 504,432' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 72,464' fill='none' stroke='currentColor'></path>
<path d='M 56,496 L 72,496' fill='none' stroke='currentColor'></path>
<path d='M 56,560 L 64,560' fill='none' stroke='currentColor'></path>
<path d='M 72,560 L 80,560' fill='none' stroke='currentColor'></path>
<path d='M 88,560 L 96,560' fill='none' stroke='currentColor'></path>
<path d='M 104,560 L 112,560' fill='none' stroke='currentColor'></path>
<path d='M 120,560 L 128,560' fill='none' stroke='currentColor'></path>
<path d='M 136,560 L 144,560' fill='none' stroke='currentColor'></path>
<path d='M 152,560 L 160,560' fill='none' stroke='currentColor'></path>
<path d='M 168,560 L 176,560' fill='none' stroke='currentColor'></path>
<path d='M 184,560 L 192,560' fill='none' stroke='currentColor'></path>
<path d='M 200,560 L 208,560' fill='none' stroke='currentColor'></path>
<path d='M 216,560 L 224,560' fill='none' stroke='currentColor'></path>
<path d='M 232,560 L 248,560' fill='none' stroke='currentColor'></path>
<path d='M 256,608 L 496,608' fill='none' stroke='currentColor'></path>
<path d='M 264,656 L 272,656' fill='none' stroke='currentColor'></path>
<path d='M 288,656 L 296,656' fill='none' stroke='currentColor'></path>
<path d='M 304,656 L 312,656' fill='none' stroke='currentColor'></path>
<path d='M 320,656 L 328,656' fill='none' stroke='currentColor'></path>
<path d='M 336,656 L 344,656' fill='none' stroke='currentColor'></path>
<path d='M 352,656 L 360,656' fill='none' stroke='currentColor'></path>
<path d='M 368,656 L 376,656' fill='none' stroke='currentColor'></path>
<path d='M 384,656 L 392,656' fill='none' stroke='currentColor'></path>
<path d='M 400,656 L 408,656' fill='none' stroke='currentColor'></path>
<path d='M 416,656 L 424,656' fill='none' stroke='currentColor'></path>
<path d='M 432,656 L 440,656' fill='none' stroke='currentColor'></path>
<path d='M 448,656 L 456,656' fill='none' stroke='currentColor'></path>
<path d='M 464,656 L 472,656' fill='none' stroke='currentColor'></path>
<path d='M 480,656 L 488,656' fill='none' stroke='currentColor'></path>
<path d='M 496,656 L 504,656' fill='none' stroke='currentColor'></path>
<path d='M 256,688 L 280,688' fill='none' stroke='currentColor'></path>
<path d='M 312,720 L 320,720' fill='none' stroke='currentColor'></path>
<path d='M 264,736 L 280,736' fill='none' stroke='currentColor'></path>
<path d='M 0,768 L 48,768' fill='none' stroke='currentColor'></path>
<path d='M 48,768 L 256,768' fill='none' stroke='currentColor'></path>
<path d='M 256,768 L 504,768' fill='none' stroke='currentColor'></path>
<path d='M 504,768 L 520,768' fill='none' stroke='currentColor'></path>
<path d='M 0,240 L 0,768' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,240' fill='none' stroke='currentColor'></path>
<path d='M 48,240 L 48,288' fill='none' stroke='currentColor'></path>
<path d='M 48,288 L 48,384' fill='none' stroke='currentColor'></path>
<path d='M 48,384 L 48,464' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 48,768' fill='none' stroke='currentColor'></path>
<path d='M 48,768 L 48,784' fill='none' stroke='currentColor'></path>
<path d='M 72,464 L 72,496' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,48' fill='none' stroke='currentColor'></path>
<path d='M 256,48 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 256,144 L 256,224' fill='none' stroke='currentColor'></path>
<path d='M 256,256 L 256,272' fill='none' stroke='currentColor'></path>
<path d='M 256,304 L 256,320' fill='none' stroke='currentColor'></path>
<path d='M 256,352 L 256,368' fill='none' stroke='currentColor'></path>
<path d='M 256,400 L 256,416' fill='none' stroke='currentColor'></path>
<path d='M 256,448 L 256,464' fill='none' stroke='currentColor'></path>
<path d='M 256,496 L 256,608' fill='none' stroke='currentColor'></path>
<path d='M 256,608 L 256,688' fill='none' stroke='currentColor'></path>
<path d='M 256,688 L 256,768' fill='none' stroke='currentColor'></path>
<path d='M 256,768 L 256,784' fill='none' stroke='currentColor'></path>
<path d='M 280,688 L 280,736' fill='none' stroke='currentColor'></path>
<path d='M 504,16 L 504,240' fill='none' stroke='currentColor'></path>
<path d='M 504,240 L 504,768' fill='none' stroke='currentColor'></path>
<path d='M 504,768 L 504,784' fill='none' stroke='currentColor'></path>
<path d='M 520,240 L 520,768' fill='none' stroke='currentColor'></path>
<path d='M 256,272 L 256,280' fill='none' stroke='currentColor'></path>
<path d='M 256,296 L 256,304' fill='none' stroke='currentColor'></path>
<path d='M 256,320 L 256,328' fill='none' stroke='currentColor'></path>
<path d='M 256,344 L 256,352' fill='none' stroke='currentColor'></path>
<path d='M 256,368 L 256,376' fill='none' stroke='currentColor'></path>
<path d='M 256,392 L 256,400' fill='none' stroke='currentColor'></path>
<path d='M 256,416 L 256,424' fill='none' stroke='currentColor'></path>
<path d='M 256,440 L 256,448' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,144.000000 52.000000,138.399994 52.000000,149.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 144.000000)'></polygon>
<polygon points='64.000000,336.000000 52.000000,330.399994 52.000000,341.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 336.000000)'></polygon>
<polygon points='64.000000,432.000000 52.000000,426.399994 52.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 432.000000)'></polygon>
<polygon points='64.000000,496.000000 52.000000,490.399994 52.000000,501.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 496.000000)'></polygon>
<polygon points='256.000000,192.000000 244.000000,186.399994 244.000000,197.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 192.000000)'></polygon>
<polygon points='256.000000,560.000000 244.000000,554.400024 244.000000,565.599976' fill='currentColor' transform='rotate(0.000000, 248.000000, 560.000000)'></polygon>
<polygon points='272.000000,96.000000 260.000000,90.400002 260.000000,101.599998' fill='currentColor' transform='rotate(180.000000, 264.000000, 96.000000)'></polygon>
<polygon points='272.000000,656.000000 260.000000,650.400024 260.000000,661.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 656.000000)'></polygon>
<polygon points='272.000000,736.000000 260.000000,730.400024 260.000000,741.599976' fill='currentColor' transform='rotate(180.000000, 264.000000, 736.000000)'></polygon>
<polygon points='328.000000,720.000000 316.000000,714.400024 316.000000,725.599976' fill='currentColor' transform='rotate(0.000000, 320.000000, 720.000000)'></polygon>
<polygon points='504.000000,48.000000 492.000000,42.400002 492.000000,53.599998' fill='currentColor' transform='rotate(0.000000, 496.000000, 48.000000)'></polygon>
<polygon points='504.000000,288.000000 492.000000,282.399994 492.000000,293.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 288.000000)'></polygon>
<polygon points='504.000000,384.000000 492.000000,378.399994 492.000000,389.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 384.000000)'></polygon>
<polygon points='504.000000,608.000000 492.000000,602.400024 492.000000,613.599976' fill='currentColor' transform='rotate(0.000000, 496.000000, 608.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='64' y='132' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='64' y='324' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='64' y='372' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='64' y='420' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='72' y='180' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='72' y='324' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='72' y='372' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='72' y='420' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='72' y='532' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='80' y='180' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='80' y='324' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='80' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='80' y='420' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='80' y='532' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='548' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='180' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='324' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='88' y='372' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='420' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='88' y='484' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='88' y='532' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='88' y='548' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='180' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='372' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='96' y='420' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='484' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='96' y='532' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='96' y='548' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='104' y='180' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='372' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='104' y='420' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='484' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='104' y='532' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='104' y='548' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='324' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='372' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='420' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='484' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='112' y='532' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='112' y='548' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='120' y='244' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='324' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='372' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='420' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='484' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='532' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='120' y='548' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='128' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='324' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='420' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='484' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='128' y='532' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='128' y='548' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='136' y='132' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='136' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='136' y='324' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='136' y='372' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='136' y='420' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='136' y='484' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='136' y='532' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='144' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='324' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='372' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='484' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='144' y='532' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='144' y='548' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='152' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='152' y='324' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='152' y='372' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='152' y='420' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='152' y='484' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='152' y='532' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='152' y='548' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='160' y='132' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='160' y='244' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='160' y='324' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='160' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='160' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='160' y='484' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='160' y='532' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='168' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='168' y='244' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='168' y='324' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='168' y='372' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='168' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='168' y='484' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='168' y='532' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='168' y='548' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='176' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='176' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='176' y='324' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='176' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='176' y='420' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='176' y='484' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='176' y='532' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='176' y='548' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='184' y='132' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='184' y='244' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='184' y='324' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='184' y='372' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='184' y='420' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='184' y='484' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='184' y='548' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='192' y='324' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='372' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='192' y='420' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='484' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='192' y='548' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='200' y='132' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='200' y='244' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='200' y='324' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='200' y='372' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='200' y='420' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='200' y='484' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='200' y='548' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='208' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='244' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='208' y='324' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='208' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='208' y='420' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='208' y='484' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='208' y='548' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='216' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='216' y='324' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='372' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='216' y='420' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='216' y='484' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='216' y='548' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='244' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='224' y='276' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='224' y='324' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='224' y='372' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='224' y='420' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='224' y='484' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='224' y='548' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='232' y='372' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='232' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='232' y='548' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='240' y='244' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='240' y='372' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='240' y='484' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='248' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='248' y='484' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='256' y='244' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='256' y='484' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='264' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='84' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='272' y='244' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='272' y='484' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='272' y='596' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='280' y='244' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='280' y='484' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='280' y='596' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='288' y='244' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='288' y='484' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='288' y='596' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='244' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='296' y='484' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='296' y='596' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='708' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='304' y='244' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='304' y='484' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='304' y='596' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='708' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='312' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='312' y='484' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='312' y='596' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='708' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='244' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='320' y='484' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='320' y='596' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='644' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='320' y='708' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='484' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='328' y='596' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='644' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='708' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='336' y='244' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='336' y='484' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='336' y='596' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='644' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='708' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='336' y='724' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='344' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='344' y='596' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='644' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='344' y='708' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='344' y='724' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='352' y='596' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='644' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='352' y='708' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='352' y='724' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='360' y='596' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='644' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='360' y='708' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='360' y='724' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='368' y='596' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='644' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='368' y='708' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='368' y='724' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='376' y='596' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='644' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='376' y='708' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='384' y='596' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='644' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='384' y='708' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='392' y='596' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='392' y='708' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='400' y='596' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='400' y='708' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='408' y='596' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='408' y='708' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='416' y='596' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='84' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='424' y='596' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='432' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='432' y='596' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='84' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='440' y='596' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='448' y='596' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='456' y='596' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='464' y='36' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='464' y='596' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='472' y='36' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
<figcaption><span>Figure 6: Lack of key commitment may allow an attacker to select plaintext by providing a different encryption key (E2/E3) dynamically, if ciphertext (C2) must be pre-selected.</span></figcaption></figure>
<p>The next class of attacks is when the host can select CMK that enclave uses. The exact nature of the
attack depends on specific degrees of freedom, but in the worst case, the host can force the use of
a completely unprotected CMK.</p>
<p>To protect against these attacks, the enclave must ensure the expected CMK is used; this can be done
by hardcoding full ARN, so it is attested. Then the attested ARN must be provided as the optional
<a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html#API_Decrypt_RequestSyntax"><code>keyId</code></a>
parameter in <code>Decrypt</code> requests, and validated against <code>keyId</code> from KMS responses. Note that the
<code>keyId</code> param is optional, because <code>CiphertextBlob</code> includes a reference to the CMK as metadata
(<code>HBKID</code> in Appendix A): the metadata is not cryptographically protected, and the attacker may be
able to manipulate it.</p>
<figure>
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 512 569"
>
<g transform='translate(8,16)'>
<path d='M 0,32 L 48,32' fill='none' stroke='currentColor'></path>
<path d='M 48,32 L 104,32' fill='none' stroke='currentColor'></path>
<path d='M 312,32 L 480,32' fill='none' stroke='currentColor'></path>
<path d='M 480,32 L 496,32' fill='none' stroke='currentColor'></path>
<path d='M 56,80 L 64,80' fill='none' stroke='currentColor'></path>
<path d='M 80,80 L 88,80' fill='none' stroke='currentColor'></path>
<path d='M 96,80 L 104,80' fill='none' stroke='currentColor'></path>
<path d='M 112,80 L 120,80' fill='none' stroke='currentColor'></path>
<path d='M 128,80 L 136,80' fill='none' stroke='currentColor'></path>
<path d='M 144,80 L 152,80' fill='none' stroke='currentColor'></path>
<path d='M 160,80 L 168,80' fill='none' stroke='currentColor'></path>
<path d='M 176,80 L 184,80' fill='none' stroke='currentColor'></path>
<path d='M 192,80 L 200,80' fill='none' stroke='currentColor'></path>
<path d='M 208,80 L 216,80' fill='none' stroke='currentColor'></path>
<path d='M 224,80 L 232,80' fill='none' stroke='currentColor'></path>
<path d='M 240,80 L 248,80' fill='none' stroke='currentColor'></path>
<path d='M 56,128 L 64,128' fill='none' stroke='currentColor'></path>
<path d='M 72,128 L 80,128' fill='none' stroke='currentColor'></path>
<path d='M 88,128 L 96,128' fill='none' stroke='currentColor'></path>
<path d='M 104,128 L 112,128' fill='none' stroke='currentColor'></path>
<path d='M 120,128 L 128,128' fill='none' stroke='currentColor'></path>
<path d='M 136,128 L 144,128' fill='none' stroke='currentColor'></path>
<path d='M 152,128 L 160,128' fill='none' stroke='currentColor'></path>
<path d='M 168,128 L 176,128' fill='none' stroke='currentColor'></path>
<path d='M 184,128 L 192,128' fill='none' stroke='currentColor'></path>
<path d='M 200,128 L 208,128' fill='none' stroke='currentColor'></path>
<path d='M 216,128 L 224,128' fill='none' stroke='currentColor'></path>
<path d='M 232,128 L 248,128' fill='none' stroke='currentColor'></path>
<path d='M 256,176 L 472,176' fill='none' stroke='currentColor'></path>
<path d='M 264,224 L 272,224' fill='none' stroke='currentColor'></path>
<path d='M 288,224 L 296,224' fill='none' stroke='currentColor'></path>
<path d='M 304,224 L 312,224' fill='none' stroke='currentColor'></path>
<path d='M 320,224 L 328,224' fill='none' stroke='currentColor'></path>
<path d='M 336,224 L 344,224' fill='none' stroke='currentColor'></path>
<path d='M 352,224 L 360,224' fill='none' stroke='currentColor'></path>
<path d='M 368,224 L 376,224' fill='none' stroke='currentColor'></path>
<path d='M 384,224 L 392,224' fill='none' stroke='currentColor'></path>
<path d='M 400,224 L 408,224' fill='none' stroke='currentColor'></path>
<path d='M 416,224 L 424,224' fill='none' stroke='currentColor'></path>
<path d='M 432,224 L 440,224' fill='none' stroke='currentColor'></path>
<path d='M 448,224 L 456,224' fill='none' stroke='currentColor'></path>
<path d='M 464,224 L 472,224' fill='none' stroke='currentColor'></path>
<path d='M 256,256 L 280,256' fill='none' stroke='currentColor'></path>
<path d='M 264,288 L 280,288' fill='none' stroke='currentColor'></path>
<path d='M 56,336 L 256,336' fill='none' stroke='currentColor'></path>
<path d='M 48,384 L 256,384' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 472,384' fill='none' stroke='currentColor'></path>
<path d='M 56,432 L 64,432' fill='none' stroke='currentColor'></path>
<path d='M 80,432 L 88,432' fill='none' stroke='currentColor'></path>
<path d='M 96,432 L 104,432' fill='none' stroke='currentColor'></path>
<path d='M 112,432 L 120,432' fill='none' stroke='currentColor'></path>
<path d='M 128,432 L 136,432' fill='none' stroke='currentColor'></path>
<path d='M 144,432 L 152,432' fill='none' stroke='currentColor'></path>
<path d='M 160,432 L 168,432' fill='none' stroke='currentColor'></path>
<path d='M 176,432 L 184,432' fill='none' stroke='currentColor'></path>
<path d='M 192,432 L 200,432' fill='none' stroke='currentColor'></path>
<path d='M 208,432 L 216,432' fill='none' stroke='currentColor'></path>
<path d='M 224,432 L 232,432' fill='none' stroke='currentColor'></path>
<path d='M 240,432 L 248,432' fill='none' stroke='currentColor'></path>
<path d='M 272,432 L 280,432' fill='none' stroke='currentColor'></path>
<path d='M 288,432 L 296,432' fill='none' stroke='currentColor'></path>
<path d='M 304,432 L 312,432' fill='none' stroke='currentColor'></path>
<path d='M 320,432 L 328,432' fill='none' stroke='currentColor'></path>
<path d='M 336,432 L 344,432' fill='none' stroke='currentColor'></path>
<path d='M 352,432 L 360,432' fill='none' stroke='currentColor'></path>
<path d='M 368,432 L 376,432' fill='none' stroke='currentColor'></path>
<path d='M 384,432 L 392,432' fill='none' stroke='currentColor'></path>
<path d='M 400,432 L 408,432' fill='none' stroke='currentColor'></path>
<path d='M 416,432 L 424,432' fill='none' stroke='currentColor'></path>
<path d='M 432,432 L 440,432' fill='none' stroke='currentColor'></path>
<path d='M 448,432 L 456,432' fill='none' stroke='currentColor'></path>
<path d='M 464,432 L 472,432' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 72,464' fill='none' stroke='currentColor'></path>
<path d='M 168,480 L 176,480' fill='none' stroke='currentColor'></path>
<path d='M 56,496 L 72,496' fill='none' stroke='currentColor'></path>
<path d='M 0,528 L 48,528' fill='none' stroke='currentColor'></path>
<path d='M 48,528 L 256,528' fill='none' stroke='currentColor'></path>
<path d='M 256,528 L 480,528' fill='none' stroke='currentColor'></path>
<path d='M 480,528 L 496,528' fill='none' stroke='currentColor'></path>
<path d='M 0,32 L 0,528' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,32' fill='none' stroke='currentColor'></path>
<path d='M 48,32 L 48,384' fill='none' stroke='currentColor'></path>
<path d='M 48,384 L 48,464' fill='none' stroke='currentColor'></path>
<path d='M 48,464 L 48,528' fill='none' stroke='currentColor'></path>
<path d='M 48,528 L 48,544' fill='none' stroke='currentColor'></path>
<path d='M 72,464 L 72,496' fill='none' stroke='currentColor'></path>
<path d='M 256,8 L 256,24' fill='none' stroke='currentColor'></path>
<path d='M 256,48 L 256,80' fill='none' stroke='currentColor'></path>
<path d='M 256,80 L 256,176' fill='none' stroke='currentColor'></path>
<path d='M 256,176 L 256,256' fill='none' stroke='currentColor'></path>
<path d='M 256,256 L 256,336' fill='none' stroke='currentColor'></path>
<path d='M 256,336 L 256,384' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 256,432' fill='none' stroke='currentColor'></path>
<path d='M 256,432 L 256,528' fill='none' stroke='currentColor'></path>
<path d='M 256,528 L 256,544' fill='none' stroke='currentColor'></path>
<path d='M 280,256 L 280,288' fill='none' stroke='currentColor'></path>
<path d='M 480,16 L 480,32' fill='none' stroke='currentColor'></path>
<path d='M 480,32 L 480,528' fill='none' stroke='currentColor'></path>
<path d='M 480,528 L 480,544' fill='none' stroke='currentColor'></path>
<path d='M 496,32 L 496,528' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,80.000000 52.000000,74.400002 52.000000,85.599998' fill='currentColor' transform='rotate(180.000000, 56.000000, 80.000000)'></polygon>
<polygon points='64.000000,336.000000 52.000000,330.399994 52.000000,341.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 336.000000)'></polygon>
<polygon points='64.000000,432.000000 52.000000,426.399994 52.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 432.000000)'></polygon>
<polygon points='64.000000,496.000000 52.000000,490.399994 52.000000,501.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 496.000000)'></polygon>
<polygon points='184.000000,480.000000 172.000000,474.399994 172.000000,485.600006' fill='currentColor' transform='rotate(0.000000, 176.000000, 480.000000)'></polygon>
<polygon points='256.000000,128.000000 244.000000,122.400002 244.000000,133.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 128.000000)'></polygon>
<polygon points='272.000000,224.000000 260.000000,218.399994 260.000000,229.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 224.000000)'></polygon>
<polygon points='272.000000,288.000000 260.000000,282.399994 260.000000,293.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 288.000000)'></polygon>
<polygon points='480.000000,176.000000 468.000000,170.399994 468.000000,181.600006' fill='currentColor' transform='rotate(0.000000, 472.000000, 176.000000)'></polygon>
<polygon points='480.000000,384.000000 468.000000,378.399994 468.000000,389.600006' fill='currentColor' transform='rotate(0.000000, 472.000000, 384.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='64' y='372' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='72' y='68' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='72' y='116' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='72' y='372' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='80' y='68' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='80' y='116' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='80' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='88' y='68' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='88' y='116' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='88' y='324' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='88' y='372' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='88' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='96' y='68' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='96' y='116' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='96' y='372' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='96' y='484' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='68' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='104' y='116' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='104' y='372' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='104' y='484' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='68' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='112' y='116' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='112' y='324' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='112' y='372' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='484' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='36' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='120' y='68' fill='currentColor' style='font-size:1em'>?</text>
<text text-anchor='middle' x='120' y='116' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='120' y='324' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='372' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='484' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='128' y='36' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='128' y='324' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='128' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='484' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='136' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='136' y='324' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='136' y='372' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='136' y='420' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='136' y='484' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='144' y='324' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='144' y='372' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='144' y='484' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='152' y='36' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='152' y='324' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='152' y='372' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='152' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='152' y='484' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='160' y='36' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='160' y='324' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='160' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='160' y='420' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='168' y='36' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='168' y='372' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='176' y='36' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='176' y='372' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='184' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='184' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='192' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='192' y='372' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='484' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='200' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='200' y='372' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='36' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='216' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='232' y='36' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='240' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='256' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='264' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='272' y='164' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='280' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='212' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='288' y='164' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='296' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='212' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='296' y='276' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='304' y='164' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='276' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='312' y='164' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='212' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='312' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='164' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='212' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='328' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='212' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='328' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='164' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='212' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='344' y='164' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='212' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='164' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='212' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='164' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='212' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='360' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='164' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='212' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='368' y='276' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='376' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='212' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='376' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='164' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='212' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='392' y='164' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='212' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='400' y='164' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='400' y='212' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='408' y='164' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='408' y='212' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='416' y='164' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='416' y='212' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='424' y='164' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='424' y='212' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='432' y='164' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='440' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='448' y='164' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='456' y='164' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='464' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='472' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='480' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
<figcaption><span>Figure 7: CMK substitution attack.</span></figcaption></figure>
<p>Using key aliases instead of ARNs is possible but risky, as the aliases are more ambiguous.
Specifically, an attacker can manipulate the enclave’s IAM credentials to trick the enclave into
using the wrong CMK. That’s why we recommend attesting the IAM role that the enclave must use and
validating that role against IAM credentials provided at runtime. Enclave can do this by calling
<code>sts:GetCallerIdentity</code>.</p>
<p>Replay attacks are an interesting attack vector. Attestations include timestamps that KMS validates
to be at most five minutes old. While this means old documents cannot be replayed, there is still a
time window when a malicious host can observe a document and use it multiple times. As attestations
are not cryptographically bound to the requests, the attacker can use the attestation with any
supported operation with arbitrary params. Although the responses are encrypted with the
attestation’s public key and cannot be decrypted by the attacker, this gives the attacker some
abilities that must be considered during an audit. For example, an attacker can request multiple
decryption with different CMK keys and later use the KMS responses to confuse the state machine of
the enclave. Note that the <code>user_data</code> and <code>nonce</code> fields from attestation documents are not used by
KMS at all.</p>
<p>Even when an attacker cannot observe exact traffic exchanged with KMS, the attacker can note times,
orders, and sizes of communication. This may be used to deduce some information, depending on the
specific protocol your enclaves implement.</p>
<p>Finally, requests and responses to KMS include many key specifications and algorithm identifiers
(CMK <code>KeySpec</code>, attestation’s <code>KeyEncryptionAlgorithm</code>, <code>Decryption</code> operation’s
<code>EncryptionAlgorithm</code>, for example). Ideally these must not be attacker-controlled in requests (e.g.
are bundled in EIF) and the identifiers from responses are checked against the expected ones by the
enclave.</p>
<h2 id="active-attack-prevention">Active attack prevention</h2>
<p>As a reminder, active attackers can additionally modify all traffic coming in and out of the
enclave. This tl;dr checklist helps avoid active attacks:</p>
<ul>
<li><input disabled="" type="checkbox"> Active attacks are prevented with enclave-initiated TLS.</li>
<li><input disabled="" type="checkbox"> TLS CA is bundled inside the enclave (attested).</li>
<li><input disabled="" type="checkbox"> VPC is used.</li>
</ul>
<p>Many problems may arise when active attacks are in scope. Most importantly, the attestation and its
pubkey are not bound to other parts of the request. This allows the attacker to change the CMK ID in
requests and responses (even if the ID is bundled in EIF); to encrypt any data key under the
attestation pubkey and use it for replays; or to attack not-authenticated AES-CBC encryption in
<code>CiphertextForRecipient</code> responses.</p>
<figure>
<div class="tabs">
<input
class="tabs__radio"
type="radio"
name="tabs-7"
id="tabs-7-0" checked />
<label class="tabs__label" for="tabs-7-0">CMK substitution</label>
<div class="tabs__panel">
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 536 489"
>
<g transform='translate(8,16)'>
<path d='M 48,64 L 248,64' fill='none' stroke='currentColor'></path>
<path d='M 0,96 L 48,96' fill='none' stroke='currentColor'></path>
<path d='M 48,96 L 80,96' fill='none' stroke='currentColor'></path>
<path d='M 232,96 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 504,96 L 520,96' fill='none' stroke='currentColor'></path>
<path d='M 256,144 L 496,144' fill='none' stroke='currentColor'></path>
<path d='M 264,208 L 272,208' fill='none' stroke='currentColor'></path>
<path d='M 288,208 L 296,208' fill='none' stroke='currentColor'></path>
<path d='M 304,208 L 312,208' fill='none' stroke='currentColor'></path>
<path d='M 320,208 L 328,208' fill='none' stroke='currentColor'></path>
<path d='M 336,208 L 344,208' fill='none' stroke='currentColor'></path>
<path d='M 352,208 L 360,208' fill='none' stroke='currentColor'></path>
<path d='M 368,208 L 376,208' fill='none' stroke='currentColor'></path>
<path d='M 384,208 L 392,208' fill='none' stroke='currentColor'></path>
<path d='M 400,208 L 408,208' fill='none' stroke='currentColor'></path>
<path d='M 416,208 L 424,208' fill='none' stroke='currentColor'></path>
<path d='M 432,208 L 440,208' fill='none' stroke='currentColor'></path>
<path d='M 448,208 L 456,208' fill='none' stroke='currentColor'></path>
<path d='M 464,208 L 472,208' fill='none' stroke='currentColor'></path>
<path d='M 480,208 L 488,208' fill='none' stroke='currentColor'></path>
<path d='M 496,208 L 504,208' fill='none' stroke='currentColor'></path>
<path d='M 56,256 L 64,256' fill='none' stroke='currentColor'></path>
<path d='M 80,256 L 88,256' fill='none' stroke='currentColor'></path>
<path d='M 96,256 L 104,256' fill='none' stroke='currentColor'></path>
<path d='M 112,256 L 120,256' fill='none' stroke='currentColor'></path>
<path d='M 128,256 L 136,256' fill='none' stroke='currentColor'></path>
<path d='M 144,256 L 152,256' fill='none' stroke='currentColor'></path>
<path d='M 160,256 L 168,256' fill='none' stroke='currentColor'></path>
<path d='M 176,256 L 184,256' fill='none' stroke='currentColor'></path>
<path d='M 192,256 L 200,256' fill='none' stroke='currentColor'></path>
<path d='M 208,256 L 216,256' fill='none' stroke='currentColor'></path>
<path d='M 224,256 L 232,256' fill='none' stroke='currentColor'></path>
<path d='M 240,256 L 248,256' fill='none' stroke='currentColor'></path>
<path d='M 48,288 L 72,288' fill='none' stroke='currentColor'></path>
<path d='M 104,320 L 112,320' fill='none' stroke='currentColor'></path>
<path d='M 56,336 L 72,336' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 496,384' fill='none' stroke='currentColor'></path>
<path d='M 264,432 L 272,432' fill='none' stroke='currentColor'></path>
<path d='M 288,432 L 296,432' fill='none' stroke='currentColor'></path>
<path d='M 304,432 L 312,432' fill='none' stroke='currentColor'></path>
<path d='M 320,432 L 328,432' fill='none' stroke='currentColor'></path>
<path d='M 336,432 L 344,432' fill='none' stroke='currentColor'></path>
<path d='M 352,432 L 360,432' fill='none' stroke='currentColor'></path>
<path d='M 368,432 L 376,432' fill='none' stroke='currentColor'></path>
<path d='M 384,432 L 392,432' fill='none' stroke='currentColor'></path>
<path d='M 400,432 L 408,432' fill='none' stroke='currentColor'></path>
<path d='M 416,432 L 424,432' fill='none' stroke='currentColor'></path>
<path d='M 432,432 L 440,432' fill='none' stroke='currentColor'></path>
<path d='M 448,432 L 456,432' fill='none' stroke='currentColor'></path>
<path d='M 464,432 L 472,432' fill='none' stroke='currentColor'></path>
<path d='M 480,432 L 488,432' fill='none' stroke='currentColor'></path>
<path d='M 496,432 L 504,432' fill='none' stroke='currentColor'></path>
<path d='M 0,448 L 48,448' fill='none' stroke='currentColor'></path>
<path d='M 48,448 L 256,448' fill='none' stroke='currentColor'></path>
<path d='M 256,448 L 504,448' fill='none' stroke='currentColor'></path>
<path d='M 504,448 L 520,448' fill='none' stroke='currentColor'></path>
<path d='M 0,96 L 0,448' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,64' fill='none' stroke='currentColor'></path>
<path d='M 48,64 L 48,96' fill='none' stroke='currentColor'></path>
<path d='M 48,96 L 48,288' fill='none' stroke='currentColor'></path>
<path d='M 48,288 L 48,448' fill='none' stroke='currentColor'></path>
<path d='M 48,448 L 48,464' fill='none' stroke='currentColor'></path>
<path d='M 72,288 L 72,336' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,80' fill='none' stroke='currentColor'></path>
<path d='M 256,112 L 256,144' fill='none' stroke='currentColor'></path>
<path d='M 256,144 L 256,384' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 256,448' fill='none' stroke='currentColor'></path>
<path d='M 256,448 L 256,464' fill='none' stroke='currentColor'></path>
<path d='M 504,16 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 504,96 L 504,448' fill='none' stroke='currentColor'></path>
<path d='M 504,448 L 504,464' fill='none' stroke='currentColor'></path>
<path d='M 520,96 L 520,448' fill='none' stroke='currentColor'></path>
<path d='M 256,80 L 256,88' fill='none' stroke='currentColor'></path>
<path d='M 256,104 L 256,112' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,256.000000 52.000000,250.399994 52.000000,261.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 256.000000)'></polygon>
<polygon points='64.000000,336.000000 52.000000,330.399994 52.000000,341.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 336.000000)'></polygon>
<polygon points='120.000000,320.000000 108.000000,314.399994 108.000000,325.600006' fill='currentColor' transform='rotate(0.000000, 112.000000, 320.000000)'></polygon>
<polygon points='256.000000,64.000000 244.000000,58.400002 244.000000,69.599998' fill='currentColor' transform='rotate(0.000000, 248.000000, 64.000000)'></polygon>
<polygon points='272.000000,208.000000 260.000000,202.399994 260.000000,213.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 208.000000)'></polygon>
<polygon points='272.000000,432.000000 260.000000,426.399994 260.000000,437.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 432.000000)'></polygon>
<polygon points='504.000000,144.000000 492.000000,138.399994 492.000000,149.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 144.000000)'></polygon>
<polygon points='504.000000,384.000000 492.000000,378.399994 492.000000,389.600006' fill='currentColor' transform='rotate(0.000000, 496.000000, 384.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='64' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='64' y='52' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='64' y='244' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='72' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='72' y='244' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='80' y='52' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='80' y='244' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='88' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='88' y='52' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='88' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='88' y='308' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='96' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='96' y='52' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='244' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='96' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='104' y='52' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='104' y='244' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='104' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='52' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='112' y='244' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='112' y='308' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='120' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='52' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='120' y='244' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='120' y='308' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='128' y='52' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='100' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='128' y='244' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='128' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='128' y='324' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='136' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='136' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='136' y='100' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='136' y='244' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='136' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='136' y='324' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='144' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='144' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='152' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='100' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='152' y='308' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='160' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='160' y='52' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='160' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='160' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='168' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='168' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='168' y='100' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='168' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='176' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='176' y='52' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='176' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='176' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='184' y='52' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='184' y='100' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='184' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='192' y='52' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='192' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='192' y='308' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='200' y='52' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='200' y='100' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='200' y='308' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='208' y='52' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='100' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='208' y='308' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='216' y='100' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='216' y='308' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='224' y='308' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='232' y='308' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='240' y='308' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='272' y='116' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='272' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='272' y='180' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='272' y='372' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='280' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='132' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='280' y='180' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='280' y='196' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='280' y='372' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='116' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='288' y='132' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='288' y='180' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='288' y='196' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='288' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='132' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='296' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='296' y='196' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='372' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='116' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='132' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='304' y='180' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='304' y='196' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='304' y='372' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='312' y='116' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='132' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='312' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='196' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='312' y='372' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='320' y='116' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='320' y='180' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='320' y='196' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='372' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='328' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='132' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='328' y='180' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='328' y='196' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='328' y='372' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='336' y='116' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='132' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='336' y='180' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='336' y='196' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='372' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='336' y='420' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='344' y='116' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='132' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='196' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='344' y='372' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='344' y='420' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='116' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='196' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='352' y='372' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='352' y='420' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='116' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='360' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='360' y='196' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='360' y='372' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='360' y='420' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='368' y='116' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='368' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='368' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='368' y='196' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='368' y='372' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='376' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='132' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='376' y='180' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='376' y='196' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='376' y='372' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='384' y='116' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='384' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='384' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='384' y='196' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='384' y='372' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='392' y='132' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='392' y='180' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='392' y='196' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='392' y='372' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='400' y='132' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='400' y='180' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='400' y='196' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='400' y='372' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='408' y='132' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='408' y='180' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='408' y='196' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='408' y='372' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='416' y='132' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='416' y='180' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='416' y='196' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='416' y='372' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='424' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='424' y='180' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='424' y='372' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='432' y='180' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='432' y='372' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='440' y='180' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='448' y='180' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='456' y='180' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
</div>
<input
class="tabs__radio"
type="radio"
name="tabs-7"
id="tabs-7-1" />
<label class="tabs__label" for="tabs-7-1">Data key replay</label>
<div class="tabs__panel">
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 536 489"
>
<g transform='translate(8,16)'>
<path d='M 48,64 L 248,64' fill='none' stroke='currentColor'></path>
<path d='M 0,96 L 48,96' fill='none' stroke='currentColor'></path>
<path d='M 48,96 L 80,96' fill='none' stroke='currentColor'></path>
<path d='M 280,96 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 504,96 L 520,96' fill='none' stroke='currentColor'></path>
<path d='M 256,112 L 280,112' fill='none' stroke='currentColor'></path>
<path d='M 264,176 L 280,176' fill='none' stroke='currentColor'></path>
<path d='M 56,224 L 64,224' fill='none' stroke='currentColor'></path>
<path d='M 80,224 L 88,224' fill='none' stroke='currentColor'></path>
<path d='M 96,224 L 104,224' fill='none' stroke='currentColor'></path>
<path d='M 112,224 L 120,224' fill='none' stroke='currentColor'></path>
<path d='M 128,224 L 136,224' fill='none' stroke='currentColor'></path>
<path d='M 144,224 L 152,224' fill='none' stroke='currentColor'></path>
<path d='M 160,224 L 168,224' fill='none' stroke='currentColor'></path>
<path d='M 176,224 L 184,224' fill='none' stroke='currentColor'></path>
<path d='M 192,224 L 200,224' fill='none' stroke='currentColor'></path>
<path d='M 208,224 L 216,224' fill='none' stroke='currentColor'></path>
<path d='M 224,224 L 232,224' fill='none' stroke='currentColor'></path>
<path d='M 240,224 L 248,224' fill='none' stroke='currentColor'></path>
<path d='M 48,256 L 72,256' fill='none' stroke='currentColor'></path>
<path d='M 104,288 L 112,288' fill='none' stroke='currentColor'></path>
<path d='M 56,320 L 72,320' fill='none' stroke='currentColor'></path>
<path d='M 56,368 L 248,368' fill='none' stroke='currentColor'></path>
<path d='M 0,384 L 48,384' fill='none' stroke='currentColor'></path>
<path d='M 48,384 L 256,384' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 504,384' fill='none' stroke='currentColor'></path>
<path d='M 504,384 L 520,384' fill='none' stroke='currentColor'></path>
<path d='M 0,96 L 0,384' fill='none' stroke='currentColor'></path>
<path d='M 48,16 L 48,64' fill='none' stroke='currentColor'></path>
<path d='M 48,64 L 48,96' fill='none' stroke='currentColor'></path>
<path d='M 48,96 L 48,256' fill='none' stroke='currentColor'></path>
<path d='M 48,256 L 48,384' fill='none' stroke='currentColor'></path>
<path d='M 48,384 L 48,400' fill='none' stroke='currentColor'></path>
<path d='M 72,256 L 72,320' fill='none' stroke='currentColor'></path>
<path d='M 256,16 L 256,80' fill='none' stroke='currentColor'></path>
<path d='M 256,112 L 256,384' fill='none' stroke='currentColor'></path>
<path d='M 256,384 L 256,400' fill='none' stroke='currentColor'></path>
<path d='M 280,112 L 280,176' fill='none' stroke='currentColor'></path>
<path d='M 504,16 L 504,96' fill='none' stroke='currentColor'></path>
<path d='M 504,96 L 504,384' fill='none' stroke='currentColor'></path>
<path d='M 504,384 L 504,400' fill='none' stroke='currentColor'></path>
<path d='M 520,96 L 520,384' fill='none' stroke='currentColor'></path>
<polygon points='64.000000,224.000000 52.000000,218.399994 52.000000,229.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 224.000000)'></polygon>
<polygon points='64.000000,320.000000 52.000000,314.399994 52.000000,325.600006' fill='currentColor' transform='rotate(180.000000, 56.000000, 320.000000)'></polygon>
<polygon points='120.000000,288.000000 108.000000,282.399994 108.000000,293.600006' fill='currentColor' transform='rotate(0.000000, 112.000000, 288.000000)'></polygon>
<polygon points='256.000000,64.000000 244.000000,58.400002 244.000000,69.599998' fill='currentColor' transform='rotate(0.000000, 248.000000, 64.000000)'></polygon>
<polygon points='256.000000,368.000000 244.000000,362.399994 244.000000,373.600006' fill='currentColor' transform='rotate(0.000000, 248.000000, 368.000000)'></polygon>
<polygon points='272.000000,176.000000 260.000000,170.399994 260.000000,181.600006' fill='currentColor' transform='rotate(180.000000, 264.000000, 176.000000)'></polygon>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='64' y='36' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='64' y='52' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='64' y='212' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='72' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='72' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='80' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='80' y='52' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='80' y='212' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='88' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='88' y='52' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='88' y='212' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='88' y='308' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='96' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='96' y='52' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='308' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='104' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='104' y='52' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='104' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='356' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='112' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='52' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='112' y='308' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='112' y='356' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='120' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='120' y='52' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='120' y='100' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='120' y='308' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='120' y='356' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='128' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='128' y='52' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='128' y='292' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='128' y='308' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='128' y='356' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='136' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='136' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='136' y='100' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='136' y='292' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='136' y='308' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='136' y='356' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='144' y='36' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='144' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='144' y='308' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='144' y='356' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='152' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='152' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='100' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='152' y='308' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='152' y='356' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='160' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='160' y='52' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='160' y='308' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='160' y='356' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='168' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='168' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='168' y='100' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='168' y='308' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='168' y='356' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='176' y='36' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='176' y='52' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='176' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='176' y='356' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='184' y='52' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='184' y='100' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='184' y='356' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='192' y='52' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='192' y='100' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='192' y='356' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='200' y='52' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='200' y='100' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='200' y='356' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='52' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='208' y='100' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='224' y='100' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='224' y='276' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='232' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='240' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='248' y='100' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='256' y='100' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='100' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='296' y='164' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='304' y='132' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='304' y='164' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='312' y='132' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='312' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='320' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='320' y='164' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='328' y='132' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='164' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='336' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='336' y='164' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='344' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='344' y='148' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='344' y='164' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='352' y='132' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='352' y='148' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='352' y='164' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='360' y='132' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='360' y='148' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='368' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='368' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='368' y='164' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='376' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='376' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='376' y='164' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='384' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='384' y='164' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='392' y='148' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='392' y='164' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='400' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='408' y='148' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='416' y='148' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='424' y='148' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='432' y='148' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='440' y='148' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='448' y='148' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='456' y='148' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='464' y='148' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'>S</text>
</g>
</svg>
</div>
</div>
</div>
<figcaption><span>Figure 8: Active attacks on CMK and DK.</span></figcaption>
</figure>
<p>These vulnerabilities are basically unsolvable without a secure communication channel. Therefore,
TLS initiated inside the enclave is required if active attacks are in scope. For the
enclave-initiated TLS solution to be secure, the enclave’s CA set must be limited; ideally, the KMS’
CA certificate (Amazon’s) is attested and pinned.</p>
<p>With this setup, the active attacker threat may be considered prevented. Note that having a secure
communication channel implicitly prevents some of the possible vulnerabilities described in the
“passive attacks” section.</p>
<p>KMS terminates TLS outside of HSM (<a href="https://docs.aws.amazon.com/kms/latest/cryptographic-details/internal-communication-security.html">most
likely</a>),
and the attestation’s pubkey encryption is probably done outside of HSM. This makes it impossible to
have an end-to-end TLS channel between enclave and HSM, and AWS insiders may theoretically
constitute an active attacker threat. Your threat model should account for this possibility.</p>
<p>To further protect the communication channel, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html">VPC can be
used</a>. This ensures
that traffic never leaves AWS infrastructure and generally isolates the parent EC2 at the network
level. Moreover, key policy can <a href="https://docs.aws.amazon.com/kms/latest/developerguide/vpce-policy-condition.html">authorize requests based on the
VPC</a>. This makes
attacks easier to detect in case of stolen IAM credentials; this is valuable even if key access is
authorized via PCRs, as demonstrated in the previous sections.</p>
<h2 id="kms-policies">KMS policies</h2>
<p>Correctly authorizing access to CMK keys is critical. The list below includes basic checks for your
KMS key policy. <a href="https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies-best-practices.html">AWS’ recommendations for IAM
policies</a>
provides more generic advice.</p>
<ul>
<li><input disabled="" type="checkbox"> Configured KMS policy authorizes enclaves in a reasonable way.
<ul>
<li><input disabled="" type="checkbox"> No unexpected IAM roles have or can get access.</li>
<li><input disabled="" type="checkbox"> PCR0 is used for authorization. PCRs 1-2 are used for defense in depth. Alternatively, PCR8
is used.</li>
<li><input disabled="" type="checkbox"> Principal for <code>RecipientAttestation</code> is not a wildcard.</li>
<li><input disabled="" type="checkbox"> PCR3 is used to restrict by EC2 IAM role.</li>
<li><input disabled="" type="checkbox"> <a href="https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context"><code>kms:EncryptionContext</code></a>
condition is used when relevant.</li>
</ul>
</li>
<li><input disabled="" type="checkbox"> For critical key operations (e.g., deletion) the policy requires MFA.</li>
<li><input disabled="" type="checkbox"> TLS and VPC restrictions are considered.</li>
<li><input disabled="" type="checkbox"> For end-to-end security, the clients can verify that the enclave uses correct and properly
secured KMS keys.
<ul>
<li><input disabled="" type="checkbox"> Immutable key policies are likely not possible, and clients must be aware of this.</li>
</ul>
</li>
</ul>
<p>Of course, the exact CMK policy setup is business-dependent. Generally, you should ensure that the
key can be managed only by the expected IAM principal, and the principal doesn&rsquo;t have access to
<code>Decrypt</code> operation (and possibly others like <code>GenDataKeys</code> and <code>Encrypt</code>).</p>
<p>The figure below shows an interesting example of a vulnerable key policy that violates the “only
expected IAM principal” check. One may assume that only the root user and the enclave can operate on
the key, but this is incorrect: the first policy entry grants full access to any IAM role that has
access to the key configured in the role’s policy. The fix is to use a specific IAM user or role
instead of root or to add an explicit deny statement for non-root users.</p>
<figure class="highlight">
<pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">[</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Sid&#34;</span><span class="p">:</span> <span class="s2">&#34;Enable IAM User Permissions&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Effect&#34;</span><span class="p">:</span> <span class="s2">&#34;Allow&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Principal&#34;</span><span class="p">:</span> <span class="p">{</span> <span class="nt">&#34;AWS&#34;</span><span class="p">:</span> <span class="s2">&#34;arn:aws:iam::599412696120:root&#34;</span> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Action&#34;</span><span class="p">:</span> <span class="s2">&#34;kms:*&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Resource&#34;</span><span class="p">:</span> <span class="s2">&#34;*&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Sid&#34;</span><span class="p">:</span> <span class="s2">&#34;Allow Nitro Enclave KMS operations with PCR0 lock&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Effect&#34;</span><span class="p">:</span> <span class="s2">&#34;Allow&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Principal&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;AWS&#34;</span><span class="p">:</span> <span class="s2">&#34;arn:aws:iam::599412696120:role/NitroEnclaveKMSRole&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Action&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;kms:Decrypt&#34;</span><span class="p">,</span> <span class="s2">&#34;kms:GenerateDataKey&#34;</span><span class="p">,</span> <span class="s2">&#34;kms:GenerateDataKeyPair&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Resource&#34;</span><span class="p">:</span> <span class="s2">&#34;*&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Condition&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;StringEqualsIgnoreCase&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;kms:RecipientAttestation:PCR0&#34;</span><span class="p">:</span> <span class="s2">&#34;00a119d1...0ed55&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"> <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">]</span></span></span></code></pre>
<figcaption><span>Figure 9: Example policy that is likely to be insecure.</span></figcaption>
</figure>
<p>For the PCRs, you want to use PCR0, as it binds the policy to specific enclave code. Additionally,
using PCRs 1-2 is recommended for the reasons stated in <a href="https://blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/">our blog post on the Nitro Enclaves attack
surface</a>. Alternatively, you can use
PCR8, which allows updating the enclave code without needing to update key policy. This allows more
restricted access to key policy modification permission at the cost of managing the signing key.</p>
<p>The <code>Principal</code> field and PCR3 measurement provide further restrictions. <code>Principal</code> is used to
authorize the IAM role used to access KMS, while PCR3 is measured by hypervisor at the time of
attestation request based on EC2 role. The EC2 role can be dynamically changed and should be
considered untrusted from the enclave’s perspective. Yet both <code>Principal</code> and PCR3 can be used to
prevent attackers from running (signed) enclaves on their own EC2 instance (which could make
side-channel attacks easier) and accessing the KMS key.</p>
<p>Access to the key can be further improved with TLS and VPC restrictions. VPC can be enforced with
<code>aws:SourceVpc</code> and similar condition keys. TLS can be enforced with the <code>aws:SecureTransport</code>
condition (although this condition is redundant, as it’s not possible to access the KMS API with
plain HTTP).</p>
<p>As the key has to be manageable by some IAM role (at least to allow key deletion), the
<code>aws:MultiFactorAuthPresent</code> and <code>aws:MultiFactorAuthAge</code> conditions can be used to strengthen the
authorization.</p>
<h2 id="kms-policy-end-to-end-verification">KMS policy end-to-end verification</h2>
<p>So far, our discussion has focused on how to secure the KMS keys. A much more difficult problem
arises when you want your system to provide end-to-end verifiability to end-users. If enclaves can
be reproducibly built and remotely attested by users, then users likely have to validate that the
KMS keys are properly protected, too. Otherwise, a malicious insider can pass remote attestation
(not modify enclave code), yet use KMS directly with IAM permissions to get full access to the keys.</p>
<p>One solution is to hardcode the hash of the key policy in the enclave, provide full policy along
with enclave’s code to clients, and make the enclave validate the hash against the dynamically
obtained policy before sending attestation-protected requests to the KMS. This requires the enclave
to have <code>kms:GetKeyPolicy</code> and <code>kms:DescribeKey</code> permissions.</p>
<p>This alone doesn’t prevent attacks. A malicious IAM user can dynamically change the policy after the
enclave’s verification. To prevent this, the policy has to be made immutable, which can be achieved
by blocking <code>kms:PutKeyPolicy</code> permission for all users. Note that
<a href="https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html"><code>--bypass-policy-lockout-safety-check</code>
flag</a> is required to
insert such a statement via CLI.</p>
<figure class="highlight">
<pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Sid&#34;</span><span class="p">:</span> <span class="s2">&#34;DenyPutKeyPolicyForAll&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Effect&#34;</span><span class="p">:</span> <span class="s2">&#34;Deny&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Principal&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;AWS&#34;</span><span class="p">:</span> <span class="s2">&#34;*&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="p">},</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Action&#34;</span><span class="p">:</span> <span class="s2">&#34;kms:PutKeyPolicy&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;Resource&#34;</span><span class="p">:</span> <span class="s2">&#34;*&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre>
<figcaption><span>Figure 10: Example policy that prevents key policy changes.</span></figcaption>
</figure>
<p>Locking access by PCR0 and denying all <code>kms:PutKeyPolicy</code> operations makes the system quite
immutable. This has the obvious downside of making updates and bug fixes difficult. As mentioned
earlier, the specific setup must be adjusted based on business requirements.</p>
<p>Note that key owners can always <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#:~:text=Reduces%20the%20risk%20of%20the%20KMS%20key%20becoming%20unmanageable">contact AWS support to restore default key
policies</a>.
How AWS authenticates such requests <a href="https://repost.aws/questions/QUV7ubqz8ETRCOxHSuSH6zDQ/unable-to-delete-kms-customer-managed-key-cmk-using-administratoraccess-role-or-root-login-credentials#ANQjr27vimRP6DEYTiZDgxsw">I do not
know</a>,
but AWS likely won’t check if the key is used in an enclave-enabled setup. This makes a system with
full end-to-end trust hard to implement.</p>
<figure>
<blockquote>
For example, suppose you create a key policy that gives only one user access to the KMS key. If
you then delete that user, the key becomes unmanageable and you must contact AWS Support to regain
access to the KMS key.
</blockquote>
<figcaption><span>Figure 11: Quote from AWS documentation.</span></figcaption>
</figure>
<p>Finally, consider implementing publicly observable and verifiable monitoring and alerting for key
policies. Such a system would alert end users when a policy changes, mitigating the impact of policy
restoration by AWS support. However, we are not aware of any &ldquo;Certificate Transparency&rdquo;-style
public, append-only log for KMS key policies that an external party can independently verify.</p>
<h2 id="operational-concerns">Operational concerns</h2>
<p>Even if the system is secure point-in-time, there are operations that must be periodically
performed. These introduce new risks into the system. This checklist covers these concerns:</p>
<ul>
<li><input disabled="" type="checkbox"> Key rotation and revocation is implemented for CMK.
<ul>
<li><input disabled="" type="checkbox"> <code>ReEncrypt</code> operation is not used for data keys.</li>
</ul>
</li>
<li><input disabled="" type="checkbox"> Backups:
<ul>
<li><input disabled="" type="checkbox"> Risks from CMK destruction are mitigated.</li>
<li><input disabled="" type="checkbox"> Regional outages are considered.</li>
<li><input disabled="" type="checkbox"> Data keys are backed up as needed.</li>
</ul>
</li>
<li><input disabled="" type="checkbox"> Users cannot cause a denial of service or balloon the bill.
<ul>
<li><input disabled="" type="checkbox"> The number of user-triggered KMS operations is limited.</li>
<li><input disabled="" type="checkbox"> Request quotas are considered.</li>
<li><input disabled="" type="checkbox"> Limits on data lengths are respected.</li>
<li><input disabled="" type="checkbox"> KMS&rsquo;s clients take into account delays in KMS updates.</li>
</ul>
</li>
</ul>
<p><a href="https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html">AWS provides mechanisms</a> to
easily rotate CMK keys. The only item to note here is that rotating a compromised CMK does not make
data keys protected by it non-decryptable. For a CMK <em>revocation</em>, a more involved approach than
just rotating CMK and destroying data keys must be implemented.</p>
<p>Rotating data keys is hard to implement securely, as the KMS
<a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html"><code>ReEncrypt</code></a> operation does
not support attestations. The system should be designed so that such rotations are not needed.</p>
<p>A malicious actor deleting CMK keys permanently creates a risk of non-recoverable system state. The
system’s design can sometimes be made so that destruction of a single key is recoverable (e.g., by
setting up key hierarchy and using secret sharing). Nevertheless, there should be security controls
in place mitigating the risk. First, configure a <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html">scheduled deletion
period</a> for keys
to a time in which your team can act on an incident. Set up <a href="https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-creating-cloudwatch-alarm.html">CloudWatch alarms for KMS
keys</a>
for deletion events, and tighten IAM policies with <a href="https://asecure.cloud/a/scp_kms_delete_keys/">Service Control Policies that prevent KMS key
deletion</a>.</p>
<p>Single-machine disasters in AWS infrastructure are not a concern, as single-region KMS keys are
<a href="https://docs.aws.amazon.com/kms/latest/developerguide/disaster-recovery-resiliency.html">replicated within the
region</a> in
multiple Availability Zones in multiple HSMs. However, if the system must be resilient to a regional
outage, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html">multi-region
keys</a> should
be used instead of single-region keys.</p>
<p>Encrypted data keys backups are a responsibility of the system, not AWS. Note that the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/unusable-kms-keys.html">CMK key may
become unusable in a few
scenarios</a>, and the
data key backup system must account for this.</p>
<p>Yet another set of risks relates to billing. AWS charges dollars per KMS operations and CMK key
maintenance, so the system must not let end-users make the enclaves send arbitrary many requests to
KMS. When implementing rate-limits, <a href="https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html">KMS
quotas</a> must be
taken into account.</p>
<p>Inputs to KMS have various size limits. For example, plaintexts can be up to 4096 bytes long,
ciphertexts can be up to 6144 bytes long, and key IDs can be up to 2048 bytes long. These limits are
unlikely to be reached with attestation-supported operations, but still should be considered.</p>
<p>Finally, changes to KMS resources <a href="https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency">need some time to propagate and
synchronize</a>
inside AWS infrastructure. Your system must expect delays and possible temporary inconsistencies
when requesting KMS.</p>
<h2 id="software-and-sdks">Software and SDKs</h2>
<p>Amazon ships a lot of SDKs for various tasks. Among them is
<a href="https://github.com/aws/aws-nitro-enclaves-sdk-c"><code>aws-nitro-enclaves-sdk-c</code></a> that provides tools
and a library for enclaves-KMS communication. Avoid it: this particular SDK is written in C, and we
found it contains vulnerabilities that can be used to exploit enclaves from the parent host.</p>
<p>Rather than using the <code>aws-nitro-enclaves-sdk-c</code>, we recommend a combination of other libraries,
such as the following:</p>
<ul>
<li><a href="https://github.com/aws/aws-nitro-enclaves-nsm-api"><code>aws-nitro-enclaves-nsm-api</code></a> (in Rust) to get
attestation documents</li>
<li><a href="https://docs.aws.amazon.com/boto3/latest/reference/services/kms.html"><code>KMS.Client</code> from Boto3</a>
(in Python) to communicate with KMS</li>
<li>Any cryptographic library to parse and decrypt responses</li>
</ul>
<h2 id="final-notes">Final notes</h2>
<p>Many issues can arise from misusing the KMS within enclave-secured systems. This blog post does not
even cover all supported operations (<code>GenerateDataKeyPair</code>, <code>DeriveSharedSecret</code>), possible
vulnerabilities (key reuse, key wearout, forward secrecy, nonce management, …) and system features
(custom key stores, multi-region keys, …). Make sure to document your system’s protocol, have a
cryptographer review it, and check the actual implementation against it.</p>
<h2 id="appendix-a">Appendix A</h2>
<p>Data formats of the <code>CiphertextBlob</code> and <code>CiphertextForRecipient</code> structures are presented below.</p>
<figure>
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 632 361"
>
<g transform='translate(8,16)'>
<path d='M 248,288 L 248,304' fill='none' stroke='currentColor'></path>
<path d='M 256,280 L 256,296' fill='none' stroke='currentColor'></path>
<circle cx='336' cy='304' r='6' stroke='currentColor' fill='#fff'></circle>
<text text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='0' y='20' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='0' y='68' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='0' y='84' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='0' y='100' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='0' y='116' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='0' y='132' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='8' y='20' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='8' y='68' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='8' y='84' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='8' y='100' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='8' y='116' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='8' y='132' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='16' y='20' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='16' y='68' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='16' y='84' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='16' y='100' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='16' y='116' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='16' y='132' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='24' y='20' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='24' y='68' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='24' y='84' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='24' y='100' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='24' y='116' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='24' y='132' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='32' y='20' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='32' y='100' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='32' y='116' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='32' y='132' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='40' y='20' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='40' y='100' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='40' y='116' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='48' y='100' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='48' y='116' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>V</text>
<text text-anchor='middle' x='64' y='20' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='64' y='68' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='64' y='84' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='64' y='100' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='64' y='116' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='64' y='132' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='64' y='148' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='64' y='164' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='64' y='180' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='72' y='20' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='72' y='68' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='72' y='84' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='72' y='100' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='72' y='116' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='72' y='148' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='72' y='164' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='72' y='180' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='80' y='20' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='80' y='68' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='80' y='84' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='80' y='100' fill='currentColor' style='font-size:1em'>F</text>
<text text-anchor='middle' x='80' y='116' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='80' y='148' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='80' y='164' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='180' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='88' y='20' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='88' y='68' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='88' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='4' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='96' y='20' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='96' y='68' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='96' y='84' fill='currentColor' style='font-size:1em'>F</text>
<text text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='96' y='116' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='96' y='148' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='96' y='164' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='96' y='180' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='96' y='196' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='96' y='228' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='96' y='244' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='96' y='260' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='104' y='4' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='104' y='84' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='104' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='148' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='104' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='180' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='196' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='104' y='228' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='112' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='112' y='84' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='112' y='116' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='148' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='112' y='164' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='112' y='180' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='196' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='112' y='228' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='120' y='84' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='120' y='100' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='120' y='116' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='120' y='148' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='120' y='164' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='120' y='180' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='128' y='84' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='128' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='128' y='116' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='128' y='148' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='128' y='164' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='128' y='180' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='128' y='196' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='228' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='128' y='244' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='128' y='260' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='128' y='292' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='136' y='116' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='136' y='132' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='136' y='148' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='136' y='164' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='136' y='180' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='136' y='196' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='136' y='228' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='136' y='244' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='136' y='260' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='136' y='292' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'>N</text>
<text text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='144' y='148' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='144' y='164' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='144' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='144' y='196' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='144' y='212' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='144' y='228' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='144' y='244' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='144' y='260' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='144' y='292' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='152' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='148' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='152' y='164' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='152' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='196' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='152' y='212' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='152' y='228' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='160' y='132' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='160' y='148' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='160' y='180' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='160' y='196' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='160' y='212' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='160' y='228' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='160' y='244' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='160' y='260' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='160' y='292' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='160' y='308' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='160' y='324' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='160' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='168' y='132' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='168' y='148' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='168' y='164' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='168' y='180' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='168' y='196' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='168' y='212' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='168' y='228' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='168' y='244' fill='currentColor' style='font-size:1em'>V</text>
<text text-anchor='middle' x='168' y='260' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='168' y='292' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='168' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='168' y='324' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='168' y='340' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='176' y='132' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='176' y='148' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='176' y='180' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='176' y='196' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='176' y='212' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='176' y='228' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='176' y='244' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='176' y='260' fill='currentColor' style='font-size:1em'>V</text>
<text text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='176' y='292' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='176' y='308' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='176' y='324' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='176' y='340' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='184' y='4' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='184' y='20' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='184' y='36' fill='currentColor' style='font-size:1em'>N</text>
<text text-anchor='middle' x='184' y='52' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='184' y='68' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='184' y='84' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='184' y='100' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='184' y='116' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='184' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='184' y='148' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='184' y='180' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='184' y='196' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='184' y='212' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='184' y='228' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='184' y='260' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'>L</text>
<text text-anchor='middle' x='184' y='292' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='184' y='308' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='184' y='324' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='184' y='340' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='192' y='4' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='192' y='20' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='192' y='36' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='192' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='192' y='68' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='192' y='84' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='192' y='100' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='192' y='116' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='192' y='148' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='192' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='192' y='196' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='192' y='212' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='192' y='228' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='192' y='260' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='192' y='292' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='192' y='308' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='200' y='36' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='200' y='52' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='200' y='116' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='200' y='148' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='200' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='200' y='196' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='200' y='212' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='200' y='228' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='200' y='260' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='200' y='292' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='200' y='308' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='200' y='324' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='200' y='340' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='208' y='4' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='208' y='20' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='208' y='52' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='208' y='100' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='208' y='116' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='208' y='132' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='208' y='148' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='208' y='180' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='208' y='196' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='208' y='228' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='208' y='260' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='208' y='292' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='208' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='208' y='324' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='208' y='340' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='216' y='20' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='216' y='36' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='216' y='52' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='216' y='68' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='216' y='84' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='216' y='100' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='216' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='216' y='132' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='216' y='148' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='216' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='216' y='196' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='216' y='228' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='216' y='292' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='216' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='216' y='324' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='216' y='340' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='224' y='20' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='224' y='36' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='224' y='52' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='224' y='68' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='224' y='84' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='224' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='224' y='116' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='224' y='132' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='224' y='148' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='224' y='180' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='224' y='228' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='224' y='292' fill='currentColor' style='font-size:1em'>x</text>
<text text-anchor='middle' x='224' y='308' fill='currentColor' style='font-size:1em'>x</text>
<text text-anchor='middle' x='224' y='340' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='232' y='20' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='232' y='36' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='232' y='52' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='232' y='68' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='232' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='232' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='232' y='116' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='232' y='132' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='232' y='148' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='232' y='180' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='232' y='196' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='232' y='212' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='232' y='292' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='232' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='232' y='324' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='232' y='340' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='240' y='20' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='240' y='36' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='240' y='52' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='240' y='68' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='240' y='84' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='240' y='100' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='240' y='116' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='240' y='132' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='240' y='148' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='240' y='180' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='240' y='196' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='240' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='240' y='324' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='248' y='20' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='248' y='36' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='248' y='52' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='248' y='68' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='248' y='100' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='248' y='116' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='248' y='148' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='248' y='180' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='248' y='196' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='248' y='212' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='248' y='244' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='248' y='260' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='248' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='248' y='340' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='256' y='36' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='256' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='256' y='68' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='256' y='84' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='256' y='116' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='256' y='196' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='256' y='212' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='256' y='244' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='256' y='260' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='256' y='276' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='256' y='340' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='264' y='20' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='264' y='36' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='264' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='68' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='264' y='84' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='264' y='100' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='264' y='196' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='264' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='264' y='276' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='264' y='308' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='264' y='324' fill='currentColor' style='font-size:1em'>→</text>
<text text-anchor='middle' x='264' y='340' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='272' y='20' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='272' y='52' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='272' y='68' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='272' y='84' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='272' y='100' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='272' y='116' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='272' y='148' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='272' y='196' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='272' y='212' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='272' y='244' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='272' y='276' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='272' y='292' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='272' y='308' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='272' y='340' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='280' y='20' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='280' y='68' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='100' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='280' y='116' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='280' y='148' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='280' y='196' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='280' y='212' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='280' y='244' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='280' y='260' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='280' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='280' y='292' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='280' y='324' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='280' y='340' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='288' y='20' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='288' y='52' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='288' y='68' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='288' y='100' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='288' y='116' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='288' y='148' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='288' y='196' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='288' y='212' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='288' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='288' y='260' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='288' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='292' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='288' y='308' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='288' y='324' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='288' y='340' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='296' y='20' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='296' y='52' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='296' y='100' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='196' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='296' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='296' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='296' y='260' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='296' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='292' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='296' y='308' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='296' y='324' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='296' y='340' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='304' y='20' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='304' y='52' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='304' y='68' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='304' y='100' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='304' y='116' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='304' y='196' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='304' y='212' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='304' y='244' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='304' y='260' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='304' y='276' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='304' y='292' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='304' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='304' y='340' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='312' y='20' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='312' y='52' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='312' y='68' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='312' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='312' y='196' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='312' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='312' y='260' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='312' y='276' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='312' y='292' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='312' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='324' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='320' y='20' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='320' y='52' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='320' y='68' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='320' y='100' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='320' y='116' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='320' y='196' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='320' y='212' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='320' y='244' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='320' y='260' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='320' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='320' y='292' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='308' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='320' y='324' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='320' y='340' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='20' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'>N</text>
<text text-anchor='middle' x='328' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='328' y='68' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='328' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='116' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='196' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='328' y='212' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='328' y='244' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='328' y='260' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='328' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='328' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='336' y='20' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='336' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='336' y='68' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='336' y='100' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='336' y='116' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='336' y='196' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='336' y='212' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='336' y='244' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='336' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='336' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='336' y='292' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='336' y='324' fill='currentColor' style='font-size:1em'>+</text>
<text text-anchor='middle' x='336' y='340' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='344' y='20' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='344' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='344' y='68' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='344' y='100' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='344' y='148' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='344' y='196' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='344' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='344' y='244' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='344' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='344' y='292' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='344' y='308' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='352' y='52' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='352' y='68' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='352' y='100' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='352' y='116' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='352' y='148' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='352' y='196' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='352' y='212' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='352' y='244' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='352' y='260' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='352' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='292' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='352' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='352' y='324' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='352' y='340' fill='currentColor' style='font-size:1em'>→</text>
<text text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'>N</text>
<text text-anchor='middle' x='360' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='360' y='68' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='360' y='100' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='116' fill='currentColor' style='font-size:1em'>x</text>
<text text-anchor='middle' x='360' y='148' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='360' y='196' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='360' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='360' y='244' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='360' y='260' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='360' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='360' y='324' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='368' y='52' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='368' y='68' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='368' y='100' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='368' y='116' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='368' y='148' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='368' y='196' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='368' y='212' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='368' y='244' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='368' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='368' y='292' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='368' y='308' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='368' y='324' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='368' y='340' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='376' y='52' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='376' y='68' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='376' y='100' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='376' y='116' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='376' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='376' y='196' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='376' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='376' y='244' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='376' y='260' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='376' y='292' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='376' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='340' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='384' y='68' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='116' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='384' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='384' y='196' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='384' y='212' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='384' y='260' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='384' y='292' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='384' y='308' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='384' y='324' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='384' y='340' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='392' y='52' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='392' y='116' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='392' y='148' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='392' y='212' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='392' y='244' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='392' y='260' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='392' y='308' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='392' y='324' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='392' y='340' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='400' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='400' y='116' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='400' y='148' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='400' y='212' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='400' y='244' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='400' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='400' y='324' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='400' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='408' y='52' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='408' y='116' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='408' y='148' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='408' y='196' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='408' y='212' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='408' y='244' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='408' y='260' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='408' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='408' y='340' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='416' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='416' y='116' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='416' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='416' y='196' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='416' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='416' y='260' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='416' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='416' y='324' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='416' y='340' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='424' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='424' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='424' y='148' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='424' y='196' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='424' y='244' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='424' y='260' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='424' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='424' y='340' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='432' y='148' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='432' y='196' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='432' y='212' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='432' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='432' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='432' y='324' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='432' y='340' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='440' y='52' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='440' y='116' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='440' y='196' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='440' y='212' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='440' y='244' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='440' y='260' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='440' y='308' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='440' y='324' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='440' y='340' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='448' y='52' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='448' y='196' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='448' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='448' y='244' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='448' y='260' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='448' y='308' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='448' y='324' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='448' y='340' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='456' y='52' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='456' y='116' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='456' y='196' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='456' y='212' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='456' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='456' y='260' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='456' y='308' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='456' y='340' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='464' y='52' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='464' y='116' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='464' y='196' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='464' y='212' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='464' y='244' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='464' y='308' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='464' y='340' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='472' y='36' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='472' y='52' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='472' y='116' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='472' y='196' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='472' y='212' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='472' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='472' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='472' y='308' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='472' y='340' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='480' y='52' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='480' y='196' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='480' y='212' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='480' y='260' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='480' y='340' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='488' y='36' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='488' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='488' y='116' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='488' y='196' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='488' y='212' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='488' y='244' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='488' y='260' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='496' y='36' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='496' y='116' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='496' y='196' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='496' y='212' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='496' y='244' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='496' y='260' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='496' y='340' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='504' y='52' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='504' y='116' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='504' y='212' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='504' y='340' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='512' y='36' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='512' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='512' y='212' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='512' y='244' fill='currentColor' style='font-size:1em'>N</text>
<text text-anchor='middle' x='512' y='340' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='520' y='36' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='520' y='52' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='520' y='116' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='520' y='212' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='520' y='244' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='520' y='340' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='528' y='36' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='528' y='116' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='528' y='212' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='528' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='536' y='36' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='536' y='52' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='536' y='116' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='536' y='340' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='544' y='36' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='544' y='52' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='544' y='116' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='552' y='36' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='552' y='52' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='552' y='116' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='560' y='36' fill='currentColor' style='font-size:1em'>N</text>
<text text-anchor='middle' x='560' y='52' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='560' y='116' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='568' y='36' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='568' y='52' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='568' y='116' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='576' y='36' fill='currentColor' style='font-size:1em'>U</text>
<text text-anchor='middle' x='576' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='584' y='36' fill='currentColor' style='font-size:1em'>U</text>
<text text-anchor='middle' x='584' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='584' y='116' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='592' y='36' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='592' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='592' y='116' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='600' y='36' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='600' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='600' y='116' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='608' y='52' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='616' y='52' fill='currentColor' style='font-size:1em'>)</text>
</g>
</svg>
</div>
<figcaption><span>Figure 12: KMS CiphertextBlob. One cannot decrypt its content manually because the KDF label is not public. HBKID is mapped to CMK ARN internally.</span></figcaption></figure>
<figure>
<div class="goat svg-container ">
<svg
xmlns="http://www.w3.org/2000/svg"
font-family="Menlo,Lucida Console,monospace"
viewBox="0 0 600 361"
>
<g transform='translate(8,16)'>
<text text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='0' y='20' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='0' y='36' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='0' y='52' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='0' y='68' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='84' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='100' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='116' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='132' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='148' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='164' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='180' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='196' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='212' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='228' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='244' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='0' y='260' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='8' y='20' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='8' y='36' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='8' y='52' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='8' y='260' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='16' y='20' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='16' y='36' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='16' y='52' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='16' y='260' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='32' y='20' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='32' y='36' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='32' y='52' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='32' y='68' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='32' y='260' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='32' y='276' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='32' y='292' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='32' y='308' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='32' y='324' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='40' y='20' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='40' y='36' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='40' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='40' y='68' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='40' y='260' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='40' y='276' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='40' y='292' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='40' y='324' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='48' y='20' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='48' y='36' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='48' y='52' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='48' y='68' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='48' y='260' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='48' y='276' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='48' y='292' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='48' y='324' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='56' y='20' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='56' y='36' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='56' y='52' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='56' y='260' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='64' y='20' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='64' y='36' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='64' y='52' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='64' y='68' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='64' y='84' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='64' y='100' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='64' y='116' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='64' y='132' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='64' y='148' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='64' y='164' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='64' y='180' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='64' y='196' fill='currentColor' style='font-size:1em'>│</text>
<text text-anchor='middle' x='64' y='212' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='64' y='260' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='64' y='292' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='64' y='308' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='64' y='324' fill='currentColor' style='font-size:1em'>[</text>
<text text-anchor='middle' x='64' y='340' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='72' y='20' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='72' y='36' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='72' y='68' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='72' y='84' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='72' y='100' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='72' y='212' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='72' y='260' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='72' y='292' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='72' y='308' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='72' y='324' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='72' y='340' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='80' y='20' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='80' y='36' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='80' y='52' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='80' y='68' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='80' y='84' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='100' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='212' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='80' y='292' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='80' y='308' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='80' y='324' fill='currentColor' style='font-size:1em'>]</text>
<text text-anchor='middle' x='80' y='340' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='88' y='20' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='88' y='36' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='88' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='88' y='68' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='88' y='260' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='88' y='292' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='96' y='4' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='96' y='20' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='96' y='52' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='96' y='68' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='96' y='84' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='96' y='148' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='96' y='164' fill='currentColor' style='font-size:1em'>├</text>
<text text-anchor='middle' x='96' y='180' fill='currentColor' style='font-size:1em'>└</text>
<text text-anchor='middle' x='96' y='196' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='260' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='96' y='292' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='96' y='308' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='96' y='340' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='104' y='4' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='104' y='20' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='104' y='36' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='104' y='52' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='104' y='68' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='104' y='84' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='104' y='148' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='104' y='164' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='104' y='180' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='104' y='196' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='260' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='104' y='292' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='104' y='308' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='104' y='340' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='112' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='112' y='20' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='112' y='52' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='112' y='68' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='112' y='84' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='112' y='148' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='112' y='164' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='112' y='180' fill='currentColor' style='font-size:1em'>─</text>
<text text-anchor='middle' x='112' y='196' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='112' y='260' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='292' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='112' y='308' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='112' y='324' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='112' y='340' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='120' y='4' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='120' y='20' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='120' y='52' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='120' y='68' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='120' y='84' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='120' y='100' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='120' y='196' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='120' y='260' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='120' y='292' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='120' y='308' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='120' y='324' fill='currentColor' style='font-size:1em'>L</text>
<text text-anchor='middle' x='120' y='340' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='128' y='4' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='128' y='20' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='128' y='52' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='128' y='68' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='128' y='84' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='128' y='148' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='128' y='164' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='128' y='180' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='128' y='196' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='128' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='128' y='292' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='128' y='308' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='128' y='324' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='128' y='340' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='136' y='20' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='136' y='52' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='136' y='68' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='136' y='84' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='136' y='100' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='136' y='116' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='136' y='132' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='136' y='148' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='136' y='164' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='136' y='180' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='136' y='260' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='136' y='292' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='136' y='308' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='136' y='324' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='136' y='340' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='144' y='20' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='144' y='68' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='144' y='84' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='144' y='148' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='144' y='164' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='144' y='180' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='144' y='196' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='144' y='212' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='144' y='260' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='144' y='308' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='144' y='324' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='144' y='340' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='152' y='20' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='152' y='68' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='152' y='84' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='152' y='100' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='152' y='116' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='152' y='132' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='152' y='148' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='152' y='164' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='152' y='180' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='152' y='196' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='152' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='152' y='260' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='152' y='292' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='152' y='324' fill='currentColor' style='font-size:1em'>T</text>
<text text-anchor='middle' x='152' y='340' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='160' y='20' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='160' y='68' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='160' y='100' fill='currentColor' style='font-size:1em'>j</text>
<text text-anchor='middle' x='160' y='116' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='160' y='132' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='160' y='148' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='160' y='164' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='160' y='180' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='160' y='196' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='160' y='212' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='160' y='260' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='160' y='292' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='160' y='308' fill='currentColor' style='font-size:1em'>{</text>
<text text-anchor='middle' x='160' y='340' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='168' y='20' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='168' y='68' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='168' y='84' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='168' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='168' y='116' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='168' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='168' y='148' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='168' y='164' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='168' y='180' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='168' y='196' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='168' y='212' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='168' y='260' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='168' y='292' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='168' y='324' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='168' y='340' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='176' y='20' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='176' y='68' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='176' y='100' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='176' y='116' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='176' y='132' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='176' y='148' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='176' y='164' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='176' y='180' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='176' y='196' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='176' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='176' y='260' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='176' y='292' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='176' y='308' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='176' y='324' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='176' y='340' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='184' y='20' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='184' y='68' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='184' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='184' y='116' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='184' y='132' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='184' y='148' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='184' y='164' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='184' y='180' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='184' y='196' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='184' y='212' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='184' y='260' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='184' y='292' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='184' y='308' fill='currentColor' style='font-size:1em'>V</text>
<text text-anchor='middle' x='184' y='324' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='192' y='68' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='192' y='100' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='192' y='116' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='192' y='148' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='164' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='192' y='180' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='192' y='196' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='192' y='212' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='192' y='292' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='192' y='308' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='192' y='324' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='192' y='340' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='200' y='68' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='200' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='200' y='116' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='200' y='132' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='200' y='148' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='200' y='164' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='200' y='180' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='200' y='196' fill='currentColor' style='font-size:1em'>,</text>
<text text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='200' y='292' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='200' y='324' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='200' y='340' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='208' y='20' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='208' y='68' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='208' y='100' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='208' y='116' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='208' y='132' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='208' y='148' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='208' y='164' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='208' y='180' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='208' y='212' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='208' y='228' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='208' y='244' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='208' y='292' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='208' y='308' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='208' y='324' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='208' y='340' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='216' y='20' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='216' y='68' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='216' y='100' fill='currentColor' style='font-size:1em'>I</text>
<text text-anchor='middle' x='216' y='116' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='216' y='132' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='216' y='148' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='216' y='164' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='216' y='180' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='216' y='196' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='216' y='212' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='216' y='228' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='216' y='244' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='216' y='292' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='216' y='308' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='216' y='324' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='216' y='340' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='224' y='20' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='224' y='68' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='224' y='100' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='224' y='116' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='224' y='132' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='224' y='148' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='224' y='164' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='224' y='180' fill='currentColor' style='font-size:1em'>V</text>
<text text-anchor='middle' x='224' y='196' fill='currentColor' style='font-size:1em'>g</text>
<text text-anchor='middle' x='224' y='212' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='224' y='228' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='224' y='244' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='224' y='276' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='224' y='292' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='224' y='324' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='224' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='232' y='20' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='232' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='232' y='116' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='232' y='132' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='232' y='148' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='232' y='164' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='232' y='180' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='232' y='196' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='232' y='292' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='232' y='308' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='232' y='324' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='232' y='340' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='240' y='20' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='240' y='100' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='240' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='240' y='132' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='240' y='148' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='240' y='164' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='240' y='180' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='240' y='196' fill='currentColor' style='font-size:1em'>:</text>
<text text-anchor='middle' x='240' y='212' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='240' y='228' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='240' y='244' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='240' y='308' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='240' y='324' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='240' y='340' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='248' y='20' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='248' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='248' y='116' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='248' y='132' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='248' y='148' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='248' y='164' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='248' y='180' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='248' y='212' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='248' y='228' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='248' y='244' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='248' y='276' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='248' y='308' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='248' y='324' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='248' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='256' y='20' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='256' y='100' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='256' y='116' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='256' y='132' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='256' y='148' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='256' y='196' fill='currentColor' style='font-size:1em'>M</text>
<text text-anchor='middle' x='256' y='212' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='256' y='228' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='256' y='244' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='256' y='276' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='256' y='308' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='256' y='324' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='256' y='340' fill='currentColor' style='font-size:1em'>x</text>
<text text-anchor='middle' x='264' y='20' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='100' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='264' y='116' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='264' y='132' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='264' y='148' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='264' y='196' fill='currentColor' style='font-size:1em'>G</text>
<text text-anchor='middle' x='264' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='228' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='244' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='264' y='276' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='264' y='308' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='264' y='324' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='264' y='340' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='272' y='20' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='272' y='100' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='272' y='116' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='272' y='196' fill='currentColor' style='font-size:1em'>F</text>
<text text-anchor='middle' x='272' y='212' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='272' y='228' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='272' y='244' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='272' y='276' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='272' y='324' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='20' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='280' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='280' y='116' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='280' y='164' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='280' y='180' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='280' y='196' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='280' y='276' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='280' y='308' fill='currentColor' style='font-size:1em'>}</text>
<text text-anchor='middle' x='280' y='324' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='280' y='340' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='288' y='20' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='288' y='100' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='288' y='116' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='288' y='148' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='288' y='164' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='288' y='180' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='288' y='196' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='288' y='228' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='288' y='244' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='288' y='276' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='288' y='324' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='288' y='340' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='296' y='20' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='296' y='116' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='296' y='164' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='180' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='296' y='196' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='296' y='212' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='296' y='228' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='296' y='244' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='296' y='276' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='304' y='20' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='304' y='164' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='304' y='180' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='304' y='196' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='304' y='212' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='304' y='228' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='244' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='304' y='276' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='304' y='340' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='312' y='20' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='312' y='100' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='312' y='116' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='312' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='312' y='196' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='312' y='212' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='312' y='276' fill='currentColor' style='font-size:1em'>.</text>
<text text-anchor='middle' x='312' y='340' fill='currentColor' style='font-size:1em'>h</text>
<text text-anchor='middle' x='320' y='20' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='320' y='100' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='320' y='116' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='320' y='164' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='320' y='180' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='320' y='196' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='320' y='212' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='320' y='228' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='320' y='244' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='320' y='276' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='320' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='328' y='20' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='328' y='100' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='328' y='116' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='328' y='164' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='328' y='180' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='328' y='196' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='328' y='212' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='328' y='228' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='328' y='244' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='336' y='20' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='336' y='164' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='336' y='180' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='336' y='196' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='336' y='212' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='336' y='228' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='336' y='244' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='336' y='340' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='344' y='20' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='344' y='100' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='344' y='116' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='344' y='148' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='344' y='164' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='344' y='180' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='344' y='196' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='344' y='212' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='344' y='228' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='344' y='244' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='344' y='276' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='344' y='340' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='352' y='20' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='352' y='100' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='352' y='116' fill='currentColor' style='font-size:1em'>u</text>
<text text-anchor='middle' x='352' y='148' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='352' y='164' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='352' y='180' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='352' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='352' y='228' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='352' y='244' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='352' y='276' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='352' y='340' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='20' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='360' y='100' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='360' y='116' fill='currentColor' style='font-size:1em'>b</text>
<text text-anchor='middle' x='360' y='212' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='360' y='228' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='360' y='244' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='360' y='276' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='360' y='340' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='368' y='20' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='368' y='100' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='368' y='116' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='368' y='196' fill='currentColor' style='font-size:1em'>(</text>
<text text-anchor='middle' x='368' y='228' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='368' y='244' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='368' y='276' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='368' y='340' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='376' y='100' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='376' y='116' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='376' y='196' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='376' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='376' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='376' y='244' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='376' y='276' fill='currentColor' style='font-size:1em'>s</text>
<text text-anchor='middle' x='376' y='340' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='384' y='100' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='384' y='116' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='384' y='196' fill='currentColor' style='font-size:1em'>o</text>
<text text-anchor='middle' x='384' y='212' fill='currentColor' style='font-size:1em'>n</text>
<text text-anchor='middle' x='384' y='276' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='384' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='392' y='196' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='392' y='212' fill='currentColor' style='font-size:1em'>c</text>
<text text-anchor='middle' x='392' y='228' fill='currentColor' style='font-size:1em'>→</text>
<text text-anchor='middle' x='392' y='244' fill='currentColor' style='font-size:1em'>→</text>
<text text-anchor='middle' x='392' y='276' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='392' y='340' fill='currentColor' style='font-size:1em'>x</text>
<text text-anchor='middle' x='400' y='116' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='400' y='148' fill='currentColor' style='font-size:1em'>→</text>
<text text-anchor='middle' x='400' y='164' fill='currentColor' style='font-size:1em'>→</text>
<text text-anchor='middle' x='400' y='180' fill='currentColor' style='font-size:1em'>→</text>
<text text-anchor='middle' x='400' y='212' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='400' y='276' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='400' y='340' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='408' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='408' y='196' fill='currentColor' style='font-size:1em'>O</text>
<text text-anchor='middle' x='408' y='212' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='408' y='228' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='408' y='244' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='408' y='276' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='416' y='116' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='416' y='148' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='416' y='164' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='416' y='180' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='416' y='196' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='416' y='212' fill='currentColor' style='font-size:1em'>p</text>
<text text-anchor='middle' x='416' y='228' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='416' y='244' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='416' y='276' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='416' y='340' fill='currentColor' style='font-size:1em'>k</text>
<text text-anchor='middle' x='424' y='148' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='424' y='164' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='424' y='180' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='424' y='196' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='424' y='212' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='424' y='228' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='424' y='244' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='424' y='276' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='424' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='432' y='116' fill='currentColor' style='font-size:1em'>D</text>
<text text-anchor='middle' x='432' y='148' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='432' y='164' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='432' y='180' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='432' y='196' fill='currentColor' style='font-size:1em'>P</text>
<text text-anchor='middle' x='432' y='212' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='432' y='276' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='432' y='340' fill='currentColor' style='font-size:1em'>y</text>
<text text-anchor='middle' x='440' y='116' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='440' y='196' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='440' y='212' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='440' y='228' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='440' y='244' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='448' y='116' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='448' y='148' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='448' y='164' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='448' y='180' fill='currentColor' style='font-size:1em'>=</text>
<text text-anchor='middle' x='448' y='196' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='448' y='340' fill='currentColor' style='font-size:1em'>m</text>
<text text-anchor='middle' x='456' y='116' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='456' y='196' fill='currentColor' style='font-size:1em'>H</text>
<text text-anchor='middle' x='456' y='212' fill='currentColor' style='font-size:1em'>C</text>
<text text-anchor='middle' x='456' y='228' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='456' y='244' fill='currentColor' style='font-size:1em'>7</text>
<text text-anchor='middle' x='456' y='340' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='464' y='148' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='464' y='164' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='464' y='180' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='464' y='196' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='464' y='212' fill='currentColor' style='font-size:1em'>E</text>
<text text-anchor='middle' x='464' y='228' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='464' y='244' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='464' y='340' fill='currentColor' style='font-size:1em'>t</text>
<text text-anchor='middle' x='472' y='148' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='472' y='164' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='472' y='180' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='472' y='196' fill='currentColor' style='font-size:1em'>_</text>
<text text-anchor='middle' x='472' y='212' fill='currentColor' style='font-size:1em'>K</text>
<text text-anchor='middle' x='472' y='228' fill='currentColor' style='font-size:1em'>1</text>
<text text-anchor='middle' x='472' y='244' fill='currentColor' style='font-size:1em'>9</text>
<text text-anchor='middle' x='472' y='340' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='480' y='116' fill='currentColor' style='font-size:1em'>←</text>
<text text-anchor='middle' x='480' y='148' fill='currentColor' style='font-size:1em'>3</text>
<text text-anchor='middle' x='480' y='164' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='480' y='180' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='480' y='196' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='480' y='212' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='480' y='228' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='480' y='244' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='480' y='340' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='488' y='148' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='488' y='164' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='488' y='180' fill='currentColor' style='font-size:1em'>B</text>
<text text-anchor='middle' x='488' y='196' fill='currentColor' style='font-size:1em'>5</text>
<text text-anchor='middle' x='488' y='340' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='496' y='116' fill='currentColor' style='font-size:1em'>v</text>
<text text-anchor='middle' x='496' y='196' fill='currentColor' style='font-size:1em'>6</text>
<text text-anchor='middle' x='496' y='340' fill='currentColor' style='font-size:1em'>a</text>
<text text-anchor='middle' x='504' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='504' y='148' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='504' y='164' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='504' y='180' fill='currentColor' style='font-size:1em'>w</text>
<text text-anchor='middle' x='504' y='196' fill='currentColor' style='font-size:1em'>)</text>
<text text-anchor='middle' x='504' y='340' fill='currentColor' style='font-size:1em'>l</text>
<text text-anchor='middle' x='512' y='116' fill='currentColor' style='font-size:1em'>r</text>
<text text-anchor='middle' x='512' y='148' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='512' y='164' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='512' y='180' fill='currentColor' style='font-size:1em'>/</text>
<text text-anchor='middle' x='520' y='116' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='528' y='116' fill='currentColor' style='font-size:1em'>f</text>
<text text-anchor='middle' x='528' y='148' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='528' y='164' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='528' y='180' fill='currentColor' style='font-size:1em'>R</text>
<text text-anchor='middle' x='536' y='116' fill='currentColor' style='font-size:1em'>i</text>
<text text-anchor='middle' x='536' y='148' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='536' y='164' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='536' y='180' fill='currentColor' style='font-size:1em'>S</text>
<text text-anchor='middle' x='544' y='116' fill='currentColor' style='font-size:1em'>e</text>
<text text-anchor='middle' x='544' y='148' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='544' y='164' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='544' y='180' fill='currentColor' style='font-size:1em'>A</text>
<text text-anchor='middle' x='552' y='116' fill='currentColor' style='font-size:1em'>d</text>
<text text-anchor='middle' x='552' y='148' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='552' y='164' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='552' y='180' fill='currentColor' style='font-size:1em'>-</text>
<text text-anchor='middle' x='560' y='148' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='560' y='164' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='560' y='180' fill='currentColor' style='font-size:1em'>2</text>
<text text-anchor='middle' x='568' y='148' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='568' y='164' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='568' y='180' fill='currentColor' style='font-size:1em'>0</text>
<text text-anchor='middle' x='576' y='148' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='576' y='164' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='576' y='180' fill='currentColor' style='font-size:1em'>4</text>
<text text-anchor='middle' x='584' y='148' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='584' y='164' fill='currentColor' style='font-size:1em'>8</text>
<text text-anchor='middle' x='584' y='180' fill='currentColor' style='font-size:1em'>8</text>
</g>
</svg>
</div>
<figcaption><span>Figure 13: KMS CiphertextForRecipient. Note the use of AES-CBC.</span></figcaption></figure>
New Pets, Sick Pets, and Hemorrhaging Money - Kev Quirk
https://kevquirk.com/new-pets-sick-pets-and-hemorrhaging-money
2026-08-05T10:33:00.000Z
<p>Wooh! The last few weeks have been absolutely mental here in Casa del Quirk.</p>
<p>Around 2 months ago we started renovating the stables to make things better for the goats and chickens. We've had an extraction system put in so fresh air is always circulating, as chickens are <em>very</em> dusty and goats don't like it too hot and stuffy.</p>
<p>While we were at it, we also had some new fencing and gates put in, as well as better hard standing around the stables. Finally we had the old, rotten windows and doors replaced with lovely new ones that have shutters so we can control the air flow depending on the weather.</p>
<p><img loading="lazy" src="https://kevquirk.com/content/images/new-pets-sick-pets-and-hemorrhaging-money/stables.webp" alt="stables" />
<em>Our stables with the new windows and doors</em></p>
<p>As you can imagine, this has been a significant expense, but we planned for it. So it's all good, but then...</p>
<h2>Sick pet</h2>
<p>Around a month ago we noticed that our older (and favourite) dog, Tia, had rather smelly breath and her mouth was bleeding when she was playing with her ball. We figured it's just old age and bad teeth, so we took her to the vet to have her mouth checked and properly cleaned.</p>
<p>Unfortunately it was bad news. Tia has a benign but aggressive tumour growing in her gum. Apparently they're relatively common in older dogs (she's nearly 14) but if left untreated it would get very painful and we ultimately end up having to have her euthanised as it would significantly effect her quality of life.</p>
<p>So we paid the unexpected £1,000 (~$1,350) bill to have the initial tumour removed, her teeth cleaned, and a biopsy. In the meantime we were also referred to a specialist to hopefully get the issue sorted properly.</p>
<p>Last week Tia went to the specialist to have a full body CT scan. This would give them more info about the tumour in her mouth and what our options are, but also (because she's so old) let us know if there's anything more malicious going on in her body.</p>
<p>We have to be pragmatic about this - the treatment was going to be expensive, and we had to make a call on whether we wanted it doing if they found something like cancer lingering somewhere in her body. Luckily for us the old girl came back with a clean bill of health and the tumour was treatable. That was another £1,500 (~$2,020) down the drain, but well spent.</p>
<p>The procedure to treat the tumour involved taking around 40mm (~1.5") of her lower jaw away. It's a significant operation and the recovery, especially for an older dog, will be difficult. On Monday she had the procedure, it went really well, and yesterday she came home a day earlier than we expected. She's a tough old girl.</p>
<p><img loading="lazy" src="https://kevquirk.com/content/images/new-pets-sick-pets-and-hemorrhaging-money/tia-car.webp" alt="tia-car" /></p>
<p>She's much better today, but still struggling as she's been through a lot. Having a pet that's in pain is the worst - you can't really reassure them like you can a human, so you find yourself hopelessly watching them suffer.</p>
<p>It's heartbreaking, but it's for the best. We're still to get the bill for this procedure, but the vet has estimated an eye-watering £4,400 (~$6,000).</p>
<p>If anyone is playing along, that's £6,900 (~$9,200) in unexpected vet bills over the last few weeks. She also isn't insured as it's prohibitively expensive for a dog of her age. So we need to foot the entire bill.</p>
<p>Anyway, on to more positive news...</p>
<h2>New pet</h2>
<p>Last Saturday we welcomed the newest addition to our family, Nelly the 8 week old Labrador/cocker spaniel cross. The breed is known as a Cockador apparently - very unfortunate name if you ask me.</p>
<p><img loading="lazy" src="https://kevquirk.com/content/images/new-pets-sick-pets-and-hemorrhaging-money/nell-first-vet-visit.webp" alt="Nell-first-vet-visit" />
<em>Nelly on her first visit to the vet, being very good.</em></p>
<p>Like any puppy, Nelly is a lot of work. Especially if you add into the mix a very sick dog, and the kids being off school for the summer holidays. I've also been working long hours recently, so my poor wife has been juggling most of this on her own. She's at her whits end.</p>
<p>Nelly, Tia, and our other dog Sidney are all getting on well though. Nelly is even helping distract Tia from the pain she's in.</p>
<p><img loading="lazy" src="https://kevquirk.com/content/images/new-pets-sick-pets-and-hemorrhaging-money/nelly-and-tia.webp" alt="nelly-and-tia" /></p>
<p>It's fair to say that all our savings are gone, and the last of Tia's treatment will need to be thrown on a credit card so we can pay it off over the next few months.</p>
<p>Things are extremely busy and stressful at the moment. But hopefully we will have Tia for a couple more years so her, Nelly, and Sid will become a proper little pack that gives us lots of lovely memories.</p>
<p>Pets are a gift and we wouldn't have it any other way. I just wish vets bills were a little cheaper!</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=New%20Pets%2C%20Sick%20Pets%2C%20and%20Hemorrhaging%20Money">reply to this post by email</a>, or <a href="https://kevquirk.com/new-pets-sick-pets-and-hemorrhaging-money#comments">leave a comment</a>.</p>
</div>
Museums - James' Coffee Blog
https://jamesg.blog/2026/08/05/museums-2
2026-08-05T00:00:00.000Z
<p>Earlier this week I was thinking about inspiration – what inspires me to write? Nature, friends, what I see in the world as I walk around – all these are the basis of many of my blog posts. Museums, too, inspire me, both to think and to create. When I am in a museum, I can get lost in an artwork, ebbing between the beauty of a piece and then, afterwards, studying the work – what can I see, what do I see.</p><p>Whenever I spent time in galleries, I lose track of time. Half an hour can pass as if it were a minute. I might spend all that time in a single room, perhaps with only a few works that really stand out to me. I wonder if the more I look, the more I make a memory of a piece or a place, ready for me whenever I want to spend time with art. For instance, writing this paragraph reminded me of an exhibit of British landscape paintings I attended at the Courtauld Institute earlier this year. I remember spending so much time in the room, eager to see every painting, each one as fascinating as the last.</p><p><a href="https://dead.garden/blog/museum--guestbooks.html">Jo</a>’s blog post on museums and guestbooks made me think of museums as creative spaces: as a place not only to see art, but to make art, too. For me, I like to keep my notes handy, ready to capture anything I observe: a particular painting that stands out, a sound, an idea for a story, a point I will want to research later. I also love seeing people sketch and draw, practicing techniques and creating art from what they see. Jo’s blog post made me think of photography in a similar way: taking photos as part of a creative practice. In Jo’s case, the photos transform what is in the gallery, giving them a new perspective by product of the medium.</p><p>Every time I visit a gallery I see something new within the old, even if I have visited a dozen or more times before. Museums feel like a home away from home.</p>
<a class="tag" href="https://dead.garden/blog/museum--guestbooks.html">Jo</a>
Space (making) - James' Coffee Blog
https://jamesg.blog/2026/08/05/space-making
2026-08-05T00:00:00.000Z
<style media="(prefers-color-scheme: dark)">pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #49483e }
.highlight { background: #272822; color: #F8F8F2 }
.highlight .c { color: #959077 } /* Comment */
.highlight .err { color: #ED007E; background-color: #1E0010 } /* Error */
.highlight .esc { color: #F8F8F2 } /* Escape */
.highlight .g { color: #F8F8F2 } /* Generic */
.highlight .k { color: #66D9EF } /* Keyword */
.highlight .l { color: #AE81FF } /* Literal */
.highlight .n { color: #F8F8F2 } /* Name */
.highlight .o { color: #FF4689 } /* Operator */
.highlight .x { color: #F8F8F2 } /* Other */
.highlight .p { color: #F8F8F2 } /* Punctuation */
.highlight .ch { color: #959077 } /* Comment.Hashbang */
.highlight .cm { color: #959077 } /* Comment.Multiline */
.highlight .cp { color: #959077 } /* Comment.Preproc */
.highlight .cpf { color: #959077 } /* Comment.PreprocFile */
.highlight .c1 { color: #959077 } /* Comment.Single */
.highlight .cs { color: #959077 } /* Comment.Special */
.highlight .gd { color: #FF4689 } /* Generic.Deleted */
.highlight .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #F8F8F2 } /* Generic.Error */
.highlight .gh { color: #F8F8F2 } /* Generic.Heading */
.highlight .gi { color: #A6E22E } /* Generic.Inserted */
.highlight .go { color: #66D9EF } /* Generic.Output */
.highlight .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #959077 } /* Generic.Subheading */
.highlight .gt { color: #F8F8F2 } /* Generic.Traceback */
.highlight .kc { color: #66D9EF } /* Keyword.Constant */
.highlight .kd { color: #66D9EF } /* Keyword.Declaration */
.highlight .kn { color: #FF4689 } /* Keyword.Namespace */
.highlight .kp { color: #66D9EF } /* Keyword.Pseudo */
.highlight .kr { color: #66D9EF } /* Keyword.Reserved */
.highlight .kt { color: #66D9EF } /* Keyword.Type */
.highlight .ld { color: #E6DB74 } /* Literal.Date */
.highlight .m { color: #AE81FF } /* Literal.Number */
.highlight .s { color: #E6DB74 } /* Literal.String */
.highlight .na { color: #A6E22E } /* Name.Attribute */
.highlight .nb { color: #F8F8F2 } /* Name.Builtin */
.highlight .nc { color: #A6E22E } /* Name.Class */
.highlight .no { color: #66D9EF } /* Name.Constant */
.highlight .nd { color: #A6E22E } /* Name.Decorator */
.highlight .ni { color: #F8F8F2 } /* Name.Entity */
.highlight .ne { color: #A6E22E } /* Name.Exception */
.highlight .nf { color: #A6E22E } /* Name.Function */
.highlight .nl { color: #F8F8F2 } /* Name.Label */
.highlight .nn { color: #F8F8F2 } /* Name.Namespace */
.highlight .nx { color: #A6E22E } /* Name.Other */
.highlight .py { color: #F8F8F2 } /* Name.Property */
.highlight .nt { color: #FF4689 } /* Name.Tag */
.highlight .nv { color: #F8F8F2 } /* Name.Variable */
.highlight .ow { color: #FF4689 } /* Operator.Word */
.highlight .pm { color: #F8F8F2 } /* Punctuation.Marker */
.highlight .w { color: #F8F8F2 } /* Text.Whitespace */
.highlight .mb { color: #AE81FF } /* Literal.Number.Bin */
.highlight .mf { color: #AE81FF } /* Literal.Number.Float */
.highlight .mh { color: #AE81FF } /* Literal.Number.Hex */
.highlight .mi { color: #AE81FF } /* Literal.Number.Integer */
.highlight .mo { color: #AE81FF } /* Literal.Number.Oct */
.highlight .sa { color: #E6DB74 } /* Literal.String.Affix */
.highlight .sb { color: #E6DB74 } /* Literal.String.Backtick */
.highlight .sc { color: #E6DB74 } /* Literal.String.Char */
.highlight .dl { color: #E6DB74 } /* Literal.String.Delimiter */
.highlight .sd { color: #E6DB74 } /* Literal.String.Doc */
.highlight .s2 { color: #E6DB74 } /* Literal.String.Double */
.highlight .se { color: #AE81FF } /* Literal.String.Escape */
.highlight .sh { color: #E6DB74 } /* Literal.String.Heredoc */
.highlight .si { color: #E6DB74 } /* Literal.String.Interpol */
.highlight .sx { color: #E6DB74 } /* Literal.String.Other */
.highlight .sr { color: #E6DB74 } /* Literal.String.Regex */
.highlight .s1 { color: #E6DB74 } /* Literal.String.Single */
.highlight .ss { color: #E6DB74 } /* Literal.String.Symbol */
.highlight .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #A6E22E } /* Name.Function.Magic */
.highlight .vc { color: #F8F8F2 } /* Name.Variable.Class */
.highlight .vg { color: #F8F8F2 } /* Name.Variable.Global */
.highlight .vi { color: #F8F8F2 } /* Name.Variable.Instance */
.highlight .vm { color: #F8F8F2 } /* Name.Variable.Magic */
.highlight .il { color: #AE81FF } /* Literal.Number.Integer.Long */ .highlight .nn, .highlight .n{color: light-dark(black, var(--dark-foreground-color)) }</style><style media="(prefers-color-scheme: light)">pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #F00 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666 } /* Operator */
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #E40000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #008400 } /* Generic.Inserted */
.highlight .go { color: #717171 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #04D } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #687822 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #00F; font-weight: bold } /* Name.Class */
.highlight .no { color: #800 } /* Name.Constant */
.highlight .nd { color: #A2F } /* Name.Decorator */
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #00F } /* Name.Function */
.highlight .nl { color: #767600 } /* Name.Label */
.highlight .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.highlight .w { color: #BBB } /* Text.Whitespace */
.highlight .mb { color: #666 } /* Literal.Number.Bin */
.highlight .mf { color: #666 } /* Literal.Number.Float */
.highlight .mh { color: #666 } /* Literal.Number.Hex */
.highlight .mi { color: #666 } /* Literal.Number.Integer */
.highlight .mo { color: #666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #00F } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666 } /* Literal.Number.Integer.Long */</style>
<style>
@font-face {
font-family: 'MonaspaceArgon';
src: url('/assets/fonts/MonaspaceArgon-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
pre, code {
font-family: 'MonaspaceArgon', ui-monospace, monospace;
}
</style>
<div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">style</span><span class="p">></span>
<span class="w"> </span><span class="p">.</span><span class="nc">navigation</span><span class="o">,</span><span class="w"> </span><span class="nt">details</span><span class="o">,</span><span class="w"> </span><span class="nt">summary</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">display</span><span class="p">:</span><span class="w"> </span><span class="kc">none</span><span class="p">;</span><span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">@</span><span class="k">media</span><span class="w"> </span><span class="o">(</span><span class="nt">max-width</span><span class="o">:</span><span class="w"> </span><span class="nt">40em</span><span class="o">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="p">.</span><span class="nc">site-name-mobile</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">margin</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="cp">!important</span><span class="p">;</span><span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">.</span><span class="nc">navigation-full</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">align-content</span><span class="p">:</span><span class="w"> </span><span class="kc">center</span><span class="p">;</span><span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">}</span>
<span class="p"></</span><span class="nt">style</span><span class="p">></span>
</pre></div>
<!--kg-card-begin: html-->
<style>
.navigation, details, summary { display: none; }
@media (max-width: 40em) {
.site-name-mobile { margin: 0 !important; }
.navigation-full { align-content: center; }
}
</style>
<!--kg-card-end: html-->
Space - James' Coffee Blog
https://jamesg.blog/2026/08/05/space-2
2026-08-05T00:00:00.000Z
<p></p><p></p>
<!--kg-card-begin: html-->
<style>
.navigation, details, summary { display: none; }
@media (max-width: 40em) {
.site-name-mobile { margin: 0 !important; }
.navigation-full { align-content: center; }
}
</style>
<!--kg-card-end: html-->
Farewell Cadence - Posts feed
https://www.coryd.dev/posts/2026/farewell-cadence
2026-08-04T21:55:00.000Z
<p>Replying to <a class="u-in-reply-to" href="https://www.coryd.dev/posts/2025/i-made-a-music-app">"I made a music app"</a></p><div class="e-content block-subcanvas"><p><mark>I've decided to retire Cadence, my iOS and macOS Navidrome client.</mark> This isn't a post I was planning to write and it wasn't the easiest decision. I originally created Cadence because there wasn't a <a href="https://navidrome.org">Navidrome</a> or <a href="https://www.subsonic.org">Subsonic</a> client I was happy with or enjoyed using. That is no longer the case.</p>
<p>Cadence was the first native app I'd authored in <em>years</em> and was an interesting challenge. Navidrome's support of the Subsonic API is well documented and clear. But streaming and dealing with audio is not easy. It likely wasn't the best choice of app to dive back in with, but I learned a lot.</p>
<p>I could continue to support it on its own merits but, of all the things I maintain for myself, I found it to be the most demanding. It felt like I was spending a disproportionate amount of time on a solution to a problem I no longer had.</p>
<p>I could riff on this some more, but the crux of it is this: I don't love mobile app development and the apps I wanted to see emerged while I was building and using Cadence. I've been using <a href="https://navibeat.app">NaviBeat</a>. I love the design, the wealth of features and the fact that it's ubiquitous across all Apple devices. <a href="https://apps.apple.com/us/app/arpeggi/id6503619183">Arpeggi</a>, <a href="https://nautiline.app">Nautiline</a> and <a href="https://narjomusic.com">Narjo</a> are also good options.</p>
<p>This has nothing to do with me continuing to maintain and develop <a href="https://www.coryd.dev/posts/2026/ribbon-a-linkding-client">Ribbon</a>. It's a much narrower, less demanding app and one that I do remain passionate about.</p>
<p>If you bought Cadence recently or otherwise want a refund, I encourage you <a href="https://support.apple.com/en-us/118223">to request one from Apple</a>. I've removed the App Store listing, but it will remain available in your purchase history.</p>
<p>Lastly, thank you, thank you, thank you to everyone that supported Cadence.</p>
</div>
Not paranoid, but respectful - Joel's Log Files
https://joelchrono.xyz/blog/not-just-paranoia
2026-08-04T15:45:00.000Z
<p>Andreas posted some interesting thoughts, wondering if maybe we are <a href="http://82mhz.net/posts/2026/08/are-we-becoming-too-paranoid-about-ai-slop/">too paranoid when it comes to AI slop</a>. Please, go read his words first, I only intend to add to the conversation here, not to put him in an uncomfortable position or something, we are friends and everything after all—<em>even if he barely mentions my posts on his <a href="https://82mhz.net/posts/#Linkdumps">Link Dumps</a>… 😭</em></p>
<p>As someone who posts to the internet and exposes a fair chunk of my thoughts out in the open for everyone to read. It is undeniable that, as free as we are, we do care about what others think of us and our opinions, and most of us would rather avoid getting in trouble.</p>
<p>We limit ourselves all the time, some of us learn about certain dog whistles or slang to avoid which may seem funny and even popular in the mainstream, yet they originate from dark places we’d rather not support. Of course, we also don’t really talk about certain things that could break the law, such as sharing copyrighted material.</p>
<p>Both situations can end up with pretty harsh consequences, and both of them are relatively easy to avoid. I think that the same goes for media generated with AI. It’s a matter of respect, for the original artists whose work got stolen, and for the audience who interacts with the work you put out there.</p>
<p>It’s true that we can end up policing each other, I have seen people who don’t ever give the benefit of the doubt for things like this, immediately attacking someone because their post contains an image whose origin they didn’t even know. As humans we definitely should be more understanding of each other.</p>
<p>Of course, there is also people who purposefully generate images, who think they are pretty, and may be naive about the complexities and harms of their use. Sure, some don’t care at all, but I’m happy to avoid those people and move on with my life.</p>
<p>So, yeah, while it’s a bit of a burden, and it can be annoying to feel once again limited by other people’s expectations. Isn’t that something we already do? We already know not to promote certain symbols in the wrong context, we also avoid to refer to people in a certain ways, it’s mostly common sense.</p>
<p>It’s true however, that it’s not very easy to tell nowadays when it comes to some pretty convincing slop. There is no golden rule other than maybe just, not sharing things whose origin we are not familiar with altogheter.</p>
<p>Especially when it comes to blog posts that are just text anyway and may not even require it. Some of us are very fixated on having a graphic somewhere, to gather more attention and bring more eyes to what you share. I have had this feeling before, I’ll probably have a banner image on this post because why not—<em>or not because I’m lazy</em>. But again, text should be able to stand by its own, and I’m sure there’s a lot of people who are there for your words, and not necessarily the graphics around.</p>
<p><em>Of course there’s something to be said about the beautiful work some people do to make awesome theming on their websites and special posts that end up turning a page into a unique piece of art, but that’s a different point to make!</em></p>
<p>In the end, it is annoying, and we can definitely feel the pressure of having yet another thing to worry about when sharing things online. But I think that burden is easier to carry when we know we are respecting other people by doing so.</p>
<p>Now with Blaugust going on, a lot of conversation has shifted to how the event decided to handle AI generated stuff. Personally, I don’t want anything to do with any of it, but I also know it’s not easy to police and don’t really have any reason to lash out against any specific person about it. I will simply not read, nor promote any of the blogposts I see that make use of it, out of respect to myself and those who read what I say here.</p>
<p>This is day 9 of <a href="https://100DaysToOffload.com">#100DaysToOffload</a>, day 4 of <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/">#Blaugust2026</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Not paranoid, but respectful">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117038048855743049">Reply on Fediverse</a>
</p>
📝 2026-08-04 15:43: Thinking about selling the 64GB RAM from my laptop and paying off my mortgage... - Kev Quirk
https://kevquirk.com/2026-08-04-1543
2026-08-04T14:43:00.000Z
<p>Thinking about selling the 64GB RAM from my laptop and paying off my mortgage...</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=%F0%9F%93%9D%202026-08-04%2015%3A43">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-08-04-1543#comments">leave a comment</a>.</p>
</div>
Gig Review: Belle & Sebastian - If You’re Feeling Sinister at Margate Dreamland ★★★★★ - Terence Eden’s Blog
https://shkspr.mobi/blog/?p=73662
2026-08-04T11:34:22.000Z
<p>It's 1998 and Doogie<sup id="fnref:doogie"><a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fn:doogie" class="footnote-ref" title="I'm reasonably sure his real name was "Chris" - but we already had a Chris on the corridor so he was renamed Doogie because he looked (a tiny bit) like Doogie Howser." role="doc-noteref">0</a></sup>, the guy across the hall in our student accommodation, will <em>not</em> stop playing The Boy With The Arab Strap. Eventually I crack and ask him who the band are. He infodumps on me with all the authority of an 18 year our music snob about this cool new Scottish band called Belle & Sebastian. I slip him a tenner, a couple of Smirnoff Ice, and the promise of my help on the next assignment we have - in return he pops into town and grabs me If You’re Feeling Sinister. Despite my obsession, the band never tour near our uni until literally the day after I leave for good.</p>
<p>It's 2023 and Dan, my mate at Twitter, invites me to fly to San Francisco to speak at a conferences he's running. Twitter will pay for my flights, hotel, and sundries. I look at the tickets for Belle & Sebastian at the Roundhouse that I'd booked for my birthday. Ah well, I get to celebrate in SF with a bunch of American friends I've not seen in years. I reluctantly cancel the tickets and spend the refund on flight upgrades. A few days later, some twunt<sup id="fnref:twunt"><a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fn:twunt" class="footnote-ref" title="Though lacking both the depth and warmth." role="doc-noteref">1</a></sup> buys Twitter and cancels all conference spending - including my flight over. In the meantime, all remaining gig tickets are snapped up.</p>
<p>It's 2026 and Liz, my wife, declares a previously unmentioned desire to visit the coastal town of Margate. By coincidence, Belle & Sebastian are playing there this summer! We snap up tickets and book a cute apartment on the sea-front. By the time the apartment tells us they're double booked and are cancelling, the hotel prices for Margate have rocketed. The best we can do is a Travelodge in a shopping centre nearer Ramsgate than Margate! The train to get us there is severely delayed<sup id="fnref:delay"><a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fn:delay" class="footnote-ref" title="Four whole pounds in Delay Repay compensation!" role="doc-noteref">2</a></sup>, I get a touch of food poisoning, and the bus to the venue is snarled in traffic.</p>
<p>At which point I reluctantly conclude that the universe doesn't want me to see Belle & Sebastian<sup id="fnref:time"><a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fn:time" class="footnote-ref" title="I concede it might also be time travellers preventing me from seeing them for inscrutable reasons." role="doc-noteref">3</a></sup>.</p>
<p>Nevertheless! We saw them and they were fucking brilliant!</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/bands.webp" alt="Belle and Sebastian on stage." width="2048" height="1542" class="aligncenter size-full wp-image-73666">
<p>Much like <a href="https://shkspr.mobi/blog/2016/12/review-kula-shaker-20th-anniversary-tour-%f0%9f%95%89/">the Kula Shaker gig</a> I attended a few years ago, this was an anniversary concert. They played the album If You’re Feeling Sinister in its entirety. The second half of the concert was a bunch of old hits - including one of my personal favourite "Seymour Stein".</p>
<p>The support act were Saint Etienne. I knew "He's On The Phone" and was pleasantly surprised to discover I half-remembered a few more of their songs.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/stet.webp" alt="Terry and Liz standing in front of a stage." width="2048" height="1536" class="aligncenter size-full wp-image-73665">
<p>Both bands gave plenty of audience interaction. I'll never understand the artists who basically ignore the crowd except to say "Hello *<em>checks notes</em>* Wimberlyton!" It didn't feel too forced or scripted. There was a lovely game of adult peak-a-boo<sup id="fnref:icu"><a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fn:icu" class="footnote-ref" title="An encore. I remember seeing James Marsters ending his set by saying "I'm going to pretend this is the end of the show and you're going to pretend me coming back on for one last number is a big…" role="doc-noteref">4</a></sup> to round things off.</p>
<p>Dreamland is a pretty decent venue. Crowd control was handled well and security were perfectly pleasant. The astroturf grounds were reasonably comfortable to sit on before the gig. I didn't feel the need to pay a fiver to go on any ride, but kinda nice to see them there. Several big advertising screens let people know that free water was available - as well as showing details of upcoming gigs.</p>
<p>The crowd skewed old<sup id="fnref:old"><a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fn:old" class="footnote-ref" title="Not me though. Never!" role="doc-noteref">5</a></sup> although there were a fair few starry-eyed dreamers not <em>all</em> of whom appeared to have been dragged there by their parents.</p>
<p>I am delighted to <em>finally</em> be in the demographic where all my old childhood favourites are being aggressively monetised.</p>
<div id="footnotes" role="doc-endnotes">
<hr aria-label="Footnotes">
<ol start="0">
<li id="fn:doogie">
<p>I'm <em>reasonably</em> sure his real name was "Chris" - but we already had a Chris on the corridor so he was renamed Doogie because he looked (a tiny bit) like Doogie Howser. <a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fnref:doogie" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:twunt">
<p>Though lacking both the depth and warmth. <a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fnref:twunt" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:delay">
<p>Four whole pounds in Delay Repay compensation! <a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fnref:delay" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:time">
<p>I concede it might also be time travellers preventing me from seeing them for inscrutable reasons. <a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fnref:time" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:icu">
<p>An encore. I remember seeing James Marsters ending his set by saying "I'm going to pretend this is the end of the show and you're going to pretend me coming back on for one last number is a big surprise." <a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fnref:icu" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:old">
<p>Not me though. Never! <a href="https://shkspr.mobi/blog/2026/08/gig-review-belle-sebastian-if-youre-feeling-sinister-at-margate-dreamland/#fnref:old" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=73662&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">
Spider-Man's great, more handheld gaming - W31 - Joel's Log Files
https://joelchrono.xyz/blog/2026-w31
2026-08-04T02:28:21.000Z
<p>When the events I share on my weeknotes are few and far between, it’s often because I wrote a lot of posts already talking about stuff that was interesting to me during the week, so, yeah it happens sometimes! In any case, this is some of the other stuff that happened between July 28 and August 3, 2026!</p>
<ul>
<li>
<p>📅 In case you missed it, I joined <a href="https://www.containsmoderateperil.com/blog/2026/7/14/blaugust-2026-q-ampa">Blaugust for 2026</a>, a month long event where the point is to write and participate as much as you want! Of coures, I’m going for the full 31 posts, though there are plenty of tiers available to choose a challenge that fits you best. As long as it gets you to blog it’s okay!</p>
</li>
<li>
<p>🕹️ So the <a href="https://anbernic.com/products/rg-sp">Anbernic RG SP</a> is about to come out and it’s exactly the same form factor as the original GBA SP, so better looking than the bulkier RG35XX SP I own, and I want it so badly because it looks so good but I also know I should not get it since I literally have no need for it. In any case, do consider it if you are looking for an alternative handheld, it’s extremely good.</p>
</li>
<li>
<p>🏠 I was home alone once again! It’s the reason I got to complete a game on my Nintendo Switch—which you’ll see down below—as I played it on the living room and had an awesome full TV screen in the dark experience with it.</p>
</li>
<li>
<p>🔧 Remember when I said our house flooded because of heavy rain and the plumbing being a mess but that it got fixed? Well… <em>it wasn’t fixed</em>. Thankfully we’ve been at home and able to do damage control successfully.</p>
</li>
<li>
<p>🎥 Once my parents returned from the trip we actually set-up a super tight movie day where we watched <em>Spider-Man: Brand New Day</em>, but we hadn’t eaten yet so we got super fast chinese food, ate in fifteen minutes, and didn’t even stay for the credits because we had a different appointment. It was a flash but it was fun anyway.</p>
</li>
<li>
<p>💪 No gym at all this week. Once again, being alone most of the week means I prefer to be at home than to do stuff outside. I am returning for sure this week though. I have to admit I didn’t even use my bicycle on the weekend again. I need to commit before the hobby goes cold, I won’t let that happen.</p>
</li>
</ul>
<figure>
<img src="/assets/img/blogs/2026-08-03-week.webp" />
<figcaption>Gameplay from Gris and some Fire Emblem on my 3DS, art from Centuria, and the Spider-Man poster</figcaption>
</figure>
<h2 id="gaming">Gaming</h2>
<h3 id="started">Started</h3>
<ul>
<li><strong>Star Wars Episode III (GBA)</strong> - Well my sister decided she’d start this game after borrowing my Anbernic RG35XX SP for a bit, and I had to help her get through the first boss fight, only for her to give up soon after. I ended up picking this up and have made quite a bit of progress on it already! It’s a beat’em up with lots of combos, unlockable moves and an actually great combat system for the duels, from what I experienced thus far in the boss fight against Count Dooku. Will probably have it in my rotation for a while before I finish it, or maybe I’ll see it all the way through in a few days…</li>
</ul>
<h3 id="ongoing">Ongoing</h3>
<ul>
<li>
<p><strong>Super Mario 3D World</strong> - Me and friends finally returned to this awesome platformer. This time, we dedicated ourselves to collect more of the missing green stars and stamps in earlier levels instead of continuing with the stories. I just feel like we may as well! Given how good of a platformer this has been, and I don’t really plan on revisiting it once I beat it once, so yeah. Super fun either way!</p>
</li>
<li>
<p><strong>Fire Emblem Awakening</strong> - I beat a couple of side quests to level up characters in my roster, but I made no progress on the main story this week. I did try and failed a couple times, as I lost some characters early on that I wasn’t meaning to. In any case, I am hoping to get better and beat the chapter this week.</p>
</li>
<li>
<p><strong>Donkey Kong ‘94</strong> - This is also a reason why I slowed down on <em>Awakening</em>. This game is simply super fun! I have been doing world after world and now I’m at the 5th one, with a dozen levels for me to go through. I’m trying to get all the collectibles and most of the RetroAchievements, which makes for a wonderful incentive for me to keep going at it. Wonderful level and puzzle design!</p>
</li>
</ul>
<p>#$# Completed</p>
<ul>
<li>✨<strong>Gris</strong> - Early in the week I decided to give my Nintendo Switch some love, and I thought I’d play one of the games I chose for the Summer Game Challenge! I am extremely happy I chose this one. <em>Gris</em> is a wonderful and short experience, a platformer with light puzzle mechanics and an beautiful art style with pastel colors that really does look like a moving painting. It’s just a wonderful experience that I’ll have to write a review for soon. Rest assured, it’s a good one.</li>
</ul>
<h2 id="watching">Watching</h2>
<ul>
<li>
<p><strong>Masters of the Universe</strong> - We saw this on Amazon Prime (it’s a shared account I don’t pay for btw) and kind of really enjoyed it! It was a very self-aware movie that really felt like a Saturday Morning Cartoon. I never watched the original He-Man, but I felt it would be a fun time. We ended up laughing quite a bit at how ridiculous it was, worth a watch I’d say.</p>
</li>
<li>
<p><strong>Spider-Man: Brand New Day</strong> - Now. No jokes here. This movie is Tom Holland’s <em>best</em> Spider-Man film, and this is by a very, very long margin. The best Spider-Man film since the Raimi’s <em>Spider-Man 2</em>. The character, the plot, the conflict at hand, everything was handled extremely well. This is also the best looking Marvel movie in ages, it feels like actual film done by people who know the character and truly had a story to tell. Of course, the action does not stay behind at all. The choreography and sequences were truly epic, everything here is top notch. Maybe my favorite film of the year. Even my parents want to watch it again in a couple weeks (because they are busy this weekend). It’s that good.</p>
</li>
</ul>
<h2 id="reading">Reading</h2>
<ul>
<li>
<p><strong>Leviathan Falls</strong> - Chapters 12-31. That’s about 20 chapters since last time I mentioned it! Since <a href="https://sotolf.polymaths.page">Sotolf</a> told me I should read more books other than Manga, I decided I’d follow his advice. The last book from <em>The Expanse</em> has proven to be an absolute rollercoaster, with a lot of points of view from conflicting characters which are incredibly interesting to me. The story has started to collide and I can see the point of no return coming soon, I’m going to finish it this week!</p>
</li>
<li>
<p><strong>Centuria</strong> - Chapters 3-38. Well, this story sure managed to catch my intersting. Since the first couple chapters, that main character has met new allies, fought against a bunch of nightmare-ish creatures of the forest, rebelled against a whole kingdom, defeated a powerful enemy and losing another ally in battle. Quite a wild ride, so I’ll keep reading for another bit. I made the mistake of looking up reviews and having people hating on it and affecting me but, I’ll try to see it with my own critical view.</p>
</li>
<li>
<p><strong>Uncle from Another World</strong> - Chapters 26-27. The chapters of this one are much longer than the other, but actually reading my book also cut away some of my time here. In any case, a fun couple of chapters to entertain myself.</p>
</li>
</ul>
<h2 id="around-the-web">Around the Web</h2>
<h3 id="blog-posts">Blog posts</h3>
<ul>
<li><a href="https://tracydurnell.com/2026/07/29/ai-or-not/">AI or not?</a> - it’s kind of scary to read new authors when it could just be AI slop.</li>
<li><a href="https://www.rubenerd.au/microsd-cards/">MicroSD cards</a> - Arent they kind of neat? I sure do love them.</li>
<li><a href="https://thetangent.space/2026/hinge/">How the Miyoo Flip broke my heart</a> - The sad story of a guy who refuses to buy an Anbernic clamshell handheld.</li>
<li><a href="https://janerationx.me/posts/all-friends-are-real">All Friends Are Real</a> - Friendships, even those developed online, should not be lesser than others!</li>
<li><a href="https://schafe-sind-bessere-rasenmaeher.de/mindfulness/a-dad-moment/">A Dad Moment</a> - This is so adorable, I’m glad parenting is going just fine for Robert.</li>
</ul>
<h3 id="youtube">YouTube</h3>
<ul>
<li><a href="https://youtu.be/R5iIs8SCHO0">Zelda x Wallace & Gromit: The Hero of Cheese</a> - This is a fan animation and it is absolutely beautiful, made by humans.</li>
<li><a href="https://youtu.be/dX_nxOcDFgU">The entire Ocarina of Time Soundtrack, if The Beatles made it (Sentence Mixing)</a> - This needs to be heard by everyone, it’s also made by humans.</li>
<li><a href="https://youtu.be/iH89nKeVGiY">Why Breaking into Zelda’s Castle at Night is a Bad Idea</a> - Just some good old game-breaking glitchy stuff.</li>
<li><a href="https://youtu.be/QXCpZxocvNg">Are Older Games Better At Low Resolutions?</a> - PS1 and N64 on a CRT are something else.</li>
<li><a href="https://youtu.be/qhs860SDpN4">How Spongebob Lost Its Underwater Atmosphere</a> - A deep dive on SpongeBob’s early animation style compared to today’s.</li>
<li><a href="https://youtu.be/8kk8tKNGtGY">How One Word Broke The Number One Rule Of Writing Heroes</a> - The Spiderverse animated movies are quite great.</li>
<li><a href="https://youtu.be/nNixsCZQhYQ">Exposing Flipbook AI Slop</a> - I really loved seeing some of the real flipbooks featured here. Good stuff.</li>
</ul>
<p>This is day 8 of <a href="https://100DaysToOffload.com">#100DaysToOffload</a> and day 3 of <a href="https://www.containsmoderateperil.com/blog/2026/7/14/blaugust-2026-q-ampa">#Blaugust2026</a>.</p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Spider-Man's great, more handheld gaming - W31">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117034956324901356">Reply on Fediverse</a>
</p>
Wonders of Web Weaving, Episode 13 - James' Coffee Blog
https://jamesg.blog/2026/08/04/www-13
2026-08-04T00:00:00.000Z
<p><a href="https://web-weaving.jamesg.blog/13" rel="noreferrer">The thirteenth episode of Wonders of Web Weaving is out</a>:</p><blockquote>In Episode 13, I chat with Sophia, the author of Fractal Kitty about, among other things, making interactive web pages about mathematics, the intersection of art, words, and math, the math blogging community, and more.</blockquote><p>I hope you enjoy the episode!</p><p><a href="https://web-weaving.jamesg.blog/subscribe/" rel="noreferrer"><em>Wonders of Web Weaving also has an RSS feed</em></a><em> you can use to follow along from wherever you get your podcasts.</em></p>
<a class="tag" href="https://web-weaving.jamesg.blog/13">The thirteenth episode of Wonders of Web Weaving is out</a>
<a class="tag" href="https://web-weaving.jamesg.blog/subscribe/">Wonders of Web Weaving also has an RSS feed</a>
Book Review: The Field Guide to Understanding 'Human Error' by Sidney Dekker ★★★★☆ - Terence Eden’s Blog
https://shkspr.mobi/blog/?p=72562
2026-08-03T11:34:02.000Z
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/9781315558172.webp" alt="Book cover with a cloud of billowing smoke." width="180" height="264" class="alignleft size-full wp-image-72563">
<p>This is such a useful book. It makes the case that there's no such thing as "human error" - instead most catastrophes are caused by system issues, misaligned incentives, and unrealistic processes.</p>
<blockquote><p>You are not the custodian of an otherwise safe system that you need to protect from erratic human beings.</p></blockquote>
<p>By its nature it is a little repetitive. I suspect it's the sort of book students and business leaders will be expected to dip into on an ad-hoc basis for their MBA studies.</p>
<p>It's also chock-full of anecdotes which demonstrate how quite serious failings are often erroneously reduced to "human failure". Some of those stories are rather distressing - featuring death, dismemberment, plane crashes, and the like - but they also feel a little like "just so" stories. They illustrate the points well, but felt to me a little voyeuristic.</p>
<p>I'd go so far as to say it is probably one of the best management books that I've read:</p>
<blockquote><p>holding people accountable is fine;</p>
<p>• but you need to be able to show that people had the authority to live up to the responsibility that you are now asking of them;</p>
<p>• if you can’t do that, your calls for accountability have no merit, and you’d better start looking at yourself.</p></blockquote>
<p>I'm a big fan of using bullet-points for books like this. It is far too easy for important insights to get buried in the middle of a paragraph of waffle.</p>
<p>And it isn't just for management types. Anyone involved in computers needs to read and understand this.</p>
<blockquote><p>new technology allows a system to be driven closer to its margins, eroding the safety advantage that was gained.</p></blockquote>
<p>Although it doesn't venture into politics and government, I think it also applies there. Consider this:</p>
<blockquote><p>What people were doing was reasonable in the eyes of those on the inside the situation, given the pressures and priorities operating on them and others doing the same work every day.</p></blockquote>
<p>Modern political discourse often implies that decision makers are incompetent buffoons who frequently make errors. I think the truth is rather closer to what the book suggests. Given all the information (which the commentariat rarely have) and the systemic incentives (which are often set by the electorate) - most decisions look reasonable from the inside. A more systems based view rather than hindsight analysis would be useful for everyone.</p>
<p>There are a few slightly naff clip-art illustrations which are probably better suited to a crappy PPT than a serious book.</p>
<p>It is also a pity the eBook is <em>so</em> malformed. The HTML is full of things like <code><p class="h1"></code> rather than using proper semantic headers, which means the built in style-sheet must be used, which means you can't easily change the default font colour (dark grey on eInk looks rubbish). I'd love to see some of the tools and techniques proposed in this book applied to the organisation which created this rather terrible formatting.</p>
<p>The author is extremely generous with his citations and points to hundreds of resources for readers to explore.</p>
<p>A worthwhile book for anyone who deals with even moderately complex systems - if you can put up with the error-riddled formatting.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=72562&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">
Note published on August 3, 2026 at 4:00 AM UTC - Molly White's activity feed
6a701245df53bab218d35cb8
2026-08-03T04:00:05.000Z
<article><div class="entry h-entry hentry"><header></header><div class="content e-content"><p>when you send me vaguely lawyerly-sounding emails in hopes of threatening me to take down my reporting, and demand i "preserve all potentially relevant records, including ... search-engine submissions"</p><div class="media-wrapper"><a href="https://storage.mollywhite.net/micro/e297d2773f5c4dcc7223_Screenshot-2026-08-02-at-11.56.58---PM.png" data-fslightbox=ac568971745ef444ba8c><img src="https://storage.mollywhite.net/micro/e297d2773f5c4dcc7223_Screenshot-2026-08-02-at-11.56.58---PM.png" alt="Browser history entry: how to explain to an asshole wasting my time with his chatbot that i don't have to send him my address just because he might file a bogus lawsuit against me - Google Search" /></a></div></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp-block"><div class="timestamp">Posted: <a class="u-url" href="https://www.mollywhite.net/micro/entry/202608022357"><time class="dt-published" datetime="2026-08-03T04:00:05+00:00" title="August 3, 2026 at 4:00 AM UTC">August 3, 2026 at 4:00 AM UTC</time>. </a></div></div><div class="social-links"> <span> Also posted to: </span><a class="social-link u-syndication mastodon" href="https://hachyderm.io/@molly0xfff/117029575645044342" title="Mastodon" rel="syndication">Mastodon, </a><a class="social-link u-syndication bluesky" href="https://bsky.app/profile/molly.wiki/post/3ms5mdhk5de2u" title="Bluesky" rel="syndication">Bluesky</a></div></div><div class="bottomRow"><div class="tags"></div></div></footer></div></article>
am - James' Coffee Blog
https://jamesg.blog/2026/08/03/am
2026-08-03T00:00:00.000Z
<p>The shortest words —<br/>the most weight:<br/>I, a, (e)m.</p>
Transistor - Joel's Log Files
https://joelchrono.xyz/blog/transistor
2026-08-02T22:50:07.000Z
<p>Before Hades, Supergiant Games already had a place in the indie gaming scene, even though their previous games didn’t get as much of a spotlight, they were known for delivering quality from the start.</p>
<p>One of their first titles was Transistor, a sci-fi themed action/tactics RPG hybird released in 2014—about four World Cups ago in case you are wondering. In it, we control Red, a famous singer in the city of Cloudbank. The story kind of begins with a murder mystery, as we find Red besides a corpse, stabbed with a giant sword, which we soon realize, has somehow absorbed the man’s consciousness. Red has also lost her voice for some reason, so the sword itself— called the Transistor—becomes Red’s companion and narrator throughout the game, as well as our weapon to weild throughout the adventure</p>
<figure>
<img src="/assets/img/blogs/2026-08-02/cover.webp" />
<figcaption>Official artwork of the game</figcaption>
</figure>
<p>Red has to weild the Transistor to defend herself against hordes of robot enemies, who we come to know as the Process. Slowly but surely, they are corrupting the city of Cloudbank, which up to this point had been a cyberpunk utopia, that could be modified and acommodated to the citizens’ taste.</p>
<p>As Red advances, she will encounter the remains of multiple important people of Cloudbank who were “integrated”—killed—and the Transistor will be able to absorb “functions” from them, which Red can use during combat as new attacks or enhancements. Each one of those functions also show information of the character they were absorbed from, their profile and motives, including story elements. As you use the functions in different ways, you can unlock new aspects of their backstory.</p>
<figure>
<img src="/assets/img/blogs/2026-08-02/01.webp" />
<figcaption>Red embarks on her quest to look for clues as to what's happening, on a pretty cool bike</figcaption>
</figure>
<p>The combat is one of the game’s most defining aspects, extremely unique when compared to anything else in the entire genre. It is a polar opposite to Hades’ button-mashing style that needs quick reactions and attacks. Pretty much every movement is fairly slow—Monster Hunter’s Great Sword combat slow on normal combat—However, you have access to a special <code class="language-plaintext highlighter-rouge">Turn()</code> function which is the meat and potatoes of it all.</p>
<p>You see, when you trigger a Turn, the environment goes dark, and time completely <em>stops</em>. You can move in any direction, perform attacks, see how the resulting damage builds up, undo previous moves and then commit to perform them. Each move has a certain cost, so you can only “queue” a few actions before you have to commit. Once you finish a turn, you’ll return to normal and do all the attacks in one fell swoop, with the enemies simply taking all the hits you got on them.</p>
<p>You are pretty much programming a sequence, hence why the moves are called functions, and even named as such, like <code class="language-plaintext highlighter-rouge">Turn()</code>, <code class="language-plaintext highlighter-rouge">Switch()</code> or <code class="language-plaintext highlighter-rouge">Spark()</code>. This mechanic feels like a mix of turn based and tactics combat, as you have to think about plenty of parameters, like positioning, attack range and even enemy alignment.</p>
<p>One big caveat here is that not everything you do in your sequence may go as you expect. For example, if you chain multiple attacks without moving, the first couple may land well, but the last may miss, if the enemy was knocked back too far from the attack’s area of effect and you didn’t account for it. You will need to learn how some attacks affect the enemy, and take it into consideration during a Turn.</p>
<figure>
<img src="/assets/img/blogs/2026-08-02/03.webp" />
<figcaption>The isometric style of the game. Notice the bottom bar, with the moves available to the player</figcaption>
</figure>
<p>When it comes to story, the delivery of this one is rather obtuse. You follow a linear path from beginning to end, finding new characters and functions to use. You slowly see the Process integrating all of Cloudbank, alterating the environment and making it much more sterile, you also come to understand what caused the Process to get out of control, and how each person you find was murdered/integrated in the first place though the why is often obtuse.</p>
<p>There’s also terminals you can access all throughout the journey, which let you read news and reports of what’s happening in the background, this is also one of the few places where Red communicates, as she can type her thoughts there. The terminal access let’s you chat with certain characters too, though this is not something the player controls, just a way to progress the story and give us more information.</p>
<figure>
<img src="/assets/img/blogs/2026-08-02/06.webp" />
<figcaption>The narrator will make fun remarks quite often, I vibe with the humor myself</figcaption>
</figure>
<p>There’s a backdoor area of the game, separated from Cloudbank somehow, where you can relax for a while and also enter special doors. They are pretty much separate challenges that will require you to understand the mechanics and functions at your disposal.</p>
<p>Each challenge focuses on a different aspect, from speed to efficiency of moves, it’s honestly a very fun set of rooms to try and beat multiple times, since you can use them to practice and optimize your playstyle. Besides, it’s a way to unlock songs from the game which you can play at will during your stay there.</p>
<p>Oh right, the songs, the music, the score… Darren Korb is an absolute genius, something I discovered thanks to Hades and can fully confirm here as well. The soundtrack of this game is magnificent. It simply sparks joy, what else can I say?</p>
<p>The voice work too. Even though Red lost her voice, we get to see a few cutscenes of her singing, and of course, the Transistor, our narrator and companion, does a fantastic work throughout the whole journey. Later in the game some other characters with voice lines will appear, and I must admit, it’s really good stuff. All of them fit and you can feel the weight of each word similarly to Hades, they are excellently done.</p>
<figure>
<img src="/assets/img/blogs/2026-08-02/08.webp" />
<figcaption>The environment becomes more minimal as the story goes on, while this is a bad thing, it looks neat</figcaption>
</figure>
<p>The art feels very minimalistic and futuristic, it’s the same isometric view we can find in Hades (and most games from Supergiant), and here the artstyle is much more abstract. It kind of looks like everything is a painting, full of straight lines and angles, somewhat cell-shaded too.</p>
<h2 id="the-good">The good</h2>
<ul>
<li>An intriguing story and premise.</li>
<li>A linear adventure where you can rarely get lost.</li>
<li>Deep combat system that is easy to understand and fun to master.</li>
<li>Excellent voice work and soundtrack.</li>
<li>Well written script and characters.</li>
<li>Fantastic artstyle and atmosphere.</li>
<li>Does not overstay its welcome.</li>
<li>It was a New Game+ mode.</li>
</ul>
<h2 id="the-bad">The bad</h2>
<ul>
<li>The story may feel a bit too slow to progress, like it’s dreep-feeding information.</li>
<li>Sometimes an attack sequence may break or behave unexpectedly.</li>
<li>A few of the enemies can be quite bothersome, but nothing too bad.</li>
<li>A lot of screens with a lot of lore you may miss.</li>
<li>Some of the events or dialogue may go above your head</li>
</ul>
<h2 id="overall">Overall</h2>
<p>This game was really enjoyable! I played it on my Nintendo Switch and finished it less than six hours, in the span of ten days, mostly during my commutes to and from work! I wore wired earphones for most of the story, though I also enjoyed it at home on the TV.</p>
<p>The performance was perfect and I really liked how the story unfolded, even if sometimes it felt like some dialogue contained a lot of words without really saying much.</p>
<p>The sci-fi setting was one of the most intriguing for me, I never really understood how it all worked, though I don’t think we are meant to. A part of me wondered if we even play as humans, or if we are just some super futuristic version of it all, given the powers we have and the enemy we face.</p>
<p>Anyway, I’m just theorizing at this point, it’s not really spoilery, I think, but yeah. It’s a game that gives you quite a bit to think about when it comes to reality and how we write our future as people. Definitely worth a play given its lenght, in my opinion.</p>
<p>This is day 7 of <a href="https://100daystooffload.com">#100DaysToOffload</a> and post 2 of <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/">Blaugust 2026</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Transistor">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117028371014355490">Reply on Fediverse</a>
</p>