summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--about/index.md7
-rw-r--r--about/podcasts.txt1
-rw-r--r--about/resources.md189
-rw-r--r--about/showcase.md2034
-rw-r--r--about/showcase/debroid/image-1.png1972
-rw-r--r--about/showcase/ds-sim/image-1.pngbin0 -> 139067 bytes
-rw-r--r--about/showcase/dtail/image-1.pngbin0 -> 84933 bytes
-rw-r--r--about/showcase/dtail/image-2.gifbin0 -> 2290260 bytes
-rw-r--r--about/showcase/gogios/image-1.pngbin0 -> 56698 bytes
-rw-r--r--about/showcase/gos/image-1.pngbin0 -> 3861 bytes
-rw-r--r--about/showcase/gos/image-2.pngbin0 -> 137561 bytes
-rw-r--r--about/showcase/ior/image-1.pngbin0 -> 46683 bytes
-rw-r--r--about/showcase/ior/image-2.svg12270
-rw-r--r--about/showcase/ioriot/image-1.pngbin0 -> 12508 bytes
-rw-r--r--about/showcase/jsmstrade/image-1.pngbin0 -> 13636 bytes
-rw-r--r--about/showcase/netcalendar/image-1.pngbin0 -> 131869 bytes
-rw-r--r--about/showcase/netcalendar/image-2.pngbin0 -> 217299 bytes
-rw-r--r--about/showcase/quicklogger/image-1.pngbin0 -> 63314 bytes
-rw-r--r--about/showcase/quicklogger/image-2.pngbin0 -> 13498 bytes
-rw-r--r--about/showcase/tasksamurai/image-1.pngbin0 -> 227442 bytes
-rw-r--r--about/showcase/tasksamurai/image-2.pngbin0 -> 1382480 bytes
-rw-r--r--about/showcase/vs-sim/image-1.jpgbin0 -> 214287 bytes
-rw-r--r--gemfeed/2025-01-01-posts-from-october-to-december-2024.md1
-rw-r--r--gemfeed/2025-06-22-task-samurai.md2
-rw-r--r--gemfeed/2025-07-01-posts-from-january-to-june-2025.md731
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md2536
-rwxr-xr-xgemfeed/configure-stunnel-nfs-r1-r2.sh163
-rw-r--r--gemfeed/index.md1
-rw-r--r--gemfeed/stunnel-nfs-quick-reference.txt78
-rw-r--r--index.md3
-rw-r--r--notes/index.md1
-rw-r--r--notes/meditation-for-mortals.md136
-rw-r--r--uptime-stats.md84
33 files changed, 20046 insertions, 163 deletions
diff --git a/about/index.md b/about/index.md
index afd3bd6d..b0830c48 100644
--- a/about/index.md
+++ b/about/index.md
@@ -13,10 +13,15 @@
## My sites
[My blog here at foo.zone](../)
-[codeberg.org/snonux - My Codeberg page](https://codeberg.org/snonux)
[irregular.ninja - My street photography site (warn: multiple MBs, it's photos after all)](https://irregular.ninja)
[DTail - the distributed log tailing program](./dtail.md)
+## Show me the code
+
+[Project showcase](./showcase.md)
+[codeberg.org/snonux - My Codeberg page](https://codeberg.org/snonux)
+[github.com/snonux - My GitHub page (it's just a mirror of Codeberg, really)](https://github.com/snonux)
+
## Social Media and Communities
[@snonux@fosstodon.org - Me at Mastodon](https://fosstodon.org/@snonux)
diff --git a/about/podcasts.txt b/about/podcasts.txt
index c7c4ce9e..6d150936 100644
--- a/about/podcasts.txt
+++ b/about/podcasts.txt
@@ -4,6 +4,7 @@
* Cup o' Go [Golang]
* Deep Questions with Cal Newport
* Dev Interrupted
+* Pratical AI
* Fallthrough [Golang]
* Hidden Brain
* Maintainable
diff --git a/about/resources.md b/about/resources.md
index 79557ab7..0ce055c7 100644
--- a/about/resources.md
+++ b/about/resources.md
@@ -35,105 +35,105 @@ You won't find any links on this site because, over time, the links will break.
In random order:
+* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
+* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
+* Data Science at the Command Line; Jeroen Janssens; O'Reilly
+* Effective Java; Joshua Bloch; Addison-Wesley Professional
+* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
* Modern Perl; Chromatic ; Onyx Neon Press
-* C++ Programming Language; Bjarne Stroustrup;
+* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
+* Higher Order Perl; Mark Dominus; Morgan Kaufmann
* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
-* Funktionale Programmierung; Peter Pepper; Springer
* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
-* Leanring eBPF; Liz Rice; O'Reilly
-* Effective awk programming; Arnold Robbins; O'Reilly
-* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress
-* Raku Fundamentals; Moritz Lenz; Apress
-* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
-* Java ist auch eine Insel; Christian Ullenboom;
-* Data Science at the Command Line; Jeroen Janssens; O'Reilly
* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
-* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
-* DNS and BIND; Cricket Liu; O'Reilly
-* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
-* Ultimate Go Notebook; Bill Kennedy
-* Concurrency in Go; Katherine Cox-Buday; O'Reilly
* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
-* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
-* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
-* Systemprogrammierung in Go; Frank Müller; dpunkt
-* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
* Developing Games in Java; David Brackeen and others...; New Riders
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
-* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
-* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
-* Raku Recipes; J.J. Merelo; Apress
+* DNS and BIND; Cricket Liu; O'Reilly
* The Docker Book; James Turnbull; Kindle
+* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
* Terraform Cookbook; Mikael Krief; Packt Publishing
-* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
-* The Pragmatic Programmer; David Thomas; Addison-Wesley
-* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
-* Higher Order Perl; Mark Dominus; Morgan Kaufmann
-* Polished Ruby Programming; Jeremy Evans; Packt Publishing
-* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
-* Site Reliability Engineering; How Google runs production systems; O'Reilly
-* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
+* Funktionale Programmierung; Peter Pepper; Springer
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* Leanring eBPF; Liz Rice; O'Reilly
* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
+* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Ultimate Go Notebook; Bill Kennedy
* Perl New Features; Joshua McAdams, brian d foy; Perl School
+* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
+* Raku Recipes; J.J. Merelo; Apress
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Effective awk programming; Arnold Robbins; O'Reilly
+* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
+* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
+* Java ist auch eine Insel; Christian Ullenboom;
+* Concurrency in Go; Katherine Cox-Buday; O'Reilly
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
+* Site Reliability Engineering; How Google runs production systems; O'Reilly
+* C++ Programming Language; Bjarne Stroustrup;
+* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress
+* Raku Fundamentals; Moritz Lenz; Apress
## Technical references
I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order:
+* Relayd and Httpd Mastery; Michael W Lucas
* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
-* The Linux Programming Interface; Michael Kerrisk; No Starch Press
-* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
-* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
+* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
-* Relayd and Httpd Mastery; Michael W Lucas
* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* The Linux Programming Interface; Michael Kerrisk; No Starch Press
## Self-development and soft-skills books
In random order:
-* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
-* The Power of Now; Eckhard Tolle; Yellow Kite
-* 101 Essays that change the way you think; Brianna Wiest; Audiobook
-* Digital Minimalism; Cal Newport; Portofolio Penguin
-* Eat That Frog; Brian Tracy
+* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
-* Getting Things Done; David Allen
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* Influence without Authority; A. Cohen, D. Bradford; Wiley
* Eat That Frog!; Brian Tracy; Hodder Paperbacks
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
+* Slow Productivity; Cal Newport; Penguin Random House
+* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* Ultralearning; Scott Young; Thorsons
+* Digital Minimalism; Cal Newport; Portofolio Penguin
* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
-* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
-* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
-* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* Ultralearning; Anna Laurent; Self-published via Amazon
-* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
-* So Good They Can't Ignore You; Cal Newport; Business Plus
-* Deep Work; Cal Newport; Piatkus
-* The Bullet Journal Method; Ryder Carroll; Fourth Estate
-* The Good Enough Job; Simone Stolzoff; Ebury Edge
-* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
+* 101 Essays that change the way you think; Brianna Wiest; Audiobook
* Soft Skills; John Sommez; Manning Publications
-* Ultralearning; Scott Young; Thorsons
-* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
-* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
-* Slow Productivity; Cal Newport; Penguin Random House
* The Joy of Missing Out; Christina Crook; New Society Publishers
-* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
+* Ultralearning; Anna Laurent; Self-published via Amazon
* Atomic Habits; James Clear; Random House Business
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
+* Eat That Frog; Brian Tracy
+* Getting Things Done; David Allen
* Meditation for Mortals, Oliver Burkeman, Audiobook
-* Influence without Authority; A. Cohen, D. Bradford; Wiley
-* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
+* Deep Work; Cal Newport; Piatkus
+* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
+* So Good They Can't Ignore You; Cal Newport; Business Plus
+* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
+* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
[Here are notes of mine for some of the books](../notes/index.md)
@@ -141,22 +141,22 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
-* Scripting Vim; Damian Conway; O'Reilly Online
-* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
-* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
* Apache Tomcat Best Practises; 3-day on-site training
+* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
* Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)
-* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
-* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
-* Functional programming lecture; Remote University of Hagen
-* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
* AWS Immersion Day; Amazon; 1-day interactive online training
-* Protocol buffers; O'Reilly Online
+* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
+* MySQL Deep Dive Workshop; 2-day on-site training
* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
-* MySQL Deep Dive Workshop; 2-day on-site training
+* Protocol buffers; O'Reilly Online
+* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
+* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
+* Functional programming lecture; Remote University of Hagen
+* Scripting Vim; Damian Conway; O'Reilly Online
* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
-* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
+* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
## Technical guides
@@ -172,47 +172,48 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* Fork Around And Find Out
-* BSD Now [BSD]
* The Pragmatic Engineer Podcast
+* Fallthrough [Golang]
+* The Changelog Podcast(s)
+* Backend Banter
+* Maintainable
* Modern Mentor
-* Cup o' Go [Golang]
* Dev Interrupted
-* The Changelog Podcast(s)
-* Deep Questions with Cal Newport
+* BSD Now [BSD]
* Hidden Brain
-* Maintainable
+* Deep Questions with Cal Newport
* The ProdCast (Google SRE Podcast)
-* Backend Banter
-* Fallthrough [Golang]
+* Pratical AI
+* Cup o' Go [Golang]
+* Fork Around And Find Out
### Podcasts I liked
I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests.
-* FLOSS weekly
+* Go Time (predecessor of fallthrough)
* CRE: Chaosradio Express [german]
+* FLOSS weekly
* Java Pub House
-* Ship It (predecessor of Fork Around And Find Out)
* Modern Mentor
-* Go Time (predecessor of fallthrough)
+* Ship It (predecessor of Fork Around And Find Out)
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
* The Valuable Dev
-* Changelog News
+* VK Newsletter
* Monospace Mentor
+* byteSizeGo
* The Pragmatic Engineer
-* Applied Go Weekly Newsletter
-* Ruby Weekly
-* Andreas Brandhorst Newsletter (Sci-Fi author)
-* Golang Weekly
-* VK Newsletter
* The Imperfectionist
-* byteSizeGo
+* Changelog News
+* Andreas Brandhorst Newsletter (Sci-Fi author)
* Register Spill
+* Ruby Weekly
+* Applied Go Weekly Newsletter
+* Golang Weekly
## Magazines I like(d)
diff --git a/about/showcase.md b/about/showcase.md
new file mode 100644
index 00000000..5590a68b
--- /dev/null
+++ b/about/showcase.md
@@ -0,0 +1,2034 @@
+# Project Showcase
+
+Generated on: 2025-07-09
+
+This page showcases my open source projects, providing an overview of what each project does, its technical implementation, and key metrics. Each project summary includes information about the programming languages used, development activity, and licensing. The projects are ordered by recent activity, with the most actively maintained projects listed first.
+
+## Table of Contents
+
+* [⇢ Project Showcase](#project-showcase)
+* [⇢ ⇢ Overall Statistics](#overall-statistics)
+* [⇢ ⇢ Projects](#projects)
+* [⇢ ⇢ ⇢ gitsyncer](#gitsyncer)
+* [⇢ ⇢ ⇢ timr](#timr)
+* [⇢ ⇢ ⇢ tasksamurai](#tasksamurai)
+* [⇢ ⇢ ⇢ rexfiles](#rexfiles)
+* [⇢ ⇢ ⇢ foo.zone](#foozone)
+* [⇢ ⇢ ⇢ dtail](#dtail)
+* [⇢ ⇢ ⇢ wireguardmeshgenerator](#wireguardmeshgenerator)
+* [⇢ ⇢ ⇢ ior](#ior)
+* [⇢ ⇢ ⇢ ds-sim](#ds-sim)
+* [⇢ ⇢ ⇢ sillybench](#sillybench)
+* [⇢ ⇢ ⇢ gos](#gos)
+* [⇢ ⇢ ⇢ foostats](#foostats)
+* [⇢ ⇢ ⇢ rcm](#rcm)
+* [⇢ ⇢ ⇢ gemtexter](#gemtexter)
+* [⇢ ⇢ ⇢ quicklogger](#quicklogger)
+* [⇢ ⇢ ⇢ docker-gpodder-sync-server](#docker-gpodder-sync-server)
+* [⇢ ⇢ ⇢ terraform](#terraform)
+* [⇢ ⇢ ⇢ gogios](#gogios)
+* [⇢ ⇢ ⇢ docker-radicale-server](#docker-radicale-server)
+* [⇢ ⇢ ⇢ docker-anki-sync-server](#docker-anki-sync-server)
+* [⇢ ⇢ ⇢ gorum](#gorum)
+* [⇢ ⇢ ⇢ randomjournalpage](#randomjournalpage)
+* [⇢ ⇢ ⇢ sway-autorotate](#sway-autorotate)
+* [⇢ ⇢ ⇢ photoalbum](#photoalbum)
+* [⇢ ⇢ ⇢ algorithms](#algorithms)
+* [⇢ ⇢ ⇢ geheim](#geheim)
+* [⇢ ⇢ ⇢ perl-c-fibonacci](#perl-c-fibonacci)
+* [⇢ ⇢ ⇢ guprecords](#guprecords)
+* [⇢ ⇢ ⇢ ioriot](#ioriot)
+* [⇢ ⇢ ⇢ staticfarm-apache-handlers](#staticfarm-apache-handlers)
+* [⇢ ⇢ ⇢ dyndns](#dyndns)
+* [⇢ ⇢ ⇢ mon](#mon)
+* [⇢ ⇢ ⇢ rubyfy](#rubyfy)
+* [⇢ ⇢ ⇢ pingdomfetch](#pingdomfetch)
+* [⇢ ⇢ ⇢ gotop](#gotop)
+* [⇢ ⇢ ⇢ xerl](#xerl)
+* [⇢ ⇢ ⇢ debroid](#debroid)
+* [⇢ ⇢ ⇢ fapi](#fapi)
+* [⇢ ⇢ ⇢ template](#template)
+* [⇢ ⇢ ⇢ muttdelay](#muttdelay)
+* [⇢ ⇢ ⇢ netdiff](#netdiff)
+* [⇢ ⇢ ⇢ pwgrep](#pwgrep)
+* [⇢ ⇢ ⇢ japi](#japi)
+* [⇢ ⇢ ⇢ perl-poetry](#perl-poetry)
+* [⇢ ⇢ ⇢ ipv6test](#ipv6test)
+* [⇢ ⇢ ⇢ cpuinfo](#cpuinfo)
+* [⇢ ⇢ ⇢ loadbars](#loadbars)
+* [⇢ ⇢ ⇢ perldaemon](#perldaemon)
+* [⇢ ⇢ ⇢ awksite](#awksite)
+* [⇢ ⇢ ⇢ jsmstrade](#jsmstrade)
+* [⇢ ⇢ ⇢ netcalendar](#netcalendar)
+* [⇢ ⇢ ⇢ hsbot](#hsbot)
+* [⇢ ⇢ ⇢ ychat](#ychat)
+* [⇢ ⇢ ⇢ vs-sim](#vs-sim)
+* [⇢ ⇢ ⇢ fype](#fype)
+
+## Overall Statistics
+
+* 📦 Total Projects: 55
+* 📊 Total Commits: 10,379
+* 📈 Total Lines of Code: 252,969
+* 📄 Total Lines of Documentation: 24,167
+* 💻 Languages: Java (22.4%), Go (17.6%), HTML (14.0%), C++ (8.9%), C (7.3%), Perl (6.3%), Shell (6.3%), C/C++ (5.8%), XML (4.6%), Config (1.5%), Ruby (1.1%), HCL (1.1%), Make (0.7%), Python (0.6%), CSS (0.6%), JSON (0.3%), Raku (0.3%), Haskell (0.2%), YAML (0.2%), TOML (0.1%)
+* 📚 Documentation: Text (47.4%), Markdown (38.4%), LaTeX (14.2%)
+* 🤖 AI-Assisted Projects: 8 out of 55 (14.5% AI-assisted, 85.5% human-only)
+* 🚀 Release Status: 31 released, 24 experimental (56.4% with releases, 43.6% experimental)
+
+## Projects
+
+### gitsyncer
+
+* 💻 Languages: Go (86.0%), Shell (11.9%), YAML (1.5%), JSON (0.5%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 56
+* 📈 Lines of Code: 6241
+* 📄 Lines of Documentation: 2306
+* 📅 Development Period: 2025-06-23 to 2025-07-09
+* 🔥 Recent Activity: 4.2 days (avg. age of last 42 commits)
+* ⚖️ License: BSD-2-Clause
+* 🏷️ Latest Release: v0.4.0 (2025-07-09)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+GitSyncer is a cross-platform repository synchronization tool that automatically keeps Git repositories in sync across multiple hosting platforms like GitHub, Codeberg, and private SSH servers. It solves the common problem of maintaining consistent code across different Git hosting services by cloning repositories, adding all configured platforms as remotes, and continuously merging and pushing changes bidirectionally while handling branch creation and conflict detection.
+
+The tool is implemented in Go with a clean architecture that supports both individual repository syncing and bulk operations for public repositories. Key features include automatic repository creation, SSH backup locations for private servers, branch exclusion patterns, and an opt-in backup mode for resilient offline backups. It uses a JSON configuration file to define organizations and repositories, employs safe merge strategies that never delete branches, and provides comprehensive error handling for merge conflicts and missing repositories.
+
+[View on Codeberg](https://codeberg.org/snonux/gitsyncer)
+[View on GitHub](https://github.com/snonux/gitsyncer)
+
+Go from `internal/version/version.go`:
+
+```AUTO
+var (
+ Version = "0.4.0"
+
+ GitCommit = "unknown"
+
+ BuildDate = "unknown"
+```
+
+---
+
+### timr
+
+* 💻 Languages: Go (98.3%), YAML (1.7%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 19
+* 📈 Lines of Code: 873
+* 📄 Lines of Documentation: 135
+* 📅 Development Period: 2025-06-25 to 2025-06-29
+* 🔥 Recent Activity: 12.3 days (avg. age of last 42 commits)
+* ⚖️ License: BSD-2-Clause
+* 🧪 Status: Experimental (no releases yet)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+`timr` is a minimalist command-line time tracking tool written in Go that provides a simple stopwatch-style timer for tracking work sessions. It offers commands to start, stop, reset, and check the status of the timer, with all state persisted across sessions in `~/.config/timr/.timr_state`. The tool is particularly useful for developers and professionals who need to track time spent on tasks without the overhead of complex time-tracking applications.
+
+The project is implemented using a clean modular architecture with the CLI entry point in `/cmd/timr/main.go`, core timer logic in `/internal/timer/`, and an interactive TUI mode powered by Bubble Tea in `/internal/live/`. Key features include persistent state across sessions, shell prompt integration for displaying timer status, raw output modes for scripting, and a full-screen live timer interface with keyboard controls. The tool maintains atomic state updates and handles unexpected exits gracefully by immediately persisting state changes.
+
+[View on Codeberg](https://codeberg.org/snonux/timr)
+[View on GitHub](https://github.com/snonux/timr)
+
+Go from `internal/timer/operations.go`:
+
+```AUTO
+func GetRawStatus() (string, error) {
+ state, err := LoadState()
+ if err != nil {
+ return "", fmt.Errorf("error loading state: %w", err)
+ }
+
+ elapsed := state.ElapsedTime
+ if state.Running {
+ elapsed += time.Since(state.StartTime)
+ }
+
+ return fmt.Sprintf("%d", int(elapsed.Seconds())), nil
+}
+```
+
+---
+
+### tasksamurai
+
+* 💻 Languages: Go (99.8%), YAML (0.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 215
+* 📈 Lines of Code: 6160
+* 📄 Lines of Documentation: 162
+* 📅 Development Period: 2025-06-19 to 2025-07-08
+* 🔥 Recent Activity: 12.7 days (avg. age of last 42 commits)
+* ⚖️ License: BSD-2-Clause
+* 🏷️ Latest Release: v0.9.2 (2025-07-02)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+[![tasksamurai screenshot](showcase/tasksamurai/image-1.png "tasksamurai screenshot")](showcase/tasksamurai/image-1.png)
+
+TaskSamurai is a fast terminal user interface (TUI) for Taskwarrior written in Go that provides a keyboard-driven table interface for task management. It acts as a visual frontend to the Taskwarrior command-line tool, displaying tasks in a table format where users can perform operations like adding, completing, starting, and annotating tasks through hotkeys without leaving their keyboard. The application was created to provide a faster alternative to existing Python-based UIs while exploring the Bubble Tea framework for Go terminal applications.
+
+[![tasksamurai screenshot](showcase/tasksamurai/image-2.png "tasksamurai screenshot")](showcase/tasksamurai/image-2.png)
+
+The implementation follows a clean architecture with clear separation of concerns: the `internal/task/` package handles all Taskwarrior CLI integration by executing task commands and parsing JSON responses, while `internal/ui/` manages the terminal interface using Bubble Tea's message-driven architecture. The custom table widget in `internal/atable/` provides efficient rendering for large task lists, and the entire system maintains real-time synchronization with Taskwarrior by automatically refreshing the display after each operation. The application supports all standard Taskwarrior filters as command-line arguments and includes features like regex search, customizable themes, and even a "disco mode" that changes colors dynamically.
+
+[View on Codeberg](https://codeberg.org/snonux/tasksamurai)
+[View on GitHub](https://github.com/snonux/tasksamurai)
+
+Go from `internal/ui/handlers.go`:
+
+```AUTO
+func (m *Model) getTaskAtCursor() *task.Task {
+ cursor := m.tbl.Cursor()
+ if cursor < 0 || cursor >= len(m.tasks) {
+ return nil
+ }
+ return &m.tasks[cursor]
+}
+```
+
+---
+
+### rexfiles
+
+* 💻 Languages: Shell (34.8%), Perl (32.9%), Config (8.4%), CSS (8.3%), TOML (7.3%), Ruby (6.0%), Lua (1.8%), JSON (0.5%), INI (0.2%)
+* 📚 Documentation: Text (97.3%), Markdown (2.7%)
+* 📊 Commits: 871
+* 📈 Lines of Code: 3947
+* 📄 Lines of Documentation: 854
+* 📅 Development Period: 2021-12-28 to 2025-07-07
+* 🔥 Recent Activity: 20.0 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+Based on my analysis of the codebase, **rexfiles** is a comprehensive infrastructure automation and configuration management project built with the Rex framework (a Perl-based alternative to Ansible, Puppet, or Chef). The project provides structured automation for managing multiple aspects of a personal infrastructure, including dotfiles, server configurations, and application deployments.
+
+The project consists of three main components: **dotfiles** management for personal development environment configuration (bash, fish shell, helix editor, tmux, etc.), **frontends** for managing production OpenBSD servers with services like DNS (nsd), web servers (httpd), mail (OpenSMTPD), SSL certificates (ACME), and monitoring systems, and **babylon5** containing Docker container startup scripts for self-hosted applications. The implementation leverages Rex's declarative syntax to define tasks for package installation, file management, service configuration, and system state management, with templates for configuration files and support for multiple operating systems (OpenBSD, FreeBSD, Fedora Linux, Termux). This approach provides a KISS (Keep It Simple, Stupid) alternative to more complex configuration management tools while maintaining the ability to manage both local development environments and production infrastructure consistently.
+
+[View on Codeberg](https://codeberg.org/snonux/rexfiles)
+[View on GitHub](https://github.com/snonux/rexfiles)
+
+Shell from `frontends/scripts/sitestats.sh`:
+
+```AUTO
+STATSFILE=/tmp/sitestats.csv
+BOTSFILE=/tmp/sitebots.txt
+TOP=20
+```
+
+---
+
+### foo.zone
+
+* 💻 Languages: HTML (73.9%), XML (25.9%), CSS (0.2%)
+* 📚 Documentation: Text (91.8%), Markdown (8.2%)
+* 📊 Commits: 2892
+* 📈 Lines of Code: 42772
+* 📄 Lines of Documentation: 159
+* 📅 Development Period: 2021-04-29 to 2025-07-01
+* 🔥 Recent Activity: 26.3 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+This is **foo.zone**, a personal blog and technical website belonging to Paul Buetow, a Site Reliability Engineer based in Sofia, Bulgaria. The project is a static website that serves as a comprehensive platform for sharing technical knowledge, book notes, and personal experiences in the fields of system administration, DevOps, and programming.
+
+The site is built using **Gemtexter**, a static site generator that creates both HTML and Gemini protocol content from markdown sources. The architecture is refreshingly simple and follows KISS principles, with content organized into several key sections: a main blog feed (gemfeed) with over 100 technical posts dating back to 2008, detailed book notes and summaries, project documentation (including tools like DTail for distributed log tailing), and personal resources. The website is served by OpenBSD using relayd and httpd, demonstrating the author's preference for robust, security-focused Unix systems. The project emphasizes clean, semantic HTML, custom CSS styling, and accessibility, while maintaining both web and Gemini protocol compatibility for broader reach across different internet communities.
+
+[View on Codeberg](https://codeberg.org/snonux/foo.zone)
+[View on GitHub](https://github.com/snonux/foo.zone)
+
+HTML from `gemfeed/2022-01-23-welcome-to-the-foo.zone.html`:
+
+```AUTO
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Welcome to the foo.zone</title>
+<link rel="shortcut icon" type="image/gif" href="/favicon.ico" />
+<link rel="stylesheet" href="../style.css" />
+<link rel="stylesheet" href="style-override.css" />
+</head>
+<body>
+```
+
+---
+
+### dtail
+
+* 💻 Languages: Go (93.9%), JSON (2.8%), C (2.0%), Make (0.5%), C/C++ (0.3%), Config (0.2%), Shell (0.2%), Docker (0.1%)
+* 📚 Documentation: Text (79.4%), Markdown (20.6%)
+* 📊 Commits: 1049
+* 📈 Lines of Code: 20091
+* 📄 Lines of Documentation: 5674
+* 📅 Development Period: 2020-01-09 to 2025-06-20
+* 🔥 Recent Activity: 51.8 days (avg. age of last 42 commits)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: v4.2.0 (2023-06-21)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+[![dtail screenshot](showcase/dtail/image-1.png "dtail screenshot")](showcase/dtail/image-1.png)
+
+DTail is a distributed log processing system written in Go that allows DevOps engineers to tail, cat, and grep log files across thousands of servers concurrently. It provides secure access through SSH authentication and respects UNIX file system permissions, making it ideal for enterprise environments where log analysis needs to scale horizontally across large server fleets. The tool supports advanced features like compressed file handling (gzip/zstd) and distributed MapReduce aggregations for complex log analytics.
+
+[![dtail screenshot](showcase/dtail/image-2.gif "dtail screenshot")](showcase/dtail/image-2.gif)
+
+The system uses a client-server architecture where dtail servers run on target machines (listening on port 2222) and clients connect to multiple servers simultaneously. It can also operate in serverless mode for local operations. The implementation leverages SSH for secure communication, includes sophisticated connection throttling and resource management, and provides specialized tools (dcat, dgrep, dmap) for different log processing tasks. The MapReduce functionality supports SQL-like queries with server-side local aggregation and client-side final aggregation, enabling powerful distributed analytics across log data.
+
+[View on Codeberg](https://codeberg.org/snonux/dtail)
+[View on GitHub](https://github.com/snonux/dtail)
+
+Go from `internal/clients/baseclient.go`:
+
+```AUTO
+func (c *baseClient) makeConnection(server string, sshAuthMethods []gossh.AuthMethod,
+ hostKeyCallback client.HostKeyCallback) connectors.Connector {
+ if c.Args.Serverless {
+ return connectors.NewServerless(c.UserName, c.maker.makeHandler(server),
+ c.maker.makeCommands())
+ }
+ return connectors.NewServerConnection(server, c.UserName, sshAuthMethods,
+ hostKeyCallback, c.maker.makeHandler(server), c.maker.makeCommands())
+}
+```
+
+---
+
+### wireguardmeshgenerator
+
+* 💻 Languages: Ruby (73.5%), YAML (26.5%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 33
+* 📈 Lines of Code: 396
+* 📄 Lines of Documentation: 24
+* 📅 Development Period: 2025-04-18 to 2025-05-11
+* 🔥 Recent Activity: 71.1 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.0.0 (2025-05-11)
+
+
+WireGuard Mesh Generator is a Ruby-based automation tool that simplifies the creation and management of WireGuard mesh VPN networks across multiple hosts. It automatically generates WireGuard configuration files for each node in the mesh, handles cryptographic key generation and management (including public/private keys and preshared keys), and provides automated deployment to remote machines via SSH/SCP. The tool is particularly useful for setting up secure, encrypted mesh networks between multiple servers or devices, eliminating the manual overhead of configuring WireGuard connections between every pair of nodes.
+
+The implementation uses a YAML configuration file to define the network topology, including host details, SSH credentials, and network addressing schemes. It supports mixed operating systems (FreeBSD, Linux, OpenBSD) with OS-specific configuration handling, intelligently determines network connectivity patterns (LAN vs internet-facing hosts), and includes features like NAT traversal detection and persistent keepalive configuration. The tool provides a complete workflow from key generation to deployment, making it ideal for infrastructure automation and maintaining consistent WireGuard mesh networks across diverse environments.
+
+[View on Codeberg](https://codeberg.org/snonux/wireguardmeshgenerator)
+[View on GitHub](https://github.com/snonux/wireguardmeshgenerator)
+
+Ruby from `wireguardmeshgenerator.rb`:
+
+```AUTO
+def priv = File.read(@privkey_path).strip
+
+def psk(peer)
+ psk_path = "#{@psk_dir}/#{[@myself, peer].sort.join('_')}.key"
+```
+
+---
+
+### ior
+
+* 💻 Languages: C (54.7%), Go (37.4%), Raku (5.4%), Make (1.4%), C/C++ (1.1%)
+* 📚 Documentation: Text (84.1%), Markdown (15.9%)
+* 📊 Commits: 316
+* 📈 Lines of Code: 9835
+* 📄 Lines of Documentation: 559
+* 📅 Development Period: 2024-01-18 to 2025-06-14
+* 🔥 Recent Activity: 83.2 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+[![ior screenshot](showcase/ior/image-1.png "ior screenshot")](showcase/ior/image-1.png)
+
+Based on my analysis of the codebase, here's a comprehensive summary of the I/O Riot NG (ior) project:
+
+[![ior screenshot](showcase/ior/image-2.svg "ior screenshot")](showcase/ior/image-2.svg)
+
+**I/O Riot NG** is a Linux-based performance monitoring tool that uses eBPF (extended Berkeley Packet Filter) to trace synchronous I/O system calls and analyze their execution times. This tool is particularly valuable for system performance analysis, allowing developers and system administrators to visualize I/O bottlenecks through detailed flamegraphs. It serves as a modern successor to the original I/O Riot project, migrating from SystemTap/C to a Go/C/BPF implementation for better performance and maintainability.
+
+The architecture combines kernel-level tracing with user-space analysis: eBPF programs (`internal/c/ior.bpf.c`) attach to kernel tracepoints to capture syscall entry/exit events, which are then processed by a Go-based event loop (`internal/eventloop.go`) that correlates enter/exit pairs, tracks file descriptors, and measures timing. The tool can operate in real-time mode for live monitoring or post-processing mode to generate flamegraphs from previously collected data using the Inferno flamegraph library. Key features include filtering capabilities for specific processes or file patterns, comprehensive statistics collection, and support for various I/O syscalls like open, read, write, close, and dup operations.
+
+[View on Codeberg](https://codeberg.org/snonux/ior)
+[View on GitHub](https://github.com/snonux/ior)
+
+C from `internal/c/types.h`:
+
+```AUTO
+struct open_event {
+ __u32 event_type;
+ __u32 trace_id;
+ __u64 time;
+ __u32 pid;
+ __u32 tid;
+ __s32 flags;
+ char filename[MAX_FILENAME_LENGTH];
+ char comm[MAX_PROGNAME_LENGTH];
+};
+```
+
+---
+
+### ds-sim
+
+* 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)
+* 📚 Documentation: Markdown (98.7%), Text (1.3%)
+* 📊 Commits: 438
+* 📈 Lines of Code: 25762
+* 📄 Lines of Documentation: 3101
+* 📅 Development Period: 2008-05-15 to 2025-06-27
+* 🔥 Recent Activity: 84.4 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+[![ds-sim screenshot](showcase/ds-sim/image-1.png "ds-sim screenshot")](showcase/ds-sim/image-1.png)
+
+DS-Sim is an open-source Java-based simulator for distributed systems that provides a comprehensive environment for learning and experimenting with distributed algorithms. It features protocol simulation, event handling, and implementations of time concepts like Lamport and Vector timestamps. The simulator includes an interactive Swing GUI and comprehensive logging capabilities, making it particularly valuable for educational purposes and distributed systems research.
+
+The project is built on an event-driven architecture with clear component separation. At its core, VSSimulator drives the simulation loop with VSTaskManager executing time-ordered tasks, while VSAbstractProcess provides the foundation for simulation processes. The framework supports pluggable protocols through VSAbstractProtocol base classes, includes sophisticated time management with multiple clock types, and uses VSMessage objects for network communication simulation. The Maven-based architecture follows standard Java conventions and includes 141 unit tests covering core components like Two-Phase Commit, Berkeley Time synchronization, and PingPong protocols.
+
+[View on Codeberg](https://codeberg.org/snonux/ds-sim)
+[View on GitHub](https://github.com/snonux/ds-sim)
+
+Java from `src/main/java/events/VSAbstractEvent.java`:
+
+```AUTO
+public final void setClassname(String eventClassname) {
+ if (eventClassname.startsWith(CLASS_PREFIX))
+ eventClassname = eventClassname.substring(CLASS_PREFIX_LENGTH);
+
+ this.eventClassname = eventClassname;
+}
+```
+
+---
+
+### sillybench
+
+* 💻 Languages: Go (90.9%), Shell (9.1%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 5
+* 📈 Lines of Code: 33
+* 📄 Lines of Documentation: 3
+* 📅 Development Period: 2025-04-03 to 2025-04-03
+* 🔥 Recent Activity: 97.0 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+**SillyBench** is a simple Go benchmarking project designed to compare CPU performance between FreeBSD and Linux Bhyve VM environments. The project implements basic mathematical operations (integer multiplication and floating-point arithmetic) to measure computational performance differences across different operating systems and virtualization setups.
+
+The implementation is minimal and focused, consisting of a basic Go module with two CPU-intensive benchmark functions: `BenchmarkCPUSilly1` performs simple integer squaring operations, while `BenchmarkCPUSilly2` executes more complex floating-point calculations involving addition, multiplication, and division. The project includes a simple shell script (`run.sh`) that executes the benchmarks using Go's built-in testing framework, making it easy to run consistent performance comparisons across different systems.
+
+[View on Codeberg](https://codeberg.org/snonux/sillybench)
+[View on GitHub](https://github.com/snonux/sillybench)
+
+Go from `main.go`:
+
+```AUTO
+func main() {
+ println("Hello world")
+}
+```
+
+---
+
+### gos
+
+* 💻 Languages: Go (98.6%), YAML (1.1%), JSON (0.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 381
+* 📈 Lines of Code: 3967
+* 📄 Lines of Documentation: 411
+* 📅 Development Period: 2024-05-04 to 2025-06-12
+* 🔥 Recent Activity: 113.9 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.0.0 (2025-03-04)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+[![gos screenshot](showcase/gos/image-1.png "gos screenshot")](showcase/gos/image-1.png)
+
+Gos is a command-line social media scheduling tool written in Go that serves as a self-hosted replacement for Buffer.com. It allows users to create, queue, and schedule posts across multiple platforms (currently Mastodon, LinkedIn, and a "Noop" tracker platform) using a simple file-based approach. Users compose posts as text files in a designated directory (`~/.gosdir`), and can control posting behavior through filename tags (e.g., `share:mastodon`, `prio`, `now`) or inline tags within the content.
+
+[![gos screenshot](showcase/gos/image-2.png "gos screenshot")](showcase/gos/image-2.png)
+
+The tool is architected around a file-based queueing system where posts progress through lifecycle stages: `.txt` files are processed into platform-specific queues (`.queued` files), then marked as `.posted` after successful publishing. It features intelligent scheduling based on configurable targets (posts per week), pause periods between posts, priority handling, and OAuth2 authentication for LinkedIn. The system includes pause functionality for vacations, dry-run mode for testing, and can generate Gemini Gemtext summaries of posted content. Its design emphasizes automation, configurability, and integration into command-line workflows while maintaining a clean separation between platforms through a common interface.
+
+[View on Codeberg](https://codeberg.org/snonux/gos)
+[View on GitHub](https://github.com/snonux/gos)
+
+Go from `internal/summary/summary.go`:
+
+```AUTO
+func prepare(content string) string {
+ content = newlineRegex.ReplaceAllString(content, " ")
+ content = urlRegex.ReplaceAllString(content, "")
+ content = multiSpaceRegex.ReplaceAllString(content, " ")
+ content = strings.TrimSpace(content)
+ content = tagRegex.ReplaceAllString(content, "`$0`")
+ return content
+}
+```
+
+---
+
+### foostats
+
+* 💻 Languages: Perl (100.0%)
+* 📚 Documentation: Markdown (85.1%), Text (14.9%)
+* 📊 Commits: 67
+* 📈 Lines of Code: 1299
+* 📄 Lines of Documentation: 154
+* 📅 Development Period: 2023-01-02 to 2025-07-07
+* 🔥 Recent Activity: 133.5 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+Based on the README and project structure, **foostats** is a privacy-respecting web analytics tool written in Perl specifically designed for OpenBSD systems. It processes both traditional HTTP/HTTPS logs and Gemini protocol logs to generate comprehensive traffic statistics while maintaining visitor privacy through SHA3-512 IP hashing. The tool is built for the foo.zone ecosystem and similar sites that need analytics without compromising user privacy.
+
+The project implements a modular architecture with seven core components: FileHelper for I/O operations, DateHelper for date management, Logreader for log parsing, Filter for security filtering, Aggregator for statistics collection, FileOutputter for compressed JSON storage, Replicator for multi-node data sharing, Merger for combining statistics, and Reporter for generating human-readable Gemtext reports. It supports distributed deployments with replication between partner nodes and includes security features like suspicious request filtering based on configurable patterns (blocking common attack vectors like WordPress admin paths and PHP files).
+
+[View on Codeberg](https://codeberg.org/snonux/foostats)
+[View on GitHub](https://github.com/snonux/foostats)
+
+Perl from `foostats.pl`:
+
+```AUTO
+my sub parse_date ( $year, @line ) {
+ my $timestr = "$line[0] $line[1]";
+ return Time::Piece->strptime( $timestr, '%b %d' )
+ ->strftime("$year%m%d");
+}
+```
+
+---
+
+### rcm
+
+* 💻 Languages: Ruby (99.8%), TOML (0.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 76
+* 📈 Lines of Code: 1373
+* 📄 Lines of Documentation: 48
+* 📅 Development Period: 2024-12-05 to 2025-02-28
+* 🔥 Recent Activity: 137.7 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+RCM (Ruby Configuration Management) is a lightweight, KISS (Keep It Simple, Stupid) configuration management system written in Ruby and designed for personal use. The project provides a domain-specific language (DSL) for declaratively managing system configuration, including files, directories, symlinks, and packages. It serves as an alternative to more complex configuration management tools like Ansible or Puppet, focusing on simplicity and ease of use for individual system administration tasks.
+
+The system is implemented with a modular architecture centered around a DSL class that provides keywords for different resource types (file, directory, symlink, touch, package). Each resource type inherits from a base Resource class and implements specific evaluation logic for creating, modifying, or removing system resources. Key features include automatic backup functionality (with SHA256 checksums), ERB template support, conditional execution, parent directory management, and support for file permissions and ownership. The system uses a declarative approach where users define desired states in configuration blocks, and RCM handles the imperative steps to achieve those states, making it particularly useful for personal dotfile management and system configuration automation.
+
+[View on Codeberg](https://codeberg.org/snonux/rcm)
+[View on GitHub](https://github.com/snonux/rcm)
+
+Ruby from `lib/dsl.rb`:
+
+```AUTO
+def to_s = @id
+def evaluate! = @scheduled.each(&:evaluate!)
+
+def <<(obj)
+ raise DuplicateResource, "#{obj.id} already declared!" if @@objs.key?(obj.id)
+```
+
+---
+
+### gemtexter
+
+* 💻 Languages: Shell (67.9%), CSS (28.9%), Config (2.0%), HTML (1.3%)
+* 📚 Documentation: Text (76.8%), Markdown (23.2%)
+* 📊 Commits: 461
+* 📈 Lines of Code: 2253
+* 📄 Lines of Documentation: 1170
+* 📅 Development Period: 2021-05-21 to 2025-06-11
+* 🔥 Recent Activity: 230.5 days (avg. age of last 42 commits)
+* ⚖️ License: GPL-3.0
+* 🏷️ Latest Release: 3.0.0 (2024-10-01)
+
+
+**Gemtexter** is a static site generator and blog engine that transforms content written in Gemini Gemtext format into multiple output formats. It's a comprehensive Bash-based tool designed to support the Gemini protocol (a simpler alternative to HTTP) while maintaining compatibility with traditional web technologies. The project converts a single source of Gemtext content into HTML (XHTML 1.0 Transitional), Markdown, and native Gemtext formats, enabling authors to write once and publish across multiple platforms including Gemini capsules, traditional websites, and GitHub/Codeberg pages.
+
+The implementation is built entirely in Bash (version 5.x+) using a modular library approach with separate source files for different functionality (atomfeed, gemfeed, HTML generation, Markdown conversion, templating, etc.). Key features include automatic blog post indexing, Atom feed generation, customizable HTML themes, source code highlighting, Bash-based templating system, and integrated Git workflow management. The architecture separates content directories by format (gemtext/, html/, md/) and includes comprehensive theming support, font embedding, and publishing workflows that can automatically sync content to multiple Git repositories for deployment on various platforms.
+
+[View on Codeberg](https://codeberg.org/snonux/gemtexter)
+[View on GitHub](https://github.com/snonux/gemtexter)
+
+Shell from `lib/md.source.sh`:
+
+```AUTO
+md::make_img () {
+ local link="$1"; shift
+ local descr="$1"; shift
+
+ if [ -z "$descr" ]; then
+ echo "[![$link]($link)]($link) "
+ else
+ echo "[![$descr]($link \"$descr\")]($link) "
+ fi
+```
+
+---
+
+### quicklogger
+
+* 💻 Languages: Go (97.6%), Shell (1.5%), TOML (0.9%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 32
+* 📈 Lines of Code: 917
+* 📄 Lines of Documentation: 33
+* 📅 Development Period: 2024-01-20 to 2025-07-06
+* 🔥 Recent Activity: 447.7 days (avg. age of last 42 commits)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.0.3 (2025-07-06)
+
+
+[![quicklogger screenshot](showcase/quicklogger/image-1.png "quicklogger screenshot")](showcase/quicklogger/image-1.png)
+
+**QuickLogger** is a minimalist Go-based GUI application built with the Fyne framework that's designed for rapid text note capture, primarily targeting mobile Android devices. It provides a simple interface for quickly logging thoughts, ideas, or notes to timestamped Markdown files (`ql-YYMMDD-HHMMSS.md`) with customizable categorization through dropdown menus for tags, activities, and time periods. The app is optimized for mobile use with features like character count indicators, text length warnings, and a clear button for quick text clearing.
+
+[![quicklogger screenshot](showcase/quicklogger/image-2.png "quicklogger screenshot")](showcase/quicklogger/image-2.png)
+
+The project follows a clean, single-file architecture with all functionality contained in `main.go`, making it easy to understand and maintain. It includes both a main logging interface and a preferences window for customizing save directories and dropdown options. The build system supports cross-platform compilation with special focus on Android APK generation, and the saved files are designed to work well with file syncing tools like Syncthing, making it a practical tool for capturing notes on mobile devices that can be automatically synchronized across multiple devices.
+
+[View on Codeberg](https://codeberg.org/snonux/quicklogger)
+[View on GitHub](https://github.com/snonux/quicklogger)
+
+Go from `main.go`:
+
+```AUTO
+func createPreferenceWindow(a fyne.App) fyne.Window {
+ window := a.NewWindow("Preferences")
+ directoryPreference := widget.NewEntry()
+ directoryPreference.SetText(a.Preferences().StringWithFallback("Directory", defaultDirectory))
+
+ tagDropdownPreference := widget.NewEntry()
+ tagDropdownPreference.SetText(a.Preferences().StringWithFallback("Tags", strings.Join(defaultTagItems, ",")))
+
+ whatDropdownPreference := widget.NewEntry()
+ whatDropdownPreference.SetText(a.Preferences().StringWithFallback("Whats", strings.Join(defaultWhatItems, ",")))
+
+ window.SetContent(container.NewVBox(
+ container.NewVBox(
+ widget.NewLabel("Directory:"),
+ directoryPreference,
+ widget.NewLabel("Tags:"),
+ tagDropdownPreference,
+ widget.NewLabel("Whats:"),
+ whatDropdownPreference,
+ ),
+ container.NewHBox(
+ widget.NewButton("Save", func() {
+ a.Preferences().SetString("Directory", directoryPreference.Text)
+ a.Preferences().SetString("Tags", tagDropdownPreference.Text)
+ a.Preferences().SetString("Whats", whatDropdownPreference.Text)
+ window.Hide()
+ }),
+ widget.NewButton("Reset dropdowns", func() {
+ tagDropdownPreference.SetText(strings.Join(defaultTagItems, ","))
+ whatDropdownPreference.SetText(strings.Join(defaultWhatItems, ","))
+ },
+ ),
+ )))
+ window.Resize(windowSize)
+
+ return window
+}
+```
+
+---
+
+### docker-gpodder-sync-server
+
+* 💻 Languages: Make (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 3
+* 📈 Lines of Code: 12
+* 📄 Lines of Documentation: 3
+* 📅 Development Period: 2024-03-24 to 2024-03-24
+* 🔥 Recent Activity: 471.5 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+This project is a **Docker containerization wrapper for a GPodder sync server**, specifically built around the micro-gpodder-server implementation from https://github.com/bohwaz/micro-gpodder-server. GPodder is a podcast client that allows users to synchronize their podcast subscriptions and episode states across multiple devices. The sync server enables this synchronization by providing a centralized service that podcast clients can connect to for managing subscriptions, episode progress, and playback history.
+
+The project is implemented as a simple Docker build system with a Makefile that provides convenient commands for building, running, and deploying the containerized service. The actual server code is included as a git submodule, while this wrapper provides infrastructure automation including data persistence through volume mounting (`./data` to `/var/www/server/data`), network configuration (port 8080 exposure), and AWS ECR deployment capabilities. This approach makes it easy to deploy a self-hosted GPodder sync server with minimal setup, useful for podcast enthusiasts who want to maintain their own synchronization service rather than relying on third-party services.
+
+[View on Codeberg](https://codeberg.org/snonux/docker-gpodder-sync-server)
+[View on GitHub](https://github.com/snonux/docker-gpodder-sync-server)
+
+Make from `Makefile`:
+
+```AUTO
+build:
+ docker build -t micro-gpodder-server ./micro-gpodder-server
+run: build
+ if [ ! -d ./data ]; then mkdir ./data; fi
+ docker run \
+ --name micro-gpodder-server \
+ -v ./data:/var/www/server/data \
+ --hostname gpodder.example.org \
+ -p 8080:8080 micro-gpodder-server
+aws: build
+```
+
+---
+
+### terraform
+
+* 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 123
+* 📈 Lines of Code: 2850
+* 📄 Lines of Documentation: 52
+* 📅 Development Period: 2023-08-27 to 2025-04-05
+* 🔥 Recent Activity: 501.5 days (avg. age of last 42 commits)
+* ⚖️ License: MIT
+* 🧪 Status: Experimental (no releases yet)
+
+
+This is a comprehensive personal cloud infrastructure project built with Terraform that deploys a multi-tier AWS architecture for hosting self-hosted services. The infrastructure is organized into modular components: `org-buetow-base` provides the foundation (VPC, subnets, EFS storage, ECR), `org-buetow-bastion` creates a bastion host for secure access, `org-buetow-elb` sets up application load balancing, and `org-buetow-ecs` runs containerized services on AWS Fargate. The project also includes an EKS cluster option with EFS CSI driver integration for Kubernetes workloads.
+
+The system is designed to host multiple personal services including Anki sync server, Audiobookshelf, Vaultwarden, Syncthing, Radicale (CalDAV/CardDAV), and others, all with persistent storage via EFS and secure TLS termination. The architecture follows AWS best practices with remote state management in S3, proper networking isolation, and automated backups, making it useful for individuals wanting to run their own private cloud services with enterprise-grade reliability and security.
+
+[View on Codeberg](https://codeberg.org/snonux/terraform)
+[View on GitHub](https://github.com/snonux/terraform)
+
+HCL from `org-buetow-ecs/variables.tf`:
+
+```AUTO
+ type = bool
+ default = false
+}
+
+variable "deploy_audiobookshelf" {
+ description = "Deploy Audio Bool Shelf Server?"
+ type = bool
+ default = true
+}
+```
+
+---
+
+### gogios
+
+* 💻 Languages: Go (94.4%), YAML (3.4%), JSON (2.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 77
+* 📈 Lines of Code: 1096
+* 📄 Lines of Documentation: 287
+* 📅 Development Period: 2023-04-17 to 2025-06-12
+* 🔥 Recent Activity: 514.4 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.1.0 (2024-05-03)
+* 🤖 AI-Assisted: This project was partially created with the help of generative AI
+
+
+[![gogios screenshot](showcase/gogios/image-1.png "gogios screenshot")](showcase/gogios/image-1.png)
+
+Gogios is a lightweight, minimalistic monitoring tool written in Go designed for small-scale server monitoring. It executes standard Nagios-compatible check plugins and sends email notifications only when service states change, making it ideal for personal infrastructure or small environments with limited resources. The tool emphasizes simplicity over complexity, avoiding the bloat of enterprise monitoring solutions like Nagios, Icinga, or Prometheus by eliminating features like web UIs, databases, contact groups, and clustering.
+
+The implementation follows a clean architecture with concurrent check execution, dependency management, and persistent state tracking. Key features include state-based notifications (only alerts on status changes), configurable retry logic, federation support for distributed monitoring, and stale detection for checks that haven't run recently. The tool is configured via JSON and requires only a local mail transfer agent for notifications. It's designed to run via cron jobs and supports high-availability setups through simple dual-server configurations, making it perfect for users who want effective monitoring without operational overhead.
+
+[View on Codeberg](https://codeberg.org/snonux/gogios)
+[View on GitHub](https://github.com/snonux/gogios)
+
+Go from `internal/run.go`:
+
+```AUTO
+func persistReport(subject, body string, conf config) error {
+ reportFile := fmt.Sprintf("%s/report.txt", conf.StateDir)
+ tmpFile := fmt.Sprintf("%s.tmp", reportFile)
+
+ f, err := os.Create(tmpFile)
+ if err != nil {
+ return err
+ }
+ defer f.Close()
+
+ if _, err = f.WriteString(fmt.Sprintf("%s\n\n", subject)); err != nil {
+ return err
+ }
+ if _, err = f.WriteString(body); err != nil {
+ return err
+ }
+ return os.Rename(tmpFile, reportFile)
+}
+```
+
+---
+
+### docker-radicale-server
+
+* 💻 Languages: Docker (53.1%), Make (46.9%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 32
+* 📄 Lines of Documentation: 3
+* 📅 Development Period: 2023-12-31 to 2023-12-31
+* 🔥 Recent Activity: 555.1 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+This project is a **Docker containerization setup for Radicale**, a CalDAV and CardDAV server written in Python. Radicale is a lightweight, standards-compliant calendar and contacts server that allows users to synchronize their calendars and address books across multiple devices and applications. The project provides a complete Docker image and deployment configuration that makes it easy to run a personal or small-team calendar/contacts server.
+
+The implementation uses Alpine Linux as the base image for a minimal footprint, installs Python 3 and Radicale via pip, and configures the server with HTTP basic authentication using htpasswd. The setup includes persistent storage for collections (calendars/contacts) and authentication data through Docker volumes, exposes the service on port 8080, and includes a Makefile for easy building and deployment. The project also supports pushing to AWS ECR for cloud deployment, making it suitable for both local development and production use cases where you need a self-hosted alternative to cloud-based calendar services.
+
+[View on Codeberg](https://codeberg.org/snonux/docker-radicale-server)
+[View on GitHub](https://github.com/snonux/docker-radicale-server)
+
+Make from `Makefile`:
+
+```AUTO
+build:
+ docker build -t radicale .
+run: build
+ if [ ! -d collections ]; then mkdir collections; fi
+ if [ ! -d auth ]; then mkdir auth; fi
+ cp -v htpasswd-test auth/htpasswd
+ sh -c 'docker rm radicale; exit 0'
+ docker run \
+ -v collections:/collections \
+ -v auth:/auth \
+```
+
+---
+
+### docker-anki-sync-server
+
+* 💻 Languages: Docker (62.1%), Make (37.9%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 3
+* 📈 Lines of Code: 29
+* 📄 Lines of Documentation: 3
+* 📅 Development Period: 2023-08-13 to 2024-01-01
+* 🔥 Recent Activity: 648.3 days (avg. age of last 42 commits)
+* ⚖️ License: MIT
+* 🧪 Status: Experimental (no releases yet)
+
+
+This project is a Docker containerization of the Anki sync server, designed to provide a self-hosted synchronization service for Anki flashcard applications. Anki is a popular spaced repetition learning tool, and this project allows users to run their own sync server instead of relying on AnkiWeb's hosted service, giving them full control over their data privacy and synchronization infrastructure.
+
+The implementation is built using a Rocky Linux base image with Python 3.9, and it integrates the community-maintained `anki-sync-server` project. The Dockerfile:dockerfile:1-19 sets up the environment by installing dependencies, configuring data paths for collections and authentication databases to persist in `/data`, and running the service under a dedicated user for security. The Makefile:makefile:1-12 provides build automation that clones the upstream anki-sync-server repository and includes AWS ECR deployment capabilities for cloud hosting. This containerized approach makes it easy to deploy and manage an Anki sync server across different environments while maintaining data persistence through volume mounts.
+
+[View on Codeberg](https://codeberg.org/snonux/docker-anki-sync-server)
+[View on GitHub](https://github.com/snonux/docker-anki-sync-server)
+
+Make from `Makefile`:
+
+```AUTO
+all:
+ if [ ! -d anki-sync-server ]; then \
+ git clone https://github.com/ankicommunity/anki-sync-server; \
+ else \
+ cd anki-sync-server && git pull && cd ..; \
+ fi
+ docker build -t anki-sync-server:latest .
+aws:
+ docker build -t anki-sync-server:latest .
+ docker tag anki-sync-server:latest 634617747016.dkr.ecr.eu-central-1.amazonaws.com/anki-sync-server:latest
+```
+
+---
+
+### gorum
+
+* 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 82
+* 📈 Lines of Code: 1525
+* 📄 Lines of Documentation: 15
+* 📅 Development Period: 2023-04-17 to 2023-11-19
+* 🔥 Recent Activity: 700.4 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+Gorum is a minimalistic distributed quorum manager written in Go that implements a leader election and consensus mechanism across multiple nodes in a network. The system enables nodes to continuously vote for which node should be the leader based on priority scores, with automatic failover when nodes become unavailable. It's particularly useful for distributed systems that need to maintain a single authoritative node while providing high availability and fault tolerance.
+
+The architecture consists of several key components: a quorum manager that handles voting logic and score calculations, TCP-based client/server communication for exchanging votes between nodes, and an email notification system to alert administrators of leadership changes. Each node runs both a server to receive votes from other nodes and a client to send its own votes to peers. The system uses time-based vote expiration to detect failed nodes and automatically removes them from consideration, while priority-based scoring ensures predictable leader selection during normal operations.
+
+[View on Codeberg](https://codeberg.org/snonux/gorum)
+[View on GitHub](https://github.com/snonux/gorum)
+
+Go from `internal/notifier/email.go`:
+
+```AUTO
+func (em email) send(conf config.Config) error {
+ if !conf.EmailNotifycationEnabled() {
+ return nil
+ }
+ log.Println("notify:", em.subject, em.body)
+
+ headers := map[string]string{
+ "From": conf.EmailFrom,
+ "To": conf.EmailTo,
+ "Subject": em.subject,
+ "MIME-Version": "1.0",
+ "Content-Type": "text/plain; charset=\"utf-8\"",
+ }
+
+ header := ""
+ for k, v := range headers {
+ header += fmt.Sprintf("%s: %s\r\n", k, v)
+ }
+
+ message := header + "\r\n" + em.body
+ log.Println("Using SMTP server", conf.SMTPServer)
+
+ return smtp.SendMail(conf.SMTPServer, nil, conf.EmailFrom,
+ []string{conf.EmailTo}, []byte(message))
+}
+```
+
+---
+
+### randomjournalpage
+
+* 💻 Languages: Shell (94.1%), Make (5.9%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 8
+* 📈 Lines of Code: 51
+* 📄 Lines of Documentation: 26
+* 📅 Development Period: 2022-06-02 to 2024-04-20
+* 🔥 Recent Activity: 765.2 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**Random Journal Page** is a personal utility script designed to help with journal reflection and review. The project randomly selects a PDF file from a collection of scanned bullet journals and extracts a random set of pages (42 by default) to create a smaller PDF for reading and reflection. This is particularly useful for revisiting past thoughts, book notes, and ideas that were written down over time.
+
+The implementation is straightforward - a bash script that uses `find` to locate PDF files, `pdfinfo` to determine page counts, and `qpdf` to extract page ranges. It intelligently handles edge cases like ensuring the extracted range stays within document bounds and automatically opens the result in a PDF viewer (unless run in cron mode). The script stores the extracted pages in the same directory as the source journals (designed for NextCloud sync) so they can be accessed across devices, making it a simple but effective tool for personal knowledge management and reflection.
+
+[View on Codeberg](https://codeberg.org/snonux/randomjournalpage)
+[View on GitHub](https://github.com/snonux/randomjournalpage)
+
+Shell from `randomjournalpage.sh`:
+
+```AUTO
+declare -r ARG="$1"
+
+declare -r JOURNAL_DIR="$HOME/Journals/"
+declare -r OUT_PDF=$JOURNAL_DIR/random_journal_extract.pdf
+declare -i NUM_PAGES_TO_EXTRACT=42 # This is the answear!
+```
+
+---
+
+### sway-autorotate
+
+* 💻 Languages: Shell (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 8
+* 📈 Lines of Code: 41
+* 📄 Lines of Documentation: 17
+* 📅 Development Period: 2020-01-30 to 2025-04-30
+* 🔥 Recent Activity: 1058.7 days (avg. age of last 42 commits)
+* ⚖️ License: GPL-3.0
+* 🧪 Status: Experimental (no releases yet)
+
+
+**sway-autorotate** is a bash script for automatic screen rotation on tablets running the Sway window manager. It's specifically designed for touch-enabled devices like the Microsoft Surface Go 2 tablet, addressing the common need for automatic screen orientation changes when the device is physically rotated. The project is particularly useful for tablet users who frequently switch between portrait and landscape orientations, as it eliminates the need to manually rotate the display through system settings.
+
+The implementation consists of two main components: `autorotate.sh` monitors the device's orientation sensor using the `monitor-sensor` command (from iio-sensor-proxy) and automatically rotates both the screen display and input devices (touchpad/touchscreen) to match the physical orientation. The script maps orientation changes ("normal", "right-up", "bottom-up", "left-up") to corresponding rotation angles (0°, 90°, 180°, 270°) and uses `swaymsg` commands to update the display transform and remap input devices to maintain proper touch coordinates. A simple `start.sh` launcher runs the autorotate script as a background daemon, making it easy to integrate into system startup routines.
+
+[View on Codeberg](https://codeberg.org/snonux/sway-autorotate)
+[View on GitHub](https://github.com/snonux/sway-autorotate)
+
+Shell from `autorotate.sh`:
+
+```AUTO
+set -euf -o pipefail
+
+declare -r WAYLANDINPUT=(
+ '1118:2485:Microsoft_Surface_Keyboard_Touchpad'
+ '1267:10780:ELAN9038:00_04F3:2A1C'
+)
+declare -r SCREEN=eDP-1
+```
+
+---
+
+### photoalbum
+
+* 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 153
+* 📈 Lines of Code: 342
+* 📄 Lines of Documentation: 39
+* 📅 Development Period: 2011-11-19 to 2022-04-02
+* 🔥 Recent Activity: 1278.3 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.5.0 (2022-02-21)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+PhotoAlbum is a minimal Bash script for Unix-like systems that generates static web photo albums from directories of images. It creates pure HTML+CSS galleries without JavaScript, making them lightweight and universally compatible. The tool is designed for simplicity and portability - users point it at a directory of photos, configure basic settings like thumbnail size and gallery title, and it automatically generates a complete static website with image previews, navigation, and optional download archives.
+
+The implementation centers around a single Bash script (`photoalbum.sh`) that uses ImageMagick's `convert` command to generate thumbnails and resized images, then applies customizable HTML templates to create the gallery structure. The architecture separates configuration (via `photoalbumrc` files), templating (modular `.tmpl` files for different page components), and processing logic, allowing users to customize the appearance while maintaining the core functionality. The generated output is a self-contained `dist` directory that can be deployed to any static web server.
+
+[View on Codeberg](https://codeberg.org/snonux/photoalbum)
+[View on GitHub](https://github.com/snonux/photoalbum)
+
+Shell from `src/photoalbum.sh`:
+
+```AUTO
+ for sub in thumbs blurs photos; do
+ if [ -f "$DIST_DIR/$sub/$basename" ]; then
+ rm -v "$DIST_DIR/$sub/$basename"
+ fi
+ done
+ done
+}
+
+scalephotos () {
+ cd "$INCOMING_DIR" && find ./ -maxdepth 1 -type f | sort |
+ while read -r photo; do
+ declare photo="$(sed 's#^\./##' <<< "$photo")"
+ declare destphoto="$DIST_DIR/photos/$photo"
+ declare destphoto_nospace="${destphoto// /_}"
+```
+
+---
+
+### algorithms
+
+* 💻 Languages: Go (99.2%), Make (0.8%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 82
+* 📈 Lines of Code: 1728
+* 📄 Lines of Documentation: 18
+* 📅 Development Period: 2020-07-12 to 2023-04-09
+* 🔥 Recent Activity: 1429.5 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This is a comprehensive Go-based algorithms and data structures educational project that implements fundamental computer science concepts for learning and practice. The codebase is organized into four main packages: data structures (`ds`), sorting algorithms (`sort`), search algorithms (`search`), and priority queues (`queue`), with extensive test coverage and benchmarking capabilities.
+
+The project leverages Go's generics system to provide type-safe implementations of classic algorithms like quicksort, mergesort, binary search trees, red-black trees, and hash tables. It includes both elementary and advanced implementations (parallel sorting, various priority queue implementations) and appears to be designed as educational material for an algorithms course. The architecture emphasizes clean separation of concerns with shared type definitions, comprehensive testing via `make test`, and performance analysis through `make bench`, making it a valuable resource for understanding algorithmic complexity and implementation patterns in Go.
+
+[View on Codeberg](https://codeberg.org/snonux/algorithms)
+[View on GitHub](https://github.com/snonux/algorithms)
+
+Go from `sort/parallelquick.go`:
+
+```AUTO
+func ParallelQuick[V ds.Number](a ds.ArrayList[V]) ds.ArrayList[V] {
+ parallelQuick(a)
+ return a
+}
+```
+
+---
+
+### geheim
+
+* 💻 Languages: Ruby (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 66
+* 📈 Lines of Code: 671
+* 📄 Lines of Documentation: 19
+* 📅 Development Period: 2018-05-26 to 2025-01-21
+* 🔥 Recent Activity: 1431.2 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+Based on my analysis of the project, here's a concise summary:
+
+**Geheim** is a Ruby-based encrypted document storage system that provides secure, Git-backed storage for sensitive files and data. It uses AES-256-CBC encryption with PIN-based initialization vectors to protect both file contents and filenames, storing everything in an encrypted Git repository that can be synchronized across multiple remotes for geo-redundancy.
+
+The system is architected around several key components: a configuration system for customization, an encryption module handling AES operations, Git integration for version control and sync, and a CLI interface supporting both interactive shell mode and direct commands. Key features include fuzzy search through encrypted indices using `fzf`, clipboard integration for password management, secure file shredding, and support for both text and binary files. The implementation uses SHA256-hashed directory structures to organize encrypted data, with separate index files containing metadata and data files containing the actual encrypted content, making it suitable for personal document encryption with strong security practices.
+
+[View on Codeberg](https://codeberg.org/snonux/geheim)
+[View on GitHub](https://github.com/snonux/geheim)
+
+Ruby from `geheim.rb`:
+
+```AUTO
+def out(message, prefix, flag = :none)
+ message = message.to_s unless message.instance_of?(String)
+ message.split("\n").each do |line|
+ if flag == :nonl
+ print "#{prefix} #{line}"
+```
+
+---
+
+### perl-c-fibonacci
+
+* 💻 Languages: C (80.4%), Make (19.6%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 51
+* 📄 Lines of Documentation: 69
+* 📅 Development Period: 2014-03-24 to 2022-04-23
+* 🔥 Recent Activity: 1910.4 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This project is a fascinating polyglot programming experiment that demonstrates how a single source file can be valid code in multiple programming languages simultaneously. The core file `fibonacci.pl.raku.c` is cleverly written to be syntactically valid in C, C++, Perl, and Raku, all while implementing the same Fibonacci sequence calculation. It achieves this through strategic use of C preprocessor macros that redefine Perl/Raku-style syntax (like `my`, `sub`, `BEGIN`) into valid C constructs, while the actual logic remains readable in both paradigms.
+
+The project is useful as an educational tool for understanding language syntax similarities, demonstrating advanced preprocessor techniques, and showcasing creative programming approaches. The implementation uses a recursive Fibonacci algorithm with a global variable to pass arguments, and the build system (via Makefile) compiles and runs the same source code with four different language compilers/interpreters (gcc, g++, perl, raku) to prove it produces identical output across all platforms. This polyglot approach makes it both a technical curiosity and a practical demonstration of cross-language compatibility.
+
+[View on Codeberg](https://codeberg.org/snonux/perl-c-fibonacci)
+[View on GitHub](https://github.com/snonux/perl-c-fibonacci)
+
+C from `fibonacci.pl.raku.c`:
+
+```AUTO
+sub hello() {
+ printf("Hello, welcome to the Fibonacci Numbers!\n");
+ printf("This program is all, valid C and C++ and Perl and Raku code!\n");
+ printf("It calculates all fibonacci numbers from 0 to 9!\n\n");
+ return 0;
+}
+```
+
+---
+
+### guprecords
+
+* 💻 Languages: Raku (100.0%)
+* 📊 Commits: 95
+* 📈 Lines of Code: 195
+* 📅 Development Period: 2013-03-22 to 2023-03-09
+* 🔥 Recent Activity: 2125.5 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v1.0.0 (2023-04-29)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+GupRecords is a Raku-based system administration tool that analyzes and reports on system uptime statistics across multiple hosts. It processes raw uptime records from various systems and generates formatted reports showing the top-performing hosts or operating systems based on metrics like uptime, boot count, downtime, and calculated meta-scores.
+
+The tool is implemented with a clean object-oriented architecture featuring an Aggregator class that parses record files, Host and OS Aggregate classes that store statistics, and Reporter classes that generate formatted tables. It supports multiple analysis categories (host, OS, OS-major, uname) and various sorting criteria including uptime duration, boot frequency, system lifespan, and downtime. The formatted output includes visual indicators for active systems and provides both duration-based and numerical metrics in a structured table format, making it useful for system administrators to quickly identify the most reliable systems in their infrastructure.
+
+[View on Codeberg](https://codeberg.org/snonux/guprecords)
+[View on GitHub](https://github.com/snonux/guprecords)
+
+Raku from `guprecords.raku`:
+
+```AUTO
+sub do-it(Str:D \stats-dir, Reporter:D \reporter) {
+ my Aggregator \aggregator .= new;
+ aggregator.add-file($_) for dir(stats-dir, test => { /.records$/ });
+ reporter.aggregates = aggregator.aggregates;
+ reporter.report;
+}
+```
+
+---
+
+### ioriot
+
+* 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 50
+* 📈 Lines of Code: 12420
+* 📄 Lines of Documentation: 610
+* 📅 Development Period: 2018-03-01 to 2020-01-22
+* 🔥 Recent Activity: 2451.9 days (avg. age of last 42 commits)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: 0.5.1 (2019-01-04)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+[![ioriot screenshot](showcase/ioriot/image-1.png "ioriot screenshot")](showcase/ioriot/image-1.png)
+
+**I/O Riot** is a Linux I/O benchmarking tool designed to capture real production I/O operations and replay them on load test machines for performance analysis. Unlike traditional benchmarking tools that use artificial I/O patterns, I/O Riot records actual file system operations from production servers and reproduces them exactly on test hardware. This approach enables accurate performance testing, hardware evaluation, and I/O bottleneck identification without the complexity of distributed test environments.
+
+The tool is implemented in C for minimal overhead and uses SystemTap for efficient kernel-space I/O capture. The architecture consists of five main components: capture (recording I/O operations), initialization (preparing test environment), replay (executing captured operations), analysis (performance evaluation), and iteration (testing different configurations). It supports major Linux file systems (ext2/3/4, xfs) and over 40 syscalls including read, write, open, close, and various file operations. This makes it particularly valuable for optimizing OS configurations, evaluating hardware upgrades, and identifying application-level I/O inefficiencies in production environments.
+
+[View on Codeberg](https://codeberg.org/snonux/ioriot)
+[View on GitHub](https://github.com/snonux/ioriot)
+
+---
+
+### staticfarm-apache-handlers
+
+* 💻 Languages: Perl (96.4%), Make (3.6%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 3
+* 📈 Lines of Code: 919
+* 📄 Lines of Documentation: 12
+* 📅 Development Period: 2015-01-02 to 2021-11-04
+* 🔥 Recent Activity: 2960.6 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.1.3 (2015-01-02)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**StaticFarm Apache Handlers** is a specialized Apache mod_perl2 module designed to create a static content farm infrastructure. The project provides two main handlers: an API handler for file management operations and a cache control handler for intelligent content fetching and caching. The API handler (`StaticFarm::API`) exposes RESTful endpoints at `/-api` for performing CRUD operations on files, supporting GET (with directory listing), POST/PUT (file creation/modification), and DELETE operations with safety checks. The cache control handler (`StaticFarm::CacheControl`) implements a sophisticated caching mechanism that automatically fetches missing static files from a middleware server, stores them locally, and includes rate limiting and fallback host support to prevent DoS attacks.
+
+The system is particularly useful for distributed static content delivery where multiple Apache servers can dynamically fetch and cache content from a central middleware server on-demand. It's implemented as a Debian package with proper dependencies (mod_perl2, JSON, and File::MimeInfo modules) and includes comprehensive error handling, logging, and security measures like path traversal protection and permission checking. The architecture allows for horizontal scaling of static content serving while maintaining centralized content management through the middleware layer.
+
+[View on Codeberg](https://codeberg.org/snonux/staticfarm-apache-handlers)
+[View on GitHub](https://github.com/snonux/staticfarm-apache-handlers)
+
+Perl from `src/StaticFarm/API.pm`:
+
+```AUTO
+sub path_ls {
+ my $f = shift;
+
+ return [ map { s#.*/##; $_ } glob("$f/*") ];
+}
+```
+
+---
+
+### dyndns
+
+* 💻 Languages: Shell (100.0%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 3
+* 📈 Lines of Code: 18
+* 📄 Lines of Documentation: 49
+* 📅 Development Period: 2014-03-24 to 2021-11-05
+* 🔥 Recent Activity: 3196.5 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This project is a simple Dynamic DNS (DynDNS) updater designed to automatically update DNS records when IP addresses change. It's particularly useful for maintaining DNS records for hosts with dynamic IP addresses, such as home servers or systems behind residential internet connections. The solution uses BIND DNS server with nsupdate for secure DNS record updates via SSH key authentication.
+
+The implementation consists of a shell script (`update-dyndns`) that accepts hostname, record type, IP address, and TTL parameters, then uses nsupdate to delete the old DNS record and add a new one with the current IP address. The system is designed to be called remotely via SSH from client machines when their IP addresses change (e.g., through PPP connection scripts), providing a lightweight and secure way to maintain accurate DNS records for dynamic hosts with very low TTL values (30 seconds) to ensure quick propagation of changes.
+
+[View on Codeberg](https://codeberg.org/snonux/dyndns)
+[View on GitHub](https://github.com/snonux/dyndns)
+
+---
+
+### mon
+
+* 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 7
+* 📈 Lines of Code: 5360
+* 📄 Lines of Documentation: 789
+* 📅 Development Period: 2015-01-02 to 2021-11-05
+* 🔥 Recent Activity: 3463.2 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.1 (2015-01-02)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**Mon** is a command-line monitoring API client tool written in Perl that provides a simplified interface for interacting with RESTlos monitoring APIs (specifically designed for Nagios-style monitoring systems). It serves as a powerful administrative tool for monitoring infrastructure, allowing users to query, modify, and manage monitoring configurations through a REST API without needing to directly interact with complex JSON or HTTP requests.
+
+The tool is particularly useful for system administrators and DevOps engineers who need to programmatically manage monitoring configurations, perform bulk operations on monitoring objects (hosts, services, contacts, etc.), and integrate monitoring management into automated workflows. Mon features an intuitive command-line syntax with operations like `get`, `post`, `put`, `delete`, `update`, and `insert` for different monitoring categories, supports filtering with SQL-like syntax, provides interactive mode for exploratory work, and includes safety features like automatic JSON backups before modifications. The architecture is modular, built around a core RESTlos API client (`MON::RESTlos`) with separate modules for configuration management, query parsing, caching, filtering, and display formatting, making it extensible and maintainable for enterprise monitoring environments.
+
+[View on Codeberg](https://codeberg.org/snonux/mon)
+[View on GitHub](https://github.com/snonux/mon)
+
+Perl from `lib/MON/JSON.pm`:
+
+```AUTO
+sub init {
+ my ($self) = @_;
+
+ return undef;
+}
+```
+
+---
+
+### rubyfy
+
+* 💻 Languages: Ruby (98.5%), JSON (1.5%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 34
+* 📈 Lines of Code: 273
+* 📄 Lines of Documentation: 32
+* 📅 Development Period: 2015-09-29 to 2021-11-05
+* 🔥 Recent Activity: 3467.4 days (avg. age of last 42 commits)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: 0 (2015-10-26)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**Rubyfy** is a Ruby-based SSH automation tool designed to execute commands and scripts across multiple remote servers in parallel. It serves as a sophisticated SSH loop that enables system administrators to efficiently manage and orchestrate tasks across entire server fleets, supporting operations like command execution, file uploads/downloads, and background job management.
+
+The tool is implemented as a single Ruby script that leverages threading for parallel execution and provides comprehensive configuration options through command-line arguments or JSON configuration files. Key features include parallel SSH connections (configurable), sudo/root execution, conditional execution based on file existence, script upload/execution, file transfer capabilities, and comprehensive logging. The architecture uses a thread pool pattern with a work queue to distribute jobs across servers, making it particularly useful for DevOps tasks like system monitoring, software deployment, maintenance operations, and batch administrative tasks across distributed infrastructure.
+
+[View on Codeberg](https://codeberg.org/snonux/rubyfy)
+[View on GitHub](https://github.com/snonux/rubyfy)
+
+Ruby from `rubyfy.rb`:
+
+```AUTO
+def log(severity, message)
+ return if severity == :VERBOSE and not $opts["verbose"]
+ return if severity == :DEBUG and not $opts["debug"]
+
+ timestamp = $opts["timestamp"] ? "#{Time.now}|" : ""
+```
+
+---
+
+### pingdomfetch
+
+* 💻 Languages: Perl (97.3%), Make (2.7%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 9
+* 📈 Lines of Code: 1839
+* 📄 Lines of Documentation: 412
+* 📅 Development Period: 2015-01-02 to 2021-11-05
+* 🔥 Recent Activity: 3547.0 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.2 (2015-01-02)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**pingdomfetch** is a Perl-based monitoring tool that fetches website availability statistics from Pingdom.com and provides email notifications when availability drops below configured thresholds. The tool is particularly useful for system administrators and DevOps teams who need automated monitoring alerts beyond Pingdom's built-in notifications, allowing them to aggregate multiple service checks and calculate composite availability metrics for "top-level services."
+
+The project is implemented as a modular Perl application with a clean architecture separating concerns into distinct modules: Config for configuration management, Pingdom for API interactions, Display for output formatting, Notify for email notifications, and various utility modules. It supports flexible time-based queries, can aggregate multiple Pingdom checks into logical service groups with weighted calculations, and provides both command-line output and email notification capabilities. The tool can be configured via multiple config files and supports Debian packaging for easy deployment.
+
+[View on Codeberg](https://codeberg.org/snonux/pingdomfetch)
+[View on GitHub](https://github.com/snonux/pingdomfetch)
+
+Perl from `lib/PINGDOMFETCH/Pingdom.pm`:
+
+```AUTO
+sub fetch_all_checks_json {
+ my ($self) = @_;
+
+ my $config = $self->{config};
+
+ my $url_base = $self->{url_base};
+ my $action = $config->get('pingdom.api.all.checks.action');
+
+ my $url = "$url_base/$action";
+
+ $self->verbose("Fetching all checks from Pingdom");
+
+ return $self->fetch($url);
+}
+```
+
+---
+
+### gotop
+
+* 💻 Languages: Go (98.0%), Make (2.0%)
+* 📚 Documentation: Markdown (50.0%), Text (50.0%)
+* 📊 Commits: 57
+* 📈 Lines of Code: 499
+* 📄 Lines of Documentation: 8
+* 📅 Development Period: 2015-05-24 to 2021-11-03
+* 🔥 Recent Activity: 3557.7 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.1 (2015-06-01)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**gotop** is an I/O monitoring tool written in Go that serves as a replacement for the traditional Linux `iotop` command. It displays real-time disk I/O statistics for running processes, showing which processes are performing the most read/write operations on your system. The tool is particularly useful for system administrators and developers who need to identify I/O bottlenecks, monitor disk usage patterns, or troubleshoot performance issues related to disk activity.
+
+The implementation follows a concurrent architecture using Go's goroutines and channels. The main components include a process monitor that reads from `/proc/[pid]/io` files to gather I/O statistics, a disk statistics collector (currently a placeholder), and a terminal-based display system. The tool supports multiple monitoring modes (bytes, syscalls, chars), configurable update intervals, and provides human-readable output with both decimal and binary formatting options. The display shows write/read rates, process IDs, and command lines in a top-like interface that updates in real-time, with automatic cleanup of terminated processes.
+
+[View on Codeberg](https://codeberg.org/snonux/gotop)
+[View on GitHub](https://github.com/snonux/gotop)
+
+Go from `process/process.go`:
+
+```AUTO
+func (self *Process) gatherRaw(what *string, pathf string) error {
+ bytes, err := ioutil.ReadFile(fmt.Sprintf(pathf, self.Pid))
+ if err != nil {
+ return err
+ } else {
+ *what = string(bytes)
+ }
+ return nil
+}
+```
+
+---
+
+### xerl
+
+* 💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)
+* 📊 Commits: 670
+* 📈 Lines of Code: 1675
+* 📅 Development Period: 2011-03-06 to 2018-12-22
+* 🔥 Recent Activity: 3613.4 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.0.0 (2018-12-22)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+Based on my analysis of the project files, here's a summary of Xerl:
+
+**Xerl** is an open-source website template engine with Content Management System (CMS) features, written in object-oriented Perl and powered by FastCGI. It uses XML-based configuration and content files to generate static websites with multiple output formats (HTML5, XHTML, RSS feeds, and plain text).
+
+The system works through a template-driven architecture where content is written in XML files with semantic tags (like `<pagetitle>`, `<text>`, `<enumeration>`) that get transformed into HTML using configurable transformation rules. The `config.xml` file defines how these semantic tags map to HTML elements, supporting variables and dynamic content insertion. Each website can have its own template configuration, content files, and static assets (CSS, images, fonts), making it useful for maintaining multiple related websites with consistent styling and structure while allowing customization per site. The project includes several example sites (paul.buetow.org, xerl.buetow.org) and redirect configurations, demonstrating its practical use for personal or organizational web presence management.
+
+[View on Codeberg](https://codeberg.org/snonux/xerl)
+[View on GitHub](https://github.com/snonux/xerl)
+
+Perl from `Xerl.pm`:
+
+```AUTO
+return undef if $config->finish_request_exists();
+
+if ( $config->document_exists() ) {
+ my $document = Xerl::Page::Document->new( config => $config );
+ $document->parse();
+ return undef if $config->finish_request_exists();
+
+}
+```
+
+---
+
+### debroid
+
+* 💻 Languages: Shell (92.0%), Make (8.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 16
+* 📈 Lines of Code: 88
+* 📄 Lines of Documentation: 148
+* 📅 Development Period: 2015-06-18 to 2015-12-05
+* 🔥 Recent Activity: 3661.5 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+[![debroid screenshot](showcase/debroid/image-1.png "debroid screenshot")](showcase/debroid/image-1.png)
+
+**Debroid** is a project that enables running a full Debian GNU/Linux environment on Android devices using a chroot container. Specifically designed for the LG G3 D855 running CyanogenMod 13 (Android 6), it allows users to install and run a complete Debian Jessie system alongside Android. This is particularly useful for developers and power users who want access to a full Linux command-line environment, package management system, and GNU/Linux tools directly on their Android device without dual-booting or replacing the Android system.
+
+The implementation works by creating a Debian filesystem image using debootstrap on a Linux host machine, then transferring it to the Android device's SD card. The core architecture uses loop devices to mount the Debian image file and bind mounts to share Android's `/proc`, `/dev`, and `/sys` filesystems with the chroot environment. The `jessie.sh` script handles mounting/unmounting the chroot and provides commands to enter the Debian environment or start services, while `userinit.sh` automatically starts Debian services at Android boot time. The project includes automation scripts and a Makefile for easy deployment via ADB.
+
+[View on Codeberg](https://codeberg.org/snonux/debroid)
+[View on GitHub](https://github.com/snonux/debroid)
+
+Shell from `storage/sdcard1/Linux/jessie.sh`:
+
+```AUTO
+function umount_chroot {
+ busybox umount -f $ROOT/storage/sdcard1
+ for mountpoint in dev/pts proc dev sys; do
+ busybox umount -f $ROOT/$mountpoint
+ done
+ busybox umount -f $ROOT
+ losetup -d $LOOP_DEVICE
+}
+```
+
+---
+
+### fapi
+
+* 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)
+* 📚 Documentation: Text (98.3%), Markdown (1.7%)
+* 📊 Commits: 219
+* 📈 Lines of Code: 1681
+* 📄 Lines of Documentation: 539
+* 📅 Development Period: 2014-03-10 to 2021-11-03
+* 🔥 Recent Activity: 3939.5 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.2 (2014-11-17)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**fapi** is a command-line tool for managing F5 BigIP load balancers through the iControl API. It provides a simplified interface for common load balancer operations including managing nodes, pools, virtual servers, monitors, SSL profiles, VLANs, and network configuration. The tool is particularly useful for automating F5 operations and supports both direct commands and an interactive shell mode with features like auto-completion and DNS resolution.
+
+The implementation is written in Python and built on top of the bigsuds library, which provides the underlying F5 iControl API connectivity. It uses a lazy evaluation pattern where commands are parsed and validated before making actual API calls to the F5 device. The tool supports multiple environments (dev/qa/prod), partition management, and includes safety features like no-op mode for testing commands without execution. Key architectural components include argument parsing, DNS lookup capabilities, and modular handlers for different F5 object types (nodes, pools, virtual servers, etc.).
+
+[View on Codeberg](https://codeberg.org/snonux/fapi)
+[View on GitHub](https://github.com/snonux/fapi)
+
+Python from `contrib/bigsuds-1.0/bigsuds.py`:
+
+```AUTO
+def _create_client_wrapper(self, client, wsdl_name):
+ client.set_options(headers=self._headers)
+ return super(_BIGIPSession, self)._create_client_wrapper(client, wsdl_name)
+```
+
+---
+
+### template
+
+* 💻 Languages: Make (89.2%), Shell (10.8%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 22
+* 📈 Lines of Code: 65
+* 📄 Lines of Documentation: 228
+* 📅 Development Period: 2013-03-22 to 2021-11-04
+* 🔥 Recent Activity: 3993.9 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.0.0.0 (2013-03-22)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This is a **Debian packaging template project** that provides a complete scaffolding for creating proper Debian packages from custom projects. It serves as a reusable starting point for developers who want to package their software for Debian-based systems, eliminating the need to create the complex Debian packaging infrastructure from scratch.
+
+The project implements a clean, Make-based build system with automatic versioning from Debian changelog files, POD-based documentation generation for manual pages, and a complete Debian package structure including control files, copyright information, and build rules. The template includes a simple bash script example that demonstrates version handling, but is designed to be easily customized for any type of project (C programs, libraries, etc.). The architecture supports both development and production workflows through `make` for local builds and `make deb` for generating installable `.deb` packages with proper lintian validation.
+
+[View on Codeberg](https://codeberg.org/snonux/template)
+[View on GitHub](https://github.com/snonux/template)
+
+Make from `Makefile`:
+
+```AUTO
+NAME=template
+all: version documentation build
+
+
+build:
+ cp -p ./src/$(NAME) bin/$(NAME)
+ sed -i "s/VERSION_DEVEL/$$(cat .version)/" bin/$(NAME)
+```
+
+---
+
+### muttdelay
+
+* 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 41
+* 📈 Lines of Code: 136
+* 📄 Lines of Documentation: 96
+* 📅 Development Period: 2013-03-22 to 2021-11-05
+* 🔥 Recent Activity: 4006.9 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.2.0 (2014-07-05)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**MuttDelay** is a bash-based email scheduling tool that allows users to delay the sending of emails composed in Mutt for a specific future time. Unlike Mutt's built-in postpone feature, MuttDelay provides true time-based scheduling where emails are automatically sent at a predetermined future date and time. The tool is particularly useful for users who want to compose emails immediately but send them at more appropriate times, such as scheduling work emails to be sent during business hours or timing communications for maximum impact.
+
+The implementation is elegantly simple, consisting of a bash script that operates in two modes: a "vim" mode for scheduling emails during composition and a "cron" mode for processing the queue. When composing an email in Vim, users invoke the MuttDelay function (mapped to `,L`) which prompts for the number of days to delay and copies the email to a queue directory (`~/.muttdelay/`) with a filename containing the target send timestamp. A cron job runs the script periodically, checking for emails whose send time has arrived, extracting recipient information and subject lines using `formail`, and dispatching them via Mutt's command-line interface. The architecture leverages existing Unix tools (cron, formail, mutt) and integrates seamlessly with Vim and Mutt workflows, requiring minimal configuration while providing reliable email scheduling functionality.
+
+[View on Codeberg](https://codeberg.org/snonux/muttdelay)
+[View on GitHub](https://github.com/snonux/muttdelay)
+
+Make from `Makefile`:
+
+```AUTO
+NAME=muttdelay
+all: version documentation build
+
+
+build:
+ cp -p ./src/$(NAME) bin/$(NAME)
+ sed -i "s/VERSION_DEVEL/$$(cat .version)/" bin/$(NAME)
+```
+
+---
+
+### netdiff
+
+* 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 42
+* 📈 Lines of Code: 134
+* 📄 Lines of Documentation: 106
+* 📅 Development Period: 2013-03-22 to 2021-11-05
+* 🔥 Recent Activity: 4014.4 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.1.5 (2014-06-22)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**NetDiff** is a Bash-based network utility that enables secure file and directory comparison between two remote hosts over the network. It's particularly useful for system administrators who need to identify configuration differences between servers, such as comparing PAM configurations, system files, or directory structures across multiple hosts.
+
+The tool works by having both hosts run the same command simultaneously - one acts as a server (listening on a specified port) while the other acts as a client (connecting to that port). NetDiff packages the specified file or directory using tar, encrypts it with OpenSSL AES-256-CBC encryption (using a shared secret derived from the hostname, port, and path), and transfers it via netcat. After the encrypted transfer, it decrypts the received data and performs a standard diff comparison. The implementation is elegant in its simplicity, using only common Unix utilities (tar, openssl, nc, diff) and automatically determining server/client roles based on hostname matching, making it easy to deploy and use across different systems without complex setup.
+
+[View on Codeberg](https://codeberg.org/snonux/netdiff)
+[View on GitHub](https://github.com/snonux/netdiff)
+
+---
+
+### pwgrep
+
+* 💻 Languages: Shell (85.0%), Make (15.0%)
+* 📚 Documentation: Text (80.8%), Markdown (19.2%)
+* 📊 Commits: 142
+* 📈 Lines of Code: 493
+* 📄 Lines of Documentation: 26
+* 📅 Development Period: 2009-09-27 to 2021-11-02
+* 🔥 Recent Activity: 4057.7 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.9.3 (2014-06-14)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**pwgrep** is a command-line password manager built in Bash and GNU AWK that combines GPG encryption with version control (Git by default) for secure password storage and change tracking. It stores encrypted password databases as GPG files and uses a revision control system to maintain a complete history of all changes, making it ideal for users who want both security and accountability in their password management. The tool provides a simple interface where users can search for passwords using `pwgrep searchstring` or edit the database directly with `pwgrep`, and it integrates with various AWK implementations and secure file deletion tools for cross-platform compatibility.
+
+The implementation leverages GPG for strong encryption, ensuring passwords are never stored in plaintext, while the version control integration (typically Git over SSL/SSH) provides secure synchronization across multiple devices and maintains an audit trail of all database modifications. The project includes comprehensive Debian packaging support and creates multiple command aliases (pwedit, pwfadd, pwfdel, etc.) for different password management operations, making it a complete password management solution that prioritizes security, transparency, and ease of use for technical users comfortable with command-line tools.
+
+[View on Codeberg](https://codeberg.org/snonux/pwgrep)
+[View on GitHub](https://github.com/snonux/pwgrep)
+
+Shell from `bin/pwgrep.sh`:
+
+```AUTO
+function pwdbls () {
+ echo Available Databases:
+ _pwdbls
+ echo Current database: $DB
+}
+```
+
+---
+
+### japi
+
+* 💻 Languages: Perl (78.3%), Make (21.7%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 41
+* 📈 Lines of Code: 286
+* 📄 Lines of Documentation: 144
+* 📅 Development Period: 2013-03-22 to 2021-11-05
+* 🔥 Recent Activity: 4062.7 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.4.3 (2014-06-16)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**japi** is a simple Perl command-line tool for fetching and displaying unresolved Jira tickets. It's designed to be used manually or automated via cron jobs to keep track of open issues from Jira projects. The tool is particularly useful for developers and project managers who want to quickly view their current workload - it can write results to a local file that's displayed whenever opening a new shell session.
+
+The implementation uses modern Perl with the Moo object system and consists of two main packages: `Japi::Japi` for command-line option handling and `Japi::Jira` for API communication. It authenticates using stored Base64-encoded passwords or interactive prompts, queries Jira's REST API with customizable JQL searches, and displays results with colored terminal output showing creation dates, reporters, summaries, and direct links to issues. The tool supports filtering for unassigned tickets only and provides extensive configuration options for different Jira installations and query requirements.
+
+[View on Codeberg](https://codeberg.org/snonux/japi)
+[View on GitHub](https://github.com/snonux/japi)
+
+---
+
+### perl-poetry
+
+* 💻 Languages: Perl (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 2
+* 📈 Lines of Code: 191
+* 📄 Lines of Documentation: 8
+* 📅 Development Period: 2014-03-24 to 2014-03-24
+* 🔥 Recent Activity: 4124.0 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This is a creative Perl poetry project that demonstrates the artistic and expressive possibilities of the Perl programming language. The project consists of six thematic Perl scripts that are designed to be syntactically valid Perl code while simultaneously reading as narrative poetry or prose when viewed as text.
+
+Each script explores different themes - Christmas celebrations, mathematical study, love for Perl, criticism of PHP, shopping experiences, and travel journeys - using Perl's flexible syntax and keywords to create dual-purpose code that functions as both executable programs and readable stories. The implementation cleverly exploits Perl's permissive syntax, liberal use of special variables, goto statements, and context-sensitive operators to craft code that flows naturally when read aloud. While the code compiles and runs, it's primarily an artistic exercise rather than functional software, showcasing Perl's unique ability to blur the lines between code and creative expression.
+
+[View on Codeberg](https://codeberg.org/snonux/perl-poetry)
+[View on GitHub](https://github.com/snonux/perl-poetry)
+
+Perl from `math.pl`:
+
+```AUTO
+do { int'egrate'; sub trade; };
+do { exp'onentize' and abs'olutize' };
+study and study and study and study;
+
+foreach $topic ({of, math}) {
+you, m/ay /go, to, limits }
+
+do { not qw/erk / unless $success
+and m/ove /o;$n and study };
+```
+
+---
+
+### ipv6test
+
+* 💻 Languages: Perl (100.0%)
+* 📊 Commits: 7
+* 📈 Lines of Code: 80
+* 📅 Development Period: 2011-07-09 to 2015-01-13
+* 🔥 Recent Activity: 4204.0 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This is a simple IPv6 connectivity testing tool implemented as a Perl CGI script. The project provides a web-based service that helps users determine whether they're connecting to servers using IPv6 or IPv4 protocols, which is useful for network administrators and users wanting to verify their IPv6 connectivity.
+
+The implementation uses a straightforward approach with three test endpoints: one that accepts both IPv4 and IPv6 connections, one IPv4-only, and one IPv6-only. The Perl script detects the connection type by examining the client's IP address format using regex pattern matching, then performs DNS lookups (both standard `host` and advanced `dig` commands) to provide detailed connectivity information including reverse DNS resolution for both client and server addresses. This tool is particularly valuable for diagnosing IPv6 deployment issues and helping users understand their network's dual-stack configuration.
+
+[View on Codeberg](https://codeberg.org/snonux/ipv6test)
+[View on GitHub](https://github.com/snonux/ipv6test)
+
+Perl from `index.pl`:
+
+```AUTO
+Congratulations, you have connected to a server that will display your method of connection, either IPv6 (preferred) or IPv4 (old and crusty). Well IPv6 is already ~15 years old either but not as old as IPv4 ;)
+<br /><br />
+Nevertheless, please choose your destiny:
+<ul>
+ <li><a href="http://ipv6.buetow.org">ipv6.buetow.org</a> for IPv6 & IPv4 Test</li>
+ <li><a href="http://test4.ipv6.buetow.org">test4.ipv6.buetow.org</a> for IPv4 Only Test</li>
+ <li><a href="http://test6.ipv6.buetow.org">test6.ipv6.buetow.org</a> for IPv6 Only Test</li>
+</ul>
+If your browser times-out when trying to connect to this server then you do not have an IPv6 or IPv4 path (depends on which test you are running) to the server. If your browser returns an error that the host cannot be found then the DNS servers you are using are unable to resolve the AAAA or A DNS record (depends on which test you are running again) for the server. If your browser is able to connect to the "IPv6 Only Test", yet using the "IPv6 & IPv4 Test" returns a page stating you are using IPv4, then your browser and/or IP stack in your machine are preferring IPv4 over IPv6. It also might be that your operating system supports IPv6 but your web-browser doesn't.
+END
+
+if ($ENV{SERVER_NAME} eq 'ipv6.buetow.org') {
+```
+
+---
+
+### cpuinfo
+
+* 💻 Languages: Shell (53.2%), Make (46.8%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 28
+* 📈 Lines of Code: 124
+* 📄 Lines of Documentation: 75
+* 📅 Development Period: 2010-11-05 to 2021-11-05
+* 🔥 Recent Activity: 4244.7 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.2 (2014-06-22)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**cpuinfo** is a small command-line utility that provides a human-readable summary of CPU information on Linux systems. It parses `/proc/cpuinfo` using AWK to extract and display key processor details including the CPU model, cache size, number of physical processors, cores, and whether hyper-threading is enabled. The tool calculates total CPU frequency and bogomips across all cores, making it easier to understand complex multi-core and multi-processor configurations at a glance.
+
+The implementation is remarkably simple - a single shell script that uses GNU AWK to parse the kernel's CPU information and format it into a clear, structured output. It's particularly useful for system administrators and developers who need to quickly understand CPU topology, especially on servers with multiple processors or complex threading configurations where the raw `/proc/cpuinfo` output can be overwhelming.
+
+[View on Codeberg](https://codeberg.org/snonux/cpuinfo)
+[View on GitHub](https://github.com/snonux/cpuinfo)
+
+---
+
+### loadbars
+
+* 💻 Languages: Perl (97.4%), Make (2.6%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 527
+* 📈 Lines of Code: 1828
+* 📄 Lines of Documentation: 100
+* 📅 Development Period: 2010-11-05 to 2015-05-23
+* 🔥 Recent Activity: 4274.8 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.7.5 (2014-06-22)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**Loadbars** is a real-time server monitoring tool that visualizes CPU loads, memory usage, and network statistics across multiple remote servers simultaneously. Written in Perl, it connects to servers via SSH using public/private key authentication and displays colorized bar charts representing various system metrics in a live SDL-based graphical interface. This tool is particularly useful for system administrators who need immediate visibility into server performance without waiting for traditional monitoring tools to collect and process data.
+
+The application is implemented using a multi-threaded architecture where each monitored server runs in its own thread, continuously collecting statistics from `/proc/stat`, `/proc/meminfo`, and `/proc/net/dev` files. The main thread handles the SDL graphics rendering and user input, while background threads parse system data and update shared variables. Key features include toggleable views for individual CPU cores vs. summary stats, memory and network monitoring, configurable averaging intervals, and keyboard shortcuts for real-time adjustments. The tool supports server clusters via ClusterSSH integration and includes extensive customization options through command-line arguments and configuration files.
+
+[View on Codeberg](https://codeberg.org/snonux/loadbars)
+[View on GitHub](https://github.com/snonux/loadbars)
+
+Perl from `lib/Loadbars/Shared.pm`:
+
+```AUTO
+use Exporter;
+
+use base 'Exporter';
+
+our @EXPORT = qw(
+ %PIDS
+ %CPUSTATS
+ %NETSTATS_LASTUPDATE
+ %AVGSTATS
+ %AVGSTATS_HAS
+```
+
+---
+
+### perldaemon
+
+* 💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)
+* 📊 Commits: 110
+* 📈 Lines of Code: 614
+* 📅 Development Period: 2011-02-05 to 2022-04-21
+* 🔥 Recent Activity: 4324.2 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.4 (2022-04-29)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+PerlDaemon is a minimal, extensible daemon framework for Linux and Unix-like systems written in Perl. It provides a structured foundation for creating background services that need to run continuously and execute scheduled tasks at regular intervals. The daemon supports automatic daemonization, comprehensive logging with logrotate support, clean shutdown handling via SIGTERM, and pidfile management to prevent multiple instances.
+
+The architecture centers around a modular plugin system where custom functionality is implemented as Perl modules in the `PerlDaemonModules` directory. The core daemon runs in a main loop with configurable intervals, executing all loaded modules sequentially at specified intervals while maintaining high-resolution timing precision using Time::HiRes. It includes built-in monitoring capabilities through alive files, flexible configuration via `perldaemon.conf` or command-line overrides, and can run in both daemon and foreground modes for development and debugging. This makes it particularly useful for system administrators and developers who need a lightweight, reliable framework for periodic system tasks, monitoring services, or custom automation scripts.
+
+[View on Codeberg](https://codeberg.org/snonux/perldaemon)
+[View on GitHub](https://github.com/snonux/perldaemon)
+
+Perl from `lib/PerlDaemonModules/ExampleModule.pm`:
+
+```AUTO
+sub new ($$$) {
+ my ($class, $conf) = @_;
+
+ my $self = bless { conf => $conf }, $class;
+ $self->{counter} = 0;
+
+ return $self;
+}
+```
+
+---
+
+### awksite
+
+* 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)
+* 📚 Documentation: Text (60.0%), Markdown (40.0%)
+* 📊 Commits: 3
+* 📈 Lines of Code: 122
+* 📄 Lines of Documentation: 10
+* 📅 Development Period: 2011-01-27 to 2014-06-22
+* 🔥 Recent Activity: 4655.3 days (avg. age of last 42 commits)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.2 (2011-01-27)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**AWKsite** is a lightweight CGI application written in GNU AWK that generates dynamic HTML websites. It's designed to run on Unix-like systems and provides a simple templating system for creating dynamic web content. The application is particularly useful for creating basic dynamic websites without requiring complex web frameworks or databases - it's ideal for simple status pages, basic content management, or educational purposes where you want to demonstrate CGI concepts with minimal dependencies.
+
+The implementation consists of a main AWK script (`index.cgi`) that reads configuration from `awksite.conf` and processes an HTML template (`template.html`) by replacing template variables (marked with `%%variable%%`) with values from the configuration file. The system supports both static values and dynamic content generated by executing shell commands (prefixed with `!`). For example, `%%date%%` gets replaced with the output of the `date` command, and `%%uptime%%` shows server uptime. The template engine also supports sorting file contents with a special `!sort filename` syntax, making it easy to display sorted lists of data.
+
+[View on Codeberg](https://codeberg.org/snonux/awksite)
+[View on GitHub](https://github.com/snonux/awksite)
+
+AWK from `index.cgi`:
+
+```AUTO
+function process_line(line) {
+ if (line ~ /%%.+%%/)
+ return insert_template_value(line)
+ return line
+}
+```
+
+---
+
+### jsmstrade
+
+* 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 20
+* 📈 Lines of Code: 720
+* 📄 Lines of Documentation: 6
+* 📅 Development Period: 2008-06-21 to 2021-11-03
+* 🔥 Recent Activity: 4717.9 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v0.3 (2009-02-08)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+[![jsmstrade screenshot](showcase/jsmstrade/image-1.png "jsmstrade screenshot")](showcase/jsmstrade/image-1.png)
+
+**JSMSTrade** is a lightweight Java Swing desktop application that provides a simple GUI for sending SMS messages through the smstrade.de service. The tool offers a minimalist interface with a text area for message composition (enforcing the 160-character SMS limit), send/clear buttons, and a character counter. Users can configure their SMS gateway URL and API key through a preferences dialog, with settings automatically saved to disk. The application is useful for users who need a dedicated desktop client for sending SMS messages without using a web browser or complex API integration.
+
+The implementation follows a clean three-class architecture: `SMain` handles the main application logic and SMS sending via HTTP requests, `SFrame` provides a base class for proper window management and positioning, and `SPrefs` manages the configuration dialog. The application uses Java's built-in networking capabilities to send SMS messages by making HTTP GET requests to the configured smstrade.de gateway URL, encoding the message content appropriately for transmission.
+
+[View on Codeberg](https://codeberg.org/snonux/jsmstrade)
+[View on GitHub](https://github.com/snonux/jsmstrade)
+
+Java from `sources/smstrade/SPrefs.java`:
+
+```AUTO
+public SPrefs(Component parent, HashMap<String,String> options) {
+ super("Preferences", parent);
+ this.options = options;
+
+ disposeWithParent();
+ setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+ setSize(300, 150);
+ setResizable(false);
+
+ fillContentPane();
+ setVisible(true);
+}
+```
+
+---
+
+### netcalendar
+
+* 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)
+* 📚 Documentation: Text (89.7%), Markdown (10.3%)
+* 📊 Commits: 50
+* 📈 Lines of Code: 17380
+* 📄 Lines of Documentation: 947
+* 📅 Development Period: 2009-02-07 to 2021-05-01
+* 🔥 Recent Activity: 5348.6 days (avg. age of last 42 commits)
+* ⚖️ License: GPL-2.0
+* 🏷️ Latest Release: v0.1 (2009-02-08)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+[![netcalendar screenshot](showcase/netcalendar/image-1.png "netcalendar screenshot")](showcase/netcalendar/image-1.png)
+
+NetCalendar is a networked calendar application written in Java that provides both client and server functionality for managing and sharing calendar events. The application implements a client-server architecture where the server manages a calendar database and serves multiple clients over TCP/IP, with optional SSL encryption for secure communication. Users can create, edit, and search calendar events with different categories (birthdays, studies, diverse events) and the system provides visual color-coding to indicate event urgency (red for next 24 hours, orange for next week, etc.).
+
+[![netcalendar screenshot](showcase/netcalendar/image-2.png "netcalendar screenshot")](showcase/netcalendar/image-2.png)
+
+The implementation uses a clean separation of concerns with dedicated packages for client GUI components, server database management, and shared utilities. The client features a Swing-based interface with table views, input forms, and search capabilities, while the server handles concurrent client connections and maintains event persistence in text-based database files. The application supports both standalone mode (client and server in same process) and distributed mode across multiple machines, making it useful for small teams or organizations that need shared calendar functionality without relying on external services.
+
+[View on Codeberg](https://codeberg.org/snonux/netcalendar)
+[View on GitHub](https://github.com/snonux/netcalendar)
+
+Java from `sources/client/helper/DateSpinner.java`:
+
+```AUTO
+private void initComponents() {
+ setLayout(new FlowLayout(FlowLayout.LEFT, 4, 4));
+
+ spinnerDateModel = new SpinnerDateModel(date, null, null, Calendar.MONTH);
+ JSpinner jSpinner = new JSpinner(spinnerDateModel);
+ new JSpinner.DateEditor(jSpinner, "MM/yy");
+
+ add(jSpinner);
+}
+```
+
+---
+
+### hsbot
+
+* 💻 Languages: Haskell (98.5%), Make (1.5%)
+* 📊 Commits: 80
+* 📈 Lines of Code: 601
+* 📅 Development Period: 2009-11-22 to 2011-10-17
+* 🔥 Recent Activity: 5444.2 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**HSBot** is a modular IRC bot written in Haskell that provides a plugin-based architecture for handling IRC messages and commands. The bot connects to IRC servers, joins channels, and responds to both direct commands (prefixed with `!`) and general messages through its plugin system. It includes built-in commands for help, info, state management, and graceful shutdown, while supporting extensible functionality through plugins like message counting, printing, and storage capabilities.
+
+The implementation uses a clean separation of concerns with modules for IRC connectivity, command handling, state management, and plugin orchestration. The bot maintains persistent state through a database file and provides a dispatch system that routes messages to appropriate handlers based on whether they're commands or general messages. Its plugin architecture allows for easy extension with new functionality, making it a flexible foundation for IRC automation tasks.
+
+[View on Codeberg](https://codeberg.org/snonux/hsbot)
+[View on GitHub](https://github.com/snonux/hsbot)
+
+Haskell from `HsBot/IRC.hs`:
+
+```AUTO
+module HsBot.IRC (ircStart) where
+
+import IO
+import List
+import Network
+import System
+import System.IO
+import Text.Printf
+
+import HsBot.Base.Conf
+```
+
+---
+
+### ychat
+
+* 💻 Languages: C++ (48.9%), Shell (22.7%), C/C++ (20.7%), Perl (2.5%), HTML (2.1%), Config (1.9%), Make (0.9%), CSS (0.2%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 67
+* 📈 Lines of Code: 45956
+* 📄 Lines of Documentation: 101
+* 📅 Development Period: 2008-05-15 to 2014-06-30
+* 🔥 Recent Activity: 5554.8 days (avg. age of last 42 commits)
+* ⚖️ License: GPL-2.0
+* 🏷️ Latest Release: yhttpd-0.7.2 (2013-04-06)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+Based on my analysis of the codebase, here's a concise summary of the yChat project:
+
+**yChat** is a web-based chat server written in C++ that functions as a standalone HTTP server without requiring external web server dependencies. It allows users to participate in multi-room chat sessions using standard web browsers, with no special client software needed. The system supports user registration, authentication via session IDs, customizable HTML templates, and multi-language support through XML configuration files.
+
+The architecture is built around several key managers: a socket manager for handling HTTP connections, a chat manager for core functionality, an HTML template manager for dynamic content generation, and a modular system supporting dynamically loadable command modules. It uses hash maps for efficient O(1) data retrieval, POSIX threads for concurrent request handling, and includes advanced features like SSL support, MySQL database integration, garbage collection for memory management, and comprehensive logging. The codebase also includes related projects like yhttpd (a lightweight HTTP server) and ycurses (a terminal interface library), making it a comprehensive communication platform designed for performance and extensibility.
+
+[View on Codeberg](https://codeberg.org/snonux/ychat)
+[View on GitHub](https://github.com/snonux/ychat)
+
+C++ from `ycurses/src/curses/attributes.cpp`:
+
+```AUTO
+#define ATTRIBUTES_CPP
+
+#include "attributes.h"
+
+attributes::attributes()
+{
+ init();
+}
+```
+
+---
+
+### vs-sim
+
+* 💻 Languages: Java (98.8%), Shell (0.7%), XML (0.4%)
+* 📚 Documentation: LaTeX (98.4%), Text (1.4%), Markdown (0.2%)
+* 📊 Commits: 411
+* 📈 Lines of Code: 16303
+* 📄 Lines of Documentation: 2903
+* 📅 Development Period: 2008-05-15 to 2021-05-01
+* 🔥 Recent Activity: 5740.7 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.0 (2008-08-24)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+[![vs-sim screenshot](showcase/vs-sim/image-1.jpg "vs-sim screenshot")](showcase/vs-sim/image-1.jpg)
+
+VS-Sim is an open-source distributed systems simulator written in Java, developed as a diploma thesis at Aachen University of Applied Sciences. It provides a visual environment for simulating and understanding distributed system algorithms including consensus protocols (one-phase/two-phase commit), time synchronization (Berkeley, Lamport, vector clocks), and communication patterns (multicast, broadcast, reliable messaging). The simulator is useful for educational purposes, allowing students and researchers to visualize complex distributed system concepts through interactive simulations.
+
+The implementation features a modular architecture with separate packages for core processes, events, protocols, and visualization. It includes pre-built protocol implementations, a GUI-based simulator with start/pause/reset controls, serialization support for saving simulations, and comprehensive time modeling systems. The codebase demonstrates clean separation of concerns with abstract base classes for extensibility and a plugin-like protocol system for easy addition of new distributed algorithms.
+
+[View on Codeberg](https://codeberg.org/snonux/vs-sim)
+[View on GitHub](https://github.com/snonux/vs-sim)
+
+Java from `sources/serialize/VSSerialize.java`:
+
+```AUTO
+public boolean accept(File file) {
+ if (file.isDirectory())
+ return true;
+ return file.getName().toLowerCase().endsWith(".dat");
+}
+```
+
+---
+
+### fype
+
+* 💻 Languages: C (67.9%), C/C++ (23.6%), HTML (6.9%), Make (1.6%)
+* 📚 Documentation: Text (61.4%), LaTeX (38.6%)
+* 📊 Commits: 99
+* 📈 Lines of Code: 8622
+* 📄 Lines of Documentation: 1474
+* 📅 Development Period: 2008-05-15 to 2014-06-30
+* 🔥 Recent Activity: 5768.3 days (avg. age of last 42 commits)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+**Fype** is a 32-bit scripting language interpreter written in C that aims to be "at least as good as AWK" while providing a different syntax and some unique features. Created by Paul C. Buetow as a fun project, Fype supports variables, functions, procedures, loops, arrays, and control structures with features like variable synonyms (references), nested functions/procedures, and automatic type conversion. The language uses a simple syntax with statements ending in semicolons and supports both global procedures (which share scope with their callers) and lexically-scoped functions.
+
+The implementation is built using a straightforward top-down parser with a maximum lookahead of 1 token, simultaneously parsing and interpreting code (meaning syntax errors are only detected at runtime). The architecture is modular with separate components for scanning/tokenization, symbol management, garbage collection, type conversion, and data structures (including arrays, lists, hash tables, stacks, and trees). The interpreter is designed for Unix-like systems (BSD/Linux) and includes built-in functions for I/O, math operations, bitwise operations, system calls like `fork`, and memory management with garbage collection.
+
+[View on Codeberg](https://codeberg.org/snonux/fype)
+[View on GitHub](https://github.com/snonux/fype)
diff --git a/about/showcase/debroid/image-1.png b/about/showcase/debroid/image-1.png
new file mode 100644
index 00000000..427a613c
--- /dev/null
+++ b/about/showcase/debroid/image-1.png
@@ -0,0 +1,1972 @@
+
+
+
+
+
+
+
+
+<!DOCTYPE html>
+<html
+ lang="en"
+
+ data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
+ data-a11y-animated-images="system" data-a11y-link-underlines="true"
+
+ >
+
+
+
+
+ <head>
+ <meta charset="utf-8">
+ <link rel="dns-prefetch" href="https://github.githubassets.com">
+ <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
+ <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
+ <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
+ <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
+ <link rel="preconnect" href="https://avatars.githubusercontent.com">
+
+ <link crossorigin="anonymous" rel="preload" as="script" href="https://github.githubassets.com/assets/global-banner-disable-59fed23c5fc1.js" />
+
+ <link rel="preload" href="https://github.githubassets.com/assets/mona-sans-d1bf285e9b9b.woff2" as="font" type="font/woff2" crossorigin>
+
+
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-d1334f2b22bf.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-f695a361c6b2.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-367eb9a4565a.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-34780c9e589c.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-2ddc677c041d.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-b479ee0af6fe.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-f73a069fd33e.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-3a0d87f72ad4.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-b17a8392e6c4.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-03758f901c24.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a1cc7dba9f73.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-55c33b3b3010.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-55459b36aa6d.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-b615f369440d.css" />
+
+
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-dc7ca6859caf.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-03a65c451725.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-08479f6308b4.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-b7a8237f130c.css" />
+
+
+
+
+
+ <script type="application/json" id="client-env">{"locale":"en","featureFlags":["alternate_user_config_repo","api_insights_show_missing_data_banner","appearance_settings","attestations_filtering","attestations_sorting","client_version_header","codespaces_prebuild_region_target_update","contact_requests_implicit_opt_in","contentful_lp_copilot_extensions","contentful_lp_flex_features","contentful_lp_footnotes","copilot_agents_view_v2","copilot_chat_attach_multiple_images","copilot_chat_vision_in_claude","copilot_chat_vision_skip_thread_create","copilot_chat_wholearea_dd","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_free_to_paid_telem","copilot_ftp_settings_upgrade","copilot_ftp_upgrade_to_pro_from_models","copilot_ftp_your_copilot_settings","copilot_immersive_agent_sessions_direct_creation","copilot_immersive_structured_model_picker","copilot_new_immersive_references_ui","copilot_no_floating_button","copilot_read_shared_conversation","copilot_spaces_support_forks","copilot_spark_allow_empty_commit","copilot_spark_single_user_iteration","copilot_spark_use_streaming","copilot_task_oriented_assistive_prompts","copilot_workbench_connection_reload_banner","copilot_workbench_iterate_panel","copilot_workbench_preview_analytics","copilot_workbench_refresh_on_wsod","custom_copilots_128k_window","custom_copilots_capi_mode","custom_copilots_issues_prs","direct_to_salesforce","dotcom_chat_client_side_skills","failbot_report_error_react_apps_on_page","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","insert_before_patch","issues_catch_non_json_graphql_response","issues_preserve_tokens_in_urls","issues_react_blur_item_picker_on_close","issues_react_bots_timeline_pagination","issues_react_create_milestone","issues_react_prohibit_title_fallback","issues_react_remove_placeholders","issues_react_set_height_in_markdown","lifecycle_label_name_updates","link_contact_sales_swp_marketo","marketing_pages_search_explore_provider","memex_mwl_filter_field_delimiter","nonreporting_relay_graphql_status_codes","primer_primitives_experimental","primer_react_select_panel_with_modern_action_list","remove_child_patch","sample_network_conn_type","scheduled_reminders_updated_limits","site_homepage_contentful","site_msbuild_hide_integrations","site_msbuild_launch","site_msbuild_webgl_hero","spark_commit_on_default_branch","spark_sync_repository_after_iteration","swp_enterprise_contact_form","use_paginated_repo_picker_cost_center_form","viewscreen_sandbox","workbench_store_readonly"]}</script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/high-contrast-cookie-a58297b2ebf8.js"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-945310d5217e.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-a8c266e5f126.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1d3d52-babac9434833.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-f3dd72be4f2c.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/environment-89128d48c6ff.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-c44edfed7f0d.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-cdf2757bd188.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-5913bc24f35d.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-c1e2fb329866.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-e50fb7a5fe8c.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-d8c643-251bc3964eb6.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-6a8c7d9a08fe.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-cadbad-aba5025babc7.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-86cb7fc402e2.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-65797218adf2.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-34c4b68b1dd3.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-b93a87060d31.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-300e8e4e0414.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_fzy_js_index_js-node_modules_github_paste-markdown_dist_index_js-63a26702fa42.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-595819d3686f.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-1bcf38e06f01.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-1a149db8dc99.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-c1aa61-91618cb63471.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-a5daa16ae903.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f953ddf42948.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-e45aabc67d13.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-a7da4270c5f4.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-567e0f340e27.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-4baa82584d7c.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-ea8eaa-eefe25567449.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-40e14cc64ab7.js" defer="defer"></script>
+
+
+ <title>Page not found · GitHub · GitHub</title>
+
+
+
+ <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
+ <meta name="route-controller" content="blob" data-turbo-transient>
+ <meta name="route-action" content="show" data-turbo-transient>
+ <meta name="fetch-nonce" content="v2:73c8545c-df18-d022-9a9d-059ee3840f82">
+
+
+ <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">
+
+
+ <meta name="request-id" content="86BA:9DA13:53014B:557B93:686D92D7" data-pjax-transient="true"/><meta name="html-safe-nonce" content="4f84f0788e4a77010d24a9fcea8df65c208ca24b36f46503db29203fd07d90d3" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NkJBOjlEQTEzOjUzMDE0Qjo1NTdCOTM6Njg2RDkyRDciLCJ2aXNpdG9yX2lkIjoiMzg1MzE0MjU5MDM3ODMxNjUwMyIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="5720ed7fa7790a40fd9ea09eb53a1d3c73ff4388f4e912d3569f143d9d88018b" data-pjax-transient="true"/>
+
+
+
+
+ <meta name="github-keyboard-shortcuts" content="source-code,file-tree,copilot" data-turbo-transient="true" />
+
+
+ <meta name="selected-link" value="/buetow/debroid/blob/master/Deboroid.png" data-turbo-transient>
+ <link rel="assets" href="https://github.githubassets.com/">
+
+ <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">
+
+<meta name="octolytics-url" content="https://collector.github.com/github/collect" />
+
+
+
+
+
+
+
+
+ <meta name="user-login" content="">
+
+
+
+ <meta name="viewport" content="width=device-width">
+
+
+
+ <meta name="description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.">
+
+ <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
+
+ <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
+ <meta property="fb:app_id" content="1401488693436528">
+ <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/buetow/debroid/blob/master/Deboroid.png" />
+
+ <meta property="og:url" content="https://github.com">
+ <meta property="og:site_name" content="GitHub">
+ <meta property="og:title" content="Build software better, together">
+ <meta property="og:description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.">
+ <meta property="og:image" content="https://github.githubassets.com/assets/github-logo-55c5b9a1fe52.png">
+ <meta property="og:image:type" content="image/png">
+ <meta property="og:image:width" content="1200">
+ <meta property="og:image:height" content="1200">
+ <meta property="og:image" content="https://github.githubassets.com/assets/github-mark-57519b92ca4e.png">
+ <meta property="og:image:type" content="image/png">
+ <meta property="og:image:width" content="1200">
+ <meta property="og:image:height" content="620">
+ <meta property="og:image" content="https://github.githubassets.com/assets/github-octocat-13c86b8b336d.png">
+ <meta property="og:image:type" content="image/png">
+ <meta property="og:image:width" content="1200">
+ <meta property="og:image:height" content="620">
+
+ <meta property="twitter:site" content="github">
+ <meta property="twitter:site:id" content="13334762">
+ <meta property="twitter:creator" content="github">
+ <meta property="twitter:creator:id" content="13334762">
+ <meta property="twitter:card" content="summary_large_image">
+ <meta property="twitter:title" content="GitHub">
+ <meta property="twitter:description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.">
+ <meta property="twitter:image" content="https://github.githubassets.com/assets/github-logo-55c5b9a1fe52.png">
+ <meta property="twitter:image:width" content="1200">
+ <meta property="twitter:image:height" content="1200">
+
+
+
+
+ <meta name="hostname" content="github.com">
+
+
+
+ <meta name="expected-hostname" content="github.com">
+
+
+ <meta http-equiv="x-pjax-version" content="131b6b54c3ff57eef78dbde23b313ea5e0b8297c15c44e186afde5e5d234c05b" data-turbo-track="reload">
+ <meta http-equiv="x-pjax-csp-version" content="352e51c42d5f5727a7c545752bf34d1f83f40219e7036c6959817149a51651bc" data-turbo-track="reload">
+ <meta http-equiv="x-pjax-css-version" content="1ec14dc41555459fbdfcfe40430bcae4f79bba9df052e253c0ac6d36d6b9da75" data-turbo-track="reload">
+ <meta http-equiv="x-pjax-js-version" content="3406c3bba0cc3ead0d863e5269aed4bc727254941b0c7762cfb60fa215a2b172" data-turbo-track="reload">
+
+ <meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">
+
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/site-f57e746f9079.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/error-3bfb6168c7d5.css" />
+ <meta name="is_logged_out_page" content="true">
+ <meta name="octolytics-page-type" content="marketing">
+
+
+
+
+
+
+ <link rel="canonical" href="https://github.com/buetow/debroid/blob/master/Deboroid.png" data-turbo-transient>
+
+
+ <meta name="turbo-body-classes" content="logged-out env-production page-responsive min-height-full d-flex flex-column">
+
+
+ <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
+
+ <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
+
+ <meta name="release" content="9899acf579daa3b66a2b87d30a9dde92b82feac3">
+ <meta name="ui-target" content="full">
+
+ <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
+ <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
+ <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon">
+
+<meta name="theme-color" content="#1e2327">
+<meta name="color-scheme" content="light dark" />
+
+
+ <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
+
+ </head>
+
+ <body class="logged-out env-production page-responsive min-height-full d-flex flex-column" style="word-wrap: break-word;">
+ <div data-turbo-body class="logged-out env-production page-responsive min-height-full d-flex flex-column" style="word-wrap: break-word;">
+
+
+
+
+ <div class="position-relative header-wrapper js-header-wrapper ">
+ <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>
+
+ <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
+ <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
+</span>
+
+ <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-a57080a0a6e8.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-core-1980138d4f65.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-8705026b409a.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-8ed765fdb7a0.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-b1c483-b5947865157f.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_cookie_index_js-node_modules_primer_live-region-element_dist_esm_index_j-1ca8f6-89ab81577c38.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-b755d908e0b1.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-b3dd4b1cb532.js" defer="defer"></script>
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.5fdb25ed878a5138c363.module.css" />
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.47de85e2c17af43cefd5.module.css" />
+
+<react-partial
+ partial-name="keyboard-shortcuts-dialog"
+ data-ssr="false"
+ data-attempted-ssr="false"
+ data-react-profiling="false"
+>
+
+ <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
+ <div data-target="react-partial.reactRoot"></div>
+</react-partial>
+
+
+
+
+
+
+
+
+
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-99b04cc350b5.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/sessions-6652689d63d9.js" defer="defer"></script>
+<header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark>
+ <h2 class="sr-only">Navigation Menu</h2>
+
+ <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation">
+ <span class="d-none">Toggle navigation</span>
+ </button>
+
+ <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1">
+ <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto">
+ <div class="flex-1">
+ <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content">
+ <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div>
+ <div class="HeaderMenu-toggle-bar rounded my-1"></div>
+ <div class="HeaderMenu-toggle-bar rounded my-1"></div></span>
+ </span>
+</button>
+ </div>
+
+ <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav"
+ href="/"
+ aria-label="Homepage"
+ data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}">
+ <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
+ <path d="M12 1C5.923 1 1 5.923 1 12c0 4.867 3.149 8.979 7.521 10.436.55.096.756-.233.756-.522 0-.262-.013-1.128-.013-2.049-2.764.509-3.479-.674-3.699-1.292-.124-.317-.66-1.293-1.127-1.554-.385-.207-.936-.715-.014-.729.866-.014 1.485.797 1.691 1.128.99 1.663 2.571 1.196 3.204.907.096-.715.385-1.196.701-1.471-2.448-.275-5.005-1.224-5.005-5.432 0-1.196.426-2.186 1.128-2.956-.111-.275-.496-1.402.11-2.915 0 0 .921-.288 3.024 1.128a10.193 10.193 0 0 1 2.75-.371c.936 0 1.871.123 2.75.371 2.104-1.43 3.025-1.128 3.025-1.128.605 1.513.221 2.64.111 2.915.701.77 1.127 1.747 1.127 2.956 0 4.222-2.571 5.157-5.019 5.432.399.344.743 1.004.743 2.035 0 1.471-.014 2.654-.014 3.025 0 .289.206.632.756.522C19.851 20.979 23 16.854 23 12c0-6.077-4.922-11-11-11Z"></path>
+</svg>
+ </a>
+
+ <div class="d-flex flex-1 flex-order-2 text-right d-lg-none gap-2 flex-justify-end">
+ <a
+ href="/login?return_to=https%3A%2F%2Fgithub.com%2Fbuetow%2Fdebroid%2Fblob%2Fmaster%2FDeboroid.png"
+ class="HeaderMenu-link HeaderMenu-button d-inline-flex f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/buetow/debroid/blob/master/Deboroid.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b379dbe006afd048c306ff2bade1a431d1f5c25d30c33b6fd9080f8e6505e2e0"
+ data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"
+ >
+ Sign in
+ </a>
+ <div class="AppHeader-appearanceSettings">
+ <react-partial-anchor>
+ <button data-target="react-partial-anchor.anchor" id="icon-button-f7fbc92e-eea4-4463-b968-c4037c0eb8a8" aria-labelledby="tooltip-985ae786-b84a-4640-aa3f-cafd08f831e9" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
+ <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path>
+</svg>
+</button><tool-tip id="tooltip-985ae786-b84a-4640-aa3f-cafd08f831e9" for="icon-button-f7fbc92e-eea4-4463-b968-c4037c0eb8a8" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>
+
+ <template data-target="react-partial-anchor.template">
+ <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_promise-with-resolvers-polyfil-1e7a2a-b50af437b812.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/appearance-settings-631c3b2ed371.js" defer="defer"></script>
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.5fdb25ed878a5138c363.module.css" />
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.4e1ca273f504ba849f8c.module.css" />
+
+<react-partial
+ partial-name="appearance-settings"
+ data-ssr="false"
+ data-attempted-ssr="false"
+ data-react-profiling="false"
+>
+
+ <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
+ <div data-target="react-partial.reactRoot"></div>
+</react-partial>
+
+ </template>
+ </react-partial-anchor>
+ </div>
+
+ </div>
+ </div>
+
+
+ <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0">
+ <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0">
+ <nav class="HeaderMenu-nav" aria-label="Global">
+ <ul class="d-lg-flex list-style-none">
+
+
+ <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
+ <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
+ Product
+ <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
+ <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
+</svg>
+ </button>
+
+ <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide">
+ <div class="HeaderMenu-column pl-lg-4 px-lg-4">
+ <div class="">
+
+ <ul class="list-style-none f5" >
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3">
+ <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ GitHub Copilot
+ </div>
+ Write better code with AI
+ </div>
+
+
+</a></li>
+
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_models&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_models_link_product_navbar&quot;}" href="https://github.com/features/models">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-ai-model color-fg-subtle mr-3">
+ <path d="M19.375 8.5a3.25 3.25 0 1 1-3.163 4h-3a3.252 3.252 0 0 1-4.443 2.509L7.214 17.76a3.25 3.25 0 1 1-1.342-.674l1.672-2.957A3.238 3.238 0 0 1 6.75 12c0-.907.371-1.727.97-2.316L6.117 6.846A3.253 3.253 0 0 1 1.875 3.75a3.25 3.25 0 1 1 5.526 2.32l1.603 2.836A3.25 3.25 0 0 1 13.093 11h3.119a3.252 3.252 0 0 1 3.163-2.5ZM10 10.25a1.75 1.75 0 1 0-.001 3.499A1.75 1.75 0 0 0 10 10.25ZM5.125 2a1.75 1.75 0 1 0 0 3.5 1.75 1.75 0 0 0 0-3.5Zm12.5 9.75a1.75 1.75 0 1 0 3.5 0 1.75 1.75 0 0 0-3.5 0Zm-14.25 8.5a1.75 1.75 0 1 0 3.501-.001 1.75 1.75 0 0 0-3.501.001Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ GitHub Models
+ <span class="HeaderMenu-label">
+ New
+ </span>
+ </div>
+ Manage and compare prompts
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_product_navbar&quot;}" href="https://github.com/security/advanced-security">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3">
+ <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ GitHub Advanced Security
+ </div>
+ Find and fix vulnerabilities
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3">
+ <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Actions
+ </div>
+ Automate any workflow
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3">
+ <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Codespaces
+ </div>
+ Instant dev environments
+ </div>
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+ <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0">
+ <div class="border-bottom border-lg-bottom-0 pb-3">
+
+ <ul class="list-style-none f5" >
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3">
+ <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Issues
+ </div>
+ Plan and track work
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3">
+ <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Code Review
+ </div>
+ Manage code changes
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3">
+ <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Discussions
+ </div>
+ Collaborate outside of code
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3">
+ <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Code Search
+ </div>
+ Find more, search less
+ </div>
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+ <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7">
+ <div class="border-bottom border-lg-bottom-0 border-bottom-0">
+ <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span>
+
+ <ul class="list-style-none f5" aria-labelledby="product-explore-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;why_github&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;why_github_link_product_navbar&quot;}" href="https://github.com/why-github">
+ Why GitHub
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features">
+ All features
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com">
+ Documentation
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
+ <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
+</svg>
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com">
+ GitHub Skills
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
+ <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
+</svg>
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog">
+ Blog
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
+ <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
+</svg>
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+ </div>
+</li>
+
+
+ <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
+ <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
+ Solutions
+ <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
+ <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
+</svg>
+ </button>
+
+ <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide">
+ <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0">
+ <div class="border-bottom border-lg-bottom-0 mb-3 pb-3">
+ <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span>
+
+ <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise">
+ Enterprises
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team">
+ Small and medium teams
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups">
+ Startups
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits">
+ Nonprofits
+
+
+</a></li>
+
+ </ul>
+ </div>
+ <div class="border-bottom border-lg-bottom-0 pb-3">
+ <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span>
+
+ <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops">
+ DevSecOps
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops">
+ DevOps
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd">
+ CI/CD
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case">
+ View all use cases
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+ <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7">
+ <div class="border-bottom border-lg-bottom-0 pb-3 pb-lg-0">
+ <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span>
+
+ <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare">
+ Healthcare
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services">
+ Financial services
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing">
+ Manufacturing
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government">
+ Government
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry">
+ View all industries
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+ <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold">
+ <a href="/solutions">
+ View all solutions
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon">
+ <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path>
+</svg>
+</a> </div>
+ </div>
+</li>
+
+
+ <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
+ <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
+ Resources
+ <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
+ <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
+</svg>
+ </button>
+
+ <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide">
+ <div class="HeaderMenu-column pl-lg-4 px-lg-4 pb-3 pb-lg-0">
+ <div class="border-bottom border-lg-bottom-0 pb-3">
+ <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span>
+
+ <ul class="list-style-none f5" aria-labelledby="resources-topics-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai">
+ AI
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops">
+ DevOps
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security">
+ Security
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development">
+ Software Development
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles">
+ View all
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+ <div class="HeaderMenu-column pl-lg-4 border-lg-left pr-lg-7">
+ <div class="border-bottom border-lg-bottom-0 border-bottom-0">
+ <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span>
+
+ <ul class="list-style-none f5" aria-labelledby="resources-explore-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways">
+ Learning Pathways
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
+ <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
+</svg>
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com">
+ Events &amp; Webinars
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
+ <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
+</svg>
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers">
+ Ebooks &amp; Whitepapers
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories">
+ Customer Stories
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com">
+ Partners
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
+ <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
+</svg>
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights">
+ Executive Insights
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+ </div>
+</li>
+
+
+ <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
+ <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
+ Open Source
+ <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
+ <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
+</svg>
+ </button>
+
+ <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4">
+ <div class="HeaderMenu-column px-lg-4">
+ <div class="border-bottom mb-3 mb-lg-3 pb-3">
+
+ <ul class="list-style-none f5" >
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors">
+
+ <div>
+ <div class="color-fg-default h4">
+ GitHub Sponsors
+ </div>
+ Fund open source developers
+ </div>
+
+
+</a></li>
+
+ </ul>
+ </div>
+ <div class="border-bottom mb-3 mb-lg-3 pb-3">
+
+ <ul class="list-style-none f5" >
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme">
+
+ <div>
+ <div class="color-fg-default h4">
+ The ReadME Project
+ </div>
+ GitHub community articles
+ </div>
+
+
+</a></li>
+
+ </ul>
+ </div>
+ <div class="border-bottom border-bottom-0">
+ <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span>
+
+ <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics">
+ Topics
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending">
+ Trending
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections">
+ Collections
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+ </div>
+</li>
+
+
+ <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
+ <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
+ Enterprise
+ <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
+ <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
+</svg>
+ </button>
+
+ <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4">
+ <div class="HeaderMenu-column px-lg-4">
+ <div class="border-bottom mb-3 mb-lg-3 pb-3">
+
+ <ul class="list-style-none f5" >
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3">
+ <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Enterprise platform
+ </div>
+ AI-powered developer platform
+ </div>
+
+
+</a></li>
+
+ </ul>
+ </div>
+ <div class="border-bottom border-bottom-0">
+ <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span>
+
+ <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading">
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/security/advanced-security">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3">
+ <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ GitHub Advanced Security
+ </div>
+ Enterprise-grade security features
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3">
+ <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Copilot for business
+ </div>
+ Enterprise-grade AI features
+ </div>
+
+
+</a></li>
+
+ <li>
+ <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support">
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3">
+ <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path>
+</svg>
+ <div>
+ <div class="color-fg-default h4">
+ Premium Support
+ </div>
+ Enterprise-grade 24/7 support
+ </div>
+
+
+</a></li>
+
+ </ul>
+ </div>
+ </div>
+
+ </div>
+</li>
+
+
+ <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
+ <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a>
+</li>
+
+ </ul>
+ </nav>
+
+ <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3">
+
+
+
+<qbsearch-input class="search-input" data-scope="owner:buetow" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="q90zCSH3qN5L4tpo7il9Z4IOQfdeVlEIQgB98xfDSBMtyJ8Dno9pcb6b1IKg45i9BL4rLKGRr9l73rtxiLL9jQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="" data-current-org="" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true">
+ <div
+ class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded"
+ data-action="click:qbsearch-input#searchInputContainerClicked"
+ >
+ <button
+ type="button"
+ class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none"
+ data-target="qbsearch-input.inputButton"
+ aria-label="Search or jump to…"
+ aria-haspopup="dialog"
+ placeholder="Search or jump to..."
+ data-hotkey=s,/
+ autocapitalize="off"
+ data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}"
+ data-action="click:qbsearch-input#handleExpand"
+ >
+ <div class="mr-2 color-fg-muted">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
+ <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
+</svg>
+ </div>
+ <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span>
+ <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator">
+ <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
+ </div>
+ </button>
+
+ <input type="hidden" name="type" class="js-site-search-type-field">
+
+
+<div class="Overlay--hidden " data-modal-dialog-overlay>
+ <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto">
+ <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1>
+ <div class="Overlay-body Overlay-body--paddingNone">
+
+ <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
+ style="border-radius: 12px;"
+ data-target="qbsearch-input.queryBuilderContainer"
+ hidden
+ >
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
+ <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder">
+ <div class="FormControl FormControl--fullWidth">
+ <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only">
+ Search
+ </label>
+ <div
+ class="QueryBuilder-StyledInput width-fit "
+ data-target="query-builder.styledInput"
+ >
+ <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual">
+ <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
+</svg>
+ </span>
+ <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer">
+ <div
+ aria-hidden="true"
+ class="QueryBuilder-StyledInputContent"
+ data-target="query-builder.styledInputContent"
+ ></div>
+ <div class="QueryBuilder-InputWrapper">
+ <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div>
+ <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-2684706f-1345-4955-bffa-12e77db43d44" data-target="query-builder.input" data-action="
+ input:query-builder#inputChange
+ blur:query-builder#inputBlur
+ keydown:query-builder#inputKeydown
+ focus:query-builder#inputFocus
+ " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
+ </div>
+ </div>
+ <span class="sr-only" id="query-builder-test-clear">Clear</span>
+ <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action="
+ click:query-builder#clear
+ focus:query-builder#clearButtonFocus
+ blur:query-builder#clearButtonBlur
+ " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual">
+ <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path>
+</svg>
+</button>
+
+ </div>
+ <template id="search-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
+ <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
+</svg>
+</template>
+
+<template id="code-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
+ <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
+</svg>
+</template>
+
+<template id="file-code-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code">
+ <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
+</svg>
+</template>
+
+<template id="history-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
+ <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path>
+</svg>
+</template>
+
+<template id="repo-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo">
+ <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
+</svg>
+</template>
+
+<template id="bookmark-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark">
+ <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path>
+</svg>
+</template>
+
+<template id="plus-circle-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle">
+ <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path>
+</svg>
+</template>
+
+<template id="circle-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill">
+ <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
+</svg>
+</template>
+
+<template id="trash-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
+ <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path>
+</svg>
+</template>
+
+<template id="team-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people">
+ <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path>
+</svg>
+</template>
+
+<template id="project-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project">
+ <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path>
+</svg>
+</template>
+
+<template id="pencil-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
+ <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path>
+</svg>
+</template>
+
+<template id="copilot-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot">
+ <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path>
+</svg>
+</template>
+
+<template id="copilot-error-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error">
+ <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path>
+</svg>
+</template>
+
+<template id="workflow-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow">
+ <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path>
+</svg>
+</template>
+
+<template id="book-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
+ <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
+</svg>
+</template>
+
+<template id="code-review-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review">
+ <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path>
+</svg>
+</template>
+
+<template id="codespaces-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces">
+ <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
+</svg>
+</template>
+
+<template id="comment-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment">
+ <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
+</svg>
+</template>
+
+<template id="comment-discussion-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion">
+ <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path>
+</svg>
+</template>
+
+<template id="organization-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization">
+ <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
+</svg>
+</template>
+
+<template id="rocket-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket">
+ <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
+</svg>
+</template>
+
+<template id="shield-check-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check">
+ <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
+</svg>
+</template>
+
+<template id="heart-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart">
+ <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path>
+</svg>
+</template>
+
+<template id="server-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server">
+ <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
+</svg>
+</template>
+
+<template id="globe-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe">
+ <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path>
+</svg>
+</template>
+
+<template id="issue-opened-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
+ <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
+</svg>
+</template>
+
+<template id="device-mobile-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile">
+ <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
+</svg>
+</template>
+
+<template id="package-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package">
+ <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path>
+</svg>
+</template>
+
+<template id="credit-card-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card">
+ <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path>
+</svg>
+</template>
+
+<template id="play-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
+ <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
+</svg>
+</template>
+
+<template id="gift-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift">
+ <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path>
+</svg>
+</template>
+
+<template id="code-square-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square">
+ <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
+</svg>
+</template>
+
+<template id="device-desktop-icon">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
+ <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path>
+</svg>
+</template>
+
+ <div class="position-relative">
+ <ul
+ role="listbox"
+ class="ActionListWrap QueryBuilder-ListWrap"
+ aria-label="Suggestions"
+ data-action="
+ combobox-commit:query-builder#comboboxCommit
+ mousedown:query-builder#resultsMousedown
+ "
+ data-target="query-builder.resultsList"
+ data-persist-list=false
+ id="query-builder-test-results"
+ ></ul>
+ </div>
+ <div class="FormControl-inlineValidation" id="validation-2684706f-1345-4955-bffa-12e77db43d44" hidden="hidden">
+ <span class="FormControl-inlineValidation--visual">
+ <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
+ <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
+</svg>
+ </span>
+ <span></span>
+</div> </div>
+ <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div>
+</query-builder></form>
+ <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt">
+ <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div>
+ </div>
+ </div>
+</div>
+
+ </div>
+</modal-dialog></div>
+ </div>
+ <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div>
+ <div class="color-fg-default">
+
+<dialog-helper>
+ <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll">
+ <div data-view-component="true" class="Overlay-header">
+ <div class="Overlay-headerContentWrap">
+ <div class="Overlay-titleWrap">
+ <h1 class="Overlay-title " id="feedback-dialog-title">
+ Provide feedback
+ </h1>
+
+ </div>
+ <div class="Overlay-actionWrap">
+ <button data-close-dialog-id="feedback-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
+</svg></button>
+ </div>
+ </div>
+
+</div>
+ <scrollable-region data-labelled-by="feedback-dialog-title">
+ <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="Fq/oX/R/5uCZlu9HHe0nUjl1KW6mskxa0AIshhl/V7sK+p5K2kFaHkKs1PbWVPENr09tEyqOQPNtUBp/CLc60A==" />
+ <p>We read every piece of feedback, and take your input very seriously.</p>
+ <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea>
+ <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox">
+ <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label>
+</form></div>
+ </scrollable-region>
+ <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel
+</button>
+ <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback
+</button>
+</div>
+</dialog></dialog-helper>
+
+ <custom-scopes data-target="qbsearch-input.customScopesManager">
+
+<dialog-helper>
+ <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll">
+ <div data-view-component="true" class="Overlay-header Overlay-header--divided">
+ <div class="Overlay-headerContentWrap">
+ <div class="Overlay-titleWrap">
+ <h1 class="Overlay-title " id="custom-scopes-dialog-title">
+ Saved searches
+ </h1>
+ <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2>
+ </div>
+ <div class="Overlay-actionWrap">
+ <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
+</svg></button>
+ </div>
+ </div>
+
+</div>
+ <scrollable-region data-labelled-by="custom-scopes-dialog-title">
+ <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
+
+ <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="R83eoBT8YK2rA0yI7vpETCRLTdMz/xSpMIXEoBEovyyLOBNhRaCfPVaH42kZBxCFFtnnqHze5qNuz7rUQtHrHw==" />
+ <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
+
+ <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
+
+ <div class="form-group">
+ <label for="custom_scope_name">Name</label>
+ <auto-check src="/search/custom_scopes/check_name" required>
+ <input
+ type="text"
+ name="custom_scope_name"
+ id="custom_scope_name"
+ data-target="custom-scopes.customScopesNameField"
+ class="form-control"
+ autocomplete="off"
+ placeholder="github-ruby"
+ required
+ maxlength="50">
+ <input type="hidden" data-csrf="true" value="afkoKgGRKg0J80wm5TXtI0ef4aS+Ml6+PbMElp9EH7ur6qSM1VonD0i6k3w9plFkl8ipJN/oNOSN979Sv6LFHg==" />
+ </auto-check>
+ </div>
+
+ <div class="form-group">
+ <label for="custom_scope_query">Query</label>
+ <input
+ type="text"
+ name="custom_scope_query"
+ id="custom_scope_query"
+ data-target="custom-scopes.customScopesQueryField"
+ class="form-control"
+ autocomplete="off"
+ placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
+ required
+ maxlength="500">
+ </div>
+
+ <p class="text-small color-fg-muted">
+ To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
+ </p>
+</form> </div>
+
+ <div data-target="custom-scopes.manageCustomScopesForm">
+ <div data-target="custom-scopes.list"></div>
+ </div>
+
+</div>
+ </scrollable-region>
+ <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel
+</button>
+ <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search
+</button>
+</div>
+</dialog></dialog-helper>
+ </custom-scopes>
+ </div>
+</qbsearch-input>
+
+
+ <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block">
+ <a
+ href="/login?return_to=https%3A%2F%2Fgithub.com%2Fbuetow%2Fdebroid%2Fblob%2Fmaster%2FDeboroid.png"
+ class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded px-2 py-1"
+ style="margin-left: 12px;"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/buetow/debroid/blob/master/Deboroid.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b379dbe006afd048c306ff2bade1a431d1f5c25d30c33b6fd9080f8e6505e2e0"
+ data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}"
+ >
+ Sign in
+ </a>
+ <div style="right: -30%; background-color: transparent; border: none" data-view-component="true" class="auth-form-body Popover position-absolute d-none d-sm-none d-md-none d-lg-block">
+ <div style="width: 300px" data-view-component="true" class="Popover-message Box Popover-message--top-right color-fg-default p-4 mt-2 mx-auto text-left">
+ <h4 data-view-component="true" class="color-fg-default mb-2"> Sign in to GitHub
+</h4>
+
+<!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/session" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="aY0imVlxkHVcy9Cq2mQ534iuPT0uPaw39FK1ljJ4HqEQRhkdOSSB2jGmUSAWZ+bkdHfjfUZBk6aua9fYW3bnSg==" /> <input type="hidden" name="add_account" id="add_account" autocomplete="off" class="form-control" />
+
+ <label for="login_field">
+ Username or email address
+ </label>
+ <input type="text" name="login" id="login_field" class="form-control input-block js-login-field" autocapitalize="off" autocorrect="off" autocomplete="username" autofocus="autofocus" required="required" />
+
+ <div class="position-relative">
+ <label for="password">
+ Password
+ </label>
+ <input type="password" name="password" id="password" class="form-control form-control input-block js-password-field" autocomplete="current-password" required="required" />
+ <a class="label-link position-absolute top-0 right-0" id="forgot-password" href="/password_reset">Forgot password?</a>
+
+<input type="hidden" name="webauthn-conditional" value="undefined">
+<input type="hidden" class="js-support" name="javascript-support" value="unknown">
+<input type="hidden" class="js-webauthn-support" name="webauthn-support" value="unknown">
+<input type="hidden" class="js-webauthn-iuvpaa-support" name="webauthn-iuvpaa-support" value="unknown">
+<input type="hidden" name="return_to" id="return_to" value="https://github.com/buetow/debroid/blob/master/Deboroid.png" autocomplete="off" class="form-control" />
+<input type="hidden" name="allow_signup" id="allow_signup" autocomplete="off" class="form-control" />
+<input type="hidden" name="client_id" id="client_id" autocomplete="off" class="form-control" />
+<input type="hidden" name="integration" id="integration" autocomplete="off" class="form-control" />
+<input class="form-control" type="text" name="required_field_8ceb" hidden="hidden" />
+<input class="form-control" type="hidden" name="timestamp" value="1752011479481" />
+<input class="form-control" type="hidden" name="timestamp_secret" value="e4f124edbff48ac3a790df6efcb7e04136f1b22590b708d3a6801d4a6d2a168a" />
+
+
+ <input type="submit" name="commit" value="Sign in" class="btn btn-primary btn-block js-sign-in-button" data-disable-with="Signing in…" data-signin-label="Sign in" data-sso-label="Sign in with your identity provider" development="false" disable-emu-sso="false" />
+ </div>
+</form> <webauthn-status class="js-webauthn-login-emu-control">
+ <div data-target="webauthn-status.partial" class="d-flex flex-justify-between flex-column mt-3 mb-0" hidden>
+ <a href="/login?passkey=true&amp;return_to=https%3A%2F%2Fgithub.com%2Fbuetow%2Fdebroid%2Fblob%2Fmaster%2FDeboroid.png" data-analytics-event="{&quot;category&quot;:&quot;passkey_404_login&quot;,&quot;action&quot;:&quot;clicked&quot;,&quot;label&quot;:null}" data-view-component="true" class="Button--link Button--medium Button"> <span class="Button-content">
+ <span class="Button-label">or continue with passkeys</span>
+ </span>
+</a>
+ </div>
+ </webauthn-status>
+
+
+</div></div> </div>
+
+ <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2Fbuetow%2Fdebroid%2Fblob%2Fmaster%2FDeboroid.png&amp;source=header"
+ class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/buetow/debroid/blob/master/Deboroid.png&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b379dbe006afd048c306ff2bade1a431d1f5c25d30c33b6fd9080f8e6505e2e0"
+ data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/buetow/debroid/blob/master/Deboroid.png;ref_cta:Sign up;ref_loc:header logged out&quot;}"
+ >
+ Sign up
+ </a>
+
+ <div class="AppHeader-appearanceSettings">
+ <react-partial-anchor>
+ <button data-target="react-partial-anchor.anchor" id="icon-button-6c92c25f-937f-4682-8301-5a62e8f9b8af" aria-labelledby="tooltip-5f462cb8-b12f-4cb0-9988-03d755a41ddf" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
+ <path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path>
+</svg>
+</button><tool-tip id="tooltip-5f462cb8-b12f-4cb0-9988-03d755a41ddf" for="icon-button-6c92c25f-937f-4682-8301-5a62e8f9b8af" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>
+
+ <template data-target="react-partial-anchor.template">
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.5fdb25ed878a5138c363.module.css" />
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.4e1ca273f504ba849f8c.module.css" />
+
+<react-partial
+ partial-name="appearance-settings"
+ data-ssr="false"
+ data-attempted-ssr="false"
+ data-react-profiling="false"
+>
+
+ <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
+ <div data-target="react-partial.reactRoot"></div>
+</react-partial>
+
+ </template>
+ </react-partial-anchor>
+ </div>
+
+ <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Resetting focus</button>
+ </div>
+ </div>
+ </div>
+ </div>
+</header>
+
+ <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
+ <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
+</svg>
+ <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
+ <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
+ <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
+
+ <button id="icon-button-8c5e6ec3-bc18-419d-871f-30ce39f5730d" aria-labelledby="tooltip-6d203606-45d5-404e-87fd-bda817c0806b" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
+ <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
+</svg>
+</button><tool-tip id="tooltip-6d203606-45d5-404e-87fd-bda817c0806b" for="icon-button-8c5e6ec3-bc18-419d-871f-30ce39f5730d" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>
+
+
+
+</div>
+ </div>
+
+ <div id="start-of-content" class="show-on-focus"></div>
+
+
+
+
+
+
+
+
+ <div id="js-flash-container" class="flash-container" data-turbo-replace>
+
+
+
+
+ <template class="js-flash-template">
+
+<div class="flash flash-full {{ className }}">
+ <div >
+ <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
+</svg>
+ </button>
+ <div aria-atomic="true" role="alert" class="js-flash-alert">
+
+ <div>{{ message }}</div>
+
+ </div>
+ </div>
+</div>
+ </template>
+</div>
+
+
+
+
+
+
+
+
+
+ <div
+ class="application-main d-flex flex-auto flex-column"
+ data-commit-hovercards-enabled
+ data-discussion-hovercards-enabled
+ data-issue-and-pr-hovercards-enabled
+ data-project-hovercards-enabled
+ >
+ <main class="font-mktg " >
+
+
+
+ <div class="position-relative" style="z-index: 0; transition: all 0.25s ease-in">
+ <div class="position-absolute overflow-hidden width-full top-0 left-0" style="height: 370px" data-hpc>
+ <img alt="" class="position-absolute" height="415" width="940" style="top: -20px; left: -20px; z-index: 1; width: 110%; height: 425px"
+ src="data:image/jpeg;base64,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">
+ </div>
+ <div class="position-relative d-block my-0 mx-auto overflow-hidden" style="width: 940px; height: 370px; clear: both">
+ <img alt="404 &ldquo;This is not the web page you are looking for&rdquo;" class="position-absolute" height="249" width="271" style="z-index: 10; left: 72px; top: 72px"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ8AAAD5CAMAAAAOTUC8AAAAA3NCSVQICAjb4U/gAAABDlBMVEX////MzMzFxcUAAAC2traTk5MAAADW1tbMzMy7u7uvr69mZmZUVFROTk4AAADW1tbMzMyZmZlCQkLW1tZra2tmZmbW1tbFxcWvr6+FhYXe3t7W1ta2traZmZne3t7W1tbFxcWlpaXe3t62travr6/m5ube3t7MzMzFxcW7u7vm5ube3t7MzMzv7+/m5ube3t7W1tbv7+/m5ube3t739/fx9Pbv8vTv7+/m5ub////39/fx9Pbv8vTv7+/j6e3i6Ozf5ejV3+TU3uHR2+DH1NvG09nF0de6ydK6ydG3xs+svcedtL6RqLWEna10lKVpipxmiZxbgJNafpRQdYxKc4tCa4M9aoM2YnsyYXowXXjFq0N/AAAAWnRSTlMAERERIiIiMzMzMzMzMzNEREREVVVVZmZmZnd3d3eIiIiImZmZqqqqqqq7u7vMzMzM3d3d7u7u7u7///////////////////////////////////////////9H2B9VAAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAIABJREFUeJztXY1jE7eSTx53vNwX3OGWuxcO7siDd7xcoYQXrpVCaQNrB+w4MSHx7v7//8hp9DkzGq29tgm0RS3Yu5Y0Mz/NjEbS7LK19dnKYLAXy2Dw+fj4AsrOg6cvtdbKFv/x8tmDnc/NV6/ymLDvv64gws7eIe8olP/bW6G/xypjbCW++pZD7WhqnWgf9O5l8Cy21hIkT3tbzmGCQ4cu+/PVuwwi99r9gY9Ht2716mTnWRxIjoUO9571G9tBrh26N18rlH1JgDu3bvbp48EhapwpR0BEP1iBL03+9ORrlRLNxf8H5fmtWzeW72H7wLOeGYpm3w+2e/CF2gfN7cfXSmXXEyQD+7CPWt4+wLohuA507+B2L75Md9ir9eNrtfJU4PuHWz3U8vahb4jVQ2d9+nL0r0t2+0zooBdfq5VtBoel/l0Ptdw51JnYNABhv/3j0nzx9roPXyuWByorWn27vFpuH3TrAwnOrAL9+Pd9+CLd9eBr1cLFsRz3UMunSerglMmNBEWMcb5fni+K8jWYyw4dBvfRY5LfFbQrVxJ2/efl+Mrc0TUEH3uSHMtP8ttoUoxWzidZ9MVNY/qfe/CFsLym4MMTjXR7TPIhlkNTi9bcTMLkEyvq5wv7T/FdWgNcQ/BxOxLz2gn8Lz/J31aCfZBARituLPbqTws7FsKYawg+9tMwRDF6eK3o9DS1Eio8vvS68mIBhX2hm2vwpkktEeHlJ/kd2pIG13QhE+3Jf3zTTeIwjz16BUUrlrsqmr6OIvxpabVko5hkf/Hk/v1v79y//9fvj5SSVEc/7xzquxKUy/O1cnlKCLq/lw8+tg8Rz0gFnpuwKZQ7T45yZQGI7nT1/AzVDA37BEUrlm3NldqUvy6tlruspXcOfwIcbt68YXq5cePGzW9+jMqHqz/qEG471kLr7uX5WrlkwRSQX36Sf0YbIjhID//0o9MIOul836H8u7jX/nytXA7oxGgvvl96GLbFSAzgYB38wxHHHMqdMpkDaly21fJ8rVx2sjFQfSb5XWlR+10OB6zNUIwWLKdsMHjaiuUago89skTw6r6819rH2hGizzviMB4KA/68KN8erhYwvIbg46Wgxj0m+bD9jZwybFBIbD+gAvrwqkToJdHb3nytWm4nU4kTol5+kidaHYaxsEGxjSEPa51vCwN+m651bMMefK1c9oli9A0+8tnWfBSbH8RqSdRHBQlJlHd9wQeO1eMKtMck/1jl5bvSKD5gJqCtbS3kK5ZrCD5YTOzKt8sPwwFu6dvfLzUfUELWEF7IIt5VPBIz37759OrxFOPgl+V9JvlDtC4Jq/pyzMT0w17KlZ9FxFLNawg+tnMGe23ISfvfP5TZ9tu0eC5SdyQ82H6/w/waNgp306SARmx5tRyEYQxe0vz/tzLbz/gSxjS4L9WW1hDXEXxk++qq3ynlXcqx/XhSxmOP66LB8aFU+wAPku7P14plBwkTS59Jfg839d+elIcxTjDI/z4RpNzJuDLAXUPw8YDRBbXvtSG3F6RDrBenF2NeKPgIUZaExwOMmQ8Tr2WjUDPuVM9JnqxBfWddeKis6L8J1V+yRZHuy9dq5XYkGuNFmORvUd7TmOY9HPCFsQJ7K/K9w4wA/hLwuE3sxP0fFwGDbD4U+Fqt4OAyrMHjJE/H0oIm4IH4DqVrHJXiu4aSfjxmCEPJ+ELT/Ibg2DrERho2JILXQngEDckdGoNMu1plPIRcCCEgO4xVUqgi8aUixY3AcTdKkfy9jsHlAJPUfuRlPOhIdnHH68JVhsdd9HPc5UZ8kSAGMNsQHvtUFEskTfJ4HLyCCHjkxtyJR4w1u+qnpW3yp4wvehiwGTy2GV+27/uxbz4X2N2pDI/4K/YfZZq5O83rbwcY8BEw5YsGahvCYzeQRXijSX6QhdYL/IcvP3ZxdxDDWF3EYzfhq8M6APNFIx4t6u0qhe9fw7z2JDnDAVFJZ+kSHpragFnAd+KRaIWvvP6BUnwgFOGLMC3r7Qplhw2T/fJN6nqQD5OEBw/n1IuuMPJAcKis1xCjJMg0SZFieMjjtEKhsbqj/gLFxIPkzTwoXfaSpFyEB5JD1Dq865wwRnyF4CChtRE8UF54HGC8wzAIaCT+crrITsKfJfEo9nqIfsqCD8SXKvawUrnNaZLgYyvoh14Wj8jkMnh09Hobj4L23onwRdRWbwqPvwimT3YYwlZP5zgwTOHrj0vph0ry0F7/grANcxHnizv6TeAh5Zrcxx3zdUJXPBamRStAFx5p0Esoo0cCgtvK+SJmupH59i4TFgjTHYZBik0Cd0vEH1qIvzM8FJlwSa93SWdZULSVxYkbml/2M5D5aeAAjbuv1jHfpjHvjAZyWZg0hC9fcr5Q683gsU1lcFffkH6xveiSXrLAeaE1a9Kp+4br5/v9mudnD3BzvSE8dvkYqOw0cMC4EukeaLLMWLj6FpLISDy7i+npIl90kbEBPKTnutjxxgANoirRTcdzqfKfytzR028nDzmeeEb6c984Xzmka+PBc02ySX5L3Oss4IGy9k1kLx+okD5TTKzofmHiCxmiwBfL21wbD5qJ4Qo/3qDzWoHuHhlJV+6X98cGvK7S5HjiAV8cSnxprtnrr+cOkrVEqHkqEo7X/ZGygAdHVckHKkFeVE3H6gmPA7Ss8bSzvHG27t5EPHZbZUNv+HryP3u44AQMHaq4n9ITo7sItFD3uzIeeyo6mqgpjxIeaF89kZX5wgQFvvqVxyhGxyevufePzKPZTan0TPEgyRWbdCxgntKZWbmgOFZ/zOQURs2xzG4HLV71LQE4Vs+fDsXiyZ//ESXYZr9bh1rGgz3uZNvdSep0qPo+ERB/ArqIr36lRCbjQHyoR2OPKT2BXEoJ84R1+qOtM7xBfu6EIovVCPkOT96NR/JI2Dex4BFTQxv/mswgByR0cpXEE3soA+LE3QUOx7CIJOBiSBAcksHqlfEQhkBCvqQ+iO5jUl37GbJA9zGerHxf31E8JLLSY4q5B1GdM303HpqQovMbBqOgPYjubmAvaY8xgQJbB7xPpfD0EswpfxCC8sPQ2QAepMuC9hGuKXuILsvUcJ0+lB0ImU6js8F4RJn5TkOGTF70mniQrsQpJiXCJoPI/FZ8Lhs5+xeywezHnpNMJNmsJC+f5Qrsr+0/8HQlkxI5I3T3cQcBv/sSX2KC/nMcW3aQlCc6P1Lh1GRt/SDemdFCzOC6nO5daTx/+BeB6gGvB0QfUjxyAw2M4AiSMRfPQzZlL1QiaaahoGG6Ysam+j5nbJ+43NAjWbxm5HDNsrW4v9fxH3xGyGaTyIUwIzC6T8UZ4fu/y+CQZgSaYour9NNYd72efmRictiliSenezf73aq03sUU75LEzqT5dPFK+SqrBIUllY3YC+IxV2iRATYOh3iIUIvD/QeDwfbWYLC7/1Lx4nuiW4ES3cCSsDGZlU3gQUe+AASuojkee7yFSj5Psz+sPKF7PWm2EHhYQpXXi8dSeCFNZoqohEJ8cj+O3+5Q4liYWgCzO3QnR+Ah3llm1DY0vyxSCcUHiNHdU1oENcvzYvQg2+RmB18l/orrmVXx2Nq6tbjcz/lKPxK62yFGzbUtgSHJeSfb6FueLxyMFfj6hHg4cUp0HySN6rHagIxjvtBZki/W5/p4LFEGSTcT3ULdbN8rAtGBzotbK+0D53nCm8o/XUBXUyNVHefoOymiYGGT8FoY36f+drXhHJBNiu5x2mQZUMGU6jrnIMfyGMTyfvXDFZ9X4OcN14gHV/YOuv+V0CPBWXHL79Fq1sLOyfTCE+ONlQGm6ETrovu/UWbBZeSm93xl5zdIbIU+rxMPLFcn3f9m2RMZIlhnHq0+FwxoZ9doL9nuYTfd/8wDrvgdeyFldz1WftgpzyO/RjyohAvo/tsLUTu8eieTefHtOpEC9qcL/fwGywAT1UuNw40//1CwGHT1w6P1AqeIRwLkuvSDvVhoCbo3H/3QfQrs0FjnwcAsv/CLnG9DuXHr4XO+RE4fzx+uH1UPyNPd1+k/6BAvS/eGWWI8eZGv8F88ub+RNcYgG6brwWN78O/3WVmS7o2bRuo79x8+ieXh/Tt+wXVz7RXX6nytW27ki8ulm968mTe+uT4Y6/K1JuGs9Gx+M5aeTT8pX1/L1/K1fC1fy9fytXwt11/u7h+EJWZajZRKcZuLXPE9L755JHctnKzRRV86ZMrIkZoFKqHawf7dMho74vEI2tdAtzALPfb/GO9sWSt2QrkgP5f21fIuRHZd84M/FuB4UMpgpL0K28DZjcK5I/6qhbucSJI722LJ+46Vkf4sl2gv/7tMfyHNlstD4AIgHc6rdHUgQ5X3zX9PnHICTE3ERLvA12MBjnuBFB6UkuJ2fco0A+eETfI4rkCHCbFOCj+ryijey+D4w0tcFzfAnQjjLOi9rA1s1GXZSk9oxN/Jbzq/6W8kvaI2LollymH2D3ftyiMkeYLoZviwSpRElyP7l47EXsQOGi+EVEaG8Jbjz692OR77GY/chRWsv+SxsipFb7hikkwar+WjAqXEqVyrfY4HMZfrUNGoYh1yMAX8hLP8S45Hltv1K1H0jJXCD5R9nd3heBDYaKOc8yzBFZ1lFxhkPWX6RQwg45k2XyYlO1YkfXKWkhgZHli2JVI4kfT9cvzzWyzHv6CAC/rtIimBgdPK4LOEh8hNrocIDUW/dqg0j5RVAkFJQsuCUl1PFpANuxgDsz7juEt4cMxiDwIpFZU1t3bsORYNnswnJUgG4ROtB4v2klDxF7+PIFXWDzqiRSeEnQv+kQ0AYiy2/VI9b44HNwrxIt39jbnd8ny7sK/PbeqUclmTWLVuhRTwwJ2jYRV6SSQkNog1/FpskK9wEWOfxmFRnohEosIlwyckZZ0rUEHM5ZUoxvpejseXsLAqNtGkHTElolNYu4j1Un3Uitin+bjH8PjNrtUE/jAXsd97XD/kMctMWEeOCSeUjQIYxAPkP6TLAv9YlEzY5NCEEL3AK0b3XoaHQFgLd9M17/ST7vtSuoIKZJIriX2hlsoA6bMWROJk9WVijLTES5wlllB1vlgpoYkIBtFK+NtayGQiYaKGv7s9s3sIDzw2RJm5AL9lyO5h/cgnIcoWMZGyGRLOugXnFlq01WRFuR+k7K0Zrt3D8XpZx5j3UGrWtm09yWvJiirJJoOZydvhog0PTTPZrIv2JpOxSBfmIH3TNPbvumnPHR7tBHepG3SDx7mTpm0ECJaKc4eGIhsKR+e8qeErtwlyRbGKJDvi3HtkPSfpkKFsgGgtHjX8NdPqdG7wmZCKpsqkoJmAR73qYVNlOk4/aGDGgXB6BUOA1U0Ssqy1qTJRwXthvU+sk7jRmYUDVAMAaWZWfMsW8jkNwwPb2KQBmVbzOUOjBlhzz5NSAMnN+5x76R+QyOvaMmvad6NqalCpqmFbz+BHozJUPyaTyUgU2NyozI9F/5TrJrHukUEeV58lu4wmyrRS/poE47tDrMKAzreppv9bGzzMHaP0wFgT8KgnCb+yPhZMUOAbDyDaPZkwPJCfMpozIf5gIwuMgz90PKpvv74dVQqUHhRXvR2+gXvJn37izTKKh7Z+ystnrHciU1tjs8zAUX6lhq9kRTGMNUkg61/N/2fWSMDFBD7HH1rrf9vQ68g6Y3vx03TufmtC3zBTXb4/Mz3N3vvexxe2ysXYNKl8X62nO/OO3Y6Fc/NNc1Z5PqFl3c6nR1jsfgs9gGMrq8a+244mbe1FhP8tGDDjtGO4nrV2sCxsVt7a2pjtorIzNXTy07yGORuECP2f214sts3YEgM9tLXAGKrW/+4ZOfd0bdzhfDx051tCPABN56+SAP0CvoNttH4RXL9OnVrFjVUMYSdEPf/ZXJ5+bJyDfQ1Q2CFsgwm/OYeZCfCYthao2mAXuDi9bBMir6GD0LP581q9mV36zlz901nAw1w49YC6V9DyZ6965s4UjSOTqHPtaLUDvdAafQYYIngTHAiA/5hW1QiGxPkRN55gVfVkWI18ZUfcmpopxlg+jEZVFVyC9j01Z6PhqQtg1MTAOamGI1BHe206fouYA2mP3JWBdWp6mzS+pdGOibm+MPgka0B2Qdx/Zi9KBThKrxihtUH0dFVHG/ZhhwtIbK0ja0BNah6gNLKcwqfR+rSqNA0gotG1i65ADXUEGPBxyhGKF14j2t6fBNRP29Si1+ZTgGOL20pEEHfn55cwqj78sp8wvbQuOHpv9ON88oaOi4vHlLown9OTnyg/MGtqJH9QHm+A/joZqh8IHXhQCQ9D5ecxxEkXHAQV/SrDBd2NcEgvgOeeV6dAwONRW58GWm2b+3FTH60v/DitUOswcmMb77ezyU+xW6W9xVlcVFBDHTUwqqUfpMYu4lTEwaumtvbSXNbWf4xd/WAlmgyPHyTsN3TyHcRekmHRTzu/NGkKNVIEXQ3+I0yCx3M77TTNaWpumwLNqfOG9eXbhHbjpeL6EfxJdKYOEDcQkSS6NbF9J3daMAydwMUFwSH9gzXcgIIhYynsnBfiMq/eSr8+vbQRA0yCHrxJXfvZZnxmJ472Mno4HVYhAY8QbMCKQON4zA0MWih4jxuRg8mmaechHMlGlhWyUMBwLPdq4OAE7B0dzCPoh44Bq6kdjdjrOJmqhxODV3sSqQXL8yvm5D8a2GHRAZ8w30WCyUSbOrY8mxyn8cylCB/E2cJfByTncqnmdBMjxETenyY/17R2fXPaxhjUL32sAHZt/KpNPtF5IOtHnAVG/ai9P609Wc+9VRvPQ+1stqnt3tTY1KxUr0Qp5Xsm2kHOo1AlhIy1l9YH3Voh8aP6hsVE214NhyYIaJt5HATTtHYuYl6Z3ybBEdrfWzRzm3snxq9OTaWpofAOpDQUpqPhq8DYpen4pDq2pPzU63k4umrrD++qkSHxS1L2aJfINzJAmHbwV86KqI7PIfK7PHV3bFTZnB+ffrTzhb1htHd2bJXYRfLg1Sx6x3Z30TRV4Ze2rl/7nk9t/Dl7C06nraGDyxj6Wifz6speVH6QIF5rG0cS4vqZ48Eq3sSvZ0JIVBpZemH+otpB4g9dyAmaOB85cz/NWrvGqM7d6sqGX/D70BqQ20m7fOXZGbW29sxOoa3behwrHzW7+LupZi7Irwx8Vz5cnx9bfsY2CB8GRl5BEAN8zBy01czNZ8DY1G1qOjx6HLFv5XhwzeCQTJwkM+XxgIVkM5q5u3bLyDJn7QbE94tM6GZkWYRtE7eYM0H7iQrK7Ncjw5ldiFixf5nOTa359LUnPTxzPXurPgJ/PPM81C3wAE2trCdnjo9JbhNIrmzAOR6SQij1m0sDUtKKHz4zPAp8JihIP8z1yuT5z1qpzqVlzj/V1qwG8o8q9q0Kux2pliaN3Z8iHuUmcsH4eYHFKl0dELELs6I4LmoTTwNZDrrw6NIrnaTG/WZCaMQtZVmTFp9047Xcc5bZUfAfn8d4vwCQBTwIBh1DQ6xDRUZF604VMi0V+15Oji7mwt2eE4FoLzr7G0mV9pSQ0Wr0PyYSx6vLqPF46nQn44L4CC7XhvIJCv6Dm9XvJmEqt5cv1rQFabDyruY/+UB32IvQ1W8/JivNL7xDZmaa6iInPHSxO1PQJZZTAteiTek4HpIu5ffELgRyUvyxASbcudPSTEQNSG5Fk37jaIRhYJ4M81IcwwVXSrQX7BwCOfa1s0t3t2rdWhcJy1oHfSX0xD41lb1oolJXUncZ7qQs0I98xZ+bXOI5DqF6NQ2bYsibkDbUvUZamvdHe1aRN2aLtFeF1LlYg4nqruX5dn3vD3t9RPSNeP8I4Seb5iU8Ev/UikvySOtPvOXMDXmd9WeHmNjfSEzKzBOuC3gIrdhQLIyB8F54cSCxAiG1cASwUpOhSfT8XcGENWnr6yMFy7gI5ArzLWIo9gJf3LlGq3xygbJphk4Txhf2yMNnXPhNRXMd9grdpFPDjtnlqatk89Da5uK9pzm+CPkO7cx3aTq/8l0qtxFm/h/aLcW6GWq7hQbbYFfTn5XbqzR9xi1HDF2GEAWxhAdHmha7N2jkd3uTLRw9wZav9ruIcHt+5PSjdrunzUWQpvI3AMgP9qbbGAybvvrUnWFaRM59lzYD5OqVl8PJW8NmLfRj5D2aN35nen7kck8sXo6VKgw8c0lMNHyZz7eisQTXfz6HMZ+p2VVb1/OZNp9NMz+HXI3W7RW39RRIQo6CFbX2m+vKba7bHdV0QFP7VjC4r60Qtg/YvTdd+j3yJiRxKLv1Dpv5div+/FhBHokfG6h0+hHUw260w1b9MVOOJeLlkj/FbgEb2lHrjogn/nNsPo+UPbJrJqNhPGwB/zEcjdLhCzSHU4BRNXx/aUwGro24NnEkHU9CusfUn4bC0fekgiSOeH6jlK/rj7i1umrbi2oUDnl0yC0Ag6ZJ09KsKNhOIf5QWYMw6Zy17Zn5BpZuPtWZ+4hni6c+LnW5Gy6VKKpsONyHTBm4VTc4YTNMSf4YX4dUkdNwTKc8Hg6XZoLxCSlt4VCsaUOuHS2L5oXcXhiWBENtjwKNQry2VnukjmqnJo6f1ynjwgujg3AKg4byJfQv42nAo3VH/xE1wAe6bFESB0v0CEec8QiVJudwIDSPdjOkcv3A07j7Rmb+V/a43ma6NWNtzUU7IdpLZ/5j5fXC4ZESCDEe7mY1vXTW747vm4bVaj/G/ICAh8VO21QRraOexLPehuDBhFiiZPqxcJI+A8/1wc63Z8pZj3LCNNY/Tv11TUUPF8GY4BoO0ez8RI7z/VBbe3Guchp7cHjYs2F6aDyp3blwSFaK/oNFInhBtQweFADJ5YxhajPsnBthXrdNGxIcW5dxMXT1g/EbXGqMh5fYasLYTjfzs9amM8SsRYeaTQUAJbyKSRzeBWO/4XDRLoNOpfsxKaVvdCf6DyUvhVw5Ak9qBPnFkJ5ZJxLkP5u8waLbXKcJdoZeWYKnND75avw26HhUef9pU83OJscKjzFPMcP+1DaufU5I0BudYklSdPgt+BV/vxyP8dax1ZnVYrCVxn7aMrbhUaIb+DORYnKGYbKZwYF9TOvQPnljbMb+TWoK13CoTZnwub4jrB/OBN2zD5DjqSH288koXbogRfoyHtJkHa+smrfv1IkNJJ256FcmMPtwYgKBqvo5+Hvz/Qw/G2RH3sQkACRkS1w17eVJNRqFpA2Iw06qaupn459MIH7x3nQygiQOz4dpczGsxvMwj0Dc8a6q3s39JDS3fYznDXroQpSjsErriD/40IRyBHPt3NKO5uK024aKwMdbn4EAl/OUVDlpQ677FTQ7a5qwXGkg1jz12Q2wAPBzRuPSAJJoUx+dN86v+sGxf8Ywz01dvA/52y4+VUlBcgCCh01Fnm8xFNT8/AzTgMuHyOBMhS6nXhhgflS7rBCYMd+k3iAPz96/spwez13OCPxdD0030wBI64W34X0Q3XZzNPcwe3uxTPiYHiq8+uABgdujyFwORGGTMsODzC5K3AMGwzZLUsiwR5GBOjlzkgEerZfsYnIUW7uMZeMA4s3jM48I2JHt2SePhOy0d2dOoSaxC/UaUkIuU3K4Hn8AdbgYe/6OpmaN83Fi10+VSsMb4wg03pnWCPaC97EoNnknmvWo0zlNPiAqOdniXG5vhew0TC9jxK1T4h0edvowSie2ctPg/sD+VfSnpLbYFH1Q/5stCsJ3kmypRd60j04ErEjtJnvIVRoCOfKSReuYX3RWX55wuNzCaOOvmgQj4Qfu5/VF45Z54XfSoSf03qccpl7QQDGl5cOH72dwSfHYupvr1NTQrxEP4sgSrbdmbh2eNXUzztsGmV7BnD6eQ5AswZ8MWdIwYsrcgor2IiG6AUVx+0EfTwuWAE8r+kn6IjTC/HvYR34DzZlLFkSsqyiy/yCCrAt5+D50ws6or8QA+gzDiyMkCPfZI/sgWO2n14wVfiGwnBRY8NlL4+Eu1zkpqFwsNstlCFzNIG3yQo4rAyH7GB0sG4l06Yr5LCbxQte/AA9FtUILPgUzW/rkl8j3cC0OGw6SLmYjIBw4ynR17DpQ0ZpXtRQ78MBKm81LgusQGCn8JDshWluvkFxRDYdHUqWcD4lrSyzHQ/SFnHjGfa4JrvLILk/kSRPddLa0ni+cQCg/5D9zRaMWlY1MKR5bWsEy+pGM/Wtol15CFcpRZQ8niIdr08q4QAUxp9yzg/EIKlbrq99C/CHIrfOmQodCLfXmoo7Lsw79evuhSdVcrQa9wmKhfrlHbk0JS5YV9MuWQvxB+8jYJ3xlP6RLuGZBKTe/cB02XFWYvNhrZzKwNf0b1gInEYSVD4IFPKRhZu3pcGV3kdvX6SlJHatJffOHSeGtGRUy2UVBc3jYMNxEUjAckJ0RSe39hfMt7aCIksBicHNYUDSbMlxitS4SHb9Z2MU1Ylp0Y9WgaqIDc0U8ZGdBuVtqTpz4R/QDxaI8yKyo8SMWPh2eHpHS/FJwP1q5fa/mg3sq0q4mJtN56x8TdEkPNkMhOgZ4YxA0/Xlqd3+upnY3FDZ2XELEa18N5he/Pwb70LV7hBSi/Hoy+di2l+G5ItfSnYv7+aRyCRBuyh5/sJtMF3avCtYAH0/gTAMOJKRRJvcW6kdoFIC3Hbs9Te1ecWQ4D+mEE/daoba5OoojFQzb7vTZI3t4B4U+mvs9tNrupcJeYg14+Ey886Z1Jyt21eM3TS9sLskv85An0TQRj9ZvEyrYT6r9vizgOfPf2bQfhKM2s+D5lxwWpVu/AexeSXHsyTV2j+91G1mZxkg8nKxO6/ierqn2G8NOLtiL9Qe9Z3Z79Nw+IujkeeNzOSxJu4ibtqmcv3F6/nZ26Z/f07/UfmfbKNAv7ilF99wanubSKDMZC3gwv4RaQMrCcDSJ5whwUHhxUs3hON++bmJUVR9ckoPXDz/fwonAEDIiXPrCvK1tosIHe+kTAeym9IddFYEYAAAHAklEQVRXtm0bnkSFXfn5uDq59HkPc5viMBr6IwXv7UEr3lpgbdrEqIosAuhno2qO39GRiRkmPikeo2AwH+gXqAkPGxTqc4gewsu0IFSMAW14uN2fRAfHFw5aXaKCdgeORmkav9qP8an2FILh6Sa89cC/T0IR2FNmYxvxgAcY7Ws3iFvOnKusH11nlb6RS0IIeLjX4QRs3I/NBfIfDcXDMd74BA50attOjc6f+TechJM47U97zad/9B+NOwrYwG0HdXLrpdYdbeqa1FNRo7Kzyi7/kQMYghebo9AkPOKz624EL52pj0P1+MaP1j9d7gEg8EC12p70p6P8FmtgRM7/AB2Fp9sdoZjgGTfx+RGvvRnYCpCkwdedeLC2qUxb96qeBmlz+A1kq+3P00QpZDw06SS+QVxC4p37tOkS6cC2QfZSJ0G1e0uIwcEf9QezjPZi8dbOAWmVFkIlncc+tRyf6gQJfpwFEmCaen4Wz4sdHzpMJVDmKEMhpbl4AMLhfoP9h297FZ/EtsPbIItEwIahiK/1sn/g4XXLq31DQKqnlcOPzCQKK4XCU0aXfqRWqZ8Lw/L4ODFFEl5AJpehgDqx/g3U2528B/FiIosPT0DfxzHGSPih1BqvATFlKrxPwvKH/akz4JAqUtfiux4jHGTQRTw4lqiXJr5IgVk3FDhcrrheBnEoAFEq+DnCBLoU3hXiK2iNNQg+L/2pMTrn1tRe6gSoToSTYGF8MzlL//5LACDfgJ7XJvqthpV/xY+NBltfx2UonJi5f1S9jpbt39qhISh5P6xOrky8opyinQyr9yFRwflDiNK8S00UUv4lOAYFr+M6NSy0bH7x/vS9cUPTyr4lo7FHVuHo2wgzm52fZiIRRGR7KefSn7m40DqK2THEpzVkz8YJt4F1BxoRd+gC6bXjJqYm2MTVeFmPlY7VzPqnvjoNb804fwsUGsjwPvZv2dAmXo8B/CRw+iaSsfrj41F4S4Z7y9v5OKgMOvqLPgQZUUk/kGWR82D3jqTWBe0VrBtgrjkPvbukh5DMpv1b9lwMN3XnDbVXgGnI9YDLoVuSnKufPjqezx1YlXvloUFmmE4rjq/CkiT6Bf8yPyvs2yu/EJjDC3PgLYBNetOTe00HdiH0CEWKx2iMErF0DY7PrmIGSmX3PQno7yAjqKnjayaqICioxAUsLS5CigRk77fthzH0O3LJ3ecuKWSm3Ytn4V0fkBllBnsGn+bLDMbo5+llE/MgdMTDvr9Yh5WzXTi7lPfwdiHtWCXaQURcKn9Mr7L1v1TJ/RnpQNrmiNU0i0/zTjpIan4n0FmwP5bvJJPodhmxuXqWuF7s+jn7LU8R28TR2YL4Q7YbgUhyMclLaSJEBCa4p5LkJERgcKKr9y2ctohKLzJO2S+NMMdj3UGTGVhz0Fi1o2oEKYb2LUsMdGJqOaE4U2B+SBH0o9sBF8zkOp92gwet7Hx6EoQq981/T5xyAu57If7Iuenh6MplDUfnf4XPyk017Vhsvd7LAxbNLwz6HNuC3mQDrIXbkfF+x0dDmEDn0+OcHu458afTnYwLIpAWzys/u7zht08hLyZFvI9vIeqHZCmMjaAtOquTlTiZkINX3BDZQxHjDLi8WvYzuyE5Pq7/OR5fhIsIv3JwNuEiMoXEZVE8htGXRggNtcoglETHVZiCZ0qT6iYSCbplpBRYToYlaHcxPs1PagTquMoXNytn6pXpGu4k/F6IP6QecWMyaKK7iT8Sm5DGJBcJo5A6kRUiViBaqvhlgVL2k4hHHLovfDIoSsVvSJjI7cv6kQ+gQEro9HOsZaQrdKMIHUdGPm9AHP7a/3XO3lZU8KefS10F0jq/qzGe8VPHaoucBL5O6lrwH0x1dWiUg5FqdoKzmUBJ818+TeBc8h9Uf3stEXOjIPUQSOVxFP2VBKusDASOgo1Qywq3OuMx3+AL2/7AXza9/VF8P8zv1FwWvB+XMZWzTW0n1MSV+YDkN/2NBDqFn2sAud9tcWyoaIgqKXrpfUq/s0kWFcFeeCcaS5sjJJqpbCU6DmqXF+ICsi4EchsMADkeh78r75nT5Xi8DDUk3Spa6+eNoQTcc2ZURCfqCVEo9+clx2Nfkd+TIkrKKsuATSpJKqy3xdCAC0a1tTzAyzkJikGuL/scj13cyW/SIiKs0jJtl+Pxhx8okUL/zH5+Kz73cJvjsXUPk8GKII6QxAbZ4hDYVVFiyjxqRgXN1+X4go9dh1Fr4WfPsrt9L4Nja+uxKCRhtUjhV75r+FiAY2tr71em5EmxELAZGW7HjCBc7YlwbG398eBT7ujLGufHXkKQd51Y0fSGQtCE+5k+oJqUysFOAQ5wIvsHvhFCpItJTDLjQBAxOI/SaHJgCtqDfl9vpjt4JrmOra3/B72L99CCrFH3AAAAAElFTkSuQmCC">
+
+ <img alt="" class="position-absolute" height="230" width="188" style="top: 94px; left: 356px; z-index: 9;"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAADmCAMAAABYgh8IAAAAA3NCSVQICAjb4U/gAAABgFBMVEX///9SOCxSOjH/wp8AAAD+wJ4ICAhWPjL/7tDMQjj////66834vZuZmZmVcl+bdmN7KCIxIRr39/dUQjpRS0nFQjhKMihptaVQRUEzJyAyIx46KSF8LSdAKyJSOCxUQjqcincQEBBSOjFSOjHzp4tSOCz/xqZSOjFkTEBUQjpSOjG7qJP/+PQpHhpSOjFSOjH87+jz4cRqUURDMSlTSURQRUFUQjr/1r//0bAaEg9UQjqHZFL/59nOTENTSURSOCyNfGojGhddV0wpKSnGl3yWlJKUh3d4YlM5OTkQEBDez7fLvKWdj4hzW0xIQj/05+bbp4nWZlZTSURTSURSOjFSOjHo17yMgn5+bFwZLSlWPjL358v/4sL5w6XWxKyJcmF3VkYhFxIzMzP86MynnIi1jHRXmYwhISEYGBhSOCwICAj50rvehn+SblqRMClWPjIICAgAAACLZWJAa2I2XVRRS0kQEBBUQjpLOC/xt5blqqWvhnBNh3spRD4ICAhWPjKmNNozAAAAgHRSTlMA////////////////////////RBH///8i///////uZv//d4j/3f+q/1WZ////Zrv/////IjN3////M////zPM//8RM/////8RiP////8R////EUTM7v////+7/////////yL/////RGa73f////+q7u7///8id5mq//////+q7kFCNkwAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAAgAElEQVR4nMVdh0PUyBo32U2C7gLC0vvCozcBQREbFlTUs/feFfXOe/q84on/+pv2lZkkm6x3nCNuSzL5zTe/r8zMl2TXrsTSNrny2/z8+PBgZX/yDv9e6Tp6rXKongMGPV0i+TI+eXWngGWUrsmpGxrGt2u5DxrxfIPel3++d2ywbQcxJpa2ym8DHit5hV9B6JGvP/q+P145saNgrdJWmcKeV/LzvBs5xXfds4togUDvfRv5l/hf+c3Xvc763/NWch3b5bFjtOhNB3jjR3cY965dhzTN7aJ0L5fo57CxrPHw4Vh+zfke5ILnvoNZ/+BH3mSeGqboCHV8RE2R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">
+
+ <img alt="" class="position-absolute" height="156" width="440" style="top: 150px; left: 432px; z-index: 8;"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbgAAACcCAMAAAA6Xk4VAAAAA3NCSVQICAjb4U/gAAADAFBMVEX///9NmcCTfmuUe2OQd2KMdWGGcFqEbVqEa1JNmcCbhGucf2ibhGucf2iUe2NHhaiQd2KfinFJm8ajhWubhGucf2iDeW2Qd2KBdmuMclqKbllzYExJm8ajhWubhGucf2iMclqKbllJnctEnMubhGucf2icfWKQd2JChaxJnctEnMujhWubhGuegWWcf2iQd2KjhWubhGuegWWcf2iUe2OMclqKbllIodGjhWubhGuegWWUe2OMclpEpNdBoNOnimujhWuegWWUe2M8iriMclpsWkhDp92ljXOnimujhWulhGSegWWcfWKUe2M4i76VeF2Uc1mMclqOb1NCq+FDp92tjXCnimujhWulhGQyi8WMclpPrdxLrN1Cq+FAquM9quM/qOOvkG87peCtjXCtjGunimuqh2o2n9ujhWurhGSlhGQ2ltKcfWIvktAvjs0yi8Uqi8sticWUc1mTcVRpUkJkUUFardVTrdhPqNSvkG+yj3CtjGutiWenimuqh2qrhGSegWWcfWIyi8UxiL+Uc1m9poq9pIa1nYJgrdNirNBardVqqsezmn2wmX5aqtCVnZWtlXq0k3NapMxTps+sk3a0kW6yj3CvkG+zjmymkXZTositjGuljXNSncOtiWdQm7+nimuqh2qfinFNmcCrhGSchnOjhWtQlrx5jpGlhGSbhGuUhHWegWWmfmGcf2iMgniVgW2ifF2cfWKTfmtIjrVCjLSceluUe2ODfnhAiLeVeF2PemR6enqQd2I7h7qZdFlChayUc1mMdWE6hbZ0eXw6g6+TcVSMclqOb1M6gKaGcFpqdX2KblmMa1OEbVphc4GEa1JecX+EaE4yeaKDZk98aFSDZEwxdJ5RbYF5ZFJ7YkswcJZ1YU9DaoN5XklzYEwubJN0XEkpapM5ZYFzWUNsWkhrV0MzYX8tX35pUkJoUj5kUUEpXH1jTzxgTj9hTDpbSjpRQjZSQjNMPzNLPDFHOS1CODBENyxANCs9NC86MCo3LSgwKSktJycvJyUrJCR/7i4wAAABAHRSTlMAEREREREREREiIiIzMzMzM0REREREREREREREVVVVVVVVZmZmZmZmZnd3d3d3d3eIiIiIiIiImZmZmZmZqqqqqqqqqqqqu7u7u7u7u7u7u7u7u8zMzMzMzMzM3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d7u7u7u7u7u7u7u7u7u7u////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////WBVVlgAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAACAASURBVHic7Z0LYFtl2ce7DS8MxsdgE0VwoOxTUWFsMHCICKKuXJSbOoG0xSGKjG0OAbmo3NwYKDbYnKWkBjsGmtoOEyXIGNRUvrVOOktpCy2jI5hmTbuypDljY03p97z39z3nJM2lJIPmaZqce855f+f/XN5zkpSUHBB20OzZcxacsuCURaWlpYtgYPbsaYXepaKlsumfWHBO6Q9+5LKyH5R+fkah969oZptx0jnf/YUlMcl+fsHcQu9n0bhNnbOg9Ae14zEjtsFz57kfKPQOFw10tmB8mQmr9SC788wiuoLa1LnnZAANDGPzBNpfWHV4ofd98tqMLy7JCBrj9kI0FtP1gYWF3v9JaVPnlv48U2rUTwZjcV2P6/Ho8YU+iMlns865PXNqLpcbc9P1WDyO4A1/vNDHMcns89ZF2viGuLWD2PS9+/fpMdBcoY9kUtmcLFykAOcHXvrIWCIxsgcGvlbog5lEdkrW2LDgQroO3MbGRscSe8BZFvpoJo/NzZ4binB+SEv2AbWxxNjY28CwKLk82fTMqjbFUErZAwEOmCFLjAG43YU+oMlipdlzQ56yfliPv4X8JLb9QK6YWObFDsuBGwLXoseGEwkc4ZC7LPrKfNlXcuCGQtx2Pb4HgCVGsbsc3avrNxX6kCaH3ZEjuKGYvo85SnjZH48VS7l82Cdy4IZzk1h8+O3RUUINnOXIcFz/cKEPajLYolzAbYBiIK7H9icgn0wkcIwbgRq8mJ3kwc7PBRy6mhOP6YgbqQbAYvF4MTvJg2XbR8nAtUH5jZJKym5sbE8xrcyLZd9LScC1AzhwkaOjOMSNjo3u0eM/LfRBTQbLodsEg+vS43Ge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">
+
+ <img alt="" class="position-absolute" height="49" width="166" style=" top: 297px; left: 371px; z-index: 7;"
+ src="data:image/png;base64,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">
+
+ <img alt="" class="position-absolute" height="75" width="430" style="top: 263px; left: 442px; z-index: 6;"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAa4AAABLCAMAAAAf1ZMtAAAAA3NCSVQICAjb4U/gAAAAXVBMVEX///+znW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGznW+znXGvF0qvAAAAH3RSTlMAEREiIjMzRERVVWZmd3eIiJmZqqq7u8zM3d3u7v//6qauNwAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAnhSURBVHic7V2Lmqo4DF6Og+ggg4hYkWne/zGXW9skjddRATVn9xsubUn/P0nTFvW//8YmQRjOw0ZmQ2vyESrzMIrjJMtypfZKKd0JtP+1R6CV2m7SVRgMrep7ShBGqzjNskIp0OZfx1FPUU9YyxWgC2qbrqKPwz1DapJqJ9qqA+aEydE7YNlrpCyyeBkO3aGXlJ6k0gKPvaUngR9inmQG26ulyn6W80+IvIeEi1W6Vb8MYhz6ulPABIAdtFyUhJ5LRpw7q1SexuHX0B2epsyiON10zgQOVuhocDyB40XTsoQVdxc0vUmZbUTtsjj6hMgLZbZMsn3psAULPqCwZnIHYLxwhqgLMkZdezx06nZgS5afLPKoBGG83irMhAhvj7BFGTCNzMfuQHe1z+oQ+WENSRDFWVE6mGz2Bgw87YYpfIu5Cq1AYqV0Lh860jvjUPk6/uT+YZy5PAIYdvjEOYr9w11OINcd21REuIezkjPTg3L3rrl/w5Rg0x5CJCaSgOaVhv4/UwE4WZgc25DgkZxc/rw293+bEDlbpsrHSJNBy2V8GHSwTPGZlMUfgJ5jdngNO/ghWnBAFf3YXety/5cOkVFaVAjhv1k5bcAMNAx/C+/pOHfkBvZqppQlfJ9nqxfM/cOfAo9BGBB/3QEAxTzARbk74IvnSGGjkz9AIsVITUdSz70fFspik7zMwBauS9JfBgV3HJ8boIXIuEaJesTsmdwkxdH6cWthlcrSVfhvaLz/IkFSepGNgmCt9kRokoKhUBxMWOSXJWvwHRLcrAzFPTqx4A/F/maCgtqm8WKSi1pxRbvJwdDYkrt4iXl0to5asKFNYB/DTI8AGQTRhY9yJEgep+oYg9A/Cia47p9aq3vWYoTvO8wxj609oUM6kaPeT0zNG+skmzyoLJnIun9BIRfBBs2jJPAopUWIHSrmKTRlQHD71NAZnOhEaFyy+ad7MKnsndgIYJX7rXP/1chz/yAtwTAgGjacQNRHkcQpi/mgqx3eba844NCstcqzMS9qzdfH43wPCTd47m8IQOtUQnhDf1zjAgmeJl5Mow8AXI+VEubsiOkTM5du3X9ocnwJFEN3uo7hLss+f0OmWalNMqZ1/+Wh9xUfIAq+tEtPMAeTcXkWTsH2DEBwsb4iMCWGG2P3+VDv/ITLOA5bNw+iBG03Wp1Hta3l+wbT56mZpKpz/+9nhUizezW1pI0bAq8K3FXRerPUAUlwc66TR7YYyv0m+X5o7h8s8+rdI9q9DbBqtkbnjwiRSfXyJt/v0SCWHrarRhuoB7bNfQe2iMMA4smjFuk8p7EVHaiTT/3vmfuvKvcUo4C1GRqkSCFBhDiIHQB13MOCs3zf1STUH1NniBXOSmV/z/1nWxBUAk2ugt/3XqlDscnW8Sr+yQ+mf6dDmpQ5YrPQtAV3jVKPEea8GafkPkjGXxDrOvCtHlIHHKWmJWyNuHekq+151az7R7ev+4f5CTrA/eN0qIzaSp3+5+pDB3om6SeQ+/XAVty6od0ShrpxSQioUjkch6tMWXVxyOFp5d82OTQv7ed79jlCby6OHifMVX7eteZaqhteZv1KK9cwCJ3Gurl+qm2ykDKfecMZSHUdYIJBTn54cnWutc1mQ/ua9/2D1UEMDjhfQEgi1apis5I4C+O0+NVceO7PnklyMwMOiFza+wgrIP/LRoeptYbjuYxvs4x9qjHWhkwruBpnllX3l6/7L/JKEwESJo4o2J0URx4x+27eo/qk+6YSdUrCK27lsEuX50kL4r2kqGvTmTpXtzzR7GyZ7pglcBjYkgW6Z3p51LhNbeDzbTSMOG2l9RvUin30UaNCjfWqEXvxIxQAUYXphqo4PrubVZFG5973CdcVge/iNO5cktNw5t7W0dNK44CrpPFziesBaRWXpST6TyBKGVWL+Fwa8s2DIvUnirSVi3LSJtk/MI21fuX1Q/dgUtk7QVGA+192NixGGfExwbIJrPXf4hK2HGel9pskrTtoGSb6DUPk9vw7kO6lUAOND69Tf3ft4krvZ2OPRd5NUhx5NXJUQAHAZYkGR78xqif2A1umWl4A6SyxM17aS6/36xuXwvpJtWtxPPNXe436h9OAoIvLPGS5Jb0Iz1lSsM5za6ylmN9GVi/zeKOclthtGIQGP+Yxvjcy96IO6AlHV7PidIBj1outCc9CuGK0qqAMUplEE/PU5EI0/y271INQjnDa3mVvYB5ne5LhHIcXa8IijlSvm2gjzIUgx7DB0AkgXzGku+BIypIQIvfPk8thrgea9kNDfrAo4ntuv9WT6l31iYWi2cHuOizDJK/AtV9P4/LvR7yW8PXtJtUOX6a9S70QA7yDpNfsjNQAygK7iQ/R86zhEHd94McPrwd7FiVZsf8tlcoe+wmbelJN/PkNs3e8wNEeLR6I9z3kXz9Bk+flzn5JwNQkmBLEkG8BRWgS8/LV0HxcIsGi4QzbKwi9cX19kcRCU7obuWTuNQ5pF0IwBR6yOM7zm6T406a29hmSXWGlQHtxwkRD17FaJvZBwSBadRM0RhMPgsBuY5Ic9II/4VMAB5nvzjIDBGtDFkJeKA7GLX318TOaYvnQ+N8kYcPZi4Y7opQ1xu5vNd4PK52V9htZSPLx6unIbzQ05n8Vs+tJhyaNgyAZRDzUgB9qqbiHuCmP4qQ/ojGD+OvksRrhR8pukY4z8LuMFxeIP7DUgxk9D5U8NgI9lMOwMEM2nJnwhh6AfZe2YsksJpZmnJavflI9tggmNOVUEovx0N02fNH2ydTka5lsS95vfkwABI0zP1LER98CyCo4t8GOR4ZKYP513VJnmUz6C1pOSr9T7VxKsHJ5VCLoMtYGnJIXr+hZVAK7eOWzIS0VskwBxOsax0rkPY98E0+lE87er5N/UbLBX784tUGszJfj+aT6s8R+ZSYHa5Rr7kazQ37XbcSJSbMQ4gwfNEcRkTL4rkq5TaL38ypfmlf26fuTBj9vrGKQ0vxA4geTbDxHs/1j4ka+ErX8XvSm9TvJzE7QOHAnUzYv46CH3mjVkewzjHhkc2W1eefwd1KaN0J+n5rhaVQPUIlWyjwZ+z7x8DJbrrelJWugja+qSBefgepiqSdo25Kn0Bxl7Gy0GM7BifuRVrxQCT1Tn4HqJmleJSa/ZMCHLkyA24ZyWR8jkKUwwG630e+llmwHkK/vNC85uoyL3ttsfo5D37E0nbhVVWSrF9kJGYMEi5/O0eSE0AY97Dh4H82bGrjK9XzqE/weIuYHef42OFmpmm+0eN1F9bFIuGy+J4R6F8tITq8rdr/g8SHqmTIL42RT7BkpJ1fmK1VkSTyN78h+VQnCMI7T5keezW88A15p0krtsmwdx4tPKjFOmfU/oP48L/ofeFiF96pE5uQAAAAASUVORK5CYII=">
+
+ <img alt="" class="position-absolute" height="123" width="304" style="top: 73px; left: 467px; z-index: 5;"
+ src="data:image/png;base64,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">
+
+ <img alt="" class="position-absolute" height="50" width="116" style="top: 113px; left: 762px; z-index: 4;"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAAyCAMAAAC6RQ9kAAAAA3NCSVQICAjb4U/gAAABgFBMVEX////kyZm1pIDexpr73qqnmnallnGnmnn33aqjlXn12anszpi7p4PUvZPu1aXPuo6tm3zr0aLfxZbNt4xxbWOUim6yn3l7c2NsaF2+rIStm3yom4C2o3v22KSznW+rnIGejGuqlm3ZxJZxbWN0bFvUvZPv0JvnzZ2MfmPArYq7p4PXvo7Qu5LFsoq+rIRsaWDx057ErYKznXCsmnKFe2qom4CPgWSMhG3Qu5Kck3OllnGjlXl7c2NzcGeJf217c2OJf23FsoqUim6+rISck3PArYp/eWl/eGWfknrGsIzArYrGsIyck3PNt4zXvo67p4Pr0aLQu5K7p4Omk2zfxZbZxJbErYL12anu1aWwm2753KfmzaHny5aMg3N/eWmfknqajnmUiXSMhG2Mg3OrnIGjlXmUim6UiXSMhG2EeGN/eGW1pICajHOFe2rGsIy7p4OVhme+rIStm3ynmnmejGuUim6VhmfUvZPQu5LNt4zexprPuo7GsIy7p4Oyn3mmk2w+/MV0AAAAgHRSTlMA////////////////////RP///yJ3/yIR7v9E////RHe7/xEiu///RHfu/////xH/////IjNEVaqqzMwRESIzVXeIu8zdIiIzZmZ3d4iZqru7u7vM3d3u7u7///8RESIiIiIiMzMzMzMzM0RERFVVVWZmZmZmZnd3d4iIiIiIiOmar1cAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAAFzUlEQVRYheWXh3saRxDFvSzHHQsczUEKCFVkiINKFEW25RZFcVwjJFvNTu+99+p/PfNmCwfcxYosf8n3ZcB3gjvv797sm9nl1KlHxNyjbngCMf7U/wU6929Al/5L6X3nq43f5ud/uf3ZpScARXp/GB/68q1fD4IHYXP5TC73em731psnDYXS9dMDX729nVZBmkIpVc4hXr188tCLA9CfAiIqftM/1WwTda90otC5IeilbahkoYAG9Ocyiz1J6JDSNw41Kg0wvRTOTVC3HgvzwcbG7ZJrfoNKLx8qTms6IBxT+cPyY1JvHqgmxrhlPpPSq54rm21WyFyXZDzGGVC/OSby8jYP1KRBdq9Y6Dnvgrn8cwACZRc+4rklU8FXIZv4xvGg20qLeEDUPS576kjnfAN9D5cUpxZYfeJsa6m7x2J+CSIkBCFV/ZaFWqVbSrtI6dwq7SjODc9q7liFc2Dmyzw6EtxP71IjDKkdNFUzRDT5tkDBUUobOLd3VND46urqjQZi6mYYlsvl18oIQbE3T1ERUkiEwEngjIOsdrvdgrQx+yzHt6c5xuil3wlbgBJGEGY0Gk84hP4k+idh+PxnPnWkGIuH2tG0AIvQWAsXRqFRiy+OxkyE2oGlyd+wPP1IfeE6wSeh9B/nmKB5sZjJZjNeDGuh6lPUk6BTFiVdIqWFWqR0avsZZ2g1m6FXDLRYoQuZzEQSVESsaU/mi7JyEepTwE0+VRBaaYFGzmYnYqCyhku11PUE9zrvGJ3WREKG6HFK2TVFVyadU1QrZwGVkENDx0AXAa0nKG1EjCP7J6GhKtrfbc8LSKnQ0BryW4+DVmm2s36yewct5GZXitB2HTR2dEDu8RGoWMTQMU4qigIm1fu7khGuTI179JGgQdgut8t4604VmPQyVEp2UiYOWskiUq8kuFdGKlVEfCpIaaAqvud7nufjQEdu9TCSTm8BRopxUlGIOl3K1BJLpl9+ItJ96HOZUlohlIei8/lsoNLMqcwgRieVoHlUUz1Jqe0xwprWaQ9p/maZCJUsNTBGkk9zekUd/vVjoLKKx/ET5nTAvJFlRDA0XdEwpBYH3hxFoIsYetRJRYnM05Vk90a7jssul0w6PWs1cnY9Lhq4l6GCe1J21EmktMKN49MEaH9FkW4N0U8CaMVmVx8HoHQXehLa3YhS1DDFF/Fz6tqsNGDhHMVQdq5v0F6gTMmY9FbYSSM9qYglAdAXE+bUrcvWSq4Xc3p1Xi03MEp5TnFXHe1hxL7kXrmAJLyUlN74zoD0kqxZrdTTZcolo1Jdo1Swk2JWNygt4HFeToQKl1jhVlL8UQ44vWwi0yK4H0bcK6qZOCeRUvQkkjr8M9Ok15VLZLXWSTbu1Rq1XOx3AzunuJF70oiTihisjiXoagK0vzFxD6C1a/faKuUU87LjoLg51kmYU3EWUmOdVLIrdv9g9i5Up0rXqe/Anu1ITinpyY42wiJG7QEa66TSYOeLFKwQ5XSkI+l5xZIe9N1Lt+f1GjYYVYxyHnMa66RGZF9m59WuqrTKaCMZmb5Lr1OKHouxR5XSZh3GjnXSFEtsi3a7uLCwsNi1WnkRV1hlTHK1YGxbVBTKq/WIk4qcrIvwWJyTplgdpqrKeYn2f1ZqSlRn1+efiYBeM0YSet835KQip60HaJyTuGQkVkkNjW7RsHOoGBsZrdit8Mbsmq5TGe+kIruil9STSvwf006pbUnOSEaibQ7YKFml2m55bB6GnFTkx95BocY5SdcpulvV2s71ClunFurbOe0KuW96r+mx2WEoHmcWNZOdmZ5e61xvRaFLq+/Sr8TzFH/82bt7t/cMx+87O/Qzcffw8HBPNyTdgP2+e/eNUikK3O5qE4iaifxziOrziJWVyZVJxPrMw+mvO5+0YjtjUlz56MOPX6B4//NSo/HdnTvf9zY3N3u9/fX19Xv37k9i6JXJ+zMcF6Y5fux01tY6a51WqzXWcrS/AGShj5noGrZMAAAAAElFTkSuQmCC">
+ </div>
+ </div>
+
+<div class="container-lg mt-5 px-3">
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form role="search" data-turbo="false" action="/search" accept-charset="UTF-8" method="get">
+ <label for="not-found-search" class="d-block text-normal color-fg-muted mb-1 f4">Find code, projects, and people on GitHub:</label>
+ <div class="d-flex flex-items-center">
+ <input type="text" name="q" id="not-found-search" class="flex-auto input-lg form-control mr-2">
+ <button type="submit" data-view-component="true" class="btn"> Search
+</button>
+ </div>
+</form>
+ <div class="mt-5 color-fg-muted text-center">
+ <a href="https://support.github.com?tags=dotcom-404" class="Link--secondary">Contact Support</a> &mdash;
+ <a href="https://githubstatus.com" class="Link--secondary">GitHub Status</a> &mdash;
+ <a href="https://twitter.com/githubstatus" class="Link--secondary">@githubstatus</a>
+ </div>
+</div>
+
+ </main>
+
+ </div>
+
+ <footer role="contentinfo" class="footer pt-6 position-relative" data-analytics-visible="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;visible&quot;,&quot;label&quot;:&quot;text: Marketing footer&quot;}" >
+ <h2 class="sr-only">Site-wide Links</h2>
+ <div class="container-xl p-responsive">
+ <div class="d-flex flex-wrap py-5 mb-5">
+ <section class="col-12 col-lg-4 mb-5">
+ <a href="/" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to home&quot;,&quot;label&quot;:&quot;text:home&quot;}" class="color-fg-default d-inline-block" aria-label="Go to GitHub homepage">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 367.4 90" class="footer-logo-mktg d-block" height="30"><g fill="currentColor"><path d="m46.1 0c-25.5 0-46.1 20.6-46.1 46.1 0 20.4 13.2 37.7 31.5 43.8 2.3.4 3.2-1 3.2-2.2 0-1.1-.1-4.7-.1-8.6-11.6 2.1-14.6-2.8-15.5-5.4-.5-1.3-2.8-5.4-4.7-6.5-1.6-.9-3.9-3-.1-3.1 3.6-.1 6.2 3.3 7.1 4.7 4.2 7 10.8 5 13.4 3.8.4-3 1.6-5 2.9-6.2-10.3-1.2-21-5.1-21-22.8 0-5 1.8-9.2 4.7-12.4-.5-1.2-2.1-5.9.5-12.2 0 0 3.9-1.2 12.7 4.7 3.7-1 7.6-1.6 11.5-1.6s7.8.5 11.5 1.6c8.8-6 12.7-4.7 12.7-4.7 2.5 6.3.9 11.1.5 12.2 2.9 3.2 4.7 7.3 4.7 12.4 0 17.7-10.8 21.6-21.1 22.8 1.7 1.4 3.1 4.2 3.1 8.5 0 6.2-.1 11.1-.1 12.7 0 1.2.9 2.7 3.2 2.2 18.2-6.1 31.4-23.4 31.4-43.8.3-25.4-20.4-46-45.9-46z"></path><path d="m221.6 67.1h-.1zm0 0c-.5 0-1.8.3-3.2.3-4.4 0-5.9-2-5.9-4.6v-17.5h8.9c.5 0 .9-.4.9-1.1v-9.5c0-.5-.4-.9-.9-.9h-8.9v-11.7c0-.4-.3-.7-.8-.7h-12c-.5 0-.8.3-.8.7v12.1s-6.1 1.5-6.5 1.6-.7.5-.7.9v7.6c0 .6.4 1.1.9 1.1h6.2v18.3c0 13.6 9.5 15 16 15 3 0 6.5-.9 7.1-1.2.3-.1.5-.5.5-.9v-8.4c.1-.6-.3-1-.8-1.1zm132.2-12.2c0-10.1-4.1-11.4-8.4-11-3.3.2-6 1.9-6 1.9v19.6s2.7 1.9 6.8 2c5.8.2 7.6-1.9 7.6-12.5zm13.6-.9c0 19.1-6.2 24.6-17 24.6-9.1 0-14.1-4.6-14.1-4.6s-.2 2.6-.5 2.9c-.2.3-.4.4-.8.4h-8.3c-.6 0-1.1-.4-1.1-.9l.1-62c0-.5.4-.9.9-.9h11.9c.5 0 .9.4.9.9l-.1 20.9s4.6-3 11.3-3h.1c6.8-0 16.7 2.5 16.7 21.7zm-48.7-20.2h-11.7c-.6 0-.9.4-.9 1.1v30.3s-3.1 2.2-7.3 2.2-5.4-1.9-5.4-6.1v-26.5c0-.5-.4-.9-.9-.9h-11.9c-.5 0-.9.4-.9.9v28.5c0 12.3 6.9 15.3 16.3 15.3 7.8 0 14.1-4.3 14.1-4.3s.3 2.2.4 2.5.5.5.9.5h7.5c.6 0 .9-.4.9-.9l.1-41.7c-.1-.4-.6-.9-1.2-.9zm-132.2 0h-11.9c-.5 0-.9.5-.9 1.1v40.9c0 1.1.7 1.5 1.7 1.5h10.7c1.1 0 1.4-.5 1.4-1.5v-41.1c0-.5-.5-.9-1-.9zm-5.8-18.9c-4.3 0-7.7 3.4-7.7 7.7s3.4 7.7 7.7 7.7c4.2 0 7.6-3.4 7.6-7.7s-3.4-7.7-7.6-7.7zm92-1.4h-11.8c-.5 0-.9.4-.9.9v22.8h-18.5v-22.7c0-.5-.4-.9-.9-.9h-11.9c-.5 0-.9.4-.9.9v62c0 .5.5.9.9.9h11.9c.5 0 .9-.4.9-.9v-26.6h18.5l-.1 26.5c0 .5.4.9.9.9h11.9c.5 0 .9-.4.9-.9v-62c0-.4-.4-.9-.9-.9zm-105.3 27.5v32c0 .2-.1.6-.3.7 0 0-7 5-18.5 5-13.9 0-30.3-4.4-30.3-33 0-28.7 14.4-34.6 28.4-34.5 12.2 0 17.1 2.7 17.8 3.2.2.3.3.5.3.8l-2.3 9.9c0 .5-.5 1.1-1.1.9-2-.6-5-1.8-12.1-1.8-8.2 0-17 2.3-17 20.8s8.4 20.6 14.4 20.6c5.1 0 7-.6 7-.6v-12.8h-8.2c-.6 0-1.1-.4-1.1-.9v-10.3c0-.5.4-.9 1.1-.9h20.9c.6-.1 1 .4 1 .9z"></path></g></svg>
+ </a>
+
+ <h3 class="h5 mt-4 mb-0" id="subscribe-to-newsletter">Subscribe to our developer newsletter</h3>
+ <p class="f5 color-fg-muted mb-3">Get tips, technical guides, and best practices. Twice a month.</p>
+ <a class="btn-mktg mb-4 btn-muted-mktg" data-analytics-event="{&quot;category&quot;:&quot;Subscribe&quot;,&quot;action&quot;:&quot;click to Subscribe&quot;,&quot;label&quot;:&quot;ref_cta:Subscribe;&quot;}" href="https://resources.github.com/newsletter/">
+ Subscribe
+
+
+</a>
+
+ </section>
+
+ <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4" aria-labelledby="footer-title-product">
+ <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-product">
+ Product
+ </h3>
+
+ <ul class="list-style-none color-fg-muted f5">
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;features_link_product_footer&quot;}" href="/features">Features</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;enterprise&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_link_product_footer&quot;}" href="/enterprise">Enterprise</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_link_product_footer&quot;}" href="/features/copilot">Copilot</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_product_footer&quot;}" href="/features/ai">AI</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_product_footer&quot;}" href="/security">Security</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_product_footer&quot;}" href="/pricing">Pricing</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;team&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;team_link_product_footer&quot;}" href="/team">Team</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;resources&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;resources_link_product_footer&quot;}" href="https://resources.github.com">Resources</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;roadmap&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;roadmap_link_product_footer&quot;}" href="https://github.com/github/roadmap">Roadmap</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;compare&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;compare_link_product_footer&quot;}" href="https://resources.github.com/devops/tools/compare">Compare GitHub</a>
+ </li>
+ </ul>
+ </nav>
+
+ <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-platform">
+ <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-platform">
+ Platform
+ </h3>
+
+ <ul class="list-style-none f5">
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dev-api&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dev-api_link_platform_footer&quot;}" href="https://docs.github.com/get-started/exploring-integrations/about-building-integrations">Developer API</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_platform_footer&quot;}" href="https://partner.github.com">Partners</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;edu&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;edu_link_platform_footer&quot;}" href="https://github.com/edu">Education</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cli&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cli_link_platform_footer&quot;}" href="https://cli.github.com">GitHub CLI</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;desktop&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;desktop_link_platform_footer&quot;}" href="https://desktop.github.com">GitHub Desktop</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;mobile&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;mobile_link_platform_footer&quot;}" href="https://github.com/mobile">GitHub Mobile</a>
+ </li>
+ </ul>
+ </nav>
+
+ <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-support">
+ <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-support">
+ Support
+ </h3>
+
+ <ul class="list-style-none f5">
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;docs&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;docs_link_support_footer&quot;}" href="https://docs.github.com">Docs</a>
+ </li>
+
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;community&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;community_link_support_footer&quot;}" href="https://github.community">Community Forum</a>
+ </li>
+
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;services&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;services_link_support_footer&quot;}" href="https://services.github.com">Professional Services</a>
+ </li>
+
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_support_footer&quot;}" href="/enterprise/premium-support">Premium Support</a>
+ </li>
+
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;skills&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;skills_link_support_footer&quot;}" href="https://skills.github.com">Skills</a>
+ </li>
+
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;status&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;status_link_support_footer&quot;}" href="https://www.githubstatus.com">Status</a>
+ </li>
+
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;contact_github&quot;,&quot;context&quot;:&quot;support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;contact_github_link_support_footer&quot;}" href="https://support.github.com?tags=dotcom-footer">Contact GitHub</a>
+ </li>
+ </ul>
+ </nav>
+
+ <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-company">
+ <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-company">
+ Company
+ </h3>
+
+ <ul class="list-style-none f5">
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;about&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;about_link_company_footer&quot;}" href="https://github.com/about">About</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;why_github&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;why_github_link_company_footer&quot;}" href="https://github.com/why-github">Why GitHub</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_company_footer&quot;}" href="/customer-stories?type=enterprise">Customer stories</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_company_footer&quot;}" href="https://github.blog">Blog</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;readme&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;readme_link_company_footer&quot;}" href="/readme">The ReadME Project</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;careers&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;careers_link_company_footer&quot;}" href="https://github.careers">Careers</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;newsroom&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;newsroom_link_company_footer&quot;}" href="/newsroom">Newsroom</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;inclusion&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;inclusion_link_company_footer&quot;}" href="/about/diversity">Inclusion</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;social_impact&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;social_impact_link_company_footer&quot;}" href="https://socialimpact.github.com">Social Impact</a>
+ </li>
+ <li class="lh-condensed mb-3">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;shop&quot;,&quot;context&quot;:&quot;company&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;shop_link_company_footer&quot;}" href="https://shop.github.com">Shop</a>
+ </li>
+ </ul>
+ </nav>
+ </div>
+ </div>
+
+ <div class="color-bg-subtle">
+ <div class="container-xl p-responsive f6 py-4 d-md-flex flex-justify-between flex-items-center">
+ <nav aria-label="Legal and Resource Links">
+ <ul class="list-style-none d-flex flex-wrap color-fg-muted">
+ <li class="mx-2">
+ &copy; <time datetime="2025">2025</time> GitHub, Inc.
+ </li>
+
+ <li class="mx-2">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;terms&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;terms_link_subfooter_footer&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service">Terms</a>
+ </li>
+
+ <li class="mx-2">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;privacy&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;privacy_link_subfooter_footer&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement">Privacy</a>
+ <a href="https://github.com/github/site-policy/pull/582" class="Link--secondary">(Updated 02/2024)<time datetime="2024-02" class="sr-only">02/2024</time></a>
+ </li>
+
+ <li class="mx-2">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;sitemap&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;sitemap_link_subfooter_footer&quot;}" href="/sitemap">Sitemap</a>
+ </li>
+
+ <li class="mx-2">
+ <a class="Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;what_is_git&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;what_is_git_link_subfooter_footer&quot;}" href="/git-guides">What is Git?</a>
+ </li>
+
+ <li class="mx-2" >
+ <cookie-consent-link>
+ <button
+ type="button"
+ class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
+ data-action="click:cookie-consent-link#showConsentManagement"
+ data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}"
+ >
+ Manage cookies
+ </button>
+ </cookie-consent-link>
+</li>
+
+<li class="mx-2">
+ <cookie-consent-link>
+ <button
+ type="button"
+ class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
+ data-action="click:cookie-consent-link#showConsentManagement"
+ data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}"
+ >
+ Do not share my personal information
+ </button>
+ </cookie-consent-link>
+</li>
+
+ </ul>
+ </nav>
+
+ <nav aria-label="GitHub&#39;s Social Media Links" class="mt-3 mt-md-0">
+
+
+<ul class="list-style-none d-flex flex-items-center lh-condensed-ultra">
+ <li class="ml-md-3">
+ <a href="https://www.linkedin.com/company/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Linkedin&quot;,&quot;label&quot;:&quot;text:linkedin&quot;}">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 18" aria-hidden="true" class="d-block" width="19" height="18"><path d="M3.94 2A2 2 0 1 1 2 0a2 2 0 0 1 1.94 2zM4 5.48H0V18h4zm6.32 0H6.34V18h3.94v-6.57c0-3.66 4.77-4 4.77 0V18H19v-7.93c0-6.17-7.06-5.94-8.72-2.91z" fill="currentColor"></path></svg>
+ <span class="sr-only">GitHub on LinkedIn</span>
+ </a>
+ </li>
+ <li class="ml-3">
+ <a href="https://www.instagram.com/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Instagram&quot;,&quot;label&quot;:&quot;text:instagram&quot;}">
+ <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 24 24" aria-hidden="true" class="d-block" width="18" height="18"><title>Instagram</title><path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z" fill="currentColor"></path></svg>
+ <span class="sr-only">GitHub on Instagram</span>
+ </a>
+ </li>
+ <li class="ml-3">
+ <a href="https://www.youtube.com/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to YouTube&quot;,&quot;label&quot;:&quot;text:youtube&quot;}">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.17 13.6" aria-hidden="true" class="d-block" width="23" height="16"><path d="M18.77 2.13A2.4 2.4 0 0 0 17.09.42C15.59 0 9.58 0 9.58 0a57.55 57.55 0 0 0-7.5.4A2.49 2.49 0 0 0 .39 2.13 26.27 26.27 0 0 0 0 6.8a26.15 26.15 0 0 0 .39 4.67 2.43 2.43 0 0 0 1.69 1.71c1.52.42 7.5.42 7.5.42a57.69 57.69 0 0 0 7.51-.4 2.4 2.4 0 0 0 1.68-1.71 25.63 25.63 0 0 0 .4-4.67 24 24 0 0 0-.4-4.69zM7.67 9.71V3.89l5 2.91z" fill="currentColor"></path></svg>
+ <span class="sr-only">GitHub on YouTube</span>
+ </a>
+ </li>
+ <li class="ml-3">
+ <a href="https://x.com/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to X&quot;,&quot;label&quot;:&quot;text:x&quot;}">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1227" fill="currentColor" aria-hidden="true" class="d-block" width="16" height="16"><path d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"></path></svg>
+ <span class="sr-only">GitHub on X</span>
+ </a>
+ </li>
+ <li class="ml-3">
+ <a href="https://www.tiktok.com/@github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to tiktok&quot;,&quot;label&quot;:&quot;text:tiktok&quot;}">
+ <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 24 24" aria-hidden="true" class="d-block" width="18" height="18"><title>TikTok</title><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z" fill="currentColor"></path></svg>
+ <span class="sr-only">GitHub on TikTok</span>
+ </a>
+ </li>
+ <li class="ml-3">
+ <a href="https://www.twitch.tv/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Twitch&quot;,&quot;label&quot;:&quot;text:twitch&quot;}">
+ <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 24 24" aria-hidden="true" class="d-block" width="18" height="18"><title>Twitch</title><path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z" fill="currentColor"></path></svg>
+ <span class="sr-only">GitHub on Twitch</span>
+ </a>
+ </li>
+ <li class="ml-3">
+ <a href="https://github.com/github" class="footer-social-icon d-block Link--outlineOffset" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to github&#39;s org&quot;,&quot;label&quot;:&quot;text:github&quot;}">
+ <svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 16 16" width="20" aria-hidden="true" class="d-block"><path fill="currentColor" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
+ <span class="sr-only">GitHub’s organization on GitHub</span>
+ </a>
+ </li>
+
+</ul>
+
+ </nav>
+ </div>
+ </div>
+</footer>
+
+
+
+ <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999"
+ data-locale="en"
+ data-initial-cookie-consent-allowed=""
+ data-cookie-consent-required="true"
+ ></ghcc-consent>
+
+
+
+ <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
+ <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
+</svg>
+ <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
+</svg>
+ </button>
+ You can’t perform that action at this time.
+ </div>
+
+ <template id="site-details-dialog">
+ <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
+ <summary role="button" aria-label="Close dialog"></summary>
+ <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
+ <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
+</svg>
+ </button>
+ <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
+ </details-dialog>
+ </details>
+</template>
+
+ <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
+ <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
+ </div>
+</div>
+
+ <template id="snippet-clipboard-copy-button">
+ <div class="zeroclipboard-container position-absolute right-0 top-0">
+ <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
+ <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
+</svg>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
+ <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
+</svg>
+ </clipboard-copy>
+ </div>
+</template>
+<template id="snippet-clipboard-copy-button-unpositioned">
+ <div class="zeroclipboard-container">
+ <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
+ <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
+</svg>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
+ <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
+</svg>
+ </clipboard-copy>
+ </div>
+</template>
+
+
+
+
+ </div>
+ <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
+ <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
+ </body>
+</html>
+
diff --git a/about/showcase/ds-sim/image-1.png b/about/showcase/ds-sim/image-1.png
new file mode 100644
index 00000000..be9b88af
--- /dev/null
+++ b/about/showcase/ds-sim/image-1.png
Binary files differ
diff --git a/about/showcase/dtail/image-1.png b/about/showcase/dtail/image-1.png
new file mode 100644
index 00000000..4e343c4f
--- /dev/null
+++ b/about/showcase/dtail/image-1.png
Binary files differ
diff --git a/about/showcase/dtail/image-2.gif b/about/showcase/dtail/image-2.gif
new file mode 100644
index 00000000..24a3eb35
--- /dev/null
+++ b/about/showcase/dtail/image-2.gif
Binary files differ
diff --git a/about/showcase/gogios/image-1.png b/about/showcase/gogios/image-1.png
new file mode 100644
index 00000000..aebe695c
--- /dev/null
+++ b/about/showcase/gogios/image-1.png
Binary files differ
diff --git a/about/showcase/gos/image-1.png b/about/showcase/gos/image-1.png
new file mode 100644
index 00000000..dc2808ce
--- /dev/null
+++ b/about/showcase/gos/image-1.png
Binary files differ
diff --git a/about/showcase/gos/image-2.png b/about/showcase/gos/image-2.png
new file mode 100644
index 00000000..cc873df3
--- /dev/null
+++ b/about/showcase/gos/image-2.png
Binary files differ
diff --git a/about/showcase/ior/image-1.png b/about/showcase/ior/image-1.png
new file mode 100644
index 00000000..157df174
--- /dev/null
+++ b/about/showcase/ior/image-1.png
Binary files differ
diff --git a/about/showcase/ior/image-2.svg b/about/showcase/ior/image-2.svg
new file mode 100644
index 00000000..9c7d98c6
--- /dev/null
+++ b/about/showcase/ior/image-2.svg
@@ -0,0 +1,12270 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" width="1200" height="310" onload="init(evt)" viewBox="0 0 1200 310" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<!-- Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples. -->
+<!-- NOTES: -->
+<defs>
+ <linearGradient id="background" y1="0" y2="1" x1="0" x2="0" >
+ <stop stop-color="#eeeeee" offset="5%" />
+ <stop stop-color="#eeeeb0" offset="95%" />
+ </linearGradient>
+</defs>
+<style type="text/css">
+ text { font-family:Verdana; font-size:12px; fill:rgb(0,0,0); }
+ #search, #ignorecase { opacity:0.1; cursor:pointer; }
+ #search:hover, #search.show, #ignorecase:hover, #ignorecase.show { opacity:1; }
+ #subtitle { text-anchor:middle; font-color:rgb(160,160,160); }
+ #title { text-anchor:middle; font-size:17px}
+ #unzoom { cursor:pointer; }
+ #frames > *:hover { stroke:black; stroke-width:0.5; cursor:pointer; }
+ .hide { display:none; }
+ .parent { opacity:0.5; }
+</style>
+<script type="text/ecmascript">
+<![CDATA[
+ "use strict";
+ var details, searchbtn, unzoombtn, matchedtxt, svg, searching, currentSearchTerm, ignorecase, ignorecaseBtn;
+ function init(evt) {
+ details = document.getElementById("details").firstChild;
+ searchbtn = document.getElementById("search");
+ ignorecaseBtn = document.getElementById("ignorecase");
+ unzoombtn = document.getElementById("unzoom");
+ matchedtxt = document.getElementById("matched");
+ svg = document.getElementsByTagName("svg")[0];
+ searching = 0;
+ currentSearchTerm = null;
+
+ // use GET parameters to restore a flamegraphs state.
+ var params = get_params();
+ if (params.x && params.y)
+ zoom(find_group(document.querySelector('[x="' + params.x + '"][y="' + params.y + '"]')));
+ if (params.s) search(params.s);
+ }
+
+ // event listeners
+ window.addEventListener("click", function(e) {
+ var target = find_group(e.target);
+ if (target) {
+ if (target.nodeName == "a") {
+ if (e.ctrlKey === false) return;
+ e.preventDefault();
+ }
+ if (target.classList.contains("parent")) unzoom(true);
+ zoom(target);
+ if (!document.querySelector('.parent')) {
+ // we have basically done a clearzoom so clear the url
+ var params = get_params();
+ if (params.x) delete params.x;
+ if (params.y) delete params.y;
+ history.replaceState(null, null, parse_params(params));
+ unzoombtn.classList.add("hide");
+ return;
+ }
+
+ // set parameters for zoom state
+ var el = target.querySelector("rect");
+ if (el && el.attributes && el.attributes.y && el.attributes._orig_x) {
+ var params = get_params()
+ params.x = el.attributes._orig_x.value;
+ params.y = el.attributes.y.value;
+ history.replaceState(null, null, parse_params(params));
+ }
+ }
+ else if (e.target.id == "unzoom") clearzoom();
+ else if (e.target.id == "search") search_prompt();
+ else if (e.target.id == "ignorecase") toggle_ignorecase();
+ }, false)
+
+ // mouse-over for info
+ // show
+ window.addEventListener("mouseover", function(e) {
+ var target = find_group(e.target);
+ if (target) details.nodeValue = "Function: " + g_to_text(target);
+ }, false)
+
+ // clear
+ window.addEventListener("mouseout", function(e) {
+ var target = find_group(e.target);
+ if (target) details.nodeValue = ' ';
+ }, false)
+
+ // ctrl-F for search
+ // ctrl-I to toggle case-sensitive search
+ window.addEventListener("keydown",function (e) {
+ if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
+ e.preventDefault();
+ search_prompt();
+ }
+ else if (e.ctrlKey && e.keyCode === 73) {
+ e.preventDefault();
+ toggle_ignorecase();
+ }
+ }, false)
+
+ // functions
+ function get_params() {
+ var params = {};
+ var paramsarr = window.location.search.substr(1).split('&');
+ for (var i = 0; i < paramsarr.length; ++i) {
+ var tmp = paramsarr[i].split("=");
+ if (!tmp[0] || !tmp[1]) continue;
+ params[tmp[0]] = decodeURIComponent(tmp[1]);
+ }
+ return params;
+ }
+ function parse_params(params) {
+ var uri = "?";
+ for (var key in params) {
+ uri += key + '=' + encodeURIComponent(params[key]) + '&';
+ }
+ if (uri.slice(-1) == "&")
+ uri = uri.substring(0, uri.length - 1);
+ if (uri == '?')
+ uri = window.location.href.split('?')[0];
+ return uri;
+ }
+ function find_child(node, selector) {
+ var children = node.querySelectorAll(selector);
+ if (children.length) return children[0];
+ }
+ function find_group(node) {
+ var parent = node.parentElement;
+ if (!parent) return;
+ if (parent.id == "frames") return node;
+ return find_group(parent);
+ }
+ function orig_save(e, attr, val) {
+ if (e.attributes["_orig_" + attr] != undefined) return;
+ if (e.attributes[attr] == undefined) return;
+ if (val == undefined) val = e.attributes[attr].value;
+ e.setAttribute("_orig_" + attr, val);
+ }
+ function orig_load(e, attr) {
+ if (e.attributes["_orig_"+attr] == undefined) return;
+ e.attributes[attr].value = e.attributes["_orig_" + attr].value;
+ e.removeAttribute("_orig_"+attr);
+ }
+ function g_to_text(e) {
+ var text = find_child(e, "title").firstChild.nodeValue;
+ return (text)
+ }
+ function g_to_func(e) {
+ var func = g_to_text(e);
+ // if there's any manipulation we want to do to the function
+ // name before it's searched, do it here before returning.
+ return (func);
+ }
+ function update_text(e) {
+ var r = find_child(e, "rect");
+ var t = find_child(e, "text");
+ var w = parseFloat(r.attributes.width.value) -3;
+ var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
+ t.attributes.x.value = parseFloat(r.attributes.x.value) + 3;
+
+ // Smaller than this size won't fit anything
+ if (w < 2 * 12 * 0.59) {
+ t.textContent = "";
+ return;
+ }
+
+ t.textContent = txt;
+ var sl = t.getSubStringLength(0, txt.length);
+ // check if only whitespace or if we can fit the entire string into width w
+ if (/^ *$/.test(txt) || sl < w)
+ return;
+
+ // this isn't perfect, but gives a good starting point
+ // and avoids calling getSubStringLength too often
+ var start = Math.floor((w/sl) * txt.length);
+ for (var x = start; x > 0; x = x-2) {
+ if (t.getSubStringLength(0, x + 2) <= w) {
+ t.textContent = txt.substring(0, x) + "..";
+ return;
+ }
+ }
+ t.textContent = "";
+ }
+
+ // zoom
+ function zoom_reset(e) {
+ if (e.attributes != undefined) {
+ orig_load(e, "x");
+ orig_load(e, "width");
+ }
+ if (e.childNodes == undefined) return;
+ for (var i = 0, c = e.childNodes; i < c.length; i++) {
+ zoom_reset(c[i]);
+ }
+ }
+ function zoom_child(e, x, ratio) {
+ if (e.attributes != undefined) {
+ if (e.attributes.x != undefined) {
+ orig_save(e, "x");
+ e.attributes.x.value = (parseFloat(e.attributes.x.value) - x - 10) * ratio + 10;
+ if (e.tagName == "text")
+ e.attributes.x.value = find_child(e.parentNode, "rect[x]").attributes.x.value + 3;
+ }
+ if (e.attributes.width != undefined) {
+ orig_save(e, "width");
+ e.attributes.width.value = parseFloat(e.attributes.width.value) * ratio;
+ }
+ }
+
+ if (e.childNodes == undefined) return;
+ for (var i = 0, c = e.childNodes; i < c.length; i++) {
+ zoom_child(c[i], x - 10, ratio);
+ }
+ }
+ function zoom_parent(e) {
+ if (e.attributes) {
+ if (e.attributes.x != undefined) {
+ orig_save(e, "x");
+ e.attributes.x.value = 10;
+ }
+ if (e.attributes.width != undefined) {
+ orig_save(e, "width");
+ e.attributes.width.value = parseInt(svg.width.baseVal.value) - (10 * 2);
+ }
+ }
+ if (e.childNodes == undefined) return;
+ for (var i = 0, c = e.childNodes; i < c.length; i++) {
+ zoom_parent(c[i]);
+ }
+ }
+ function zoom(node) {
+ var attr = find_child(node, "rect").attributes;
+ var width = parseFloat(attr.width.value);
+ var xmin = parseFloat(attr.x.value);
+ var xmax = parseFloat(xmin + width);
+ var ymin = parseFloat(attr.y.value);
+ var ratio = (svg.width.baseVal.value - 2 * 10) / width;
+
+ // XXX: Workaround for JavaScript float issues (fix me)
+ var fudge = 0.0001;
+
+ unzoombtn.classList.remove("hide");
+
+ var el = document.getElementById("frames").children;
+ for (var i = 0; i < el.length; i++) {
+ var e = el[i];
+ var a = find_child(e, "rect").attributes;
+ var ex = parseFloat(a.x.value);
+ var ew = parseFloat(a.width.value);
+ var upstack;
+ // Is it an ancestor
+ if (0 == 0) {
+ upstack = parseFloat(a.y.value) > ymin;
+ } else {
+ upstack = parseFloat(a.y.value) < ymin;
+ }
+ if (upstack) {
+ // Direct ancestor
+ if (ex <= xmin && (ex+ew+fudge) >= xmax) {
+ e.classList.add("parent");
+ zoom_parent(e);
+ update_text(e);
+ }
+ // not in current path
+ else
+ e.classList.add("hide");
+ }
+ // Children maybe
+ else {
+ // no common path
+ if (ex < xmin || ex + fudge >= xmax) {
+ e.classList.add("hide");
+ }
+ else {
+ zoom_child(e, xmin, ratio);
+ update_text(e);
+ }
+ }
+ }
+ search();
+ }
+ function unzoom(dont_update_text) {
+ unzoombtn.classList.add("hide");
+ var el = document.getElementById("frames").children;
+ for(var i = 0; i < el.length; i++) {
+ el[i].classList.remove("parent");
+ el[i].classList.remove("hide");
+ zoom_reset(el[i]);
+ if(!dont_update_text) update_text(el[i]);
+ }
+ search();
+ }
+ function clearzoom() {
+ unzoom();
+
+ // remove zoom state
+ var params = get_params();
+ if (params.x) delete params.x;
+ if (params.y) delete params.y;
+ history.replaceState(null, null, parse_params(params));
+ }
+
+ // search
+ function toggle_ignorecase() {
+ ignorecase = !ignorecase;
+ if (ignorecase) {
+ ignorecaseBtn.classList.add("show");
+ } else {
+ ignorecaseBtn.classList.remove("show");
+ }
+ reset_search();
+ search();
+ }
+ function reset_search() {
+ var el = document.querySelectorAll("#frames rect");
+ for (var i = 0; i < el.length; i++) {
+ orig_load(el[i], "fill")
+ }
+ var params = get_params();
+ delete params.s;
+ history.replaceState(null, null, parse_params(params));
+ }
+ function search_prompt() {
+ if (!searching) {
+ var term = prompt("Enter a search term (regexp " +
+ "allowed, eg: ^ext4_)"
+ + (ignorecase ? ", ignoring case" : "")
+ + "\nPress Ctrl-i to toggle case sensitivity", "");
+ if (term != null) search(term);
+ } else {
+ reset_search();
+ searching = 0;
+ currentSearchTerm = null;
+ searchbtn.classList.remove("show");
+ searchbtn.firstChild.nodeValue = "Search"
+ matchedtxt.classList.add("hide");
+ matchedtxt.firstChild.nodeValue = ""
+ }
+ }
+ function search(term) {
+ if (term) currentSearchTerm = term;
+ if (currentSearchTerm === null) return;
+
+ var re = new RegExp(currentSearchTerm, ignorecase ? 'i' : '');
+ var el = document.getElementById("frames").children;
+ var matches = new Object();
+ var maxwidth = 0;
+ for (var i = 0; i < el.length; i++) {
+ var e = el[i];
+ var func = g_to_func(e);
+ var rect = find_child(e, "rect");
+ if (func == null || rect == null)
+ continue;
+
+ // Save max width. Only works as we have a root frame
+ var w = parseFloat(rect.attributes.width.value);
+ if (w > maxwidth)
+ maxwidth = w;
+
+ if (func.match(re)) {
+ // highlight
+ var x = parseFloat(rect.attributes.x.value);
+ orig_save(rect, "fill");
+ rect.attributes.fill.value = "rgb(230,0,230)";
+
+ // remember matches
+ if (matches[x] == undefined) {
+ matches[x] = w;
+ } else {
+ if (w > matches[x]) {
+ // overwrite with parent
+ matches[x] = w;
+ }
+ }
+ searching = 1;
+ }
+ }
+ if (!searching)
+ return;
+ var params = get_params();
+ params.s = currentSearchTerm;
+ history.replaceState(null, null, parse_params(params));
+
+ searchbtn.classList.add("show");
+ searchbtn.firstChild.nodeValue = "Reset Search";
+
+ // calculate percent matched, excluding vertical overlap
+ var count = 0;
+ var lastx = -1;
+ var lastw = 0;
+ var keys = Array();
+ for (k in matches) {
+ if (matches.hasOwnProperty(k))
+ keys.push(k);
+ }
+ // sort the matched frames by their x location
+ // ascending, then width descending
+ keys.sort(function(a, b){
+ return a - b;
+ });
+ // Step through frames saving only the biggest bottom-up frames
+ // thanks to the sort order. This relies on the tree property
+ // where children are always smaller than their parents.
+ var fudge = 0.0001; // JavaScript floating point
+ for (var k in keys) {
+ var x = parseFloat(keys[k]);
+ var w = matches[keys[k]];
+ if (x >= lastx + lastw - fudge) {
+ count += w;
+ lastx = x;
+ lastw = w;
+ }
+ }
+ // display matched percent
+ matchedtxt.classList.remove("hide");
+ var pct = 100 * count / maxwidth;
+ if (pct != 100) pct = pct.toFixed(1)
+ matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%";
+ }
+]]>
+</script>
+<rect x="0.0" y="0" width="1200.0" height="310.0" fill="url(#background)" />
+<text id="title" x="600.00" y="24" >I/O Traces (pid,path,tracepoint by count)</text>
+<text id="details" x="10.00" y="293" > </text>
+<text id="unzoom" x="10.00" y="24" class="hide">Reset Zoom</text>
+<text id="search" x="1090.00" y="24" >Search</text>
+<text id="ignorecase" x="1174.00" y="24" >ic</text>
+<text id="matched" x="1090.00" y="293" > </text>
+<g id="frames">
+<g >
+<title>/x86_64-redhat-linux (22,150 samples, 2.29%)</title><rect x="1114.7" y="165" width="27.1" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="1117.72" y="175.5" >/..</text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1179.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.37" y="143.5" ></text>
+</g>
+<g >
+<title> (367 samples, 0.04%)</title><rect x="1093.1" y="229" width="0.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1096.14" y="239.5" ></text>
+</g>
+<g >
+<title>/home (380 samples, 0.04%)</title><rect x="681.6" y="213" width="0.4" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="684.56" y="223.5" ></text>
+</g>
+<g >
+<title>/var (86 samples, 0.01%)</title><rect x="777.2" y="213" width="0.1" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="780.17" y="223.5" ></text>
+</g>
+<g >
+<title>/gcc (697 samples, 0.07%)</title><rect x="1090.1" y="181" width="0.9" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="1093.10" y="191.5" ></text>
+</g>
+<g >
+<title>/a.out (4,987 samples, 0.52%)</title><rect x="1096.8" y="149" width="6.1" height="15.0" fill="rgb(234,96,32)" rx="2" ry="2" />
+<text x="1099.78" y="159.5" ></text>
+</g>
+<g >
+<title>10802 (117 samples, 0.01%)</title><rect x="98.8" y="245" width="0.2" height="15.0" fill="rgb(245,112,44)" rx="2" ry="2" />
+<text x="101.84" y="255.5" ></text>
+</g>
+<g >
+<title>enter_mmap (190 samples, 0.02%)</title><rect x="879.5" y="213" width="0.3" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="882.53" y="223.5" ></text>
+</g>
+<g >
+<title>/share (3,643 samples, 0.38%)</title><rect x="392.0" y="197" width="4.4" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="394.98" y="207.5" ></text>
+</g>
+<g >
+<title>/f4 (82 samples, 0.01%)</title><rect x="1068.1" y="149" width="0.1" height="15.0" fill="rgb(240,145,39)" rx="2" ry="2" />
+<text x="1071.13" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="758.1" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="761.10" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="731.5" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="734.50" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (606 samples, 0.06%)</title><rect x="29.7" y="165" width="0.8" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="32.75" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (95 samples, 0.01%)</title><rect x="1180.1" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1183.10" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="744.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="747.92" y="79.5" ></text>
+</g>
+<g >
+<title>/fontconfig (282 samples, 0.03%)</title><rect x="865.7" y="181" width="0.3" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="868.68" y="191.5" ></text>
+</g>
+<g >
+<title>/64 (87 samples, 0.01%)</title><rect x="1050.7" y="149" width="0.1" height="15.0" fill="rgb(232,110,30)" rx="2" ry="2" />
+<text x="1053.68" y="159.5" ></text>
+</g>
+<g >
+<title>/81 (83 samples, 0.01%)</title><rect x="1054.2" y="149" width="0.1" height="15.0" fill="rgb(230,165,28)" rx="2" ry="2" />
+<text x="1057.15" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="733.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="736.43" y="79.5" ></text>
+</g>
+<g >
+<title>/lib (239 samples, 0.02%)</title><rect x="862.4" y="197" width="0.3" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="865.37" y="207.5" ></text>
+</g>
+<g >
+<title>/fortune (1,884 samples, 0.19%)</title><rect x="39.9" y="165" width="2.3" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="42.88" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1182.2" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1185.20" y="143.5" ></text>
+</g>
+<g >
+<title>/lib (656 samples, 0.07%)</title><rect x="1175.4" y="197" width="0.8" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1178.39" y="207.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Identity.slice (1,672 samples, 0.17%)</title><rect x="716.4" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="719.40" y="111.5" ></text>
+</g>
+<g >
+<title>/transactions.db-wal (191 samples, 0.02%)</title><rect x="813.5" y="165" width="0.3" height="15.0" fill="rgb(223,124,20)" rx="2" ry="2" />
+<text x="816.53" y="175.5" ></text>
+</g>
+<g >
+<title>/event3 (98 samples, 0.01%)</title><rect x="774.7" y="181" width="0.1" height="15.0" fill="rgb(245,131,44)" rx="2" ry="2" />
+<text x="777.67" y="191.5" ></text>
+</g>
+<g >
+<title>. (143 samples, 0.01%)</title><rect x="117.4" y="229" width="0.2" height="15.0" fill="rgb(238,153,36)" rx="2" ry="2" />
+<text x="120.43" y="239.5" ></text>
+</g>
+<g >
+<title>/libbpf.a (2,384 samples, 0.25%)</title><rect x="1093.8" y="85" width="2.9" height="15.0" fill="rgb(236,99,34)" rx="2" ry="2" />
+<text x="1096.79" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (116 samples, 0.01%)</title><rect x="485.0" y="165" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="487.96" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1180.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1183.43" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="691.0" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="693.97" y="95.5" ></text>
+</g>
+<g >
+<title>/f2 (92 samples, 0.01%)</title><rect x="1081.0" y="149" width="0.1" height="15.0" fill="rgb(244,152,42)" rx="2" ry="2" />
+<text x="1083.97" y="159.5" ></text>
+</g>
+<g >
+<title>/usr (726 samples, 0.08%)</title><rect x="1142.9" y="213" width="0.8" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1145.85" y="223.5" ></text>
+</g>
+<g >
+<title>/libgcc.a (137 samples, 0.01%)</title><rect x="1141.4" y="133" width="0.1" height="15.0" fill="rgb(238,99,36)" rx="2" ry="2" />
+<text x="1144.38" y="143.5" ></text>
+</g>
+<g >
+<title>/smaps (464 samples, 0.05%)</title><rect x="800.1" y="181" width="0.6" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="803.10" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="725.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="728.68" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="756.0" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="758.99" y="95.5" ></text>
+</g>
+<g >
+<title>/1e (86 samples, 0.01%)</title><rect x="1042.3" y="149" width="0.1" height="15.0" fill="rgb(240,132,38)" rx="2" ry="2" />
+<text x="1045.31" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (301 samples, 0.03%)</title><rect x="542.1" y="133" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="545.06" y="143.5" ></text>
+</g>
+<g >
+<title>.git (229 samples, 0.02%)</title><rect x="872.7" y="229" width="0.3" height="15.0" fill="rgb(233,132,30)" rx="2" ry="2" />
+<text x="875.73" y="239.5" ></text>
+</g>
+<g >
+<title>/4e (89 samples, 0.01%)</title><rect x="1048.1" y="149" width="0.1" height="15.0" fill="rgb(236,117,34)" rx="2" ry="2" />
+<text x="1051.08" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="702.6" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="705.63" y="95.5" ></text>
+</g>
+<g >
+<title>/null (98 samples, 0.01%)</title><rect x="776.8" y="197" width="0.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="779.75" y="207.5" ></text>
+</g>
+<g >
+<title>/proc (9,141 samples, 0.95%)</title><rect x="784.4" y="213" width="11.2" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="787.42" y="223.5" ></text>
+</g>
+<g >
+<title>/libgcc.a (88 samples, 0.01%)</title><rect x="1090.5" y="133" width="0.1" height="15.0" fill="rgb(238,99,36)" rx="2" ry="2" />
+<text x="1093.53" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.stat (265 samples, 0.03%)</title><rect x="737.9" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="740.93" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (548 samples, 0.06%)</title><rect x="391.3" y="37" width="0.7" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="394.31" y="47.5" ></text>
+</g>
+<g >
+<title>/styles (706 samples, 0.07%)</title><rect x="835.3" y="181" width="0.8" height="15.0" fill="rgb(244,122,43)" rx="2" ry="2" />
+<text x="838.28" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (106 samples, 0.01%)</title><rect x="328.0" y="213" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="331.01" y="223.5" ></text>
+</g>
+<g >
+<title>/eb (102 samples, 0.01%)</title><rect x="1067.0" y="149" width="0.2" height="15.0" fill="rgb(231,157,28)" rx="2" ry="2" />
+<text x="1070.05" y="159.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (175 samples, 0.02%)</title><rect x="1089.8" y="197" width="0.2" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1092.80" y="207.5" ></text>
+</g>
+<g >
+<title>/io.github.seadve.Kooha (106 samples, 0.01%)</title><rect x="218.8" y="149" width="0.1" height="15.0" fill="rgb(235,134,33)" rx="2" ry="2" />
+<text x="221.77" y="159.5" ></text>
+</g>
+<g >
+<title>627547 (1,235 samples, 0.13%)</title><rect x="1087.3" y="245" width="1.5" height="15.0" fill="rgb(234,145,31)" rx="2" ry="2" />
+<text x="1090.32" y="255.5" ></text>
+</g>
+<g >
+<title>/8c (109 samples, 0.01%)</title><rect x="1055.5" y="149" width="0.1" height="15.0" fill="rgb(230,159,28)" rx="2" ry="2" />
+<text x="1058.47" y="159.5" ></text>
+</g>
+<g >
+<title>enter_close (621 samples, 0.06%)</title><rect x="463.5" y="213" width="0.8" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="466.52" y="223.5" ></text>
+</g>
+<g >
+<title>enter_write (123,494 samples, 12.78%)</title><rect x="883.9" y="213" width="150.8" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="886.94" y="223.5" >enter_write</text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="753.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="756.50" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (4,347 samples, 0.45%)</title><rect x="391.1" y="213" width="5.3" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="394.12" y="223.5" ></text>
+</g>
+<g >
+<title>/share (1,583 samples, 0.16%)</title><rect x="866.0" y="197" width="2.0" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="869.04" y="207.5" ></text>
+</g>
+<g >
+<title>/dnf (117 samples, 0.01%)</title><rect x="1176.0" y="181" width="0.1" height="15.0" fill="rgb(248,162,48)" rx="2" ry="2" />
+<text x="1179.00" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="701.6" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="704.65" y="95.5" ></text>
+</g>
+<g >
+<title>/tmp (223 samples, 0.02%)</title><rect x="1089.8" y="213" width="0.3" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1092.80" y="223.5" ></text>
+</g>
+<g >
+<title>/601475 (168 samples, 0.02%)</title><rect x="779.8" y="197" width="0.2" height="15.0" fill="rgb(246,123,46)" rx="2" ry="2" />
+<text x="782.82" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (381 samples, 0.04%)</title><rect x="623.4" y="133" width="0.5" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="626.40" y="143.5" ></text>
+</g>
+<g >
+<title> (4,998 samples, 0.52%)</title><rect x="673.9" y="229" width="6.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="676.93" y="239.5" ></text>
+</g>
+<g >
+<title> (886 samples, 0.09%)</title><rect x="804.6" y="229" width="1.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="807.62" y="239.5" ></text>
+</g>
+<g >
+<title>/68 (92 samples, 0.01%)</title><rect x="1051.2" y="149" width="0.1" height="15.0" fill="rgb(225,97,22)" rx="2" ry="2" />
+<text x="1054.19" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (1,721 samples, 0.18%)</title><rect x="1112.4" y="165" width="2.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1115.36" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="732.2" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="735.22" y="95.5" ></text>
+</g>
+<g >
+<title>enter_mmap (102 samples, 0.01%)</title><rect x="861.0" y="213" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="863.99" y="223.5" ></text>
+</g>
+<g >
+<title>enter_openat (236 samples, 0.02%)</title><rect x="673.3" y="213" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="676.26" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="739.2" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="742.24" y="95.5" ></text>
+</g>
+<g >
+<title>/user-1001@a76544c2185a4e0d95d841276470efd6-00000000004ff7a8-0006208fd10774d5.journal (91 samples, 0.01%)</title><rect x="1185.0" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1187.99" y="159.5" ></text>
+</g>
+<g >
+<title>/lib64 (1,537 samples, 0.16%)</title><rect x="1035.1" y="197" width="1.9" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1038.09" y="207.5" ></text>
+</g>
+<g >
+<title>/functions (160 samples, 0.02%)</title><rect x="681.8" y="101" width="0.2" height="15.0" fill="rgb(244,129,43)" rx="2" ry="2" />
+<text x="684.76" y="111.5" ></text>
+</g>
+<g >
+<title>613221 (85 samples, 0.01%)</title><rect x="783.9" y="245" width="0.1" height="15.0" fill="rgb(231,163,28)" rx="2" ry="2" />
+<text x="786.86" y="255.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (91 samples, 0.01%)</title><rect x="727.5" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="730.50" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (1,144 samples, 0.12%)</title><rect x="784.4" y="165" width="1.4" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="787.43" y="175.5" ></text>
+</g>
+<g >
+<title>/status (638 samples, 0.07%)</title><rect x="484.0" y="181" width="0.8" height="15.0" fill="rgb(233,122,30)" rx="2" ry="2" />
+<text x="487.04" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="757.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="760.26" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (621 samples, 0.06%)</title><rect x="251.8" y="213" width="0.7" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="254.76" y="223.5" ></text>
+</g>
+<g >
+<title>/lib (101 samples, 0.01%)</title><rect x="676.8" y="197" width="0.1" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="679.82" y="207.5" ></text>
+</g>
+<g >
+<title>/transactions.db (343 samples, 0.04%)</title><rect x="463.1" y="165" width="0.4" height="15.0" fill="rgb(232,124,30)" rx="2" ry="2" />
+<text x="466.06" y="175.5" ></text>
+</g>
+<g >
+<title>enter_writev (570 samples, 0.06%)</title><rect x="444.6" y="213" width="0.7" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="447.63" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (222 samples, 0.02%)</title><rect x="215.4" y="133" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="218.35" y="143.5" ></text>
+</g>
+<g >
+<title>/stat (406 samples, 0.04%)</title><rect x="483.5" y="181" width="0.5" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="486.54" y="191.5" ></text>
+</g>
+<g >
+<title>/dev (971 samples, 0.10%)</title><rect x="1173.8" y="213" width="1.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="1176.75" y="223.5" ></text>
+</g>
+<g >
+<title>/tmp (14,658 samples, 1.52%)</title><rect x="1096.8" y="213" width="17.9" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1099.78" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (94 samples, 0.01%)</title><rect x="1182.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1185.73" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1184.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.31" y="143.5" ></text>
+</g>
+<g >
+<title> (10,406 samples, 1.08%)</title><rect x="1173.8" y="229" width="12.7" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1176.75" y="239.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (600 samples, 0.06%)</title><rect x="798.0" y="53" width="0.7" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="801.00" y="63.5" ></text>
+</g>
+<g >
+<title>enter_read (12,021 samples, 1.24%)</title><rect x="630.6" y="213" width="14.6" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="633.56" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="693.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="696.89" y="79.5" ></text>
+</g>
+<g >
+<title>/card1 (107 samples, 0.01%)</title><rect x="617.9" y="181" width="0.2" height="15.0" fill="rgb(234,170,31)" rx="2" ry="2" />
+<text x="620.94" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="762.2" y="101" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="765.16" y="111.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (89 samples, 0.01%)</title><rect x="1182.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1185.31" y="143.5" ></text>
+</g>
+<g >
+<title>/user-1001@91732938d5e8417da6f3e8bd5b2a5bdf-0000000000540a2d-0006231483066361.journal (88 samples, 0.01%)</title><rect x="1184.9" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1187.88" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="730.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="733.07" y="79.5" ></text>
+</g>
+<g >
+<title>/sbin (226 samples, 0.02%)</title><rect x="35.7" y="165" width="0.3" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="38.73" y="175.5" ></text>
+</g>
+<g >
+<title>/cc (93 samples, 0.01%)</title><rect x="1063.3" y="149" width="0.1" height="15.0" fill="rgb(231,164,29)" rx="2" ry="2" />
+<text x="1066.31" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (692 samples, 0.07%)</title><rect x="1090.1" y="165" width="0.8" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="1093.10" y="175.5" ></text>
+</g>
+<g >
+<title>/lib (95 samples, 0.01%)</title><rect x="677.6" y="197" width="0.1" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="680.56" y="207.5" ></text>
+</g>
+<g >
+<title>me.ahola.aphototoollibre (92 samples, 0.01%)</title><rect x="308.9" y="229" width="0.1" height="15.0" fill="rgb(247,115,46)" rx="2" ry="2" />
+<text x="311.87" y="239.5" ></text>
+</g>
+<g >
+<title>/Microsoft (388 samples, 0.04%)</title><rect x="869.5" y="165" width="0.4" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="872.47" y="175.5" ></text>
+</g>
+<g >
+<title>/0d (108 samples, 0.01%)</title><rect x="1040.3" y="149" width="0.1" height="15.0" fill="rgb(242,140,41)" rx="2" ry="2" />
+<text x="1043.31" y="159.5" ></text>
+</g>
+<g >
+<title>627307 (877 samples, 0.09%)</title><rect x="870.4" y="245" width="1.1" height="15.0" fill="rgb(239,145,38)" rx="2" ry="2" />
+<text x="873.42" y="255.5" ></text>
+</g>
+<g >
+<title>/smaps (131 samples, 0.01%)</title><rect x="799.6" y="181" width="0.1" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="802.57" y="191.5" ></text>
+</g>
+<g >
+<title>/15 (548 samples, 0.06%)</title><rect x="391.3" y="149" width="0.7" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="394.31" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="731.6" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="734.56" y="79.5" ></text>
+</g>
+<g >
+<title>/lib (332 samples, 0.03%)</title><rect x="624.7" y="197" width="0.4" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="627.70" y="207.5" ></text>
+</g>
+<g >
+<title>/paul (82 samples, 0.01%)</title><rect x="782.1" y="197" width="0.1" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="785.13" y="207.5" ></text>
+</g>
+<g >
+<title>/451c975916dc4536919a44482a914925 (94 samples, 0.01%)</title><rect x="776.6" y="165" width="0.1" height="15.0" fill="rgb(236,117,35)" rx="2" ry="2" />
+<text x="779.57" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="720.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="723.32" y="79.5" ></text>
+</g>
+<g >
+<title>/a7 (90 samples, 0.01%)</title><rect x="1058.8" y="149" width="0.1" height="15.0" fill="rgb(228,106,26)" rx="2" ry="2" />
+<text x="1061.75" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (526 samples, 0.05%)</title><rect x="801.0" y="213" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="804.04" y="223.5" ></text>
+</g>
+<g >
+<title>/13 (138 samples, 0.01%)</title><rect x="620.6" y="197" width="0.2" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="623.59" y="207.5" ></text>
+</g>
+<g >
+<title>627269 (296 samples, 0.03%)</title><rect x="868.9" y="245" width="0.3" height="15.0" fill="rgb(230,145,27)" rx="2" ry="2" />
+<text x="871.88" y="255.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.VAAPI.Intel (438 samples, 0.05%)</title><rect x="239.9" y="149" width="0.5" height="15.0" fill="rgb(233,149,31)" rx="2" ry="2" />
+<text x="242.90" y="159.5" ></text>
+</g>
+<g >
+<title>/52 (1,450 samples, 0.15%)</title><rect x="480.0" y="197" width="1.8" height="15.0" fill="rgb(237,122,35)" rx="2" ry="2" />
+<text x="483.00" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (152 samples, 0.02%)</title><rect x="683.5" y="213" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="686.52" y="223.5" ></text>
+</g>
+<g >
+<title>/622362 (128 samples, 0.01%)</title><rect x="799.9" y="197" width="0.1" height="15.0" fill="rgb(241,117,40)" rx="2" ry="2" />
+<text x="802.88" y="207.5" ></text>
+</g>
+<g >
+<title>/exports (1,137 samples, 0.12%)</title><rect x="221.9" y="165" width="1.4" height="15.0" fill="rgb(235,163,33)" rx="2" ry="2" />
+<text x="224.93" y="175.5" ></text>
+</g>
+<g >
+<title> (86 samples, 0.01%)</title><rect x="1141.9" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1144.90" y="239.5" ></text>
+</g>
+<g >
+<title>/proc (1,870 samples, 0.19%)</title><rect x="1186.6" y="213" width="2.3" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="1189.64" y="223.5" ></text>
+</g>
+<g >
+<title>/f6 (93 samples, 0.01%)</title><rect x="1068.4" y="149" width="0.1" height="15.0" fill="rgb(237,139,35)" rx="2" ry="2" />
+<text x="1071.37" y="159.5" ></text>
+</g>
+<g >
+<title>/usr (4,874 samples, 0.50%)</title><rect x="541.8" y="213" width="6.0" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="544.85" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (89 samples, 0.01%)</title><rect x="1180.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1183.32" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="709.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="712.00" y="79.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="484.4" y="165" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="487.39" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="726.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="729.32" y="79.5" ></text>
+</g>
+<g >
+<title>/50 (97 samples, 0.01%)</title><rect x="1048.3" y="149" width="0.1" height="15.0" fill="rgb(223,128,20)" rx="2" ry="2" />
+<text x="1051.30" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (196 samples, 0.02%)</title><rect x="342.5" y="213" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="345.55" y="223.5" ></text>
+</g>
+<g >
+<title>enter_write (191 samples, 0.02%)</title><rect x="342.2" y="181" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="345.19" y="191.5" ></text>
+</g>
+<g >
+<title>/dri (15,905 samples, 1.65%)</title><rect x="10.3" y="197" width="19.4" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="13.33" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="736.6" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="739.58" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="761.5" y="101" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="764.49" y="111.5" ></text>
+</g>
+<g >
+<title>enter_read (100 samples, 0.01%)</title><rect x="769.3" y="181" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="772.26" y="191.5" ></text>
+</g>
+<g >
+<title>/journal (94 samples, 0.01%)</title><rect x="776.6" y="181" width="0.1" height="15.0" fill="rgb(229,128,27)" rx="2" ry="2" />
+<text x="779.57" y="191.5" ></text>
+</g>
+<g >
+<title>/1 (204 samples, 0.02%)</title><rect x="774.8" y="197" width="0.3" height="15.0" fill="rgb(232,133,30)" rx="2" ry="2" />
+<text x="777.82" y="207.5" ></text>
+</g>
+<g >
+<title>/maps (100 samples, 0.01%)</title><rect x="778.5" y="181" width="0.2" height="15.0" fill="rgb(243,120,42)" rx="2" ry="2" />
+<text x="781.55" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="1182.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1185.58" y="143.5" ></text>
+</g>
+<g >
+<title>/maps (144 samples, 0.01%)</title><rect x="779.4" y="181" width="0.1" height="15.0" fill="rgb(243,120,42)" rx="2" ry="2" />
+<text x="782.35" y="191.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.freedesktop.portal.IBus.slice (1,628 samples, 0.17%)</title><rect x="698.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="700.99" y="111.5" ></text>
+</g>
+<g >
+<title>/device:1b (146 samples, 0.02%)</title><rect x="775.9" y="133" width="0.2" height="15.0" fill="rgb(228,152,25)" rx="2" ry="2" />
+<text x="778.95" y="143.5" ></text>
+</g>
+<g >
+<title>/system@3b5754079473424484fc77ea08f3c475-000000000051164f-0006210ff718ca8a.journal (88 samples, 0.01%)</title><rect x="1178.6" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.56" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="736.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="739.80" y="79.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.Locale (312 samples, 0.03%)</title><rect x="239.5" y="149" width="0.4" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="242.51" y="159.5" ></text>
+</g>
+<g >
+<title>/c6 (112 samples, 0.01%)</title><rect x="1062.6" y="149" width="0.1" height="15.0" fill="rgb(240,154,38)" rx="2" ry="2" />
+<text x="1065.57" y="159.5" ></text>
+</g>
+<g >
+<title>/paul (1,165 samples, 0.12%)</title><rect x="36.0" y="197" width="1.4" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="39.00" y="207.5" ></text>
+</g>
+<g >
+<title>627545 (294 samples, 0.03%)</title><rect x="1086.8" y="245" width="0.3" height="15.0" fill="rgb(237,145,35)" rx="2" ry="2" />
+<text x="1089.77" y="255.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (88 samples, 0.01%)</title><rect x="444.5" y="229" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="447.52" y="239.5" ></text>
+</g>
+<g >
+<title> (1,318 samples, 0.14%)</title><rect x="1085.2" y="229" width="1.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1088.16" y="239.5" ></text>
+</g>
+<g >
+<title>/com.github.wwmm.pulseeffects (123 samples, 0.01%)</title><rect x="216.7" y="149" width="0.1" height="15.0" fill="rgb(237,164,35)" rx="2" ry="2" />
+<text x="219.70" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (85 samples, 0.01%)</title><rect x="625.0" y="149" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="628.00" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="746.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="749.28" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="698.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="700.99" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="703.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="706.56" y="79.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so.1 (106 samples, 0.01%)</title><rect x="1085.5" y="197" width="0.1" height="15.0" fill="rgb(235,99,33)" rx="2" ry="2" />
+<text x="1088.46" y="207.5" ></text>
+</g>
+<g >
+<title>/system@38ed2805b6204d9b80417a97296c48b0-0000000000549499-0006232fccb39857.journal (86 samples, 0.01%)</title><rect x="1178.5" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.46" y="159.5" ></text>
+</g>
+<g >
+<title>/cache (100 samples, 0.01%)</title><rect x="215.7" y="197" width="0.1" height="15.0" fill="rgb(245,170,44)" rx="2" ry="2" />
+<text x="218.72" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.stat (284 samples, 0.03%)</title><rect x="748.1" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="751.14" y="95.5" ></text>
+</g>
+<g >
+<title>/x86_64 (158 samples, 0.02%)</title><rect x="305.5" y="181" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="308.47" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1183.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.30" y="143.5" ></text>
+</g>
+<g >
+<title>/BAT0 (146 samples, 0.02%)</title><rect x="775.9" y="69" width="0.2" height="15.0" fill="rgb(229,157,27)" rx="2" ry="2" />
+<text x="778.95" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="691.2" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="694.24" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (183 samples, 0.02%)</title><rect x="488.2" y="213" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="491.22" y="223.5" ></text>
+</g>
+<g >
+<title>/pkg (240 samples, 0.02%)</title><rect x="681.7" y="133" width="0.3" height="15.0" fill="rgb(238,128,36)" rx="2" ry="2" />
+<text x="684.68" y="143.5" ></text>
+</g>
+<g >
+<title>socket:[1154081] (226 samples, 0.02%)</title><rect x="673.5" y="229" width="0.3" height="15.0" fill="rgb(238,175,37)" rx="2" ry="2" />
+<text x="676.55" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="702.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="705.52" y="79.5" ></text>
+</g>
+<g >
+<title>enter_close (196 samples, 0.02%)</title><rect x="876.1" y="197" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="879.05" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="751.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="754.11" y="79.5" ></text>
+</g>
+<g >
+<title>/user-1001@00062bf70dcc8696-aa0455324e7840b7.journal~ (88 samples, 0.01%)</title><rect x="1183.5" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.51" y="159.5" ></text>
+</g>
+<g >
+<title>/74 (121 samples, 0.01%)</title><rect x="1052.5" y="149" width="0.2" height="15.0" fill="rgb(243,161,42)" rx="2" ry="2" />
+<text x="1055.51" y="159.5" ></text>
+</g>
+<g >
+<title>/PackageKit (3,534 samples, 0.37%)</title><rect x="812.8" y="181" width="4.3" height="15.0" fill="rgb(235,155,33)" rx="2" ry="2" />
+<text x="815.76" y="191.5" ></text>
+</g>
+<g >
+<title>/org.gnome.gThumb (100 samples, 0.01%)</title><rect x="220.4" y="149" width="0.1" height="15.0" fill="rgb(223,149,20)" rx="2" ry="2" />
+<text x="223.41" y="159.5" ></text>
+</g>
+<g >
+<title>627433 (2,386 samples, 0.25%)</title><rect x="1034.7" y="245" width="3.0" height="15.0" fill="rgb(242,145,41)" rx="2" ry="2" />
+<text x="1037.74" y="255.5" ></text>
+</g>
+<g >
+<title>/org.kde.KStyle.Adwaita (260 samples, 0.03%)</title><rect x="246.1" y="149" width="0.3" height="15.0" fill="rgb(229,149,27)" rx="2" ry="2" />
+<text x="249.13" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (7,994 samples, 0.83%)</title><rect x="148.0" y="37" width="9.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="150.96" y="47.5" ></text>
+</g>
+<g >
+<title>/cmdline (88 samples, 0.01%)</title><rect x="447.7" y="181" width="0.1" height="15.0" fill="rgb(246,170,46)" rx="2" ry="2" />
+<text x="450.74" y="191.5" ></text>
+</g>
+<g >
+<title>/proselint (316 samples, 0.03%)</title><rect x="835.8" y="165" width="0.3" height="15.0" fill="rgb(238,144,36)" rx="2" ry="2" />
+<text x="838.76" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="717.8" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="720.78" y="95.5" ></text>
+</g>
+<g >
+<title>/libc.so.6 (97 samples, 0.01%)</title><rect x="1085.3" y="197" width="0.2" height="15.0" fill="rgb(243,99,42)" rx="2" ry="2" />
+<text x="1088.33" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1184.2" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.20" y="143.5" ></text>
+</g>
+<g >
+<title>/fontconfig (1,359 samples, 0.14%)</title><rect x="1170.6" y="181" width="1.6" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1173.55" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="709.5" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="712.50" y="95.5" ></text>
+</g>
+<g >
+<title>/40 (107 samples, 0.01%)</title><rect x="1046.4" y="149" width="0.1" height="15.0" fill="rgb(224,133,21)" rx="2" ry="2" />
+<text x="1049.40" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1178.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.67" y="143.5" ></text>
+</g>
+<g >
+<title>/08 (111 samples, 0.01%)</title><rect x="1039.6" y="149" width="0.2" height="15.0" fill="rgb(232,128,30)" rx="2" ry="2" />
+<text x="1042.64" y="159.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (130 samples, 0.01%)</title><rect x="331.1" y="229" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="334.08" y="239.5" ></text>
+</g>
+<g >
+<title>627407 (1,378 samples, 0.14%)</title><rect x="878.2" y="245" width="1.7" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="881.22" y="255.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (2,585 samples, 0.27%)</title><rect x="769.5" y="165" width="3.2" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="772.51" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="728.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="731.40" y="79.5" ></text>
+</g>
+<g >
+<title>/rpmdb.sqlite-wal (112 samples, 0.01%)</title><rect x="810.5" y="149" width="0.1" height="15.0" fill="rgb(223,140,20)" rx="2" ry="2" />
+<text x="813.48" y="159.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Shell.Notifications.slice (1,642 samples, 0.17%)</title><rect x="736.6" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="739.58" y="111.5" ></text>
+</g>
+<g >
+<title>socket:[1154081] (36,516 samples, 3.78%)</title><rect x="397.9" y="229" width="44.6" height="15.0" fill="rgb(238,175,37)" rx="2" ry="2" />
+<text x="400.89" y="239.5" >sock..</text>
+</g>
+<g >
+<title>627245 (19,555 samples, 2.02%)</title><rect x="837.4" y="245" width="23.9" height="15.0" fill="rgb(239,145,38)" rx="2" ry="2" />
+<text x="840.42" y="255.5" >6..</text>
+</g>
+<g >
+<title>N:file (250 samples, 0.03%)</title><rect x="465.9" y="229" width="0.3" height="15.0" fill="rgb(237,131,35)" rx="2" ry="2" />
+<text x="468.90" y="239.5" ></text>
+</g>
+<g >
+<title>/proc (263 samples, 0.03%)</title><rect x="1189.0" y="213" width="0.3" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="1192.00" y="223.5" ></text>
+</g>
+<g >
+<title>/vmlinux (1,600 samples, 0.17%)</title><rect x="881.9" y="165" width="2.0" height="15.0" fill="rgb(245,130,45)" rx="2" ry="2" />
+<text x="884.94" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="722.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="725.31" y="79.5" ></text>
+</g>
+<g >
+<title>/system@00061efde1867e53-6dec804b92c9898f.journal~ (93 samples, 0.01%)</title><rect x="1176.5" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1179.49" y="159.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Lollypop (119 samples, 0.01%)</title><rect x="219.6" y="149" width="0.1" height="15.0" fill="rgb(247,149,46)" rx="2" ry="2" />
+<text x="222.59" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="697.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="700.24" y="79.5" ></text>
+</g>
+<g >
+<title>/humorix-stories (2,162 samples, 0.22%)</title><rect x="542.7" y="149" width="2.6" height="15.0" fill="rgb(237,119,36)" rx="2" ry="2" />
+<text x="545.70" y="159.5" ></text>
+</g>
+<g >
+<title>enter_lseek (98 samples, 0.01%)</title><rect x="1090.3" y="37" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1093.27" y="47.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1178.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.46" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="731.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="734.39" y="79.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.GL.default (872 samples, 0.09%)</title><rect x="234.6" y="149" width="1.0" height="15.0" fill="rgb(228,149,25)" rx="2" ry="2" />
+<text x="237.55" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="737.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="740.13" y="79.5" ></text>
+</g>
+<g >
+<title>/dev (123 samples, 0.01%)</title><rect x="864.5" y="213" width="0.2" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="867.54" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="714.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="717.58" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (329 samples, 0.03%)</title><rect x="764.2" y="101" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="767.21" y="111.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so.1 (106 samples, 0.01%)</title><rect x="1083.3" y="197" width="0.2" height="15.0" fill="rgb(235,99,33)" rx="2" ry="2" />
+<text x="1086.34" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="729.5" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="732.53" y="79.5" ></text>
+</g>
+<g >
+<title>.git (263 samples, 0.03%)</title><rect x="873.7" y="229" width="0.3" height="15.0" fill="rgb(233,132,30)" rx="2" ry="2" />
+<text x="876.67" y="239.5" ></text>
+</g>
+<g >
+<title>/user-1001@e787b310a4d743b4a3376463d97f0ded-000000000052342d-000621d2b17590db.journal (89 samples, 0.01%)</title><rect x="1185.7" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1188.72" y="159.5" ></text>
+</g>
+<g >
+<title> (89 samples, 0.01%)</title><rect x="881.3" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="884.28" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (323 samples, 0.03%)</title><rect x="733.5" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="736.54" y="95.5" ></text>
+</g>
+<g >
+<title>/org.fedoraproject.Platform (174 samples, 0.02%)</title><rect x="234.3" y="149" width="0.2" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="237.31" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (27,422 samples, 2.84%)</title><rect x="264.2" y="213" width="33.5" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="267.23" y="223.5" >en..</text>
+</g>
+<g >
+<title>enter_close (2,096 samples, 0.22%)</title><rect x="94.8" y="213" width="2.6" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="97.82" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="697.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="700.56" y="79.5" ></text>
+</g>
+<g >
+<title> (603 samples, 0.06%)</title><rect x="1143.8" y="229" width="0.7" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1146.77" y="239.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Decibels (120 samples, 0.01%)</title><rect x="219.2" y="149" width="0.1" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="222.18" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (93 samples, 0.01%)</title><rect x="705.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="708.27" y="79.5" ></text>
+</g>
+<g >
+<title>/sbin (124 samples, 0.01%)</title><rect x="677.4" y="197" width="0.1" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="680.37" y="207.5" ></text>
+</g>
+<g >
+<title>/10887 (234 samples, 0.02%)</title><rect x="808.3" y="197" width="0.3" height="15.0" fill="rgb(239,148,38)" rx="2" ry="2" />
+<text x="811.32" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (8,105 samples, 0.84%)</title><rect x="254.3" y="213" width="9.9" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="257.33" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="756.4" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="759.37" y="95.5" ></text>
+</g>
+<g >
+<title>/libc.so (122 samples, 0.01%)</title><rect x="1092.4" y="53" width="0.2" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1095.41" y="63.5" ></text>
+</g>
+<g >
+<title>/.config (478 samples, 0.05%)</title><rect x="1143.8" y="181" width="0.6" height="15.0" fill="rgb(239,154,37)" rx="2" ry="2" />
+<text x="1146.82" y="191.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="482.3" y="165" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="485.34" y="175.5" ></text>
+</g>
+<g >
+<title>enter_write (134 samples, 0.01%)</title><rect x="806.4" y="213" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="809.39" y="223.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (2,327 samples, 0.24%)</title><rect x="332.3" y="229" width="2.8" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="335.28" y="239.5" ></text>
+</g>
+<g >
+<title> (19,502 samples, 2.02%)</title><rect x="837.5" y="229" width="23.8" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="840.48" y="239.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (731 samples, 0.08%)</title><rect x="41.2" y="133" width="0.9" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="44.25" y="143.5" ></text>
+</g>
+<g >
+<title>usr (145 samples, 0.02%)</title><rect x="835.0" y="229" width="0.1" height="15.0" fill="rgb(236,129,34)" rx="2" ry="2" />
+<text x="837.97" y="239.5" ></text>
+</g>
+<g >
+<title>/b6 (91 samples, 0.01%)</title><rect x="1060.6" y="149" width="0.1" height="15.0" fill="rgb(229,104,26)" rx="2" ry="2" />
+<text x="1063.56" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1083.7" y="101" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1086.74" y="111.5" ></text>
+</g>
+<g >
+<title>/6e (106 samples, 0.01%)</title><rect x="1051.8" y="149" width="0.2" height="15.0" fill="rgb(234,107,32)" rx="2" ry="2" />
+<text x="1054.83" y="159.5" ></text>
+</g>
+<g >
+<title>/applications (1,126 samples, 0.12%)</title><rect x="221.9" y="133" width="1.4" height="15.0" fill="rgb(244,115,43)" rx="2" ry="2" />
+<text x="224.93" y="143.5" ></text>
+</g>
+<g >
+<title>/variety (505 samples, 0.05%)</title><rect x="836.4" y="165" width="0.6" height="15.0" fill="rgb(243,130,42)" rx="2" ry="2" />
+<text x="839.39" y="175.5" ></text>
+</g>
+<g >
+<title>/122 (1,450 samples, 0.15%)</title><rect x="476.5" y="197" width="1.7" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="479.46" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="727.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="730.33" y="79.5" ></text>
+</g>
+<g >
+<title>enter_openat (109 samples, 0.01%)</title><rect x="619.5" y="181" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="622.46" y="191.5" ></text>
+</g>
+<g >
+<title>/org.fedoraproject.Platform.GL.default (266 samples, 0.03%)</title><rect x="233.3" y="149" width="0.3" height="15.0" fill="rgb(228,149,25)" rx="2" ry="2" />
+<text x="236.25" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="1180.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1183.54" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="731.9" y="69" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="734.94" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="743.5" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="746.55" y="79.5" ></text>
+</g>
+<g >
+<title>/group (91 samples, 0.01%)</title><rect x="878.3" y="197" width="0.1" height="15.0" fill="rgb(241,134,40)" rx="2" ry="2" />
+<text x="881.30" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="741.6" y="69" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="744.64" y="79.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.ScreenSaver.slice (1,705 samples, 0.18%)</title><rect x="726.4" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="729.43" y="111.5" ></text>
+</g>
+<g >
+<title>/46 (94 samples, 0.01%)</title><rect x="1047.1" y="149" width="0.1" height="15.0" fill="rgb(231,114,29)" rx="2" ry="2" />
+<text x="1050.12" y="159.5" ></text>
+</g>
+<g >
+<title>/fedora (290 samples, 0.03%)</title><rect x="315.1" y="197" width="0.3" height="15.0" fill="rgb(236,142,34)" rx="2" ry="2" />
+<text x="318.07" y="207.5" ></text>
+</g>
+<g >
+<title>/d9 (107 samples, 0.01%)</title><rect x="1064.9" y="149" width="0.1" height="15.0" fill="rgb(234,139,31)" rx="2" ry="2" />
+<text x="1067.86" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (113 samples, 0.01%)</title><rect x="830.4" y="197" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="833.44" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (91 samples, 0.01%)</title><rect x="685.5" y="133" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="688.45" y="143.5" ></text>
+</g>
+<g >
+<title>/dri (709 samples, 0.07%)</title><rect x="617.9" y="197" width="0.9" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="620.94" y="207.5" ></text>
+</g>
+<g >
+<title>/fs (100 samples, 0.01%)</title><rect x="445.5" y="197" width="0.1" height="15.0" fill="rgb(235,136,33)" rx="2" ry="2" />
+<text x="448.49" y="207.5" ></text>
+</g>
+<g >
+<title>enter_close (99 samples, 0.01%)</title><rect x="618.8" y="181" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="621.85" y="191.5" ></text>
+</g>
+<g >
+<title>enter_write (129 samples, 0.01%)</title><rect x="774.5" y="213" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="777.48" y="223.5" ></text>
+</g>
+<g >
+<title>/65 (103 samples, 0.01%)</title><rect x="1050.8" y="149" width="0.1" height="15.0" fill="rgb(231,107,28)" rx="2" ry="2" />
+<text x="1053.79" y="159.5" ></text>
+</g>
+<g >
+<title>/userdb (197 samples, 0.02%)</title><rect x="767.3" y="181" width="0.2" height="15.0" fill="rgb(235,116,33)" rx="2" ry="2" />
+<text x="770.25" y="191.5" ></text>
+</g>
+<g >
+<title>4853 (1,046 samples, 0.11%)</title><rect x="682.6" y="245" width="1.2" height="15.0" fill="rgb(237,192,36)" rx="2" ry="2" />
+<text x="685.55" y="255.5" ></text>
+</g>
+<g >
+<title>org.gnome.Platform.Locale (114 samples, 0.01%)</title><rect x="312.3" y="229" width="0.1" height="15.0" fill="rgb(242,179,41)" rx="2" ry="2" />
+<text x="315.28" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="738.9" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="741.92" y="95.5" ></text>
+</g>
+<g >
+<title> (150 samples, 0.02%)</title><rect x="1082.9" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1085.86" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="713.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="716.90" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="698.6" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="701.64" y="95.5" ></text>
+</g>
+<g >
+<title>/os (326 samples, 0.03%)</title><rect x="1072.4" y="149" width="0.4" height="15.0" fill="rgb(237,146,35)" rx="2" ry="2" />
+<text x="1075.43" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="697.3" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="700.35" y="95.5" ></text>
+</g>
+<g >
+<title>/156 (119 samples, 0.01%)</title><rect x="620.8" y="197" width="0.1" height="15.0" fill="rgb(237,132,35)" rx="2" ry="2" />
+<text x="623.75" y="207.5" ></text>
+</g>
+<g >
+<title>5171 (66,867 samples, 6.92%)</title><rect x="683.8" y="245" width="81.7" height="15.0" fill="rgb(238,158,36)" rx="2" ry="2" />
+<text x="686.83" y="255.5" >5171</text>
+</g>
+<g >
+<title>/.. (101 samples, 0.01%)</title><rect x="676.8" y="133" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="679.82" y="143.5" ></text>
+</g>
+<g >
+<title>/lib (22,179 samples, 2.30%)</title><rect x="1114.7" y="197" width="27.1" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1117.72" y="207.5" >/..</text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (8,011 samples, 0.83%)</title><rect x="466.2" y="229" width="9.8" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="469.21" y="239.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (11,444 samples, 1.18%)</title><rect x="101.9" y="229" width="14.0" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="104.89" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="710.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="713.38" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.stat (265 samples, 0.03%)</title><rect x="744.1" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="747.05" y="95.5" ></text>
+</g>
+<g >
+<title>/7f (123 samples, 0.01%)</title><rect x="1053.9" y="149" width="0.2" height="15.0" fill="rgb(243,154,42)" rx="2" ry="2" />
+<text x="1056.91" y="159.5" ></text>
+</g>
+<g >
+<title>/573bf24f21b75fcd4da47ac69b5a4d146985a9c769222a812024faaad42fb3b0 (148 samples, 0.02%)</title><rect x="234.9" y="101" width="0.2" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2" />
+<text x="237.90" y="111.5" ></text>
+</g>
+<g >
+<title>627548 (294 samples, 0.03%)</title><rect x="1088.8" y="245" width="0.4" height="15.0" fill="rgb(232,145,30)" rx="2" ry="2" />
+<text x="1091.82" y="255.5" ></text>
+</g>
+<g >
+<title>/lib64 (357 samples, 0.04%)</title><rect x="336.2" y="213" width="0.5" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="339.22" y="223.5" ></text>
+</g>
+<g >
+<title>/000047.o (88 samples, 0.01%)</title><rect x="1105.9" y="181" width="0.1" height="15.0" fill="rgb(246,153,45)" rx="2" ry="2" />
+<text x="1108.92" y="191.5" ></text>
+</g>
+<g >
+<title>/stat (812 samples, 0.08%)</title><rect x="480.0" y="181" width="1.0" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="483.00" y="191.5" ></text>
+</g>
+<g >
+<title>enter_writev (82 samples, 0.01%)</title><rect x="397.6" y="213" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="400.64" y="223.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="483.1" y="165" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="486.12" y="175.5" ></text>
+</g>
+<g >
+<title>/fs (66,710 samples, 6.90%)</title><rect x="683.8" y="197" width="81.5" height="15.0" fill="rgb(235,136,33)" rx="2" ry="2" />
+<text x="686.84" y="207.5" >/fs</text>
+</g>
+<g >
+<title>enter_read (302 samples, 0.03%)</title><rect x="799.2" y="165" width="0.4" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="802.20" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (115 samples, 0.01%)</title><rect x="823.8" y="149" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="826.76" y="159.5" ></text>
+</g>
+<g >
+<title>/dev (118 samples, 0.01%)</title><rect x="1165.9" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="1168.88" y="223.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (522 samples, 0.05%)</title><rect x="342.5" y="229" width="0.7" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="345.54" y="239.5" ></text>
+</g>
+<g >
+<title>/paul (488 samples, 0.05%)</title><rect x="1143.8" y="197" width="0.6" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1146.82" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="746.1" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="749.07" y="95.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (621 samples, 0.06%)</title><rect x="825.3" y="165" width="0.8" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="828.34" y="175.5" ></text>
+</g>
+<g >
+<title>/user-1001.slice (101 samples, 0.01%)</title><rect x="462.1" y="149" width="0.1" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="465.07" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (95 samples, 0.01%)</title><rect x="1176.2" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1179.22" y="143.5" ></text>
+</g>
+<g >
+<title> (236 samples, 0.02%)</title><rect x="802.3" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="805.33" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="696.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="699.22" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (98 samples, 0.01%)</title><rect x="774.7" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="777.67" y="175.5" ></text>
+</g>
+<g >
+<title>/user-1001@00062cef3df3933f-5d3d7602c109231b.journal~ (89 samples, 0.01%)</title><rect x="1183.6" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.62" y="159.5" ></text>
+</g>
+<g >
+<title>/af (98 samples, 0.01%)</title><rect x="1059.7" y="149" width="0.1" height="15.0" fill="rgb(233,109,31)" rx="2" ry="2" />
+<text x="1062.71" y="159.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Geary (115 samples, 0.01%)</title><rect x="219.4" y="149" width="0.2" height="15.0" fill="rgb(248,149,47)" rx="2" ry="2" />
+<text x="222.45" y="159.5" ></text>
+</g>
+<g >
+<title>/paul (758 samples, 0.08%)</title><rect x="835.2" y="197" width="1.0" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="838.25" y="207.5" ></text>
+</g>
+<g >
+<title>/f5f72d3edd7c69903cb183a950ed24b831c0bbac8beffc77f619cd8508be8b3e-d (172 samples, 0.02%)</title><rect x="1081.1" y="133" width="0.2" height="15.0" fill="rgb(250,142,49)" rx="2" ry="2" />
+<text x="1084.08" y="143.5" ></text>
+</g>
+<g >
+<title>/conf.avail (1,234 samples, 0.13%)</title><rect x="862.7" y="165" width="1.5" height="15.0" fill="rgb(233,164,31)" rx="2" ry="2" />
+<text x="865.67" y="175.5" ></text>
+</g>
+<g >
+<title>/0b (114 samples, 0.01%)</title><rect x="1040.0" y="149" width="0.2" height="15.0" fill="rgb(228,147,26)" rx="2" ry="2" />
+<text x="1043.04" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="737.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="740.83" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.low (274 samples, 0.03%)</title><rect x="694.3" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="697.32" y="95.5" ></text>
+</g>
+<g >
+<title>/transactions.db (1,040 samples, 0.11%)</title><rect x="547.8" y="165" width="1.3" height="15.0" fill="rgb(232,124,30)" rx="2" ry="2" />
+<text x="550.80" y="175.5" ></text>
+</g>
+<g >
+<title>enter_write (270 samples, 0.03%)</title><rect x="331.8" y="181" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="334.80" y="191.5" ></text>
+</g>
+<g >
+<title>/dev (1,851 samples, 0.19%)</title><rect x="617.9" y="213" width="2.3" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="620.94" y="223.5" ></text>
+</g>
+<g >
+<title>/gcc (22,155 samples, 2.29%)</title><rect x="1114.7" y="181" width="27.1" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="1117.72" y="191.5" >/..</text>
+</g>
+<g >
+<title>/17 (97 samples, 0.01%)</title><rect x="1041.5" y="149" width="0.1" height="15.0" fill="rgb(233,126,30)" rx="2" ry="2" />
+<text x="1044.46" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="740.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="743.47" y="79.5" ></text>
+</g>
+<g >
+<title>/.cache (125 samples, 0.01%)</title><rect x="1170.1" y="181" width="0.1" height="15.0" fill="rgb(245,154,44)" rx="2" ry="2" />
+<text x="1173.07" y="191.5" ></text>
+</g>
+<g >
+<title>/org.kde.Platform (217 samples, 0.02%)</title><rect x="246.8" y="149" width="0.2" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="249.77" y="159.5" ></text>
+</g>
+<g >
+<title>/b001 (571 samples, 0.06%)</title><rect x="1071.1" y="181" width="0.7" height="15.0" fill="rgb(234,123,32)" rx="2" ry="2" />
+<text x="1074.11" y="191.5" ></text>
+</g>
+<g >
+<title>/wallpaper (2,146 samples, 0.22%)</title><rect x="837.6" y="149" width="2.6" height="15.0" fill="rgb(243,125,41)" rx="2" ry="2" />
+<text x="840.61" y="159.5" ></text>
+</g>
+<g >
+<title>/share (111 samples, 0.01%)</title><rect x="812.6" y="197" width="0.1" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="815.55" y="207.5" ></text>
+</g>
+<g >
+<title>/proc (1,602 samples, 0.17%)</title><rect x="798.7" y="213" width="2.0" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="801.74" y="223.5" ></text>
+</g>
+<g >
+<title>11234 (110 samples, 0.01%)</title><rect x="331.3" y="245" width="0.1" height="15.0" fill="rgb(242,126,41)" rx="2" ry="2" />
+<text x="334.31" y="255.5" ></text>
+</g>
+<g >
+<title>/fortune (16,353 samples, 1.69%)</title><rect x="194.9" y="165" width="19.9" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="197.87" y="175.5" ></text>
+</g>
+<g >
+<title>/go (555 samples, 0.06%)</title><rect x="141.5" y="181" width="0.6" height="15.0" fill="rgb(241,144,39)" rx="2" ry="2" />
+<text x="144.46" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (91 samples, 0.01%)</title><rect x="1180.2" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1183.21" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="703.3" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="706.34" y="95.5" ></text>
+</g>
+<g >
+<title>/c2 (131 samples, 0.01%)</title><rect x="1062.1" y="149" width="0.1" height="15.0" fill="rgb(247,167,46)" rx="2" ry="2" />
+<text x="1065.05" y="159.5" ></text>
+</g>
+<g >
+<title>/cgroup (66,710 samples, 6.90%)</title><rect x="683.8" y="181" width="81.5" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="686.84" y="191.5" >/cgroup</text>
+</g>
+<g >
+<title> (101 samples, 0.01%)</title><rect x="874.7" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="877.70" y="239.5" ></text>
+</g>
+<g >
+<title>627539 (294 samples, 0.03%)</title><rect x="1082.5" y="245" width="0.4" height="15.0" fill="rgb(231,145,29)" rx="2" ry="2" />
+<text x="1085.50" y="255.5" ></text>
+</g>
+<g >
+<title>/libelf.a (33,179 samples, 3.43%)</title><rect x="148.0" y="53" width="40.5" height="15.0" fill="rgb(236,99,34)" rx="2" ry="2" />
+<text x="150.96" y="63.5" >/li..</text>
+</g>
+<g >
+<title>/crti.o (2,151 samples, 0.22%)</title><rect x="145.3" y="53" width="2.7" height="15.0" fill="rgb(244,154,43)" rx="2" ry="2" />
+<text x="148.33" y="63.5" ></text>
+</g>
+<g >
+<title>/15 (204 samples, 0.02%)</title><rect x="38.7" y="149" width="0.2" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="41.67" y="159.5" ></text>
+</g>
+<g >
+<title>/paul (442 samples, 0.05%)</title><rect x="99.0" y="197" width="0.5" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="101.99" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="477.2" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="480.17" y="175.5" ></text>
+</g>
+<g >
+<title>/6c (91 samples, 0.01%)</title><rect x="1051.6" y="149" width="0.1" height="15.0" fill="rgb(220,113,17)" rx="2" ry="2" />
+<text x="1054.63" y="159.5" ></text>
+</g>
+<g >
+<title>/53 (85 samples, 0.01%)</title><rect x="1048.7" y="149" width="0.1" height="15.0" fill="rgb(235,118,33)" rx="2" ry="2" />
+<text x="1051.68" y="159.5" ></text>
+</g>
+<g >
+<title>/libc.a (16,576 samples, 1.72%)</title><rect x="1114.9" y="53" width="20.2" height="15.0" fill="rgb(238,99,36)" rx="2" ry="2" />
+<text x="1117.90" y="63.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-00000000007dd167-000633084a43af72.journal (87 samples, 0.01%)</title><rect x="1181.7" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.66" y="159.5" ></text>
+</g>
+<g >
+<title>/com.github.artemanufrij.playmymusic.Locale (173 samples, 0.02%)</title><rect x="231.9" y="149" width="0.2" height="15.0" fill="rgb(242,164,41)" rx="2" ry="2" />
+<text x="234.88" y="159.5" ></text>
+</g>
+<g >
+<title>/remotes (395 samples, 0.04%)</title><rect x="230.9" y="133" width="0.4" height="15.0" fill="rgb(238,137,36)" rx="2" ry="2" />
+<text x="233.86" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="716.4" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="719.40" y="95.5" ></text>
+</g>
+<g >
+<title>/maps (88 samples, 0.01%)</title><rect x="780.0" y="181" width="0.1" height="15.0" fill="rgb(243,120,42)" rx="2" ry="2" />
+<text x="783.04" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="693.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="696.41" y="79.5" ></text>
+</g>
+<g >
+<title>/fonts (188 samples, 0.02%)</title><rect x="864.2" y="181" width="0.2" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="867.18" y="191.5" ></text>
+</g>
+<g >
+<title>/bin (553 samples, 0.06%)</title><rect x="133.1" y="165" width="0.6" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="136.06" y="175.5" ></text>
+</g>
+<g >
+<title> (28,864 samples, 2.99%)</title><rect x="10.3" y="229" width="35.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="13.30" y="239.5" ></text>
+</g>
+<g >
+<title>/.linuxbrew (1,172 samples, 0.12%)</title><rect x="119.3" y="181" width="1.4" height="15.0" fill="rgb(232,163,30)" rx="2" ry="2" />
+<text x="122.30" y="191.5" ></text>
+</g>
+<g >
+<title>/bin (217 samples, 0.02%)</title><rect x="38.9" y="181" width="0.3" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="41.93" y="191.5" ></text>
+</g>
+<g >
+<title>/usr (204 samples, 0.02%)</title><rect x="117.0" y="213" width="0.3" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="120.01" y="223.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Photos.slice (1,635 samples, 0.17%)</title><rect x="724.4" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="727.43" y="111.5" ></text>
+</g>
+<g >
+<title>/system@38ed2805b6204d9b80417a97296c48b0-0000000000548c2f-0006232fc6538dab.journal (86 samples, 0.01%)</title><rect x="1178.4" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.35" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (93 samples, 0.01%)</title><rect x="733.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="736.82" y="79.5" ></text>
+</g>
+<g >
+<title>ior (268 samples, 0.03%)</title><rect x="1074.9" y="229" width="0.4" height="15.0" fill="rgb(240,165,39)" rx="2" ry="2" />
+<text x="1077.95" y="239.5" ></text>
+</g>
+<g >
+<title>/proc (9,570 samples, 0.99%)</title><rect x="476.5" y="213" width="11.6" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="479.46" y="223.5" ></text>
+</g>
+<g >
+<title>/bofh-excuses (16,269 samples, 1.68%)</title><rect x="194.9" y="149" width="19.8" height="15.0" fill="rgb(239,113,37)" rx="2" ry="2" />
+<text x="197.88" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1177.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.48" y="143.5" ></text>
+</g>
+<g >
+<title> (95 samples, 0.01%)</title><rect x="881.4" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="884.42" y="239.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Calculator.SearchProvider.slice (1,675 samples, 0.17%)</title><rect x="704.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="707.00" y="111.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="701.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="704.00" y="79.5" ></text>
+</g>
+<g >
+<title>socket:[1153176] (30,584 samples, 3.16%)</title><rect x="580.3" y="229" width="37.3" height="15.0" fill="rgb(233,175,31)" rx="2" ry="2" />
+<text x="583.29" y="239.5" >soc..</text>
+</g>
+<g >
+<title>11284 (819 samples, 0.08%)</title><rect x="335.2" y="245" width="1.0" height="15.0" fill="rgb(249,126,48)" rx="2" ry="2" />
+<text x="338.20" y="255.5" ></text>
+</g>
+<g >
+<title>/2c (88 samples, 0.01%)</title><rect x="1044.1" y="149" width="0.1" height="15.0" fill="rgb(225,134,22)" rx="2" ry="2" />
+<text x="1047.08" y="159.5" ></text>
+</g>
+<g >
+<title>dev.bragefuglseth.Keypunch.Locale (97 samples, 0.01%)</title><rect x="306.6" y="229" width="0.1" height="15.0" fill="rgb(242,187,41)" rx="2" ry="2" />
+<text x="309.57" y="239.5" ></text>
+</g>
+<g >
+<title>/.. (548 samples, 0.06%)</title><rect x="391.3" y="133" width="0.7" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="394.31" y="143.5" ></text>
+</g>
+<g >
+<title>/tmp (318 samples, 0.03%)</title><rect x="541.5" y="213" width="0.3" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="544.46" y="223.5" ></text>
+</g>
+<g >
+<title>/gcc (147 samples, 0.02%)</title><rect x="1175.0" y="181" width="0.2" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="1178.05" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="688.9" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="691.94" y="95.5" ></text>
+</g>
+<g >
+<title>/627407 (93 samples, 0.01%)</title><rect x="775.3" y="197" width="0.1" height="15.0" fill="rgb(239,117,37)" rx="2" ry="2" />
+<text x="778.28" y="207.5" ></text>
+</g>
+<g >
+<title>/user-1001.slice (354 samples, 0.04%)</title><rect x="622.4" y="149" width="0.5" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="625.44" y="159.5" ></text>
+</g>
+<g >
+<title>/conf.avail (1,359 samples, 0.14%)</title><rect x="1170.6" y="165" width="1.6" height="15.0" fill="rgb(233,164,31)" rx="2" ry="2" />
+<text x="1173.55" y="175.5" ></text>
+</g>
+<g >
+<title>/65 (237 samples, 0.02%)</title><rect x="1078.6" y="149" width="0.3" height="15.0" fill="rgb(231,107,28)" rx="2" ry="2" />
+<text x="1081.60" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (147 samples, 0.02%)</title><rect x="1175.0" y="85" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1178.05" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="721.8" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="724.83" y="79.5" ></text>
+</g>
+<g >
+<title>627367 (130 samples, 0.01%)</title><rect x="875.2" y="245" width="0.2" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="878.23" y="255.5" ></text>
+</g>
+<g >
+<title>/622059 (131 samples, 0.01%)</title><rect x="799.6" y="197" width="0.1" height="15.0" fill="rgb(232,117,30)" rx="2" ry="2" />
+<text x="802.57" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.low (282 samples, 0.03%)</title><rect x="747.1" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="750.06" y="95.5" ></text>
+</g>
+<g >
+<title>/1 (90 samples, 0.01%)</title><rect x="621.4" y="197" width="0.1" height="15.0" fill="rgb(232,133,30)" rx="2" ry="2" />
+<text x="624.41" y="207.5" ></text>
+</g>
+<g >
+<title>/run (134 samples, 0.01%)</title><rect x="775.5" y="197" width="0.2" height="15.0" fill="rgb(243,124,41)" rx="2" ry="2" />
+<text x="778.54" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (94 samples, 0.01%)</title><rect x="711.2" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="714.23" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (328 samples, 0.03%)</title><rect x="749.8" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="752.82" y="95.5" ></text>
+</g>
+<g >
+<title>/app (210 samples, 0.02%)</title><rect x="315.1" y="181" width="0.2" height="15.0" fill="rgb(248,115,47)" rx="2" ry="2" />
+<text x="318.07" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (93 samples, 0.01%)</title><rect x="1177.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.89" y="143.5" ></text>
+</g>
+<g >
+<title>/a.out (169 samples, 0.02%)</title><rect x="1085.6" y="181" width="0.2" height="15.0" fill="rgb(234,96,32)" rx="2" ry="2" />
+<text x="1088.60" y="191.5" ></text>
+</g>
+<g >
+<title>/variety (572 samples, 0.06%)</title><rect x="116.3" y="165" width="0.7" height="15.0" fill="rgb(243,130,42)" rx="2" ry="2" />
+<text x="119.30" y="175.5" ></text>
+</g>
+<g >
+<title>/usr (1,343 samples, 0.14%)</title><rect x="623.1" y="213" width="1.6" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="626.06" y="223.5" ></text>
+</g>
+<g >
+<title>/fonts (16,622 samples, 1.72%)</title><rect x="1145.4" y="181" width="20.3" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="1148.41" y="191.5" ></text>
+</g>
+<g >
+<title> (4,697 samples, 0.49%)</title><rect x="768.7" y="229" width="5.7" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="771.66" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="1178.2" y="133" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.24" y="143.5" ></text>
+</g>
+<g >
+<title>/home (336 samples, 0.03%)</title><rect x="1144.7" y="213" width="0.5" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="1147.75" y="223.5" ></text>
+</g>
+<g >
+<title>/lib64 (160 samples, 0.02%)</title><rect x="1145.2" y="213" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1148.16" y="223.5" ></text>
+</g>
+<g >
+<title>/home (1,619 samples, 0.17%)</title><rect x="35.4" y="213" width="2.0" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="38.45" y="223.5" ></text>
+</g>
+<g >
+<title>/fedora (143 samples, 0.01%)</title><rect x="215.2" y="149" width="0.1" height="15.0" fill="rgb(236,142,34)" rx="2" ry="2" />
+<text x="218.17" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="735.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="738.13" y="79.5" ></text>
+</g>
+<g >
+<title>enter_faccessat2 (107 samples, 0.01%)</title><rect x="248.4" y="149" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="251.42" y="159.5" ></text>
+</g>
+<g >
+<title>/importlib (140 samples, 0.01%)</title><rect x="1036.1" y="165" width="0.1" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1039.07" y="175.5" ></text>
+</g>
+<g >
+<title>11398 (338 samples, 0.03%)</title><rect x="341.4" y="245" width="0.5" height="15.0" fill="rgb(240,123,38)" rx="2" ry="2" />
+<text x="344.45" y="255.5" ></text>
+</g>
+<g >
+<title>org.kde.KStyle.Adwaita (96 samples, 0.01%)</title><rect x="313.2" y="229" width="0.1" height="15.0" fill="rgb(229,179,27)" rx="2" ry="2" />
+<text x="316.23" y="239.5" ></text>
+</g>
+<g >
+<title>/lib (702 samples, 0.07%)</title><rect x="1092.3" y="197" width="0.8" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1095.26" y="207.5" ></text>
+</g>
+<g >
+<title>/transactions.db (507 samples, 0.05%)</title><rect x="1175.4" y="165" width="0.6" height="15.0" fill="rgb(232,124,30)" rx="2" ry="2" />
+<text x="1178.39" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="718.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="721.00" y="79.5" ></text>
+</g>
+<g >
+<title>/omf (160 samples, 0.02%)</title><rect x="681.8" y="117" width="0.2" height="15.0" fill="rgb(238,165,36)" rx="2" ry="2" />
+<text x="684.76" y="127.5" ></text>
+</g>
+<g >
+<title>/xml (277 samples, 0.03%)</title><rect x="215.3" y="165" width="0.4" height="15.0" fill="rgb(230,120,27)" rx="2" ry="2" />
+<text x="218.35" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (5,443 samples, 0.56%)</title><rect x="1128.5" y="37" width="6.6" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1131.49" y="47.5" ></text>
+</g>
+<g >
+<title>/fe (99 samples, 0.01%)</title><rect x="1069.3" y="149" width="0.1" height="15.0" fill="rgb(242,142,41)" rx="2" ry="2" />
+<text x="1072.31" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="725.8" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="728.78" y="95.5" ></text>
+</g>
+<g >
+<title>/null (123 samples, 0.01%)</title><rect x="864.5" y="197" width="0.2" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="867.54" y="207.5" ></text>
+</g>
+<g >
+<title>/gcc (697 samples, 0.07%)</title><rect x="1083.7" y="181" width="0.9" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="1086.74" y="191.5" ></text>
+</g>
+<g >
+<title> (126 samples, 0.01%)</title><rect x="874.0" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="876.99" y="239.5" ></text>
+</g>
+<g >
+<title>/bd (94 samples, 0.01%)</title><rect x="1061.4" y="149" width="0.1" height="15.0" fill="rgb(236,110,34)" rx="2" ry="2" />
+<text x="1064.43" y="159.5" ></text>
+</g>
+<g >
+<title>/share (122 samples, 0.01%)</title><rect x="332.1" y="197" width="0.2" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="335.13" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.stat (267 samples, 0.03%)</title><rect x="760.5" y="101" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="763.50" y="111.5" ></text>
+</g>
+<g >
+<title>/04 (86 samples, 0.01%)</title><rect x="1039.2" y="149" width="0.1" height="15.0" fill="rgb(239,140,37)" rx="2" ry="2" />
+<text x="1042.18" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (724 samples, 0.07%)</title><rect x="234.6" y="133" width="0.8" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="237.55" y="143.5" ></text>
+</g>
+<g >
+<title>/firefox (778 samples, 0.08%)</title><rect x="797.8" y="165" width="0.9" height="15.0" fill="rgb(249,129,49)" rx="2" ry="2" />
+<text x="800.79" y="175.5" ></text>
+</g>
+<g >
+<title>/fontconfig (125 samples, 0.01%)</title><rect x="1170.1" y="165" width="0.1" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1173.07" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1183.8" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.84" y="143.5" ></text>
+</g>
+<g >
+<title>org.kde.PlatformTheme.QGnomePlatform (89 samples, 0.01%)</title><rect x="313.6" y="229" width="0.1" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="316.59" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="704.3" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="707.33" y="95.5" ></text>
+</g>
+<g >
+<title>enter_access (347 samples, 0.04%)</title><rect x="143.5" y="165" width="0.4" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="146.50" y="175.5" ></text>
+</g>
+<g >
+<title>11039 (2,507 samples, 0.26%)</title><rect x="328.0" y="245" width="3.1" height="15.0" fill="rgb(235,132,33)" rx="2" ry="2" />
+<text x="331.01" y="255.5" ></text>
+</g>
+<g >
+<title>627262 (82 samples, 0.01%)</title><rect x="868.4" y="245" width="0.1" height="15.0" fill="rgb(242,145,41)" rx="2" ry="2" />
+<text x="871.40" y="255.5" ></text>
+</g>
+<g >
+<title>/73 (104 samples, 0.01%)</title><rect x="1052.4" y="149" width="0.1" height="15.0" fill="rgb(245,164,44)" rx="2" ry="2" />
+<text x="1055.38" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="708.8" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="711.78" y="95.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1092.3" y="101" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1095.26" y="111.5" ></text>
+</g>
+<g >
+<title>/system.slice (1,688 samples, 0.17%)</title><rect x="683.8" y="165" width="2.1" height="15.0" fill="rgb(246,145,46)" rx="2" ry="2" />
+<text x="686.84" y="175.5" ></text>
+</g>
+<g >
+<title> (2,866 samples, 0.30%)</title><rect x="864.5" y="229" width="3.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="867.54" y="239.5" ></text>
+</g>
+<g >
+<title>pipe:[2415989] (1,052 samples, 0.11%)</title><rect x="801.0" y="229" width="1.3" height="15.0" fill="rgb(241,170,40)" rx="2" ry="2" />
+<text x="804.04" y="239.5" ></text>
+</g>
+<g >
+<title>/8fdf8f8889f8fdc86da63648afa769dcf3dc1ad952abbb201d8a0b6bdffb640f (117 samples, 0.01%)</title><rect x="235.2" y="101" width="0.1" height="15.0" fill="rgb(244,149,43)" rx="2" ry="2" />
+<text x="238.16" y="111.5" ></text>
+</g>
+<g >
+<title>/memory.stat (258 samples, 0.03%)</title><rect x="735.9" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="738.95" y="95.5" ></text>
+</g>
+<g >
+<title>org.gnome.Geary (88 samples, 0.01%)</title><rect x="312.0" y="229" width="0.1" height="15.0" fill="rgb(248,179,47)" rx="2" ry="2" />
+<text x="315.00" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="721.1" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="724.07" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (98 samples, 0.01%)</title><rect x="1179.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.92" y="143.5" ></text>
+</g>
+<g >
+<title>/var (94 samples, 0.01%)</title><rect x="776.6" y="213" width="0.1" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="779.57" y="223.5" ></text>
+</g>
+<g >
+<title>/b5 (97 samples, 0.01%)</title><rect x="1060.4" y="149" width="0.2" height="15.0" fill="rgb(231,107,28)" rx="2" ry="2" />
+<text x="1063.44" y="159.5" ></text>
+</g>
+<g >
+<title>/lib-dynload (145 samples, 0.02%)</title><rect x="1036.3" y="165" width="0.1" height="15.0" fill="rgb(243,99,41)" rx="2" ry="2" />
+<text x="1039.26" y="175.5" ></text>
+</g>
+<g >
+<title>/home (82 samples, 0.01%)</title><rect x="782.1" y="213" width="0.1" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="785.13" y="223.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="479.6" y="165" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="482.58" y="175.5" ></text>
+</g>
+<g >
+<title>/f2 (88 samples, 0.01%)</title><rect x="1067.9" y="149" width="0.1" height="15.0" fill="rgb(244,152,42)" rx="2" ry="2" />
+<text x="1070.93" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (88 samples, 0.01%)</title><rect x="233.8" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="236.83" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="706.7" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="709.72" y="95.5" ></text>
+</g>
+<g >
+<title>11311 (3,361 samples, 0.35%)</title><rect x="336.2" y="245" width="4.1" height="15.0" fill="rgb(231,123,29)" rx="2" ry="2" />
+<text x="339.20" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (321 samples, 0.03%)</title><rect x="751.9" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="754.88" y="95.5" ></text>
+</g>
+<g >
+<title>/usr (16,676 samples, 1.73%)</title><rect x="1145.4" y="213" width="20.3" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1148.35" y="223.5" ></text>
+</g>
+<g >
+<title>/user@1001.service (63,345 samples, 6.56%)</title><rect x="687.9" y="133" width="77.4" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="690.95" y="143.5" >/user@10..</text>
+</g>
+<g >
+<title>/libgcc_s.so (244 samples, 0.03%)</title><rect x="1092.8" y="133" width="0.3" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1095.79" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="754.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="757.22" y="79.5" ></text>
+</g>
+<g >
+<title>enter_write (93 samples, 0.01%)</title><rect x="776.3" y="213" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="779.25" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="689.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="692.21" y="79.5" ></text>
+</g>
+<g >
+<title>/.cache (10,100 samples, 1.05%)</title><rect x="120.7" y="181" width="12.4" height="15.0" fill="rgb(245,154,44)" rx="2" ry="2" />
+<text x="123.73" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (1,136 samples, 0.12%)</title><rect x="1099.6" y="133" width="1.4" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1102.63" y="143.5" ></text>
+</g>
+<g >
+<title>enter_mmap (102 samples, 0.01%)</title><rect x="1165.7" y="213" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1168.72" y="223.5" ></text>
+</g>
+<g >
+<title>627606 (2,544 samples, 0.26%)</title><rect x="1169.4" y="245" width="3.1" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="1172.38" y="255.5" ></text>
+</g>
+<g >
+<title>/83 (119 samples, 0.01%)</title><rect x="1054.4" y="149" width="0.1" height="15.0" fill="rgb(244,159,43)" rx="2" ry="2" />
+<text x="1057.36" y="159.5" ></text>
+</g>
+<g >
+<title>enter_close (520 samples, 0.05%)</title><rect x="677.7" y="213" width="0.6" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="680.67" y="223.5" ></text>
+</g>
+<g >
+<title> (2,543 samples, 0.26%)</title><rect x="1169.4" y="229" width="3.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1172.38" y="239.5" ></text>
+</g>
+<g >
+<title>21394 (1,992 samples, 0.21%)</title><rect x="445.8" y="245" width="2.4" height="15.0" fill="rgb(247,195,46)" rx="2" ry="2" />
+<text x="448.75" y="255.5" ></text>
+</g>
+<g >
+<title>/paul (331 samples, 0.03%)</title><rect x="1144.8" y="197" width="0.4" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1147.75" y="207.5" ></text>
+</g>
+<g >
+<title>/Microsoft (388 samples, 0.04%)</title><rect x="871.6" y="165" width="0.5" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="874.61" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="750.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="753.11" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (222 samples, 0.02%)</title><rect x="815.0" y="149" width="0.3" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="818.00" y="159.5" ></text>
+</g>
+<g >
+<title>/var (376 samples, 0.04%)</title><rect x="396.4" y="213" width="0.5" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="399.42" y="223.5" ></text>
+</g>
+<g >
+<title>/.. (122 samples, 0.01%)</title><rect x="541.9" y="133" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="544.87" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.min (282 samples, 0.03%)</title><rect x="747.4" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="750.40" y="95.5" ></text>
+</g>
+<g >
+<title>/user-1001@00061efde1b078bd-27cb76cbbc8326b3.journal~ (94 samples, 0.01%)</title><rect x="1183.0" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1185.99" y="159.5" ></text>
+</g>
+<g >
+<title>/history.sqlite-shm (156 samples, 0.02%)</title><rect x="624.7" y="165" width="0.2" height="15.0" fill="rgb(228,119,26)" rx="2" ry="2" />
+<text x="627.71" y="175.5" ></text>
+</g>
+<g >
+<title>/aquasecurity (193 samples, 0.02%)</title><rect x="1070.8" y="117" width="0.3" height="15.0" fill="rgb(240,112,38)" rx="2" ry="2" />
+<text x="1073.85" y="127.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (140 samples, 0.01%)</title><rect x="343.4" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="346.41" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="712.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="715.48" y="79.5" ></text>
+</g>
+<g >
+<title>/org.kde.KStyle.Adwaita (120 samples, 0.01%)</title><rect x="305.7" y="197" width="0.1" height="15.0" fill="rgb(229,149,27)" rx="2" ry="2" />
+<text x="308.66" y="207.5" ></text>
+</g>
+<g >
+<title>/lib64 (186 samples, 0.02%)</title><rect x="38.7" y="69" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="41.67" y="79.5" ></text>
+</g>
+<g >
+<title>/45 (91 samples, 0.01%)</title><rect x="1047.0" y="149" width="0.1" height="15.0" fill="rgb(233,117,31)" rx="2" ry="2" />
+<text x="1050.00" y="159.5" ></text>
+</g>
+<g >
+<title>/libgcc.a (88 samples, 0.01%)</title><rect x="1086.3" y="133" width="0.1" height="15.0" fill="rgb(238,99,36)" rx="2" ry="2" />
+<text x="1089.32" y="143.5" ></text>
+</g>
+<g >
+<title>/app (325 samples, 0.03%)</title><rect x="315.4" y="181" width="0.4" height="15.0" fill="rgb(248,115,47)" rx="2" ry="2" />
+<text x="318.42" y="191.5" ></text>
+</g>
+<g >
+<title>/fdinfo (146 samples, 0.02%)</title><rect x="767.0" y="181" width="0.2" height="15.0" fill="rgb(248,145,47)" rx="2" ry="2" />
+<text x="770.03" y="191.5" ></text>
+</g>
+<g >
+<title>/system@a8954016c5ba413ab48db302723d4801-00000000004c324d-00061d8bc1c54535.journal (98 samples, 0.01%)</title><rect x="1179.9" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.92" y="159.5" ></text>
+</g>
+<g >
+<title>/pets (631 samples, 0.07%)</title><rect x="546.3" y="149" width="0.7" height="15.0" fill="rgb(236,147,34)" rx="2" ry="2" />
+<text x="549.26" y="159.5" ></text>
+</g>
+<g >
+<title>/dconf (96 samples, 0.01%)</title><rect x="36.3" y="165" width="0.1" height="15.0" fill="rgb(249,159,48)" rx="2" ry="2" />
+<text x="39.27" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="723.8" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="726.79" y="95.5" ></text>
+</g>
+<g >
+<title>enter_write (255 samples, 0.03%)</title><rect x="1075.0" y="213" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="1077.96" y="223.5" ></text>
+</g>
+<g >
+<title> (110,712 samples, 11.46%)</title><rect x="119.1" y="229" width="135.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="122.08" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="700.3" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="703.30" y="95.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Characters.slice (1,678 samples, 0.17%)</title><rect x="708.1" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="711.11" y="111.5" ></text>
+</g>
+<g >
+<title>/a.out (145 samples, 0.02%)</title><rect x="1083.5" y="181" width="0.2" height="15.0" fill="rgb(234,96,32)" rx="2" ry="2" />
+<text x="1086.48" y="191.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (35,532 samples, 3.68%)</title><rect x="254.3" y="229" width="43.4" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="257.33" y="239.5" >anon..</text>
+</g>
+<g >
+<title>/x86_64 (103 samples, 0.01%)</title><rect x="305.0" y="181" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="308.02" y="191.5" ></text>
+</g>
+<g >
+<title>/000049.o (89 samples, 0.01%)</title><rect x="1106.1" y="181" width="0.1" height="15.0" fill="rgb(244,153,43)" rx="2" ry="2" />
+<text x="1109.11" y="191.5" ></text>
+</g>
+<g >
+<title>/system@00061c9741af4594-5b31eb6a6ca5fdd4.journal~ (120 samples, 0.01%)</title><rect x="1176.3" y="149" width="0.2" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1179.35" y="159.5" ></text>
+</g>
+<g >
+<title>5587 (236 samples, 0.02%)</title><rect x="776.5" y="245" width="0.3" height="15.0" fill="rgb(241,134,40)" rx="2" ry="2" />
+<text x="779.46" y="255.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (93 samples, 0.01%)</title><rect x="1185.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1188.61" y="143.5" ></text>
+</g>
+<g >
+<title>/ac (102 samples, 0.01%)</title><rect x="1059.3" y="149" width="0.2" height="15.0" fill="rgb(221,118,18)" rx="2" ry="2" />
+<text x="1062.33" y="159.5" ></text>
+</g>
+<g >
+<title>enter_statx (104 samples, 0.01%)</title><rect x="240.7" y="133" width="0.2" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="243.73" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="720.4" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="723.43" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="707.5" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="710.50" y="79.5" ></text>
+</g>
+<g >
+<title>anon_inode:[timerfd] (170 samples, 0.02%)</title><rect x="807.2" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="810.18" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.low (276 samples, 0.03%)</title><rect x="740.9" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="743.92" y="95.5" ></text>
+</g>
+<g >
+<title>enter_lseek (86 samples, 0.01%)</title><rect x="1141.5" y="117" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1144.55" y="127.5" ></text>
+</g>
+<g >
+<title>enter_write (119 samples, 0.01%)</title><rect x="624.5" y="133" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="627.48" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="692.5" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="695.55" y="79.5" ></text>
+</g>
+<g >
+<title>/82 (89 samples, 0.01%)</title><rect x="1054.3" y="149" width="0.1" height="15.0" fill="rgb(246,162,45)" rx="2" ry="2" />
+<text x="1057.25" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (93 samples, 0.01%)</title><rect x="316.8" y="197" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="319.83" y="207.5" ></text>
+</g>
+<g >
+<title>11261 (3,009 samples, 0.31%)</title><rect x="331.4" y="245" width="3.7" height="15.0" fill="rgb(226,126,24)" rx="2" ry="2" />
+<text x="334.45" y="255.5" ></text>
+</g>
+<g >
+<title>/com.sweethome3d.Sweethome3d (103 samples, 0.01%)</title><rect x="217.5" y="149" width="0.1" height="15.0" fill="rgb(243,164,42)" rx="2" ry="2" />
+<text x="220.50" y="159.5" ></text>
+</g>
+<g >
+<title>/var (27,418 samples, 2.84%)</title><rect x="215.7" y="213" width="33.5" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="218.72" y="223.5" >/var</text>
+</g>
+<g >
+<title> (1,234 samples, 0.13%)</title><rect x="1087.3" y="229" width="1.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1090.32" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (103 samples, 0.01%)</title><rect x="768.1" y="213" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="771.11" y="223.5" ></text>
+</g>
+<g >
+<title>/fortune (4,693 samples, 0.49%)</title><rect x="542.1" y="165" width="5.7" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="545.06" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (837 samples, 0.09%)</title><rect x="93.8" y="213" width="1.0" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="96.77" y="223.5" ></text>
+</g>
+<g >
+<title> (249 samples, 0.03%)</title><rect x="1189.7" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1192.68" y="239.5" ></text>
+</g>
+<g >
+<title>/3 (89 samples, 0.01%)</title><rect x="621.7" y="197" width="0.1" height="15.0" fill="rgb(249,122,48)" rx="2" ry="2" />
+<text x="624.74" y="207.5" ></text>
+</g>
+<g >
+<title>/lib64 (548 samples, 0.06%)</title><rect x="391.3" y="69" width="0.7" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="394.31" y="79.5" ></text>
+</g>
+<g >
+<title>627363 (168 samples, 0.02%)</title><rect x="875.0" y="245" width="0.2" height="15.0" fill="rgb(240,145,38)" rx="2" ry="2" />
+<text x="878.02" y="255.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="703.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="706.40" y="79.5" ></text>
+</g>
+<g >
+<title>/cgroup (234 samples, 0.02%)</title><rect x="808.3" y="181" width="0.3" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="811.32" y="191.5" ></text>
+</g>
+<g >
+<title>/lib (703 samples, 0.07%)</title><rect x="1085.9" y="197" width="0.9" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1088.89" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="711.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="714.46" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1177.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.58" y="143.5" ></text>
+</g>
+<g >
+<title>/runtime (14,604 samples, 1.51%)</title><rect x="231.4" y="165" width="17.8" height="15.0" fill="rgb(236,124,34)" rx="2" ry="2" />
+<text x="234.35" y="175.5" ></text>
+</g>
+<g >
+<title>/libc.so (123 samples, 0.01%)</title><rect x="1086.1" y="53" width="0.1" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1089.05" y="63.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-00000000006bf60a-00062bf70d0a513f.journal (85 samples, 0.01%)</title><rect x="1180.9" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1183.93" y="159.5" ></text>
+</g>
+<g >
+<title>627352 (198 samples, 0.02%)</title><rect x="874.6" y="245" width="0.2" height="15.0" fill="rgb(243,145,41)" rx="2" ry="2" />
+<text x="877.58" y="255.5" ></text>
+</g>
+<g >
+<title>/stat (812 samples, 0.08%)</title><rect x="478.2" y="181" width="1.0" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="481.23" y="191.5" ></text>
+</g>
+<g >
+<title>/paul (2,156 samples, 0.22%)</title><rect x="837.6" y="197" width="2.6" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="840.61" y="207.5" ></text>
+</g>
+<g >
+<title>enter_readlink (87 samples, 0.01%)</title><rect x="1114.5" y="181" width="0.1" height="15.0" fill="rgb(236,196,34)" rx="2" ry="2" />
+<text x="1117.46" y="191.5" ></text>
+</g>
+<g >
+<title>/user.slice (111 samples, 0.01%)</title><rect x="462.1" y="165" width="0.1" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="465.05" y="175.5" ></text>
+</g>
+<g >
+<title>/system@c4761a27c8514e1fbb7c5fc6bfca8b84-00000000005097b0-000620e0ef6ede41.journal (89 samples, 0.01%)</title><rect x="1180.3" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1183.32" y="159.5" ></text>
+</g>
+<g >
+<title>625682 (546 samples, 0.06%)</title><rect x="806.7" y="245" width="0.7" height="15.0" fill="rgb(249,151,49)" rx="2" ry="2" />
+<text x="809.74" y="255.5" ></text>
+</g>
+<g >
+<title>/objects (167 samples, 0.02%)</title><rect x="872.8" y="213" width="0.2" height="15.0" fill="rgb(237,162,35)" rx="2" ry="2" />
+<text x="875.77" y="223.5" ></text>
+</g>
+<g >
+<title>/x86_64 (292 samples, 0.03%)</title><rect x="304.0" y="181" width="0.4" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="307.03" y="191.5" ></text>
+</g>
+<g >
+<title>enter_openat (1,233 samples, 0.13%)</title><rect x="326.4" y="213" width="1.5" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="329.40" y="223.5" ></text>
+</g>
+<g >
+<title>/bc (92 samples, 0.01%)</title><rect x="1061.3" y="149" width="0.1" height="15.0" fill="rgb(220,113,17)" rx="2" ry="2" />
+<text x="1064.31" y="159.5" ></text>
+</g>
+<g >
+<title>/paul (370 samples, 0.04%)</title><rect x="681.6" y="197" width="0.4" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="684.57" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.current (282 samples, 0.03%)</title><rect x="712.2" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="715.25" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="733.2" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="736.21" y="95.5" ></text>
+</g>
+<g >
+<title> (157 samples, 0.02%)</title><rect x="617.6" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="620.64" y="239.5" ></text>
+</g>
+<g >
+<title>/ae (99 samples, 0.01%)</title><rect x="1059.6" y="149" width="0.1" height="15.0" fill="rgb(235,112,33)" rx="2" ry="2" />
+<text x="1062.59" y="159.5" ></text>
+</g>
+<g >
+<title>/cgroup (392 samples, 0.04%)</title><rect x="622.4" y="181" width="0.5" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="625.40" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="692.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="695.01" y="95.5" ></text>
+</g>
+<g >
+<title>/wallpaper-auto-rotated-a8cee8b7b10d114af95614cdd1bdd41a.jpg (480 samples, 0.05%)</title><rect x="836.4" y="133" width="0.6" height="15.0" fill="rgb(240,125,39)" rx="2" ry="2" />
+<text x="839.41" y="143.5" ></text>
+</g>
+<g >
+<title>/com.bitwarden.desktop (107 samples, 0.01%)</title><rect x="216.0" y="149" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="219.04" y="159.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="478.8" y="165" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="481.80" y="175.5" ></text>
+</g>
+<g >
+<title>pipe:[1143756] (397 samples, 0.04%)</title><rect x="488.7" y="229" width="0.5" height="15.0" fill="rgb(235,170,33)" rx="2" ry="2" />
+<text x="491.68" y="239.5" ></text>
+</g>
+<g >
+<title>/.cargo (125 samples, 0.01%)</title><rect x="674.5" y="181" width="0.2" height="15.0" fill="rgb(244,154,43)" rx="2" ry="2" />
+<text x="677.55" y="191.5" ></text>
+</g>
+<g >
+<title>io.github.ltiber.Pwall (86 samples, 0.01%)</title><rect x="308.4" y="229" width="0.1" height="15.0" fill="rgb(230,152,28)" rx="2" ry="2" />
+<text x="311.38" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="760.6" y="85" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="763.55" y="95.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (892 samples, 0.09%)</title><rect x="809.1" y="133" width="1.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="812.11" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.min (272 samples, 0.03%)</title><rect x="723.1" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="726.08" y="95.5" ></text>
+</g>
+<g >
+<title>/ld-linux-x86-64.so.2 (107 samples, 0.01%)</title><rect x="1083.1" y="197" width="0.1" height="15.0" fill="rgb(250,115,50)" rx="2" ry="2" />
+<text x="1086.08" y="207.5" ></text>
+</g>
+<g >
+<title>/user-1001@000627a4f2b41aa9-f38c91c8c439c993.journal~ (86 samples, 0.01%)</title><rect x="1183.3" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.30" y="159.5" ></text>
+</g>
+<g >
+<title>/system@6d19fc5cd4824ff2bb405e75f6f3cd03-00000000004fd186-00062088a964e077.journal (90 samples, 0.01%)</title><rect x="1179.2" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.16" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="687.5" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="690.50" y="95.5" ></text>
+</g>
+<g >
+<title>anon_inode:sync_file (3,017 samples, 0.31%)</title><rect x="94.8" y="229" width="3.7" height="15.0" fill="rgb(237,164,35)" rx="2" ry="2" />
+<text x="97.82" y="239.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Settings.GlobalShortcutsProvider.slice (1,683 samples, 0.17%)</title><rect x="730.5" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="733.50" y="111.5" ></text>
+</g>
+<g >
+<title>/613221 (264 samples, 0.03%)</title><rect x="780.2" y="197" width="0.4" height="15.0" fill="rgb(231,120,28)" rx="2" ry="2" />
+<text x="783.25" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.low (276 samples, 0.03%)</title><rect x="684.2" y="149" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="687.17" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="685.8" y="133" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="688.79" y="143.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Showtime (102 samples, 0.01%)</title><rect x="220.1" y="149" width="0.2" height="15.0" fill="rgb(236,149,34)" rx="2" ry="2" />
+<text x="223.15" y="159.5" ></text>
+</g>
+<g >
+<title>/34 (92 samples, 0.01%)</title><rect x="1045.0" y="149" width="0.1" height="15.0" fill="rgb(236,125,34)" rx="2" ry="2" />
+<text x="1048.03" y="159.5" ></text>
+</g>
+<g >
+<title>/var (384 samples, 0.04%)</title><rect x="42.3" y="213" width="0.5" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="45.28" y="223.5" ></text>
+</g>
+<g >
+<title>/15 (101 samples, 0.01%)</title><rect x="676.8" y="149" width="0.1" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="679.82" y="159.5" ></text>
+</g>
+<g >
+<title>pipe:[2412989] (750 samples, 0.08%)</title><rect x="802.6" y="229" width="0.9" height="15.0" fill="rgb(241,170,40)" rx="2" ry="2" />
+<text x="805.62" y="239.5" ></text>
+</g>
+<g >
+<title>/variety (114 samples, 0.01%)</title><rect x="36.4" y="165" width="0.1" height="15.0" fill="rgb(243,130,42)" rx="2" ry="2" />
+<text x="39.40" y="175.5" ></text>
+</g>
+<g >
+<title>/go (221 samples, 0.02%)</title><rect x="36.9" y="181" width="0.3" height="15.0" fill="rgb(241,144,39)" rx="2" ry="2" />
+<text x="39.88" y="191.5" ></text>
+</g>
+<g >
+<title>/ed (106 samples, 0.01%)</title><rect x="1067.3" y="149" width="0.2" height="15.0" fill="rgb(245,150,44)" rx="2" ry="2" />
+<text x="1070.32" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="746.7" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="749.72" y="95.5" ></text>
+</g>
+<g >
+<title>/13 (143 samples, 0.01%)</title><rect x="674.1" y="181" width="0.1" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="677.07" y="191.5" ></text>
+</g>
+<g >
+<title>enter_write (4,035 samples, 0.42%)</title><rect x="575.4" y="213" width="4.9" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="578.36" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="744.1" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="747.11" y="79.5" ></text>
+</g>
+<g >
+<title>/4a (94 samples, 0.01%)</title><rect x="1047.6" y="149" width="0.1" height="15.0" fill="rgb(226,130,23)" rx="2" ry="2" />
+<text x="1050.61" y="159.5" ></text>
+</g>
+<g >
+<title>/dev (461 samples, 0.05%)</title><rect x="781.4" y="213" width="0.5" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="784.37" y="223.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-00000000008260e0-0006344c36c0b746.journal (86 samples, 0.01%)</title><rect x="1181.8" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.82" y="159.5" ></text>
+</g>
+<g >
+<title>/ior (128 samples, 0.01%)</title><rect x="331.4" y="165" width="0.2" height="15.0" fill="rgb(240,134,39)" rx="2" ry="2" />
+<text x="334.45" y="175.5" ></text>
+</g>
+<g >
+<title>/fontconfig (236 samples, 0.02%)</title><rect x="862.4" y="181" width="0.3" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="865.37" y="191.5" ></text>
+</g>
+<g >
+<title>627557 (130 samples, 0.01%)</title><rect x="1141.8" y="245" width="0.2" height="15.0" fill="rgb(232,145,30)" rx="2" ry="2" />
+<text x="1144.84" y="255.5" ></text>
+</g>
+<g >
+<title>/icons (649 samples, 0.07%)</title><rect x="221.1" y="101" width="0.8" height="15.0" fill="rgb(244,134,43)" rx="2" ry="2" />
+<text x="224.14" y="111.5" ></text>
+</g>
+<g >
+<title>/e2 (96 samples, 0.01%)</title><rect x="1065.9" y="149" width="0.1" height="15.0" fill="rgb(245,157,44)" rx="2" ry="2" />
+<text x="1068.86" y="159.5" ></text>
+</g>
+<g >
+<title>/run (247 samples, 0.03%)</title><rect x="683.1" y="213" width="0.3" height="15.0" fill="rgb(243,124,41)" rx="2" ry="2" />
+<text x="686.12" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (10,648 samples, 1.10%)</title><rect x="45.5" y="213" width="13.0" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="48.54" y="223.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1090.1" y="133" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1093.10" y="143.5" ></text>
+</g>
+<g >
+<title>/home (442 samples, 0.05%)</title><rect x="99.0" y="213" width="0.5" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="101.99" y="223.5" ></text>
+</g>
+<g >
+<title>621654 (4,047 samples, 0.42%)</title><rect x="797.4" y="245" width="4.9" height="15.0" fill="rgb(237,164,35)" rx="2" ry="2" />
+<text x="800.39" y="255.5" ></text>
+</g>
+<g >
+<title>/lib64 (330 samples, 0.03%)</title><rect x="1085.2" y="213" width="0.4" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1088.20" y="223.5" ></text>
+</g>
+<g >
+<title>/20 (112 samples, 0.01%)</title><rect x="1042.6" y="149" width="0.1" height="15.0" fill="rgb(226,143,23)" rx="2" ry="2" />
+<text x="1045.55" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (549 samples, 0.06%)</title><rect x="397.0" y="213" width="0.6" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="399.96" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (282 samples, 0.03%)</title><rect x="714.0" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="717.02" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="701.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="704.86" y="79.5" ></text>
+</g>
+<g >
+<title>/home (758 samples, 0.08%)</title><rect x="835.2" y="213" width="1.0" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="838.25" y="223.5" ></text>
+</g>
+<g >
+<title>enter_write (314 samples, 0.03%)</title><rect x="680.4" y="213" width="0.4" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="683.39" y="223.5" ></text>
+</g>
+<g >
+<title>/knghtbrd (242 samples, 0.03%)</title><rect x="624.3" y="149" width="0.3" height="15.0" fill="rgb(249,127,48)" rx="2" ry="2" />
+<text x="627.33" y="159.5" ></text>
+</g>
+<g >
+<title>10839 (108 samples, 0.01%)</title><rect x="115.9" y="245" width="0.1" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2" />
+<text x="118.90" y="255.5" ></text>
+</g>
+<g >
+<title>/platforms (159 samples, 0.02%)</title><rect x="782.6" y="101" width="0.2" height="15.0" fill="rgb(231,163,28)" rx="2" ry="2" />
+<text x="785.64" y="111.5" ></text>
+</g>
+<g >
+<title>/stat (812 samples, 0.08%)</title><rect x="481.8" y="181" width="1.0" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="484.77" y="191.5" ></text>
+</g>
+<g >
+<title>enter_io_uring_enter (107 samples, 0.01%)</title><rect x="476.2" y="213" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="479.20" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1176.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1179.71" y="143.5" ></text>
+</g>
+<g >
+<title>enter_write (25,182 samples, 2.61%)</title><rect x="157.7" y="37" width="30.8" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="160.72" y="47.5" >en..</text>
+</g>
+<g >
+<title>.git (97 samples, 0.01%)</title><rect x="875.4" y="229" width="0.1" height="15.0" fill="rgb(233,132,30)" rx="2" ry="2" />
+<text x="878.39" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (322 samples, 0.03%)</title><rect x="709.1" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="712.11" y="95.5" ></text>
+</g>
+<g >
+<title>/fontconfig (1,234 samples, 0.13%)</title><rect x="862.7" y="181" width="1.5" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="865.67" y="191.5" ></text>
+</g>
+<g >
+<title>/history.sqlite-shm (470 samples, 0.05%)</title><rect x="549.1" y="165" width="0.5" height="15.0" fill="rgb(228,119,26)" rx="2" ry="2" />
+<text x="552.07" y="175.5" ></text>
+</g>
+<g >
+<title>/tmp (197 samples, 0.02%)</title><rect x="390.9" y="213" width="0.2" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="393.87" y="223.5" ></text>
+</g>
+<g >
+<title>io.github.Hexchat (102 samples, 0.01%)</title><rect x="307.7" y="229" width="0.1" height="15.0" fill="rgb(229,152,26)" rx="2" ry="2" />
+<text x="310.70" y="239.5" ></text>
+</g>
+<g >
+<title>enter_openat (140 samples, 0.01%)</title><rect x="829.9" y="213" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="832.86" y="223.5" ></text>
+</g>
+<g >
+<title>/x86_64 (250 samples, 0.03%)</title><rect x="242.9" y="133" width="0.3" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="245.86" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1181.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.35" y="143.5" ></text>
+</g>
+<g >
+<title>/e5 (96 samples, 0.01%)</title><rect x="1066.4" y="149" width="0.1" height="15.0" fill="rgb(239,147,38)" rx="2" ry="2" />
+<text x="1069.39" y="159.5" ></text>
+</g>
+<g >
+<title>/c4 (102 samples, 0.01%)</title><rect x="1062.3" y="149" width="0.2" height="15.0" fill="rgb(243,161,42)" rx="2" ry="2" />
+<text x="1065.33" y="159.5" ></text>
+</g>
+<g >
+<title>/com.mastermindzh.tidal-hifi (123 samples, 0.01%)</title><rect x="217.1" y="149" width="0.2" height="15.0" fill="rgb(236,164,34)" rx="2" ry="2" />
+<text x="220.10" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="745.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="748.25" y="79.5" ></text>
+</g>
+<g >
+<title>/cb (86 samples, 0.01%)</title><rect x="1063.2" y="149" width="0.1" height="15.0" fill="rgb(233,167,31)" rx="2" ry="2" />
+<text x="1066.21" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="707.4" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="710.45" y="95.5" ></text>
+</g>
+<g >
+<title>/19 (95 samples, 0.01%)</title><rect x="1041.7" y="149" width="0.1" height="15.0" fill="rgb(229,119,27)" rx="2" ry="2" />
+<text x="1044.70" y="159.5" ></text>
+</g>
+<g >
+<title> (639 samples, 0.07%)</title><rect x="340.4" y="229" width="0.8" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="343.43" y="239.5" ></text>
+</g>
+<g >
+<title>/d7 (96 samples, 0.01%)</title><rect x="1064.6" y="149" width="0.1" height="15.0" fill="rgb(237,146,35)" rx="2" ry="2" />
+<text x="1067.60" y="159.5" ></text>
+</g>
+<g >
+<title>/15 (688 samples, 0.07%)</title><rect x="1085.9" y="149" width="0.8" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1088.89" y="159.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Nautilus.slice (1,628 samples, 0.17%)</title><rect x="718.4" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="721.44" y="111.5" ></text>
+</g>
+<g >
+<title>16740 (92 samples, 0.01%)</title><rect x="444.5" y="245" width="0.1" height="15.0" fill="rgb(227,84,24)" rx="2" ry="2" />
+<text x="447.52" y="255.5" ></text>
+</g>
+<g >
+<title>/wallpaper (478 samples, 0.05%)</title><rect x="1143.8" y="149" width="0.6" height="15.0" fill="rgb(243,125,41)" rx="2" ry="2" />
+<text x="1146.82" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (629 samples, 0.07%)</title><rect x="547.0" y="133" width="0.8" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="550.03" y="143.5" ></text>
+</g>
+<g >
+<title>/fonts (143 samples, 0.01%)</title><rect x="1172.2" y="181" width="0.2" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="1175.21" y="191.5" ></text>
+</g>
+<g >
+<title> (1,874 samples, 0.19%)</title><rect x="1186.6" y="229" width="2.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1189.64" y="239.5" ></text>
+</g>
+<g >
+<title>/kernel (1,600 samples, 0.17%)</title><rect x="881.9" y="197" width="2.0" height="15.0" fill="rgb(237,117,35)" rx="2" ry="2" />
+<text x="884.94" y="207.5" ></text>
+</g>
+<g >
+<title>/.. (21,728 samples, 2.25%)</title><rect x="1114.7" y="117" width="26.5" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1117.72" y="127.5" >/..</text>
+</g>
+<g >
+<title>enter_newfstat (94 samples, 0.01%)</title><rect x="1178.0" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.01" y="143.5" ></text>
+</g>
+<g >
+<title>/actions (248 samples, 0.03%)</title><rect x="795.6" y="133" width="0.3" height="15.0" fill="rgb(244,118,43)" rx="2" ry="2" />
+<text x="798.59" y="143.5" ></text>
+</g>
+<g >
+<title>/f5 (112 samples, 0.01%)</title><rect x="1068.2" y="149" width="0.2" height="15.0" fill="rgb(238,142,37)" rx="2" ry="2" />
+<text x="1071.23" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="724.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="727.32" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (98 samples, 0.01%)</title><rect x="1182.0" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1185.02" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (83 samples, 0.01%)</title><rect x="1180.8" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1183.82" y="143.5" ></text>
+</g>
+<g >
+<title>/local (1,135 samples, 0.12%)</title><rect x="188.5" y="197" width="1.4" height="15.0" fill="rgb(229,118,26)" rx="2" ry="2" />
+<text x="191.49" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (160 samples, 0.02%)</title><rect x="780.3" y="165" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="783.27" y="175.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (176 samples, 0.02%)</title><rect x="1092.0" y="197" width="0.2" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1094.96" y="207.5" ></text>
+</g>
+<g >
+<title>/5c (102 samples, 0.01%)</title><rect x="1049.7" y="149" width="0.1" height="15.0" fill="rgb(221,118,18)" rx="2" ry="2" />
+<text x="1052.70" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="744.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="747.70" y="95.5" ></text>
+</g>
+<g >
+<title>enter_close (334 samples, 0.03%)</title><rect x="830.0" y="197" width="0.4" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="833.03" y="207.5" ></text>
+</g>
+<g >
+<title>/git (442 samples, 0.05%)</title><rect x="99.0" y="181" width="0.5" height="15.0" fill="rgb(233,124,30)" rx="2" ry="2" />
+<text x="101.99" y="191.5" ></text>
+</g>
+<g >
+<title>/.. (147 samples, 0.02%)</title><rect x="1175.0" y="117" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1178.05" y="127.5" ></text>
+</g>
+<g >
+<title>/go-build (4,150 samples, 0.43%)</title><rect x="1076.5" y="165" width="5.1" height="15.0" fill="rgb(238,144,37)" rx="2" ry="2" />
+<text x="1079.52" y="175.5" ></text>
+</g>
+<g >
+<title>/2b (101 samples, 0.01%)</title><rect x="1044.0" y="149" width="0.1" height="15.0" fill="rgb(226,137,23)" rx="2" ry="2" />
+<text x="1046.96" y="159.5" ></text>
+</g>
+<g >
+<title>/24.08 (220 samples, 0.02%)</title><rect x="234.9" y="117" width="0.3" height="15.0" fill="rgb(233,130,30)" rx="2" ry="2" />
+<text x="237.90" y="127.5" ></text>
+</g>
+<g >
+<title>/null (971 samples, 0.10%)</title><rect x="1173.8" y="197" width="1.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="1176.75" y="207.5" ></text>
+</g>
+<g >
+<title>/621836 (114 samples, 0.01%)</title><rect x="802.3" y="197" width="0.2" height="15.0" fill="rgb(234,117,32)" rx="2" ry="2" />
+<text x="805.33" y="207.5" ></text>
+</g>
+<g >
+<title>enter_statx (90 samples, 0.01%)</title><rect x="242.8" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="245.75" y="143.5" ></text>
+</g>
+<g >
+<title>11330 (106 samples, 0.01%)</title><rect x="340.3" y="245" width="0.1" height="15.0" fill="rgb(231,123,28)" rx="2" ry="2" />
+<text x="343.30" y="255.5" ></text>
+</g>
+<g >
+<title>/x86_64 (120 samples, 0.01%)</title><rect x="247.3" y="133" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="250.32" y="143.5" ></text>
+</g>
+<g >
+<title> (527 samples, 0.05%)</title><rect x="680.8" y="229" width="0.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="683.78" y="239.5" ></text>
+</g>
+<g >
+<title>/d2 (89 samples, 0.01%)</title><rect x="1064.0" y="149" width="0.1" height="15.0" fill="rgb(246,162,45)" rx="2" ry="2" />
+<text x="1067.02" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (303 samples, 0.03%)</title><rect x="239.9" y="133" width="0.4" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="242.90" y="143.5" ></text>
+</g>
+<g >
+<title>/lib (168 samples, 0.02%)</title><rect x="1170.3" y="197" width="0.2" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1173.34" y="207.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dapp.drey.Dialect.SearchProvider.slice (1,662 samples, 0.17%)</title><rect x="690.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="692.98" y="111.5" ></text>
+</g>
+<g >
+<title>/03 (104 samples, 0.01%)</title><rect x="1039.1" y="149" width="0.1" height="15.0" fill="rgb(241,144,39)" rx="2" ry="2" />
+<text x="1042.06" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (120 samples, 0.01%)</title><rect x="1176.3" y="133" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1179.35" y="143.5" ></text>
+</g>
+<g >
+<title>enter_close (510 samples, 0.05%)</title><rect x="459.5" y="197" width="0.6" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="462.46" y="207.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (175 samples, 0.02%)</title><rect x="1087.6" y="197" width="0.3" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1090.64" y="207.5" ></text>
+</g>
+<g >
+<title>enter_lseek (196 samples, 0.02%)</title><rect x="1086.5" y="117" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1089.45" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="752.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="755.49" y="79.5" ></text>
+</g>
+<g >
+<title>/user-1001@1dc65c17c94c402f938934dc3d68c3ab-00000000004e0690-00061f0691ee3c45.journal (89 samples, 0.01%)</title><rect x="1184.5" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1187.53" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (89 samples, 0.01%)</title><rect x="725.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="727.98" y="79.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-0000000000734665-00062efc19b15696.journal (88 samples, 0.01%)</title><rect x="1181.1" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.14" y="159.5" ></text>
+</g>
+<g >
+<title>/utmp (132 samples, 0.01%)</title><rect x="775.5" y="181" width="0.2" height="15.0" fill="rgb(234,112,32)" rx="2" ry="2" />
+<text x="778.54" y="191.5" ></text>
+</g>
+<g >
+<title>/x86_64 (115 samples, 0.01%)</title><rect x="247.0" y="133" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="250.04" y="143.5" ></text>
+</g>
+<g >
+<title>enter_writev (118 samples, 0.01%)</title><rect x="446.7" y="181" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="449.70" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="742.5" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="745.54" y="79.5" ></text>
+</g>
+<g >
+<title>/cgroup (100 samples, 0.01%)</title><rect x="445.5" y="181" width="0.1" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="448.49" y="191.5" ></text>
+</g>
+<g >
+<title>/2e (107 samples, 0.01%)</title><rect x="1044.3" y="149" width="0.1" height="15.0" fill="rgb(238,127,37)" rx="2" ry="2" />
+<text x="1047.30" y="159.5" ></text>
+</g>
+<g >
+<title>/statm (116 samples, 0.01%)</title><rect x="806.8" y="181" width="0.1" height="15.0" fill="rgb(232,122,29)" rx="2" ry="2" />
+<text x="809.80" y="191.5" ></text>
+</g>
+<g >
+<title>/0 (541 samples, 0.06%)</title><rect x="446.8" y="181" width="0.7" height="15.0" fill="rgb(234,139,32)" rx="2" ry="2" />
+<text x="449.84" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="760.8" y="101" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="763.83" y="111.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="699.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="702.39" y="79.5" ></text>
+</g>
+<g >
+<title>/4imrokjd.default-release-1736024643281 (778 samples, 0.08%)</title><rect x="797.8" y="149" width="0.9" height="15.0" fill="rgb(236,104,35)" rx="2" ry="2" />
+<text x="800.79" y="159.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-00000000007b4662-00063193963b50a4.journal (86 samples, 0.01%)</title><rect x="1181.6" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.56" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (95 samples, 0.01%)</title><rect x="748.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="751.37" y="79.5" ></text>
+</g>
+<g >
+<title>/cache (165 samples, 0.02%)</title><rect x="1170.3" y="165" width="0.2" height="15.0" fill="rgb(245,170,44)" rx="2" ry="2" />
+<text x="1173.34" y="175.5" ></text>
+</g>
+<g >
+<title>/GosDir (490 samples, 0.05%)</title><rect x="782.6" y="133" width="0.6" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2" />
+<text x="785.62" y="143.5" ></text>
+</g>
+<g >
+<title> (127 samples, 0.01%)</title><rect x="1075.3" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1078.32" y="239.5" ></text>
+</g>
+<g >
+<title>/cache (236 samples, 0.02%)</title><rect x="862.4" y="165" width="0.3" height="15.0" fill="rgb(245,170,44)" rx="2" ry="2" />
+<text x="865.37" y="175.5" ></text>
+</g>
+<g >
+<title>/37 (113 samples, 0.01%)</title><rect x="1045.4" y="149" width="0.1" height="15.0" fill="rgb(230,116,28)" rx="2" ry="2" />
+<text x="1048.36" y="159.5" ></text>
+</g>
+<g >
+<title> (87 samples, 0.01%)</title><rect x="872.6" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="875.62" y="239.5" ></text>
+</g>
+<g >
+<title>/.. (35,331 samples, 3.66%)</title><rect x="145.3" y="117" width="43.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="148.33" y="127.5" >/..</text>
+</g>
+<g >
+<title>/625682 (116 samples, 0.01%)</title><rect x="806.8" y="197" width="0.1" height="15.0" fill="rgb(249,117,49)" rx="2" ry="2" />
+<text x="809.80" y="207.5" ></text>
+</g>
+<g >
+<title>enter_statx (247 samples, 0.03%)</title><rect x="833.9" y="213" width="0.3" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="836.95" y="223.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.openh264 (192 samples, 0.02%)</title><rect x="304.8" y="197" width="0.2" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="307.78" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.stat (269 samples, 0.03%)</title><rect x="691.4" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="694.35" y="95.5" ></text>
+</g>
+<g >
+<title>/cgroup (204 samples, 0.02%)</title><rect x="774.8" y="181" width="0.3" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="777.82" y="191.5" ></text>
+</g>
+<g >
+<title>/90 (103 samples, 0.01%)</title><rect x="1056.0" y="149" width="0.1" height="15.0" fill="rgb(231,163,28)" rx="2" ry="2" />
+<text x="1058.97" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="712.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="715.13" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (276 samples, 0.03%)</title><rect x="458.4" y="181" width="0.3" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="461.39" y="191.5" ></text>
+</g>
+<g >
+<title>/education (743 samples, 0.08%)</title><rect x="39.9" y="149" width="0.9" height="15.0" fill="rgb(247,150,46)" rx="2" ry="2" />
+<text x="42.91" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="684.1" y="133" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="687.06" y="143.5" ></text>
+</g>
+<g >
+<title>/transactions.db (2,658 samples, 0.28%)</title><rect x="813.8" y="165" width="3.2" height="15.0" fill="rgb(232,124,30)" rx="2" ry="2" />
+<text x="816.76" y="175.5" ></text>
+</g>
+<g >
+<title>/b7 (108 samples, 0.01%)</title><rect x="1060.7" y="149" width="0.1" height="15.0" fill="rgb(227,100,24)" rx="2" ry="2" />
+<text x="1063.67" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (103 samples, 0.01%)</title><rect x="541.7" y="165" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="544.72" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (104 samples, 0.01%)</title><rect x="341.6" y="213" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="344.61" y="223.5" ></text>
+</g>
+<g >
+<title>de.haeckerfelix.Shortwave.Locale (92 samples, 0.01%)</title><rect x="301.8" y="229" width="0.1" height="15.0" fill="rgb(242,187,41)" rx="2" ry="2" />
+<text x="304.81" y="239.5" ></text>
+</g>
+<g >
+<title>enter_write (122 samples, 0.01%)</title><rect x="674.1" y="165" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="677.10" y="175.5" ></text>
+</g>
+<g >
+<title>/runtime (159 samples, 0.02%)</title><rect x="230.5" y="101" width="0.2" height="15.0" fill="rgb(236,124,34)" rx="2" ry="2" />
+<text x="233.48" y="111.5" ></text>
+</g>
+<g >
+<title>/51 (119 samples, 0.01%)</title><rect x="1048.4" y="149" width="0.2" height="15.0" fill="rgb(221,125,18)" rx="2" ry="2" />
+<text x="1051.41" y="159.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Settings.SearchProvider.slice (1,673 samples, 0.17%)</title><rect x="732.6" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="735.55" y="111.5" ></text>
+</g>
+<g >
+<title>625663 (471 samples, 0.05%)</title><rect x="804.0" y="245" width="0.6" height="15.0" fill="rgb(238,151,36)" rx="2" ry="2" />
+<text x="807.04" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="691.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="694.90" y="79.5" ></text>
+</g>
+<g >
+<title>/stable (86 samples, 0.01%)</title><rect x="242.1" y="117" width="0.1" height="15.0" fill="rgb(241,122,40)" rx="2" ry="2" />
+<text x="245.14" y="127.5" ></text>
+</g>
+<g >
+<title>/f2d70db0e77989b39062f2ed4a09f6fba8ba19cdefcd750898c66b4f6cd480e6-d (92 samples, 0.01%)</title><rect x="1081.0" y="133" width="0.1" height="15.0" fill="rgb(249,152,49)" rx="2" ry="2" />
+<text x="1083.97" y="143.5" ></text>
+</g>
+<g >
+<title>/org.kde.Platform (112 samples, 0.01%)</title><rect x="305.9" y="197" width="0.2" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="308.94" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (94 samples, 0.01%)</title><rect x="713.3" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="716.33" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="754.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="757.66" y="95.5" ></text>
+</g>
+<g >
+<title>/x86_64 (87 samples, 0.01%)</title><rect x="241.7" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="244.73" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="727.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="730.00" y="79.5" ></text>
+</g>
+<g >
+<title>enter_writev (261 samples, 0.03%)</title><rect x="98.5" y="213" width="0.3" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="101.52" y="223.5" ></text>
+</g>
+<g >
+<title>/usr (3,549 samples, 0.37%)</title><rect x="37.9" y="213" width="4.4" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="40.95" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (276 samples, 0.03%)</title><rect x="685.6" y="149" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="688.56" y="159.5" ></text>
+</g>
+<g >
+<title>/9e (96 samples, 0.01%)</title><rect x="1057.6" y="149" width="0.2" height="15.0" fill="rgb(243,147,42)" rx="2" ry="2" />
+<text x="1060.65" y="159.5" ></text>
+</g>
+<g >
+<title>/app-org.gnome.Terminal.slice (1,705 samples, 0.18%)</title><rect x="757.0" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="760.03" y="111.5" ></text>
+</g>
+<g >
+<title>/usr (1,879 samples, 0.19%)</title><rect x="865.7" y="213" width="2.3" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="868.68" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="722.4" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="725.42" y="95.5" ></text>
+</g>
+<g >
+<title>org.gnome.Decibels (89 samples, 0.01%)</title><rect x="311.8" y="229" width="0.1" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="314.79" y="239.5" ></text>
+</g>
+<g >
+<title>/usr (1,947 samples, 0.20%)</title><rect x="1035.0" y="213" width="2.3" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1037.96" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="718.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="721.33" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1183.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.73" y="143.5" ></text>
+</g>
+<g >
+<title>/.. (548 samples, 0.06%)</title><rect x="391.3" y="85" width="0.7" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="394.31" y="95.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1092.3" y="133" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1095.26" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (322 samples, 0.03%)</title><rect x="747.7" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="750.75" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.stat (282 samples, 0.03%)</title><rect x="713.7" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="716.67" y="95.5" ></text>
+</g>
+<g >
+<title>/ee (103 samples, 0.01%)</title><rect x="1067.5" y="149" width="0.1" height="15.0" fill="rgb(243,147,42)" rx="2" ry="2" />
+<text x="1070.45" y="159.5" ></text>
+</g>
+<g >
+<title>/15 (83 samples, 0.01%)</title><rect x="1041.2" y="149" width="0.1" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1044.24" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="748.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="751.03" y="79.5" ></text>
+</g>
+<g >
+<title>/df (101 samples, 0.01%)</title><rect x="1065.5" y="149" width="0.2" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="1068.54" y="159.5" ></text>
+</g>
+<g >
+<title>/usr (103 samples, 0.01%)</title><rect x="1173.1" y="213" width="0.2" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1176.13" y="223.5" ></text>
+</g>
+<g >
+<title>627612 (225 samples, 0.02%)</title><rect x="1172.6" y="245" width="0.3" height="15.0" fill="rgb(245,145,44)" rx="2" ry="2" />
+<text x="1175.58" y="255.5" ></text>
+</g>
+<g >
+<title>enter_lseek (1,843 samples, 0.19%)</title><rect x="837.6" y="117" width="2.3" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="840.61" y="127.5" ></text>
+</g>
+<g >
+<title>/user-1002.journal (86 samples, 0.01%)</title><rect x="1186.0" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1189.02" y="159.5" ></text>
+</g>
+<g >
+<title>/sys (392 samples, 0.04%)</title><rect x="622.4" y="213" width="0.5" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="625.40" y="223.5" ></text>
+</g>
+<g >
+<title>/gcc (548 samples, 0.06%)</title><rect x="391.3" y="181" width="0.7" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="394.31" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="479.7" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="482.72" y="175.5" ></text>
+</g>
+<g >
+<title>org.kde.digikam (98 samples, 0.01%)</title><rect x="314.1" y="229" width="0.1" height="15.0" fill="rgb(221,179,18)" rx="2" ry="2" />
+<text x="317.12" y="239.5" ></text>
+</g>
+<g >
+<title>/journal (97 samples, 0.01%)</title><rect x="776.9" y="181" width="0.1" height="15.0" fill="rgb(229,128,27)" rx="2" ry="2" />
+<text x="779.88" y="191.5" ></text>
+</g>
+<g >
+<title>/614631 (152 samples, 0.02%)</title><rect x="780.8" y="197" width="0.1" height="15.0" fill="rgb(227,120,24)" rx="2" ry="2" />
+<text x="783.76" y="207.5" ></text>
+</g>
+<g >
+<title>enter_openat (109 samples, 0.01%)</title><rect x="619.8" y="181" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="622.82" y="191.5" ></text>
+</g>
+<g >
+<title>/system@3b5754079473424484fc77ea08f3c475-0000000000511ee2-0006210ff803f129.journal (87 samples, 0.01%)</title><rect x="1178.7" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.67" y="159.5" ></text>
+</g>
+<g >
+<title>/share (126 samples, 0.01%)</title><rect x="800.7" y="197" width="0.1" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="803.69" y="207.5" ></text>
+</g>
+<g >
+<title>/a2 (109 samples, 0.01%)</title><rect x="1058.2" y="149" width="0.1" height="15.0" fill="rgb(237,122,35)" rx="2" ry="2" />
+<text x="1061.17" y="159.5" ></text>
+</g>
+<g >
+<title>301189 (10,487 samples, 1.09%)</title><rect x="476.4" y="245" width="12.8" height="15.0" fill="rgb(241,198,39)" rx="2" ry="2" />
+<text x="479.39" y="255.5" ></text>
+</g>
+<g >
+<title>/tmp (582 samples, 0.06%)</title><rect x="1071.1" y="213" width="0.7" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1074.11" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (276 samples, 0.03%)</title><rect x="687.6" y="101" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="690.61" y="111.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="741.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="744.87" y="79.5" ></text>
+</g>
+<g >
+<title>/5b (87 samples, 0.01%)</title><rect x="1049.6" y="149" width="0.1" height="15.0" fill="rgb(223,122,20)" rx="2" ry="2" />
+<text x="1052.60" y="159.5" ></text>
+</g>
+<g >
+<title>/a9 (100 samples, 0.01%)</title><rect x="1059.0" y="149" width="0.1" height="15.0" fill="rgb(225,99,22)" rx="2" ry="2" />
+<text x="1061.99" y="159.5" ></text>
+</g>
+<g >
+<title>lib (145 samples, 0.02%)</title><rect x="834.5" y="229" width="0.2" height="15.0" fill="rgb(234,129,32)" rx="2" ry="2" />
+<text x="837.50" y="239.5" ></text>
+</g>
+<g >
+<title>/61 (132 samples, 0.01%)</title><rect x="1050.3" y="149" width="0.2" height="15.0" fill="rgb(220,120,17)" rx="2" ry="2" />
+<text x="1053.30" y="159.5" ></text>
+</g>
+<g >
+<title>5260 (4,919 samples, 0.51%)</title><rect x="768.7" y="245" width="6.0" height="15.0" fill="rgb(228,156,26)" rx="2" ry="2" />
+<text x="771.66" y="255.5" ></text>
+</g>
+<g >
+<title>/7c (118 samples, 0.01%)</title><rect x="1053.5" y="149" width="0.2" height="15.0" fill="rgb(231,164,29)" rx="2" ry="2" />
+<text x="1056.53" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="686.2" y="101" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="689.23" y="111.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="695.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="698.25" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (123 samples, 0.01%)</title><rect x="833.2" y="197" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="836.15" y="207.5" ></text>
+</g>
+<g >
+<title>/a.out (174 samples, 0.02%)</title><rect x="1092.0" y="181" width="0.2" height="15.0" fill="rgb(234,96,32)" rx="2" ry="2" />
+<text x="1094.96" y="191.5" ></text>
+</g>
+<g >
+<title>/65afd18368643033b5a4536a6c2edd4f45d178031395564677e7616de9299da2-d (237 samples, 0.02%)</title><rect x="1078.6" y="133" width="0.3" height="15.0" fill="rgb(252,107,52)" rx="2" ry="2" />
+<text x="1081.60" y="143.5" ></text>
+</g>
+<g >
+<title>/.config (218 samples, 0.02%)</title><rect x="36.3" y="181" width="0.2" height="15.0" fill="rgb(239,154,37)" rx="2" ry="2" />
+<text x="39.27" y="191.5" ></text>
+</g>
+<g >
+<title>/21394 (174 samples, 0.02%)</title><rect x="775.1" y="197" width="0.2" height="15.0" fill="rgb(247,140,46)" rx="2" ry="2" />
+<text x="778.07" y="207.5" ></text>
+</g>
+<g >
+<title>/site-packages (251 samples, 0.03%)</title><rect x="1037.0" y="165" width="0.3" height="15.0" fill="rgb(239,119,37)" rx="2" ry="2" />
+<text x="1039.99" y="175.5" ></text>
+</g>
+<g >
+<title>/status (638 samples, 0.07%)</title><rect x="481.0" y="181" width="0.8" height="15.0" fill="rgb(233,122,30)" rx="2" ry="2" />
+<text x="483.99" y="191.5" ></text>
+</g>
+<g >
+<title>/transactions.db (270 samples, 0.03%)</title><rect x="42.3" y="165" width="0.3" height="15.0" fill="rgb(232,124,30)" rx="2" ry="2" />
+<text x="45.29" y="175.5" ></text>
+</g>
+<g >
+<title>/fontconfig (165 samples, 0.02%)</title><rect x="1170.3" y="181" width="0.2" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1173.34" y="191.5" ></text>
+</g>
+<g >
+<title>enter_lseek (129 samples, 0.01%)</title><rect x="1081.1" y="117" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1084.09" y="127.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (507 samples, 0.05%)</title><rect x="1175.4" y="149" width="0.6" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1178.39" y="159.5" ></text>
+</g>
+<g >
+<title>/system@8143294b6d9c492db274f426a1308d41-0000000000558f05-000623cd76e2050c.journal (87 samples, 0.01%)</title><rect x="1179.4" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.37" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="778.6" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="781.55" y="175.5" ></text>
+</g>
+<g >
+<title>enter_statx (134 samples, 0.01%)</title><rect x="877.0" y="213" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="879.97" y="223.5" ></text>
+</g>
+<g >
+<title> (150 samples, 0.02%)</title><rect x="1085.0" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1087.98" y="239.5" ></text>
+</g>
+<g >
+<title>/Vault (666 samples, 0.07%)</title><rect x="782.6" y="149" width="0.8" height="15.0" fill="rgb(228,125,25)" rx="2" ry="2" />
+<text x="785.62" y="159.5" ></text>
+</g>
+<g >
+<title>enter_close (136 samples, 0.01%)</title><rect x="880.3" y="213" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="883.35" y="223.5" ></text>
+</g>
+<g >
+<title>/.linuxbrew (454 samples, 0.05%)</title><rect x="35.4" y="181" width="0.6" height="15.0" fill="rgb(232,163,30)" rx="2" ry="2" />
+<text x="38.45" y="191.5" ></text>
+</g>
+<g >
+<title>/libz.a (136 samples, 0.01%)</title><rect x="38.7" y="53" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="41.71" y="63.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1177.1" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.05" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="750.9" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="753.89" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (747 samples, 0.08%)</title><rect x="545.3" y="133" width="1.0" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="548.34" y="143.5" ></text>
+</g>
+<g >
+<title>/libzstd.a (548 samples, 0.06%)</title><rect x="391.3" y="53" width="0.7" height="15.0" fill="rgb(237,99,36)" rx="2" ry="2" />
+<text x="394.31" y="63.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (157 samples, 0.02%)</title><rect x="776.2" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="779.17" y="239.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so.1 (106 samples, 0.01%)</title><rect x="1087.5" y="197" width="0.1" height="15.0" fill="rgb(235,99,33)" rx="2" ry="2" />
+<text x="1090.49" y="207.5" ></text>
+</g>
+<g >
+<title>.. (93 samples, 0.01%)</title><rect x="807.4" y="229" width="0.1" height="15.0" fill="rgb(240,161,38)" rx="2" ry="2" />
+<text x="810.40" y="239.5" ></text>
+</g>
+<g >
+<title>/debug (245 samples, 0.03%)</title><rect x="1189.7" y="181" width="0.3" height="15.0" fill="rgb(240,152,39)" rx="2" ry="2" />
+<text x="1192.68" y="191.5" ></text>
+</g>
+<g >
+<title>/tmp (215 samples, 0.02%)</title><rect x="1085.6" y="213" width="0.3" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1088.60" y="223.5" ></text>
+</g>
+<g >
+<title>org.videolan.VLC.Locale (98 samples, 0.01%)</title><rect x="314.8" y="229" width="0.2" height="15.0" fill="rgb(242,179,41)" rx="2" ry="2" />
+<text x="317.84" y="239.5" ></text>
+</g>
+<g >
+<title>/etilqs_4738201599cc599e (1,247 samples, 0.13%)</title><rect x="825.3" y="181" width="1.6" height="15.0" fill="rgb(244,138,43)" rx="2" ry="2" />
+<text x="828.34" y="191.5" ></text>
+</g>
+<g >
+<title>/etc (499 samples, 0.05%)</title><rect x="864.7" y="213" width="0.6" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="867.69" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="708.4" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="711.45" y="95.5" ></text>
+</g>
+<g >
+<title>/bin (1,886 samples, 0.20%)</title><rect x="143.0" y="197" width="2.3" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="146.02" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.stat (276 samples, 0.03%)</title><rect x="731.9" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="734.89" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="755.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="757.99" y="95.5" ></text>
+</g>
+<g >
+<title>/11 (106 samples, 0.01%)</title><rect x="620.3" y="197" width="0.2" height="15.0" fill="rgb(226,145,23)" rx="2" ry="2" />
+<text x="623.33" y="207.5" ></text>
+</g>
+<g >
+<title>/usr (279 samples, 0.03%)</title><rect x="1175.0" y="213" width="0.4" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1178.05" y="223.5" ></text>
+</g>
+<g >
+<title>/22 (107 samples, 0.01%)</title><rect x="1042.8" y="149" width="0.1" height="15.0" fill="rgb(240,137,39)" rx="2" ry="2" />
+<text x="1045.80" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="700.6" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="703.63" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="722.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="724.99" y="79.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (738 samples, 0.08%)</title><rect x="811.4" y="133" width="0.9" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="814.44" y="143.5" ></text>
+</g>
+<g >
+<title>/output (2,384 samples, 0.25%)</title><rect x="1093.8" y="117" width="2.9" height="15.0" fill="rgb(234,139,31)" rx="2" ry="2" />
+<text x="1096.79" y="127.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="715.7" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="718.74" y="95.5" ></text>
+</g>
+<g >
+<title>enter_write (10,792 samples, 1.12%)</title><rect x="201.6" y="133" width="13.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="204.57" y="143.5" ></text>
+</g>
+<g >
+<title>/extension (5,696 samples, 0.59%)</title><rect x="133.8" y="133" width="6.9" height="15.0" fill="rgb(247,163,46)" rx="2" ry="2" />
+<text x="136.78" y="143.5" ></text>
+</g>
+<g >
+<title>627559 (129 samples, 0.01%)</title><rect x="1142.2" y="245" width="0.2" height="15.0" fill="rgb(229,145,26)" rx="2" ry="2" />
+<text x="1145.24" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="687.2" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="690.16" y="95.5" ></text>
+</g>
+<g >
+<title>/home (868 samples, 0.09%)</title><rect x="782.6" y="213" width="1.0" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="785.57" y="223.5" ></text>
+</g>
+<g >
+<title>/16 (89 samples, 0.01%)</title><rect x="621.0" y="197" width="0.1" height="15.0" fill="rgb(234,129,32)" rx="2" ry="2" />
+<text x="624.01" y="207.5" ></text>
+</g>
+<g >
+<title>/44 (100 samples, 0.01%)</title><rect x="1046.9" y="149" width="0.1" height="15.0" fill="rgb(235,120,33)" rx="2" ry="2" />
+<text x="1049.88" y="159.5" ></text>
+</g>
+<g >
+<title>/ksm (116 samples, 0.01%)</title><rect x="1189.4" y="165" width="0.2" height="15.0" fill="rgb(226,111,23)" rx="2" ry="2" />
+<text x="1192.43" y="175.5" ></text>
+</g>
+<g >
+<title>/2d (90 samples, 0.01%)</title><rect x="1044.2" y="149" width="0.1" height="15.0" fill="rgb(240,130,39)" rx="2" ry="2" />
+<text x="1047.19" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (101 samples, 0.01%)</title><rect x="676.8" y="165" width="0.1" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="679.82" y="175.5" ></text>
+</g>
+<g >
+<title>/active (649 samples, 0.07%)</title><rect x="221.1" y="117" width="0.8" height="15.0" fill="rgb(238,118,36)" rx="2" ry="2" />
+<text x="224.14" y="127.5" ></text>
+</g>
+<g >
+<title> (403 samples, 0.04%)</title><rect x="336.2" y="229" width="0.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="339.20" y="239.5" ></text>
+</g>
+<g >
+<title>/share (16,749 samples, 1.73%)</title><rect x="840.5" y="197" width="20.5" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="843.50" y="207.5" ></text>
+</g>
+<g >
+<title>/games (120 samples, 0.01%)</title><rect x="1175.2" y="181" width="0.2" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="1178.24" y="191.5" ></text>
+</g>
+<g >
+<title>/x86_64 (311 samples, 0.03%)</title><rect x="240.9" y="133" width="0.3" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="243.86" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.low (282 samples, 0.03%)</title><rect x="712.6" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="715.59" y="95.5" ></text>
+</g>
+<g >
+<title>/24.08 (154 samples, 0.02%)</title><rect x="240.0" y="117" width="0.2" height="15.0" fill="rgb(233,130,30)" rx="2" ry="2" />
+<text x="243.05" y="127.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (580 samples, 0.06%)</title><rect x="486.0" y="181" width="0.7" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="489.02" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (272 samples, 0.03%)</title><rect x="707.8" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="710.78" y="95.5" ></text>
+</g>
+<g >
+<title>10865 (133 samples, 0.01%)</title><rect x="116.1" y="245" width="0.2" height="15.0" fill="rgb(233,112,31)" rx="2" ry="2" />
+<text x="119.10" y="255.5" ></text>
+</g>
+<g >
+<title>enter_lseek (109 samples, 0.01%)</title><rect x="1078.7" y="117" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1081.69" y="127.5" ></text>
+</g>
+<g >
+<title>enter_io_uring_enter (205 samples, 0.02%)</title><rect x="448.2" y="165" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="451.25" y="175.5" ></text>
+</g>
+<g >
+<title>/session.slice (1,715 samples, 0.18%)</title><rect x="763.2" y="117" width="2.1" height="15.0" fill="rgb(246,132,46)" rx="2" ry="2" />
+<text x="766.20" y="127.5" ></text>
+</g>
+<g >
+<title>enter_write (517 samples, 0.05%)</title><rect x="40.2" y="133" width="0.6" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="43.19" y="143.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (98 samples, 0.01%)</title><rect x="1077.2" y="117" width="0.2" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="1080.24" y="127.5" ></text>
+</g>
+<g >
+<title>/user-1001@000633f936b0103a-a2777a75a20b8db0.journal~ (87 samples, 0.01%)</title><rect x="1184.0" y="149" width="0.2" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1187.05" y="159.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.ffmpeg-full (307 samples, 0.03%)</title><rect x="240.5" y="149" width="0.4" height="15.0" fill="rgb(224,149,21)" rx="2" ry="2" />
+<text x="243.48" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="695.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="698.41" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (319 samples, 0.03%)</title><rect x="727.4" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="730.45" y="95.5" ></text>
+</g>
+<g >
+<title>/63 (84 samples, 0.01%)</title><rect x="1050.6" y="149" width="0.1" height="15.0" fill="rgb(234,113,32)" rx="2" ry="2" />
+<text x="1053.58" y="159.5" ></text>
+</g>
+<g >
+<title>/home (19,266 samples, 1.99%)</title><rect x="119.3" y="213" width="23.5" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="122.30" y="223.5" >/..</text>
+</g>
+<g >
+<title>deploy (3,711 samples, 0.38%)</title><rect x="302.0" y="229" width="4.6" height="15.0" fill="rgb(252,207,51)" rx="2" ry="2" />
+<text x="305.04" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="710.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="713.72" y="79.5" ></text>
+</g>
+<g >
+<title>/paul (315 samples, 0.03%)</title><rect x="461.6" y="197" width="0.4" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="464.57" y="207.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1083.7" y="85" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1086.74" y="95.5" ></text>
+</g>
+<g >
+<title>/18 (89 samples, 0.01%)</title><rect x="621.1" y="197" width="0.1" height="15.0" fill="rgb(231,122,29)" rx="2" ry="2" />
+<text x="624.12" y="207.5" ></text>
+</g>
+<g >
+<title>/libbpfgo (2,384 samples, 0.25%)</title><rect x="1093.8" y="133" width="2.9" height="15.0" fill="rgb(244,99,43)" rx="2" ry="2" />
+<text x="1096.79" y="143.5" ></text>
+</g>
+<g >
+<title>/64x64 (111 samples, 0.01%)</title><rect x="215.2" y="133" width="0.1" height="15.0" fill="rgb(240,110,39)" rx="2" ry="2" />
+<text x="218.21" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="696.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="699.86" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.current (282 samples, 0.03%)</title><rect x="726.4" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="729.43" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="726.1" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="729.11" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="705.0" y="69" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="708.05" y="79.5" ></text>
+</g>
+<g >
+<title>/home (186 samples, 0.02%)</title><rect x="340.4" y="213" width="0.3" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="343.43" y="223.5" ></text>
+</g>
+<g >
+<title>/.. (101 samples, 0.01%)</title><rect x="676.8" y="117" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="679.82" y="127.5" ></text>
+</g>
+<g >
+<title>/kernelnewbies (766 samples, 0.08%)</title><rect x="623.4" y="149" width="0.9" height="15.0" fill="rgb(237,117,36)" rx="2" ry="2" />
+<text x="626.40" y="159.5" ></text>
+</g>
+<g >
+<title>/09 (122 samples, 0.01%)</title><rect x="1039.8" y="149" width="0.1" height="15.0" fill="rgb(230,124,28)" rx="2" ry="2" />
+<text x="1042.78" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="688.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="691.17" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (2,015 samples, 0.21%)</title><rect x="1071.8" y="213" width="2.5" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1074.82" y="223.5" ></text>
+</g>
+<g >
+<title>/601294 (240 samples, 0.02%)</title><rect x="779.3" y="197" width="0.3" height="15.0" fill="rgb(247,123,47)" rx="2" ry="2" />
+<text x="782.34" y="207.5" ></text>
+</g>
+<g >
+<title>/lib (273 samples, 0.03%)</title><rect x="1037.0" y="197" width="0.3" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1039.97" y="207.5" ></text>
+</g>
+<g >
+<title>/var (8,910 samples, 0.92%)</title><rect x="1175.4" y="213" width="10.9" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="1178.39" y="223.5" ></text>
+</g>
+<g >
+<title>/meminfo (7,986 samples, 0.83%)</title><rect x="785.8" y="197" width="9.8" height="15.0" fill="rgb(248,107,47)" rx="2" ry="2" />
+<text x="788.83" y="207.5" ></text>
+</g>
+<g >
+<title>/home (130 samples, 0.01%)</title><rect x="805.2" y="213" width="0.1" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="808.15" y="223.5" ></text>
+</g>
+<g >
+<title>/input (2,525 samples, 0.26%)</title><rect x="29.7" y="197" width="3.1" height="15.0" fill="rgb(234,137,31)" rx="2" ry="2" />
+<text x="32.75" y="207.5" ></text>
+</g>
+<g >
+<title>enter_openat (193 samples, 0.02%)</title><rect x="629.5" y="213" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="632.47" y="223.5" ></text>
+</g>
+<g >
+<title>/io.github.seadve.Kooha.Locale (197 samples, 0.02%)</title><rect x="232.8" y="149" width="0.2" height="15.0" fill="rgb(242,134,41)" rx="2" ry="2" />
+<text x="235.79" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (102 samples, 0.01%)</title><rect x="231.4" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="234.35" y="143.5" ></text>
+</g>
+<g >
+<title>/flatpak (27,255 samples, 2.82%)</title><rect x="215.9" y="181" width="33.3" height="15.0" fill="rgb(230,158,27)" rx="2" ry="2" />
+<text x="218.90" y="191.5" >/f..</text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="760.7" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="763.72" y="95.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (89 samples, 0.01%)</title><rect x="767.8" y="213" width="0.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="770.82" y="223.5" ></text>
+</g>
+<g >
+<title>/scripts (221 samples, 0.02%)</title><rect x="37.2" y="181" width="0.2" height="15.0" fill="rgb(236,139,35)" rx="2" ry="2" />
+<text x="40.15" y="191.5" ></text>
+</g>
+<g >
+<title>/fonts (461 samples, 0.05%)</title><rect x="861.4" y="197" width="0.6" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="864.43" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="725.8" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="728.84" y="79.5" ></text>
+</g>
+<g >
+<title>/dev (9,219 samples, 0.95%)</title><rect x="448.2" y="213" width="11.3" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="451.20" y="223.5" ></text>
+</g>
+<g >
+<title>/.cache (214 samples, 0.02%)</title><rect x="865.3" y="181" width="0.3" height="15.0" fill="rgb(245,154,44)" rx="2" ry="2" />
+<text x="868.30" y="191.5" ></text>
+</g>
+<g >
+<title>/b4 (122 samples, 0.01%)</title><rect x="1060.3" y="149" width="0.1" height="15.0" fill="rgb(232,110,30)" rx="2" ry="2" />
+<text x="1063.30" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (8,048 samples, 0.83%)</title><rect x="448.5" y="165" width="9.8" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="451.50" y="175.5" ></text>
+</g>
+<g >
+<title>/card1 (15,904 samples, 1.65%)</title><rect x="10.3" y="181" width="19.4" height="15.0" fill="rgb(234,170,31)" rx="2" ry="2" />
+<text x="13.33" y="191.5" ></text>
+</g>
+<g >
+<title>enter_lseek (234 samples, 0.02%)</title><rect x="335.5" y="181" width="0.3" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="338.48" y="191.5" ></text>
+</g>
+<g >
+<title>/x86_64 (112 samples, 0.01%)</title><rect x="305.9" y="181" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="308.94" y="191.5" ></text>
+</g>
+<g >
+<title>/run (374 samples, 0.04%)</title><rect x="795.6" y="213" width="0.4" height="15.0" fill="rgb(243,124,41)" rx="2" ry="2" />
+<text x="798.58" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (269 samples, 0.03%)</title><rect x="744.4" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="747.38" y="95.5" ></text>
+</g>
+<g >
+<title>/24.08extra (177 samples, 0.02%)</title><rect x="235.2" y="117" width="0.2" height="15.0" fill="rgb(232,130,30)" rx="2" ry="2" />
+<text x="238.16" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (5,477 samples, 0.57%)</title><rect x="194.9" y="133" width="6.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="197.88" y="143.5" ></text>
+</g>
+<g >
+<title>600428 (131 samples, 0.01%)</title><rect x="782.4" y="245" width="0.1" height="15.0" fill="rgb(235,177,33)" rx="2" ry="2" />
+<text x="785.39" y="255.5" ></text>
+</g>
+<g >
+<title>/share (255 samples, 0.03%)</title><rect x="340.9" y="197" width="0.3" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="343.87" y="207.5" ></text>
+</g>
+<g >
+<title> (315 samples, 0.03%)</title><rect x="445.3" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="448.33" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="689.5" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="692.54" y="79.5" ></text>
+</g>
+<g >
+<title>/etc (585 samples, 0.06%)</title><rect x="768.7" y="213" width="0.7" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="771.66" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1178.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.35" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="734.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="737.16" y="79.5" ></text>
+</g>
+<g >
+<title> (878 samples, 0.09%)</title><rect x="869.3" y="229" width="1.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="872.35" y="239.5" ></text>
+</g>
+<g >
+<title>/x86_64 (101 samples, 0.01%)</title><rect x="231.9" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="234.88" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1177.2" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.16" y="143.5" ></text>
+</g>
+<g >
+<title>/59 (126 samples, 0.01%)</title><rect x="622.0" y="197" width="0.1" height="15.0" fill="rgb(225,99,22)" rx="2" ry="2" />
+<text x="624.99" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="746.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="748.96" y="79.5" ></text>
+</g>
+<g >
+<title>/be (98 samples, 0.01%)</title><rect x="1061.5" y="149" width="0.2" height="15.0" fill="rgb(234,107,32)" rx="2" ry="2" />
+<text x="1064.54" y="159.5" ></text>
+</g>
+<g >
+<title>/45 (89 samples, 0.01%)</title><rect x="242.4" y="117" width="0.1" height="15.0" fill="rgb(233,117,31)" rx="2" ry="2" />
+<text x="245.37" y="127.5" ></text>
+</g>
+<g >
+<title>/bin (595 samples, 0.06%)</title><rect x="119.3" y="165" width="0.7" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="122.30" y="175.5" ></text>
+</g>
+<g >
+<title>/metainfo (267 samples, 0.03%)</title><rect x="214.8" y="181" width="0.4" height="15.0" fill="rgb(248,107,47)" rx="2" ry="2" />
+<text x="217.84" y="191.5" ></text>
+</g>
+<g >
+<title>/b2 (107 samples, 0.01%)</title><rect x="1060.1" y="149" width="0.1" height="15.0" fill="rgb(236,117,34)" rx="2" ry="2" />
+<text x="1063.06" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (8,428 samples, 0.87%)</title><rect x="550.0" y="213" width="10.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="553.02" y="223.5" ></text>
+</g>
+<g >
+<title>6923 (608 samples, 0.06%)</title><rect x="1188.9" y="245" width="0.8" height="15.0" fill="rgb(240,181,38)" rx="2" ry="2" />
+<text x="1191.94" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="726.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="729.66" y="79.5" ></text>
+</g>
+<g >
+<title>/4f (90 samples, 0.01%)</title><rect x="1048.2" y="149" width="0.1" height="15.0" fill="rgb(235,114,33)" rx="2" ry="2" />
+<text x="1051.19" y="159.5" ></text>
+</g>
+<g >
+<title>/sysimage (105 samples, 0.01%)</title><rect x="796.0" y="181" width="0.2" height="15.0" fill="rgb(248,145,47)" rx="2" ry="2" />
+<text x="799.04" y="191.5" ></text>
+</g>
+<g >
+<title>/06 (108 samples, 0.01%)</title><rect x="1039.4" y="149" width="0.1" height="15.0" fill="rgb(235,134,34)" rx="2" ry="2" />
+<text x="1042.39" y="159.5" ></text>
+</g>
+<g >
+<title>5176 (97 samples, 0.01%)</title><rect x="765.5" y="245" width="0.1" height="15.0" fill="rgb(247,158,46)" rx="2" ry="2" />
+<text x="768.48" y="255.5" ></text>
+</g>
+<g >
+<title>/0f52621e4540863ee86b1fe26216fff78fefa1096f367079692344139228e474 (91 samples, 0.01%)</title><rect x="241.0" y="101" width="0.1" height="15.0" fill="rgb(248,134,48)" rx="2" ry="2" />
+<text x="244.03" y="111.5" ></text>
+</g>
+<g >
+<title>/fonts (494 samples, 0.05%)</title><rect x="1166.0" y="197" width="0.6" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="1169.02" y="207.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (588 samples, 0.06%)</title><rect x="777.4" y="229" width="0.7" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="780.39" y="239.5" ></text>
+</g>
+<g >
+<title>/paul (433 samples, 0.04%)</title><rect x="804.1" y="197" width="0.5" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="807.05" y="207.5" ></text>
+</g>
+<g >
+<title>/lib64 (101 samples, 0.01%)</title><rect x="676.8" y="69" width="0.1" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="679.82" y="79.5" ></text>
+</g>
+<g >
+<title>/94 (95 samples, 0.01%)</title><rect x="1056.5" y="149" width="0.1" height="15.0" fill="rgb(241,150,40)" rx="2" ry="2" />
+<text x="1059.50" y="159.5" ></text>
+</g>
+<g >
+<title>10877 (955 samples, 0.10%)</title><rect x="116.3" y="245" width="1.1" height="15.0" fill="rgb(240,112,39)" rx="2" ry="2" />
+<text x="119.27" y="255.5" ></text>
+</g>
+<g >
+<title>5588 (245 samples, 0.03%)</title><rect x="776.8" y="245" width="0.2" height="15.0" fill="rgb(239,134,38)" rx="2" ry="2" />
+<text x="779.75" y="255.5" ></text>
+</g>
+<g >
+<title>/15 (147 samples, 0.02%)</title><rect x="1175.0" y="149" width="0.2" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1178.05" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="762.0" y="85" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="765.05" y="95.5" ></text>
+</g>
+<g >
+<title>/.cache (25,267 samples, 2.61%)</title><rect x="1038.7" y="181" width="30.9" height="15.0" fill="rgb(245,154,44)" rx="2" ry="2" />
+<text x="1041.73" y="191.5" >/...</text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.NautilusPreviewer.slice (1,635 samples, 0.17%)</title><rect x="720.4" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="723.43" y="111.5" ></text>
+</g>
+<g >
+<title>pipe:[1148912] (117 samples, 0.01%)</title><rect x="660.0" y="229" width="0.2" height="15.0" fill="rgb(242,170,41)" rx="2" ry="2" />
+<text x="663.02" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (293 samples, 0.03%)</title><rect x="680.0" y="213" width="0.4" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="683.04" y="223.5" ></text>
+</g>
+<g >
+<title>/proc (2,412 samples, 0.25%)</title><rect x="778.2" y="213" width="3.0" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="781.23" y="223.5" ></text>
+</g>
+<g >
+<title>/ff (107 samples, 0.01%)</title><rect x="1069.4" y="149" width="0.2" height="15.0" fill="rgb(240,139,39)" rx="2" ry="2" />
+<text x="1072.43" y="159.5" ></text>
+</g>
+<g >
+<title>/conf.d (483 samples, 0.05%)</title><rect x="864.7" y="181" width="0.6" height="15.0" fill="rgb(248,164,47)" rx="2" ry="2" />
+<text x="867.69" y="191.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Screenshot.slice (1,628 samples, 0.17%)</title><rect x="728.5" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="731.51" y="111.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="734.0" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="736.99" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="743.0" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="745.99" y="95.5" ></text>
+</g>
+<g >
+<title>/fontconfig (1,396 samples, 0.14%)</title><rect x="1167.3" y="181" width="1.7" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1170.33" y="191.5" ></text>
+</g>
+<g >
+<title>/lib64 (330 samples, 0.03%)</title><rect x="1089.4" y="213" width="0.4" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1092.40" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (164 samples, 0.02%)</title><rect x="1074.6" y="213" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1077.57" y="223.5" ></text>
+</g>
+<g >
+<title>/user.slice (375 samples, 0.04%)</title><rect x="622.4" y="165" width="0.5" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="625.42" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (186 samples, 0.02%)</title><rect x="679.0" y="213" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="682.03" y="223.5" ></text>
+</g>
+<g >
+<title>enter_pwrite64 (229 samples, 0.02%)</title><rect x="813.2" y="149" width="0.3" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="816.19" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstatat (127 samples, 0.01%)</title><rect x="815.3" y="149" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="818.27" y="159.5" ></text>
+</g>
+<g >
+<title>/PNP0C0A:00 (146 samples, 0.02%)</title><rect x="775.9" y="101" width="0.2" height="15.0" fill="rgb(229,139,27)" rx="2" ry="2" />
+<text x="778.95" y="111.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dio.github.kotatogram.slice (1,628 samples, 0.17%)</title><rect x="696.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="699.00" y="111.5" ></text>
+</g>
+<g >
+<title>/proselint (316 samples, 0.03%)</title><rect x="872.1" y="165" width="0.4" height="15.0" fill="rgb(238,144,36)" rx="2" ry="2" />
+<text x="875.09" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="718.4" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="721.44" y="95.5" ></text>
+</g>
+<g >
+<title>enter_mmap (83 samples, 0.01%)</title><rect x="877.9" y="213" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="880.94" y="223.5" ></text>
+</g>
+<g >
+<title>11077 (137 samples, 0.01%)</title><rect x="331.1" y="245" width="0.1" height="15.0" fill="rgb(246,132,45)" rx="2" ry="2" />
+<text x="334.07" y="255.5" ></text>
+</g>
+<g >
+<title>/linuxbrew (248 samples, 0.03%)</title><rect x="674.2" y="197" width="0.3" height="15.0" fill="rgb(232,99,30)" rx="2" ry="2" />
+<text x="677.25" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="756.0" y="69" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="759.04" y="79.5" ></text>
+</g>
+<g >
+<title>/ (185 samples, 0.02%)</title><rect x="767.3" y="165" width="0.2" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2" />
+<text x="770.25" y="175.5" ></text>
+</g>
+<g >
+<title>/.config (572 samples, 0.06%)</title><rect x="116.3" y="181" width="0.7" height="15.0" fill="rgb(239,154,37)" rx="2" ry="2" />
+<text x="119.30" y="191.5" ></text>
+</g>
+<g >
+<title>627131 (2,332 samples, 0.24%)</title><rect x="832.3" y="245" width="2.8" height="15.0" fill="rgb(230,145,28)" rx="2" ry="2" />
+<text x="835.30" y="255.5" ></text>
+</g>
+<g >
+<title>/dev (38,725 samples, 4.01%)</title><rect x="343.6" y="213" width="47.3" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="346.58" y="223.5" >/dev</text>
+</g>
+<g >
+<title>/sys (208 samples, 0.02%)</title><rect x="1189.3" y="213" width="0.3" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="1192.32" y="223.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (2,023 samples, 0.21%)</title><rect x="32.9" y="197" width="2.5" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="35.94" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (114 samples, 0.01%)</title><rect x="1182.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1185.85" y="143.5" ></text>
+</g>
+<g >
+<title> (100 samples, 0.01%)</title><rect x="115.9" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="118.90" y="239.5" ></text>
+</g>
+<g >
+<title>com.belmoussaoui.ReadItLater.Locale (103 samples, 0.01%)</title><rect x="299.3" y="229" width="0.1" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="302.28" y="239.5" ></text>
+</g>
+<g >
+<title>org.freedesktop.Platform.VAAPI.Intel (100 samples, 0.01%)</title><rect x="311.0" y="229" width="0.2" height="15.0" fill="rgb(233,179,31)" rx="2" ry="2" />
+<text x="314.05" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1184.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.64" y="143.5" ></text>
+</g>
+<g >
+<title>/wallpaper-clock-d79261e7f939791e254926a69b825364.jpg (2,125 samples, 0.22%)</title><rect x="837.6" y="133" width="2.6" height="15.0" fill="rgb(240,125,39)" rx="2" ry="2" />
+<text x="840.61" y="143.5" ></text>
+</g>
+<g >
+<title>/59 (1,450 samples, 0.15%)</title><rect x="481.8" y="197" width="1.7" height="15.0" fill="rgb(225,99,22)" rx="2" ry="2" />
+<text x="484.77" y="207.5" ></text>
+</g>
+<g >
+<title>/451c975916dc4536919a44482a914925 (8,178 samples, 0.85%)</title><rect x="1176.2" y="165" width="10.0" height="15.0" fill="rgb(236,117,35)" rx="2" ry="2" />
+<text x="1179.19" y="175.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (24,742 samples, 2.56%)</title><rect x="629.7" y="229" width="30.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="632.71" y="239.5" >an..</text>
+</g>
+<g >
+<title>/fedora (100 samples, 0.01%)</title><rect x="230.9" y="117" width="0.1" height="15.0" fill="rgb(236,142,34)" rx="2" ry="2" />
+<text x="233.86" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="758.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="761.66" y="79.5" ></text>
+</g>
+<g >
+<title>/622134 (128 samples, 0.01%)</title><rect x="799.7" y="197" width="0.2" height="15.0" fill="rgb(243,117,41)" rx="2" ry="2" />
+<text x="802.73" y="207.5" ></text>
+</g>
+<g >
+<title>enter_close (1,105 samples, 0.11%)</title><rect x="317.9" y="213" width="1.3" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="320.86" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="694.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="697.00" y="95.5" ></text>
+</g>
+<g >
+<title>/c8 (107 samples, 0.01%)</title><rect x="1062.8" y="149" width="0.2" height="15.0" fill="rgb(236,148,35)" rx="2" ry="2" />
+<text x="1065.84" y="159.5" ></text>
+</g>
+<g >
+<title>371837 (555 samples, 0.06%)</title><rect x="680.8" y="245" width="0.7" height="15.0" fill="rgb(233,218,30)" rx="2" ry="2" />
+<text x="683.78" y="255.5" ></text>
+</g>
+<g >
+<title> (66,822 samples, 6.91%)</title><rect x="683.8" y="229" width="81.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="686.83" y="239.5" ></text>
+</g>
+<g >
+<title>/share (436 samples, 0.05%)</title><rect x="101.4" y="197" width="0.5" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="104.36" y="207.5" ></text>
+</g>
+<g >
+<title> (39,511 samples, 4.09%)</title><rect x="1093.6" y="229" width="48.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1096.59" y="239.5" ></text>
+</g>
+<g >
+<title>enter_io_uring_enter (458 samples, 0.05%)</title><rect x="466.2" y="213" width="0.6" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="469.22" y="223.5" ></text>
+</g>
+<g >
+<title>/proc (455 samples, 0.05%)</title><rect x="682.6" y="213" width="0.5" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="685.56" y="223.5" ></text>
+</g>
+<g >
+<title>/lib64 (21,728 samples, 2.25%)</title><rect x="1114.7" y="69" width="26.5" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1117.72" y="79.5" >/..</text>
+</g>
+<g >
+<title>/user-1001@38ed2805b6204d9b80417a97296c48b0-0000000000549498-0006232fccb2c5a8.journal (85 samples, 0.01%)</title><rect x="1184.6" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1187.64" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="689.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="692.87" y="79.5" ></text>
+</g>
+<g >
+<title>/x86_64 (192 samples, 0.02%)</title><rect x="304.8" y="181" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="307.78" y="191.5" ></text>
+</g>
+<g >
+<title>/etc (498 samples, 0.05%)</title><rect x="1166.0" y="213" width="0.6" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="1169.02" y="223.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (115 samples, 0.01%)</title><rect x="823.6" y="149" width="0.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="826.58" y="159.5" ></text>
+</g>
+<g >
+<title>/19 (149 samples, 0.02%)</title><rect x="621.2" y="197" width="0.2" height="15.0" fill="rgb(229,119,27)" rx="2" ry="2" />
+<text x="624.23" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="719.1" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="722.08" y="95.5" ></text>
+</g>
+<g >
+<title>/98 (102 samples, 0.01%)</title><rect x="1056.9" y="149" width="0.2" height="15.0" fill="rgb(234,138,32)" rx="2" ry="2" />
+<text x="1059.94" y="159.5" ></text>
+</g>
+<g >
+<title>/Microsoft (388 samples, 0.04%)</title><rect x="835.3" y="165" width="0.5" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="838.29" y="175.5" ></text>
+</g>
+<g >
+<title>/lib64 (432 samples, 0.04%)</title><rect x="331.6" y="213" width="0.5" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="334.60" y="223.5" ></text>
+</g>
+<g >
+<title>run (157 samples, 0.02%)</title><rect x="834.8" y="229" width="0.2" height="15.0" fill="rgb(243,156,41)" rx="2" ry="2" />
+<text x="837.77" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="736.3" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="739.26" y="95.5" ></text>
+</g>
+<g >
+<title>/law (726 samples, 0.08%)</title><rect x="796.2" y="149" width="0.9" height="15.0" fill="rgb(229,125,26)" rx="2" ry="2" />
+<text x="799.17" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (325 samples, 0.03%)</title><rect x="705.0" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="707.99" y="95.5" ></text>
+</g>
+<g >
+<title>/fedora (83 samples, 0.01%)</title><rect x="221.0" y="149" width="0.1" height="15.0" fill="rgb(236,142,34)" rx="2" ry="2" />
+<text x="224.03" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="715.2" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="718.24" y="79.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (371 samples, 0.04%)</title><rect x="768.0" y="229" width="0.4" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="770.99" y="239.5" ></text>
+</g>
+<g >
+<title>627379 (1,462 samples, 0.15%)</title><rect x="875.8" y="245" width="1.8" height="15.0" fill="rgb(240,145,39)" rx="2" ry="2" />
+<text x="878.83" y="255.5" ></text>
+</g>
+<g >
+<title>/sys (66,710 samples, 6.90%)</title><rect x="683.8" y="213" width="81.5" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="686.84" y="223.5" >/sys</text>
+</g>
+<g >
+<title>enter_lseek (1,225 samples, 0.13%)</title><rect x="1093.8" y="69" width="1.5" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1096.80" y="79.5" ></text>
+</g>
+<g >
+<title>/1d (103 samples, 0.01%)</title><rect x="1042.2" y="149" width="0.1" height="15.0" fill="rgb(241,135,40)" rx="2" ry="2" />
+<text x="1045.18" y="159.5" ></text>
+</g>
+<g >
+<title>socket:[1149478] (82 samples, 0.01%)</title><rect x="397.6" y="229" width="0.1" height="15.0" fill="rgb(243,175,42)" rx="2" ry="2" />
+<text x="400.64" y="239.5" ></text>
+</g>
+<g >
+<title>org.gnome.Platform (117 samples, 0.01%)</title><rect x="312.4" y="229" width="0.2" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="315.42" y="239.5" ></text>
+</g>
+<g >
+<title>/2f (88 samples, 0.01%)</title><rect x="1044.4" y="149" width="0.1" height="15.0" fill="rgb(237,124,35)" rx="2" ry="2" />
+<text x="1047.43" y="159.5" ></text>
+</g>
+<g >
+<title>/dc (83 samples, 0.01%)</title><rect x="1065.2" y="149" width="0.1" height="15.0" fill="rgb(230,159,28)" rx="2" ry="2" />
+<text x="1068.21" y="159.5" ></text>
+</g>
+<g >
+<title>/computers (417 samples, 0.04%)</title><rect x="101.4" y="149" width="0.5" height="15.0" fill="rgb(238,164,36)" rx="2" ry="2" />
+<text x="104.38" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="755.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="758.21" y="79.5" ></text>
+</g>
+<g >
+<title>/db (108 samples, 0.01%)</title><rect x="1065.1" y="149" width="0.1" height="15.0" fill="rgb(232,162,30)" rx="2" ry="2" />
+<text x="1068.08" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="752.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="755.82" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (732 samples, 0.08%)</title><rect x="1085.9" y="213" width="0.9" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1088.86" y="223.5" ></text>
+</g>
+<g >
+<title>/dev (18,520 samples, 1.92%)</title><rect x="10.3" y="213" width="22.6" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="13.33" y="223.5" >/..</text>
+</g>
+<g >
+<title>/share (4,700 samples, 0.49%)</title><rect x="542.1" y="197" width="5.7" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="545.06" y="207.5" ></text>
+</g>
+<g >
+<title>enter_lseek (98 samples, 0.01%)</title><rect x="1092.4" y="37" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1095.43" y="47.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (136 samples, 0.01%)</title><rect x="800.9" y="229" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="803.88" y="239.5" ></text>
+</g>
+<g >
+<title>/ca (89 samples, 0.01%)</title><rect x="1063.1" y="149" width="0.1" height="15.0" fill="rgb(235,170,33)" rx="2" ry="2" />
+<text x="1066.10" y="159.5" ></text>
+</g>
+<g >
+<title>/lib64 (122 samples, 0.01%)</title><rect x="541.9" y="69" width="0.1" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="544.87" y="79.5" ></text>
+</g>
+<g >
+<title>/system@00063555eacaf935-a867d511da51b81a.journal~ (85 samples, 0.01%)</title><rect x="1177.8" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.79" y="159.5" ></text>
+</g>
+<g >
+<title>/dev (112 samples, 0.01%)</title><rect x="1093.6" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="1096.59" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (115 samples, 0.01%)</title><rect x="342.0" y="181" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="345.05" y="191.5" ></text>
+</g>
+<g >
+<title>/18 (96 samples, 0.01%)</title><rect x="1041.6" y="149" width="0.1" height="15.0" fill="rgb(231,122,29)" rx="2" ry="2" />
+<text x="1044.58" y="159.5" ></text>
+</g>
+<g >
+<title>/ec (123 samples, 0.01%)</title><rect x="1067.2" y="149" width="0.1" height="15.0" fill="rgb(229,154,26)" rx="2" ry="2" />
+<text x="1070.17" y="159.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (318 samples, 0.03%)</title><rect x="541.5" y="197" width="0.3" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="544.46" y="207.5" ></text>
+</g>
+<g >
+<title>io.github.btpf.alexandria (92 samples, 0.01%)</title><rect x="307.8" y="229" width="0.1" height="15.0" fill="rgb(232,152,29)" rx="2" ry="2" />
+<text x="310.83" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="690.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="693.20" y="79.5" ></text>
+</g>
+<g >
+<title>enter_mmap (128 samples, 0.01%)</title><rect x="1186.3" y="213" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1189.27" y="223.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (87 samples, 0.01%)</title><rect x="1093.3" y="197" width="0.1" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1096.29" y="207.5" ></text>
+</g>
+<g >
+<title>/PackageKit (507 samples, 0.05%)</title><rect x="1175.4" y="181" width="0.6" height="15.0" fill="rgb(235,155,33)" rx="2" ry="2" />
+<text x="1178.39" y="191.5" ></text>
+</g>
+<g >
+<title>/system@0aea203ba61848c3941e879d6c338702-00000000004cfaec-00061dc3f1357407.journal (93 samples, 0.01%)</title><rect x="1177.9" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1180.89" y="159.5" ></text>
+</g>
+<g >
+<title>org.freedesktop.Platform (120 samples, 0.01%)</title><rect x="311.4" y="229" width="0.1" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="314.36" y="239.5" ></text>
+</g>
+<g >
+<title>/03 (92 samples, 0.01%)</title><rect x="1076.6" y="149" width="0.1" height="15.0" fill="rgb(241,144,39)" rx="2" ry="2" />
+<text x="1079.55" y="159.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Sdk.Locale (173 samples, 0.02%)</title><rect x="241.7" y="149" width="0.2" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="244.73" y="159.5" ></text>
+</g>
+<g >
+<title>/proc (462 samples, 0.05%)</title><rect x="808.3" y="213" width="0.6" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="811.32" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="715.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="718.63" y="79.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform (239 samples, 0.02%)</title><rect x="241.4" y="149" width="0.3" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="244.38" y="159.5" ></text>
+</g>
+<g >
+<title>/cgroup (1,155 samples, 0.12%)</title><rect x="784.4" y="181" width="1.4" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="787.42" y="191.5" ></text>
+</g>
+<g >
+<title>/122 (107 samples, 0.01%)</title><rect x="620.5" y="197" width="0.1" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="623.46" y="207.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so (244 samples, 0.03%)</title><rect x="1088.5" y="133" width="0.3" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1091.48" y="143.5" ></text>
+</g>
+<g >
+<title>/user@0.service (1,677 samples, 0.17%)</title><rect x="685.9" y="133" width="2.0" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="688.90" y="143.5" ></text>
+</g>
+<g >
+<title>/com.jgraph.drawio.desktop (104 samples, 0.01%)</title><rect x="217.0" y="149" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="219.97" y="159.5" ></text>
+</g>
+<g >
+<title>/86 (103 samples, 0.01%)</title><rect x="1054.8" y="149" width="0.1" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1057.76" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="686.9" y="101" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="689.89" y="111.5" ></text>
+</g>
+<g >
+<title>/com.skype.Client (103 samples, 0.01%)</title><rect x="217.3" y="149" width="0.1" height="15.0" fill="rgb(241,164,39)" rx="2" ry="2" />
+<text x="220.25" y="159.5" ></text>
+</g>
+<g >
+<title>/app.slice (1,677 samples, 0.17%)</title><rect x="685.9" y="117" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="688.90" y="127.5" ></text>
+</g>
+<g >
+<title>/run (114 samples, 0.01%)</title><rect x="808.9" y="213" width="0.1" height="15.0" fill="rgb(243,124,41)" rx="2" ry="2" />
+<text x="811.88" y="223.5" ></text>
+</g>
+<g >
+<title>/52 (98 samples, 0.01%)</title><rect x="1048.6" y="149" width="0.1" height="15.0" fill="rgb(237,122,35)" rx="2" ry="2" />
+<text x="1051.56" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (91 samples, 0.01%)</title><rect x="723.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="725.97" y="79.5" ></text>
+</g>
+<g >
+<title>/lib64 (35,331 samples, 3.66%)</title><rect x="145.3" y="69" width="43.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="148.33" y="79.5" >/lib64</text>
+</g>
+<g >
+<title>/memory.low (276 samples, 0.03%)</title><rect x="710.5" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="713.50" y="95.5" ></text>
+</g>
+<g >
+<title>/mod (1,043 samples, 0.11%)</title><rect x="1069.8" y="149" width="1.3" height="15.0" fill="rgb(253,113,53)" rx="2" ry="2" />
+<text x="1072.81" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (4,564 samples, 0.47%)</title><rect x="101.9" y="213" width="5.6" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="104.89" y="223.5" ></text>
+</g>
+<g >
+<title>/95 (101 samples, 0.01%)</title><rect x="1056.6" y="149" width="0.1" height="15.0" fill="rgb(239,147,38)" rx="2" ry="2" />
+<text x="1059.62" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (2,465 samples, 0.26%)</title><rect x="466.8" y="213" width="3.0" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="469.78" y="223.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.GL.default (292 samples, 0.03%)</title><rect x="304.0" y="197" width="0.4" height="15.0" fill="rgb(228,149,25)" rx="2" ry="2" />
+<text x="307.03" y="207.5" ></text>
+</g>
+<g >
+<title>org.fedoraproject.Platform (105 samples, 0.01%)</title><rect x="310.4" y="229" width="0.1" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="313.35" y="239.5" ></text>
+</g>
+<g >
+<title>/renderD128 (602 samples, 0.06%)</title><rect x="618.1" y="181" width="0.7" height="15.0" fill="rgb(237,137,35)" rx="2" ry="2" />
+<text x="621.07" y="191.5" ></text>
+</g>
+<g >
+<title>/flatpak (132 samples, 0.01%)</title><rect x="38.1" y="181" width="0.1" height="15.0" fill="rgb(230,158,27)" rx="2" ry="2" />
+<text x="41.08" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="703.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="706.67" y="95.5" ></text>
+</g>
+<g >
+<title>/devices (146 samples, 0.02%)</title><rect x="775.9" y="197" width="0.2" height="15.0" fill="rgb(242,152,40)" rx="2" ry="2" />
+<text x="778.95" y="207.5" ></text>
+</g>
+<g >
+<title>enter_mmap (971 samples, 0.10%)</title><rect x="1173.8" y="181" width="1.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1176.75" y="191.5" ></text>
+</g>
+<g >
+<title>/5.15-24.08 (92 samples, 0.01%)</title><rect x="247.3" y="117" width="0.1" height="15.0" fill="rgb(233,96,30)" rx="2" ry="2" />
+<text x="250.32" y="127.5" ></text>
+</g>
+<g >
+<title>627594 (762 samples, 0.08%)</title><rect x="1142.8" y="245" width="1.0" height="15.0" fill="rgb(245,145,44)" rx="2" ry="2" />
+<text x="1145.83" y="255.5" ></text>
+</g>
+<g >
+<title>/paul (230 samples, 0.02%)</title><rect x="1166.6" y="197" width="0.3" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1169.63" y="207.5" ></text>
+</g>
+<g >
+<title>/usr (114 samples, 0.01%)</title><rect x="1086.9" y="213" width="0.2" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1089.95" y="223.5" ></text>
+</g>
+<g >
+<title>/0e (95 samples, 0.01%)</title><rect x="1040.4" y="149" width="0.2" height="15.0" fill="rgb(241,137,39)" rx="2" ry="2" />
+<text x="1043.44" y="159.5" ></text>
+</g>
+<g >
+<title>/bin (550 samples, 0.06%)</title><rect x="188.5" y="181" width="0.7" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="191.49" y="191.5" ></text>
+</g>
+<g >
+<title>/shadow (96 samples, 0.01%)</title><rect x="768.9" y="197" width="0.1" height="15.0" fill="rgb(235,122,33)" rx="2" ry="2" />
+<text x="771.89" y="207.5" ></text>
+</g>
+<g >
+<title>enter_lseek (116 samples, 0.01%)</title><rect x="480.1" y="165" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="483.14" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="751.2" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="754.22" y="95.5" ></text>
+</g>
+<g >
+<title>com.github.suzie97.communique.Locale (97 samples, 0.01%)</title><rect x="300.3" y="229" width="0.1" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="303.28" y="239.5" ></text>
+</g>
+<g >
+<title>enter_getdents64 (2,236 samples, 0.23%)</title><rect x="322.1" y="213" width="2.7" height="15.0" fill="rgb(235,196,33)" rx="2" ry="2" />
+<text x="325.10" y="223.5" ></text>
+</g>
+<g >
+<title>enter_getdents64 (282 samples, 0.03%)</title><rect x="248.5" y="149" width="0.4" height="15.0" fill="rgb(235,196,33)" rx="2" ry="2" />
+<text x="251.55" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (272 samples, 0.03%)</title><rect x="99.2" y="149" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="102.19" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="742.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="745.21" y="79.5" ></text>
+</g>
+<g >
+<title>/pack (152 samples, 0.02%)</title><rect x="872.8" y="197" width="0.2" height="15.0" fill="rgb(242,160,40)" rx="2" ry="2" />
+<text x="875.79" y="207.5" ></text>
+</g>
+<g >
+<title>/2a (87 samples, 0.01%)</title><rect x="1043.8" y="149" width="0.2" height="15.0" fill="rgb(228,140,25)" rx="2" ry="2" />
+<text x="1046.85" y="159.5" ></text>
+</g>
+<g >
+<title>/21 (90 samples, 0.01%)</title><rect x="1042.7" y="149" width="0.1" height="15.0" fill="rgb(225,140,22)" rx="2" ry="2" />
+<text x="1045.69" y="159.5" ></text>
+</g>
+<g >
+<title>/journal (86 samples, 0.01%)</title><rect x="777.2" y="181" width="0.1" height="15.0" fill="rgb(229,128,27)" rx="2" ry="2" />
+<text x="780.17" y="191.5" ></text>
+</g>
+<g >
+<title>/user-0.slice (100 samples, 0.01%)</title><rect x="445.5" y="149" width="0.1" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="448.49" y="159.5" ></text>
+</g>
+<g >
+<title>/video3 (203 samples, 0.02%)</title><rect x="619.9" y="197" width="0.3" height="15.0" fill="rgb(248,104,48)" rx="2" ry="2" />
+<text x="622.95" y="207.5" ></text>
+</g>
+<g >
+<title>/history.sqlite (1,420 samples, 0.15%)</title><rect x="823.5" y="165" width="1.8" height="15.0" fill="rgb(240,119,38)" rx="2" ry="2" />
+<text x="826.53" y="175.5" ></text>
+</g>
+<g >
+<title> (86 samples, 0.01%)</title><rect x="874.5" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="877.48" y="239.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (1,309 samples, 0.14%)</title><rect x="772.7" y="165" width="1.6" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="775.71" y="175.5" ></text>
+</g>
+<g >
+<title> (9,694 samples, 1.00%)</title><rect x="476.4" y="229" width="11.8" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="479.39" y="239.5" ></text>
+</g>
+<g >
+<title>/5.15-24.08 (87 samples, 0.01%)</title><rect x="247.0" y="117" width="0.1" height="15.0" fill="rgb(233,96,30)" rx="2" ry="2" />
+<text x="250.04" y="127.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="724.4" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="727.43" y="95.5" ></text>
+</g>
+<g >
+<title>/27 (84 samples, 0.01%)</title><rect x="1043.5" y="149" width="0.1" height="15.0" fill="rgb(232,121,29)" rx="2" ry="2" />
+<text x="1046.46" y="159.5" ></text>
+</g>
+<g >
+<title>/dev (254 samples, 0.03%)</title><rect x="673.9" y="213" width="0.3" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="676.93" y="223.5" ></text>
+</g>
+<g >
+<title>enter_openat (117 samples, 0.01%)</title><rect x="335.9" y="181" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="338.91" y="191.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Shotwell (98 samples, 0.01%)</title><rect x="220.0" y="149" width="0.1" height="15.0" fill="rgb(227,149,24)" rx="2" ry="2" />
+<text x="223.03" y="159.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so.1 (106 samples, 0.01%)</title><rect x="1091.8" y="197" width="0.1" height="15.0" fill="rgb(235,99,33)" rx="2" ry="2" />
+<text x="1094.81" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (1,283 samples, 0.13%)</title><rect x="324.8" y="213" width="1.6" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="327.84" y="223.5" ></text>
+</g>
+<g >
+<title>/go-build (25,267 samples, 2.61%)</title><rect x="1038.7" y="165" width="30.9" height="15.0" fill="rgb(238,144,37)" rx="2" ry="2" />
+<text x="1041.73" y="175.5" >/g..</text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (108 samples, 0.01%)</title><rect x="782.4" y="229" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="785.41" y="239.5" ></text>
+</g>
+<g >
+<title>/user-1001@00062a295de09090-a16240f245e1fdba.journal~ (86 samples, 0.01%)</title><rect x="1183.4" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.41" y="159.5" ></text>
+</g>
+<g >
+<title>/sysimage (2,820 samples, 0.29%)</title><rect x="809.0" y="181" width="3.5" height="15.0" fill="rgb(248,145,47)" rx="2" ry="2" />
+<text x="812.04" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1179.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.59" y="143.5" ></text>
+</g>
+<g >
+<title> (845 samples, 0.09%)</title><rect x="116.3" y="229" width="1.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="119.27" y="239.5" ></text>
+</g>
+<g >
+<title>/ab (92 samples, 0.01%)</title><rect x="1059.2" y="149" width="0.1" height="15.0" fill="rgb(223,122,20)" rx="2" ry="2" />
+<text x="1062.22" y="159.5" ></text>
+</g>
+<g >
+<title>.git (97 samples, 0.01%)</title><rect x="874.6" y="229" width="0.1" height="15.0" fill="rgb(233,132,30)" rx="2" ry="2" />
+<text x="877.58" y="239.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (1,941 samples, 0.20%)</title><rect x="827.3" y="229" width="2.3" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="830.26" y="239.5" ></text>
+</g>
+<g >
+<title>enter_openat (107 samples, 0.01%)</title><rect x="617.9" y="165" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="620.94" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="746.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="749.61" y="79.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (492 samples, 0.05%)</title><rect x="1081.7" y="197" width="0.6" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1084.71" y="207.5" ></text>
+</g>
+<g >
+<title>5266 (871 samples, 0.09%)</title><rect x="774.7" y="245" width="1.0" height="15.0" fill="rgb(235,156,33)" rx="2" ry="2" />
+<text x="777.67" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="735.6" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="738.57" y="95.5" ></text>
+</g>
+<g >
+<title>/a5 (95 samples, 0.01%)</title><rect x="1058.5" y="149" width="0.1" height="15.0" fill="rgb(232,112,29)" rx="2" ry="2" />
+<text x="1061.53" y="159.5" ></text>
+</g>
+<g >
+<title>/a0 (112 samples, 0.01%)</title><rect x="1057.9" y="149" width="0.1" height="15.0" fill="rgb(223,128,20)" rx="2" ry="2" />
+<text x="1060.88" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="708.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="711.34" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="761.8" y="101" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="764.82" y="111.5" ></text>
+</g>
+<g >
+<title>enter_write (1,380 samples, 0.14%)</title><rect x="333.4" y="213" width="1.7" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="336.44" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (117 samples, 0.01%)</title><rect x="335.8" y="181" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="338.77" y="191.5" ></text>
+</g>
+<g >
+<title>/b1 (92 samples, 0.01%)</title><rect x="1059.9" y="149" width="0.2" height="15.0" fill="rgb(220,120,17)" rx="2" ry="2" />
+<text x="1062.95" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1176.9" y="133" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1179.95" y="143.5" ></text>
+</g>
+<g >
+<title>/f8 (84 samples, 0.01%)</title><rect x="1068.6" y="149" width="0.1" height="15.0" fill="rgb(233,133,31)" rx="2" ry="2" />
+<text x="1071.64" y="159.5" ></text>
+</g>
+<g >
+<title>16773 (570 samples, 0.06%)</title><rect x="444.6" y="245" width="0.7" height="15.0" fill="rgb(248,84,47)" rx="2" ry="2" />
+<text x="447.63" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="724.1" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="727.11" y="95.5" ></text>
+</g>
+<g >
+<title>/x86_64 (105 samples, 0.01%)</title><rect x="231.6" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="234.61" y="143.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="707.1" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="710.11" y="79.5" ></text>
+</g>
+<g >
+<title>/paul (758 samples, 0.08%)</title><rect x="870.5" y="197" width="0.9" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="873.50" y="207.5" ></text>
+</g>
+<g >
+<title>/smaps (128 samples, 0.01%)</title><rect x="799.7" y="181" width="0.2" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="802.73" y="191.5" ></text>
+</g>
+<g >
+<title>/dev (92 samples, 0.01%)</title><rect x="777.0" y="213" width="0.2" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="780.05" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="756.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="759.59" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="727.1" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="730.11" y="95.5" ></text>
+</g>
+<g >
+<title> (5,029 samples, 0.52%)</title><rect x="1076.3" y="229" width="6.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1079.31" y="239.5" ></text>
+</g>
+<g >
+<title>6738 (10,526 samples, 1.09%)</title><rect x="1173.8" y="245" width="12.8" height="15.0" fill="rgb(231,188,29)" rx="2" ry="2" />
+<text x="1176.75" y="255.5" ></text>
+</g>
+<g >
+<title>org.kde.Platform.Locale (97 samples, 0.01%)</title><rect x="313.3" y="229" width="0.2" height="15.0" fill="rgb(242,179,41)" rx="2" ry="2" />
+<text x="316.35" y="239.5" ></text>
+</g>
+<g >
+<title>enter_mmap (86 samples, 0.01%)</title><rect x="776.5" y="181" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="779.46" y="191.5" ></text>
+</g>
+<g >
+<title>enter_write (1,335 samples, 0.14%)</title><rect x="329.4" y="213" width="1.7" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="332.44" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (182 samples, 0.02%)</title><rect x="798.7" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="801.74" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="710.8" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="713.83" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (519 samples, 0.05%)</title><rect x="1140.5" y="37" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1143.52" y="47.5" ></text>
+</g>
+<g >
+<title>/stat (2,320 samples, 0.24%)</title><rect x="485.3" y="197" width="2.8" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="488.31" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (116 samples, 0.01%)</title><rect x="485.2" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="488.17" y="175.5" ></text>
+</g>
+<g >
+<title>/PNP0A08:00 (146 samples, 0.02%)</title><rect x="775.9" y="149" width="0.2" height="15.0" fill="rgb(229,139,27)" rx="2" ry="2" />
+<text x="778.95" y="159.5" ></text>
+</g>
+<g >
+<title>627217 (878 samples, 0.09%)</title><rect x="835.2" y="245" width="1.0" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="838.17" y="255.5" ></text>
+</g>
+<g >
+<title>627618 (296 samples, 0.03%)</title><rect x="1173.0" y="245" width="0.3" height="15.0" fill="rgb(234,145,32)" rx="2" ry="2" />
+<text x="1175.96" y="255.5" ></text>
+</g>
+<g >
+<title>/lib64 (306 samples, 0.03%)</title><rect x="342.0" y="213" width="0.4" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="345.05" y="223.5" ></text>
+</g>
+<g >
+<title>/lib (159 samples, 0.02%)</title><rect x="541.9" y="197" width="0.2" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="544.87" y="207.5" ></text>
+</g>
+<g >
+<title>/home (433 samples, 0.04%)</title><rect x="804.1" y="213" width="0.5" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="807.05" y="223.5" ></text>
+</g>
+<g >
+<title>enter_write (381 samples, 0.04%)</title><rect x="623.9" y="133" width="0.4" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="626.87" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="692.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="695.87" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="686.1" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="689.12" y="95.5" ></text>
+</g>
+<g >
+<title>org.kde.WaylandDecoration.QGnomePlatform-decoration (131 samples, 0.01%)</title><rect x="314.0" y="229" width="0.1" height="15.0" fill="rgb(247,179,46)" rx="2" ry="2" />
+<text x="316.96" y="239.5" ></text>
+</g>
+<g >
+<title>/pkg (1,043 samples, 0.11%)</title><rect x="1069.8" y="165" width="1.3" height="15.0" fill="rgb(238,128,36)" rx="2" ry="2" />
+<text x="1072.81" y="175.5" ></text>
+</g>
+<g >
+<title>/bfe23ec8ae62e554c21f8d5bb1ffa866025eb79fa819d5d2e88cd075c4059f56 (97 samples, 0.01%)</title><rect x="233.3" y="101" width="0.1" height="15.0" fill="rgb(233,104,31)" rx="2" ry="2" />
+<text x="236.30" y="111.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="720.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="723.00" y="79.5" ></text>
+</g>
+<g >
+<title>/.mozilla (778 samples, 0.08%)</title><rect x="797.8" y="181" width="0.9" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="800.79" y="191.5" ></text>
+</g>
+<g >
+<title>/lib (2,891 samples, 0.30%)</title><rect x="809.0" y="197" width="3.6" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="812.02" y="207.5" ></text>
+</g>
+<g >
+<title>/fortune (1,158 samples, 0.12%)</title><rect x="623.3" y="165" width="1.4" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="626.28" y="175.5" ></text>
+</g>
+<g >
+<title>enter_lseek (196 samples, 0.02%)</title><rect x="1092.8" y="117" width="0.3" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1095.81" y="127.5" ></text>
+</g>
+<g >
+<title>/applications (109 samples, 0.01%)</title><rect x="39.7" y="181" width="0.2" height="15.0" fill="rgb(244,115,43)" rx="2" ry="2" />
+<text x="42.72" y="191.5" ></text>
+</g>
+<g >
+<title>/user-1001@0006231483066408-bbc5079379d9a9d0.journal~ (85 samples, 0.01%)</title><rect x="1183.1" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.11" y="159.5" ></text>
+</g>
+<g >
+<title>/paul (515 samples, 0.05%)</title><rect x="836.4" y="197" width="0.6" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="839.38" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (91 samples, 0.01%)</title><rect x="1185.0" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.99" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (725 samples, 0.08%)</title><rect x="796.2" y="133" width="0.9" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="799.17" y="143.5" ></text>
+</g>
+<g >
+<title>/.. (548 samples, 0.06%)</title><rect x="391.3" y="101" width="0.7" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="394.31" y="111.5" ></text>
+</g>
+<g >
+<title>/rpmdb.sqlite (1,409 samples, 0.15%)</title><rect x="810.6" y="149" width="1.7" height="15.0" fill="rgb(240,140,38)" rx="2" ry="2" />
+<text x="813.62" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="754.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="757.39" y="79.5" ></text>
+</g>
+<g >
+<title>enter_mmap (130 samples, 0.01%)</title><rect x="251.6" y="213" width="0.2" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="254.60" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (94 samples, 0.01%)</title><rect x="1183.0" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1185.99" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="704.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="707.55" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="740.3" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="743.26" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="699.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="702.55" y="79.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1090.1" y="117" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1093.10" y="127.5" ></text>
+</g>
+<g >
+<title>/451c975916dc4536919a44482a914925 (86 samples, 0.01%)</title><rect x="777.2" y="165" width="0.1" height="15.0" fill="rgb(236,117,35)" rx="2" ry="2" />
+<text x="780.17" y="175.5" ></text>
+</g>
+<g >
+<title>/libgcc.a (88 samples, 0.01%)</title><rect x="1092.7" y="133" width="0.1" height="15.0" fill="rgb(238,99,36)" rx="2" ry="2" />
+<text x="1095.68" y="143.5" ></text>
+</g>
+<g >
+<title>enter_close (105 samples, 0.01%)</title><rect x="807.5" y="197" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="810.52" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="716.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="719.29" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (322 samples, 0.03%)</title><rect x="753.9" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="756.94" y="95.5" ></text>
+</g>
+<g >
+<title>/app (4,201 samples, 0.43%)</title><rect x="215.9" y="165" width="5.1" height="15.0" fill="rgb(248,115,47)" rx="2" ry="2" />
+<text x="218.90" y="175.5" ></text>
+</g>
+<g >
+<title>/variety (478 samples, 0.05%)</title><rect x="1143.8" y="165" width="0.6" height="15.0" fill="rgb(243,130,42)" rx="2" ry="2" />
+<text x="1146.82" y="175.5" ></text>
+</g>
+<g >
+<title>/wallpaper (321 samples, 0.03%)</title><rect x="1144.8" y="149" width="0.3" height="15.0" fill="rgb(243,125,41)" rx="2" ry="2" />
+<text x="1147.75" y="159.5" ></text>
+</g>
+<g >
+<title>/log (97 samples, 0.01%)</title><rect x="776.9" y="197" width="0.1" height="15.0" fill="rgb(248,118,48)" rx="2" ry="2" />
+<text x="779.88" y="207.5" ></text>
+</g>
+<g >
+<title>/styles (706 samples, 0.07%)</title><rect x="871.6" y="181" width="0.9" height="15.0" fill="rgb(244,122,43)" rx="2" ry="2" />
+<text x="874.61" y="191.5" ></text>
+</g>
+<g >
+<title>/c1 (91 samples, 0.01%)</title><rect x="1061.9" y="149" width="0.2" height="15.0" fill="rgb(231,170,29)" rx="2" ry="2" />
+<text x="1064.94" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (6,880 samples, 0.71%)</title><rect x="107.5" y="213" width="8.4" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="110.46" y="223.5" ></text>
+</g>
+<g >
+<title>/share (1,629 samples, 0.17%)</title><rect x="1167.3" y="197" width="2.0" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="1170.33" y="207.5" ></text>
+</g>
+<g >
+<title>anon_inode:inotify (93 samples, 0.01%)</title><rect x="1186.5" y="229" width="0.1" height="15.0" fill="rgb(243,164,42)" rx="2" ry="2" />
+<text x="1189.46" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (136 samples, 0.01%)</title><rect x="779.4" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="782.36" y="175.5" ></text>
+</g>
+<g >
+<title>/5 (112 samples, 0.01%)</title><rect x="622.1" y="197" width="0.2" height="15.0" fill="rgb(244,110,43)" rx="2" ry="2" />
+<text x="625.14" y="207.5" ></text>
+</g>
+<g >
+<title>enter_readv (130 samples, 0.01%)</title><rect x="447.0" y="165" width="0.2" height="15.0" fill="rgb(239,196,37)" rx="2" ry="2" />
+<text x="450.00" y="175.5" ></text>
+</g>
+<g >
+<title>/.config (505 samples, 0.05%)</title><rect x="836.4" y="181" width="0.6" height="15.0" fill="rgb(239,154,37)" rx="2" ry="2" />
+<text x="839.39" y="191.5" ></text>
+</g>
+<g >
+<title>enter_write (378 samples, 0.04%)</title><rect x="803.1" y="213" width="0.4" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="806.07" y="223.5" ></text>
+</g>
+<g >
+<title>/heads (481 samples, 0.05%)</title><rect x="230.3" y="133" width="0.6" height="15.0" fill="rgb(244,132,43)" rx="2" ry="2" />
+<text x="233.28" y="143.5" ></text>
+</g>
+<g >
+<title>627543 (150 samples, 0.02%)</title><rect x="1085.0" y="245" width="0.2" height="15.0" fill="rgb(240,145,39)" rx="2" ry="2" />
+<text x="1087.98" y="255.5" ></text>
+</g>
+<g >
+<title>/share (1,258 samples, 0.13%)</title><rect x="623.2" y="197" width="1.5" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="626.16" y="207.5" ></text>
+</g>
+<g >
+<title>enter_lseek (272 samples, 0.03%)</title><rect x="1077.4" y="117" width="0.3" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1080.36" y="127.5" ></text>
+</g>
+<g >
+<title>/e9 (94 samples, 0.01%)</title><rect x="1066.8" y="149" width="0.2" height="15.0" fill="rgb(232,134,30)" rx="2" ry="2" />
+<text x="1069.84" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (84 samples, 0.01%)</title><rect x="547.8" y="149" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="550.81" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="689.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="691.99" y="79.5" ></text>
+</g>
+<g >
+<title>/58 (89 samples, 0.01%)</title><rect x="1049.2" y="149" width="0.1" height="15.0" fill="rgb(226,102,24)" rx="2" ry="2" />
+<text x="1052.22" y="159.5" ></text>
+</g>
+<g >
+<title>1 (349 samples, 0.04%)</title><rect x="445.3" y="245" width="0.5" height="15.0" fill="rgb(230,115,27)" rx="2" ry="2" />
+<text x="448.33" y="255.5" ></text>
+</g>
+<g >
+<title>/paul (130 samples, 0.01%)</title><rect x="805.2" y="197" width="0.1" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="808.15" y="207.5" ></text>
+</g>
+<g >
+<title>com.discordapp.Discord (97 samples, 0.01%)</title><rect x="299.8" y="229" width="0.2" height="15.0" fill="rgb(248,149,47)" rx="2" ry="2" />
+<text x="302.84" y="239.5" ></text>
+</g>
+<g >
+<title> (114 samples, 0.01%)</title><rect x="878.1" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="881.08" y="239.5" ></text>
+</g>
+<g >
+<title>/85 (118 samples, 0.01%)</title><rect x="1054.6" y="149" width="0.2" height="15.0" fill="rgb(240,152,39)" rx="2" ry="2" />
+<text x="1057.62" y="159.5" ></text>
+</g>
+<g >
+<title>/proc (116 samples, 0.01%)</title><rect x="806.8" y="213" width="0.1" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="809.80" y="223.5" ></text>
+</g>
+<g >
+<title>org.kde.WaylandDecoration.QAdwaitaDecorations (103 samples, 0.01%)</title><rect x="313.8" y="229" width="0.2" height="15.0" fill="rgb(244,179,43)" rx="2" ry="2" />
+<text x="316.83" y="239.5" ></text>
+</g>
+<g >
+<title>/usr (101 samples, 0.01%)</title><rect x="1091.1" y="213" width="0.2" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1094.14" y="223.5" ></text>
+</g>
+<g >
+<title>enter_pwrite64 (621 samples, 0.06%)</title><rect x="826.1" y="165" width="0.8" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="829.10" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="690.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="693.86" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="710.0" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="713.05" y="79.5" ></text>
+</g>
+<g >
+<title>/permanent (626 samples, 0.06%)</title><rect x="798.0" y="117" width="0.7" height="15.0" fill="rgb(241,147,39)" rx="2" ry="2" />
+<text x="800.97" y="127.5" ></text>
+</g>
+<g >
+<title>enter_write (127 samples, 0.01%)</title><rect x="341.3" y="213" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="344.29" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (96 samples, 0.01%)</title><rect x="1178.1" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.12" y="143.5" ></text>
+</g>
+<g >
+<title>/88 (95 samples, 0.01%)</title><rect x="1055.0" y="149" width="0.1" height="15.0" fill="rgb(235,143,33)" rx="2" ry="2" />
+<text x="1058.03" y="159.5" ></text>
+</g>
+<g >
+<title>/paul (18,094 samples, 1.87%)</title><rect x="120.7" y="197" width="22.1" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="123.73" y="207.5" >/..</text>
+</g>
+<g >
+<title>/history.sqlite-shm (726 samples, 0.08%)</title><rect x="817.1" y="165" width="0.9" height="15.0" fill="rgb(228,119,26)" rx="2" ry="2" />
+<text x="820.09" y="175.5" ></text>
+</g>
+<g >
+<title>627427 (106 samples, 0.01%)</title><rect x="881.3" y="245" width="0.1" height="15.0" fill="rgb(236,145,35)" rx="2" ry="2" />
+<text x="884.27" y="255.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (127 samples, 0.01%)</title><rect x="116.1" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="119.11" y="239.5" ></text>
+</g>
+<g >
+<title>/home (320 samples, 0.03%)</title><rect x="461.6" y="213" width="0.4" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="464.56" y="223.5" ></text>
+</g>
+<g >
+<title>/shells (302 samples, 0.03%)</title><rect x="769.0" y="197" width="0.4" height="15.0" fill="rgb(236,122,34)" rx="2" ry="2" />
+<text x="772.01" y="207.5" ></text>
+</g>
+<g >
+<title>/.. (147 samples, 0.02%)</title><rect x="1175.0" y="133" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1178.05" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstatat (117 samples, 0.01%)</title><rect x="335.2" y="181" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="338.20" y="191.5" ></text>
+</g>
+<g >
+<title>/156 (1,450 samples, 0.15%)</title><rect x="478.2" y="197" width="1.8" height="15.0" fill="rgb(237,132,35)" rx="2" ry="2" />
+<text x="481.23" y="207.5" ></text>
+</g>
+<g >
+<title>/11 (87 samples, 0.01%)</title><rect x="1040.8" y="149" width="0.1" height="15.0" fill="rgb(226,145,23)" rx="2" ry="2" />
+<text x="1043.84" y="159.5" ></text>
+</g>
+<g >
+<title>enter_close (117 samples, 0.01%)</title><rect x="335.3" y="181" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="338.34" y="191.5" ></text>
+</g>
+<g >
+<title>/com.github.johnfactotum.Foliate (103 samples, 0.01%)</title><rect x="216.6" y="149" width="0.1" height="15.0" fill="rgb(245,164,45)" rx="2" ry="2" />
+<text x="219.57" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="694.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="697.87" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="730.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="733.39" y="79.5" ></text>
+</g>
+<g >
+<title>/paul (126 samples, 0.01%)</title><rect x="340.5" y="197" width="0.2" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="343.51" y="207.5" ></text>
+</g>
+<g >
+<title>/smaps (185 samples, 0.02%)</title><rect x="799.0" y="181" width="0.2" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="801.97" y="191.5" ></text>
+</g>
+<g >
+<title>/.. (21,728 samples, 2.25%)</title><rect x="1114.7" y="133" width="26.5" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1117.72" y="143.5" >/..</text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="763.1" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="766.09" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="701.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="704.22" y="79.5" ></text>
+</g>
+<g >
+<title>/passwd (702 samples, 0.07%)</title><rect x="335.3" y="197" width="0.9" height="15.0" fill="rgb(240,160,38)" rx="2" ry="2" />
+<text x="338.34" y="207.5" ></text>
+</g>
+<g >
+<title>/null (82 samples, 0.01%)</title><rect x="1169.4" y="197" width="0.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="1172.38" y="207.5" ></text>
+</g>
+<g >
+<title>/icons (10,087 samples, 1.04%)</title><rect x="120.7" y="149" width="12.4" height="15.0" fill="rgb(244,134,43)" rx="2" ry="2" />
+<text x="123.74" y="159.5" ></text>
+</g>
+<g >
+<title>/lib64 (1,499 samples, 0.16%)</title><rect x="99.5" y="213" width="1.9" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="102.53" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (576 samples, 0.06%)</title><rect x="99.5" y="181" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="102.53" y="191.5" ></text>
+</g>
+<g >
+<title>enter_close (135 samples, 0.01%)</title><rect x="829.7" y="213" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="832.67" y="223.5" ></text>
+</g>
+<g >
+<title>org.telegram.desktop.webview (146 samples, 0.02%)</title><rect x="314.7" y="229" width="0.1" height="15.0" fill="rgb(230,179,28)" rx="2" ry="2" />
+<text x="317.67" y="239.5" ></text>
+</g>
+<g >
+<title>/sys (116 samples, 0.01%)</title><rect x="462.1" y="213" width="0.1" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="465.05" y="223.5" ></text>
+</g>
+<g >
+<title>enter_pwrite64 (144 samples, 0.01%)</title><rect x="810.3" y="133" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="813.31" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="723.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="726.68" y="79.5" ></text>
+</g>
+<g >
+<title>/23.08 (170 samples, 0.02%)</title><rect x="234.7" y="117" width="0.2" height="15.0" fill="rgb(233,134,30)" rx="2" ry="2" />
+<text x="237.69" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (122 samples, 0.01%)</title><rect x="624.3" y="133" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="627.34" y="143.5" ></text>
+</g>
+<g >
+<title>/sys (100 samples, 0.01%)</title><rect x="445.5" y="213" width="0.1" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="448.49" y="223.5" ></text>
+</g>
+<g >
+<title>/596092 (160 samples, 0.02%)</title><rect x="778.8" y="197" width="0.2" height="15.0" fill="rgb(252,99,52)" rx="2" ry="2" />
+<text x="781.77" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="740.0" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="742.99" y="79.5" ></text>
+</g>
+<g >
+<title>/user.slice (65,022 samples, 6.73%)</title><rect x="685.9" y="165" width="79.4" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="688.90" y="175.5" >/user.slice</text>
+</g>
+<g >
+<title>enter_ioctl (94 samples, 0.01%)</title><rect x="764.3" y="85" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="767.27" y="95.5" ></text>
+</g>
+<g >
+<title>pipe:[23259] (193 samples, 0.02%)</title><rect x="765.8" y="229" width="0.3" height="15.0" fill="rgb(244,170,42)" rx="2" ry="2" />
+<text x="768.82" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (93 samples, 0.01%)</title><rect x="760.4" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="763.39" y="95.5" ></text>
+</g>
+<g >
+<title>/29 (109 samples, 0.01%)</title><rect x="1043.7" y="149" width="0.1" height="15.0" fill="rgb(228,114,25)" rx="2" ry="2" />
+<text x="1046.72" y="159.5" ></text>
+</g>
+<g >
+<title> (1,261 samples, 0.13%)</title><rect x="832.7" y="229" width="1.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="835.71" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="761.2" y="101" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="764.16" y="111.5" ></text>
+</g>
+<g >
+<title>/system@a76544c2185a4e0d95d841276470efd6-00000000004ff011-0006208fd0579154.journal (90 samples, 0.01%)</title><rect x="1179.7" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.70" y="159.5" ></text>
+</g>
+<g >
+<title>/swcatalog (424 samples, 0.04%)</title><rect x="215.2" y="181" width="0.5" height="15.0" fill="rgb(248,113,48)" rx="2" ry="2" />
+<text x="218.17" y="191.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (2,149 samples, 0.22%)</title><rect x="328.4" y="229" width="2.7" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="331.45" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (116 samples, 0.01%)</title><rect x="481.2" y="165" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="484.20" y="175.5" ></text>
+</g>
+<g >
+<title>/var (1,510 samples, 0.16%)</title><rect x="547.8" y="213" width="1.8" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="550.80" y="223.5" ></text>
+</g>
+<g >
+<title>/bin (221 samples, 0.02%)</title><rect x="36.9" y="165" width="0.3" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="39.88" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="759.8" y="101" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="762.77" y="111.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (269 samples, 0.03%)</title><rect x="42.3" y="149" width="0.3" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="45.29" y="159.5" ></text>
+</g>
+<g >
+<title>/usr (1,908 samples, 0.20%)</title><rect x="1167.0" y="213" width="2.3" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1169.99" y="223.5" ></text>
+</g>
+<g >
+<title>/x86_64 (103 samples, 0.01%)</title><rect x="242.1" y="133" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="245.14" y="143.5" ></text>
+</g>
+<g >
+<title>/dri (38,691 samples, 4.00%)</title><rect x="343.6" y="197" width="47.2" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="346.58" y="207.5" >/dri</text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="693.0" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="695.98" y="95.5" ></text>
+</g>
+<g >
+<title>/runtime (1,054 samples, 0.11%)</title><rect x="1072.9" y="149" width="1.3" height="15.0" fill="rgb(236,124,34)" rx="2" ry="2" />
+<text x="1075.92" y="159.5" ></text>
+</g>
+<g >
+<title>/bin (220 samples, 0.02%)</title><rect x="36.0" y="165" width="0.3" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="39.00" y="175.5" ></text>
+</g>
+<g >
+<title>/fs (113 samples, 0.01%)</title><rect x="462.1" y="197" width="0.1" height="15.0" fill="rgb(235,136,33)" rx="2" ry="2" />
+<text x="465.05" y="207.5" ></text>
+</g>
+<g >
+<title>enter_close (366 samples, 0.04%)</title><rect x="832.7" y="197" width="0.5" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="835.71" y="207.5" ></text>
+</g>
+<g >
+<title>/fortune (436 samples, 0.05%)</title><rect x="101.4" y="165" width="0.5" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="104.36" y="175.5" ></text>
+</g>
+<g >
+<title> (287 samples, 0.03%)</title><rect x="1173.0" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1175.96" y="239.5" ></text>
+</g>
+<g >
+<title>/Bing (160 samples, 0.02%)</title><rect x="116.3" y="133" width="0.2" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="119.31" y="143.5" ></text>
+</g>
+<g >
+<title>/f0 (120 samples, 0.01%)</title><rect x="1067.7" y="149" width="0.1" height="15.0" fill="rgb(230,158,27)" rx="2" ry="2" />
+<text x="1070.68" y="159.5" ></text>
+</g>
+<g >
+<title> (292 samples, 0.03%)</title><rect x="1084.6" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1087.63" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (89 samples, 0.01%)</title><rect x="1184.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.53" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="716.9" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="719.95" y="79.5" ></text>
+</g>
+<g >
+<title>/.. (35,331 samples, 3.66%)</title><rect x="145.3" y="133" width="43.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="148.33" y="143.5" >/..</text>
+</g>
+<g >
+<title>enter_pread64 (4,414 samples, 0.46%)</title><rect x="818.1" y="149" width="5.4" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="821.14" y="159.5" ></text>
+</g>
+<g >
+<title>/7b (107 samples, 0.01%)</title><rect x="1053.4" y="149" width="0.1" height="15.0" fill="rgb(233,167,31)" rx="2" ry="2" />
+<text x="1056.40" y="159.5" ></text>
+</g>
+<g >
+<title>/com.belmoussaoui.ReadItLater (107 samples, 0.01%)</title><rect x="215.9" y="149" width="0.1" height="15.0" fill="rgb(240,164,38)" rx="2" ry="2" />
+<text x="218.90" y="159.5" ></text>
+</g>
+<g >
+<title>enter_mmap (83 samples, 0.01%)</title><rect x="876.8" y="213" width="0.2" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="879.85" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="728.8" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="731.83" y="95.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Shell.CalendarServer.slice (1,627 samples, 0.17%)</title><rect x="734.6" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="737.60" y="111.5" ></text>
+</g>
+<g >
+<title>/e0 (83 samples, 0.01%)</title><rect x="1065.7" y="149" width="0.1" height="15.0" fill="rgb(231,163,28)" rx="2" ry="2" />
+<text x="1068.67" y="159.5" ></text>
+</g>
+<g >
+<title>/dev.bragefuglseth.Keypunch (122 samples, 0.01%)</title><rect x="217.8" y="149" width="0.1" height="15.0" fill="rgb(246,152,45)" rx="2" ry="2" />
+<text x="220.79" y="159.5" ></text>
+</g>
+<g >
+<title> (173 samples, 0.02%)</title><rect x="782.1" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="785.06" y="239.5" ></text>
+</g>
+<g >
+<title>627384 (114 samples, 0.01%)</title><rect x="878.1" y="245" width="0.1" height="15.0" fill="rgb(248,145,47)" rx="2" ry="2" />
+<text x="881.08" y="255.5" ></text>
+</g>
+<g >
+<title>/locale (168 samples, 0.02%)</title><rect x="117.1" y="181" width="0.2" height="15.0" fill="rgb(242,118,41)" rx="2" ry="2" />
+<text x="120.06" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="692.3" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="695.33" y="95.5" ></text>
+</g>
+<g >
+<title>/dnf (326 samples, 0.03%)</title><rect x="624.7" y="181" width="0.4" height="15.0" fill="rgb(248,162,48)" rx="2" ry="2" />
+<text x="627.71" y="191.5" ></text>
+</g>
+<g >
+<title>/home (520 samples, 0.05%)</title><rect x="836.4" y="213" width="0.6" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="839.38" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (282 samples, 0.03%)</title><rect x="748.5" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="751.49" y="95.5" ></text>
+</g>
+<g >
+<title>com.jgraph.drawio.desktop (112 samples, 0.01%)</title><rect x="300.8" y="229" width="0.2" height="15.0" fill="rgb(244,149,43)" rx="2" ry="2" />
+<text x="303.82" y="239.5" ></text>
+</g>
+<g >
+<title>/15 (22,145 samples, 2.29%)</title><rect x="1114.7" y="149" width="27.1" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1117.72" y="159.5" >/15</text>
+</g>
+<g >
+<title>/paul (868 samples, 0.09%)</title><rect x="782.6" y="197" width="1.0" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="785.57" y="207.5" ></text>
+</g>
+<g >
+<title>/libc.so (141 samples, 0.01%)</title><rect x="1088.1" y="53" width="0.2" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1091.10" y="63.5" ></text>
+</g>
+<g >
+<title>/platitudes (629 samples, 0.07%)</title><rect x="547.0" y="149" width="0.8" height="15.0" fill="rgb(241,163,39)" rx="2" ry="2" />
+<text x="550.03" y="159.5" ></text>
+</g>
+<g >
+<title>16480 (140 samples, 0.01%)</title><rect x="343.4" y="245" width="0.2" height="15.0" fill="rgb(237,94,35)" rx="2" ry="2" />
+<text x="346.41" y="255.5" ></text>
+</g>
+<g >
+<title>enter_write (472 samples, 0.05%)</title><rect x="1143.8" y="117" width="0.6" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="1146.83" y="127.5" ></text>
+</g>
+<g >
+<title>/share (316 samples, 0.03%)</title><rect x="681.6" y="165" width="0.4" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="684.62" y="175.5" ></text>
+</g>
+<g >
+<title>/go-build480028031 (581 samples, 0.06%)</title><rect x="1071.1" y="197" width="0.7" height="15.0" fill="rgb(231,144,29)" rx="2" ry="2" />
+<text x="1074.11" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (91 samples, 0.01%)</title><rect x="1185.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1188.50" y="143.5" ></text>
+</g>
+<g >
+<title>/dev (42,560 samples, 4.40%)</title><rect x="489.3" y="213" width="51.9" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="492.28" y="223.5" >/dev</text>
+</g>
+<g >
+<title>/pts (541 samples, 0.06%)</title><rect x="446.8" y="197" width="0.7" height="15.0" fill="rgb(236,138,35)" rx="2" ry="2" />
+<text x="449.84" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (452 samples, 0.05%)</title><rect x="462.4" y="133" width="0.5" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="465.38" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="760.0" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="762.99" y="95.5" ></text>
+</g>
+<g >
+<title>/com.slack.Slack (104 samples, 0.01%)</title><rect x="217.4" y="149" width="0.1" height="15.0" fill="rgb(242,164,40)" rx="2" ry="2" />
+<text x="220.38" y="159.5" ></text>
+</g>
+<g >
+<title>/621907 (185 samples, 0.02%)</title><rect x="799.0" y="197" width="0.2" height="15.0" fill="rgb(235,117,33)" rx="2" ry="2" />
+<text x="801.97" y="207.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (133 samples, 0.01%)</title><rect x="797.8" y="117" width="0.2" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="800.81" y="127.5" ></text>
+</g>
+<g >
+<title>627546 (150 samples, 0.02%)</title><rect x="1087.1" y="245" width="0.2" height="15.0" fill="rgb(235,145,33)" rx="2" ry="2" />
+<text x="1090.13" y="255.5" ></text>
+</g>
+<g >
+<title>/c5 (94 samples, 0.01%)</title><rect x="1062.5" y="149" width="0.1" height="15.0" fill="rgb(242,157,40)" rx="2" ry="2" />
+<text x="1065.46" y="159.5" ></text>
+</g>
+<g >
+<title>627264 (300 samples, 0.03%)</title><rect x="868.5" y="245" width="0.4" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="871.51" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="684.4" y="133" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="687.39" y="143.5" ></text>
+</g>
+<g >
+<title>/ (476 samples, 0.05%)</title><rect x="876.1" y="213" width="0.5" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2" />
+<text x="879.05" y="223.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (98 samples, 0.01%)</title><rect x="682.2" y="213" width="0.2" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="685.25" y="223.5" ></text>
+</g>
+<g >
+<title>enter_close (1,831 samples, 0.19%)</title><rect x="42.8" y="213" width="2.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="45.75" y="223.5" ></text>
+</g>
+<g >
+<title>/go (1,047 samples, 0.11%)</title><rect x="1069.8" y="181" width="1.3" height="15.0" fill="rgb(241,144,39)" rx="2" ry="2" />
+<text x="1072.81" y="191.5" ></text>
+</g>
+<g >
+<title>/3870112724rsegmnoittet-es.sqlite (619 samples, 0.06%)</title><rect x="798.0" y="69" width="0.7" height="15.0" fill="rgb(240,112,38)" rx="2" ry="2" />
+<text x="800.98" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.low (276 samples, 0.03%)</title><rect x="726.8" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="729.77" y="95.5" ></text>
+</g>
+<g >
+<title>/internal (233 samples, 0.02%)</title><rect x="1072.0" y="149" width="0.3" height="15.0" fill="rgb(229,137,27)" rx="2" ry="2" />
+<text x="1074.97" y="159.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="484.0" y="165" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="487.04" y="175.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (442 samples, 0.05%)</title><rect x="445.8" y="181" width="0.5" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="448.76" y="191.5" ></text>
+</g>
+<g >
+<title>/system@1dc65c17c94c402f938934dc3d68c3ab-00000000004e0691-00061f0691ef212a.journal (92 samples, 0.01%)</title><rect x="1178.2" y="149" width="0.2" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.24" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="697.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="700.89" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (91 samples, 0.01%)</title><rect x="750.4" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="753.45" y="79.5" ></text>
+</g>
+<g >
+<title>/tmp (551 samples, 0.06%)</title><rect x="1081.6" y="213" width="0.7" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1084.65" y="223.5" ></text>
+</g>
+<g >
+<title>/sys (245 samples, 0.03%)</title><rect x="1189.7" y="213" width="0.3" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="1192.68" y="223.5" ></text>
+</g>
+<g >
+<title>/.cargo (553 samples, 0.06%)</title><rect x="133.1" y="181" width="0.6" height="15.0" fill="rgb(244,154,43)" rx="2" ry="2" />
+<text x="136.06" y="191.5" ></text>
+</g>
+<g >
+<title> (225 samples, 0.02%)</title><rect x="1172.6" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1175.58" y="239.5" ></text>
+</g>
+<g >
+<title>/31 (106 samples, 0.01%)</title><rect x="1044.7" y="149" width="0.1" height="15.0" fill="rgb(223,135,20)" rx="2" ry="2" />
+<text x="1047.66" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (322 samples, 0.03%)</title><rect x="717.4" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="720.39" y="95.5" ></text>
+</g>
+<g >
+<title> (141 samples, 0.01%)</title><rect x="1076.0" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1078.95" y="239.5" ></text>
+</g>
+<g >
+<title> (598 samples, 0.06%)</title><rect x="1188.9" y="229" width="0.8" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1191.94" y="239.5" ></text>
+</g>
+<g >
+<title>/io.freetubeapp.FreeTube (100 samples, 0.01%)</title><rect x="218.1" y="149" width="0.1" height="15.0" fill="rgb(236,134,34)" rx="2" ry="2" />
+<text x="221.09" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="740.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="743.15" y="79.5" ></text>
+</g>
+<g >
+<title>/dev (88 samples, 0.01%)</title><rect x="808.2" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="811.21" y="223.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1092.3" y="117" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1095.26" y="127.5" ></text>
+</g>
+<g >
+<title>/000045.o (90 samples, 0.01%)</title><rect x="1105.8" y="181" width="0.1" height="15.0" fill="rgb(247,153,46)" rx="2" ry="2" />
+<text x="1108.76" y="191.5" ></text>
+</g>
+<g >
+<title>/PackageKit (1,040 samples, 0.11%)</title><rect x="547.8" y="181" width="1.3" height="15.0" fill="rgb(235,155,33)" rx="2" ry="2" />
+<text x="550.80" y="191.5" ></text>
+</g>
+<g >
+<title>/appstream (732 samples, 0.08%)</title><rect x="221.0" y="165" width="0.9" height="15.0" fill="rgb(225,115,23)" rx="2" ry="2" />
+<text x="224.03" y="175.5" ></text>
+</g>
+<g >
+<title>/exe (559 samples, 0.06%)</title><rect x="1071.1" y="165" width="0.7" height="15.0" fill="rgb(238,163,37)" rx="2" ry="2" />
+<text x="1074.11" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="716.7" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="719.73" y="95.5" ></text>
+</g>
+<g >
+<title>/github.com (1,008 samples, 0.10%)</title><rect x="1069.9" y="133" width="1.2" height="15.0" fill="rgb(236,124,34)" rx="2" ry="2" />
+<text x="1072.85" y="143.5" ></text>
+</g>
+<g >
+<title>enter_mmap (98 samples, 0.01%)</title><rect x="776.8" y="181" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="779.75" y="191.5" ></text>
+</g>
+<g >
+<title>/lib64 (163 samples, 0.02%)</title><rect x="837.0" y="213" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="840.01" y="223.5" ></text>
+</g>
+<g >
+<title>627540 (150 samples, 0.02%)</title><rect x="1082.9" y="245" width="0.1" height="15.0" fill="rgb(228,145,26)" rx="2" ry="2" />
+<text x="1085.86" y="255.5" ></text>
+</g>
+<g >
+<title>/stat (812 samples, 0.08%)</title><rect x="476.5" y="181" width="1.0" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="479.46" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="733.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="736.10" y="79.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="482.8" y="165" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="485.76" y="175.5" ></text>
+</g>
+<g >
+<title>/wtmp (3,932 samples, 0.41%)</title><rect x="769.5" y="181" width="4.8" height="15.0" fill="rgb(234,102,32)" rx="2" ry="2" />
+<text x="772.50" y="191.5" ></text>
+</g>
+<g >
+<title> (279 samples, 0.03%)</title><rect x="1088.8" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1091.83" y="239.5" ></text>
+</g>
+<g >
+<title>/x86_64 (288 samples, 0.03%)</title><rect x="242.4" y="133" width="0.3" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="245.37" y="143.5" ></text>
+</g>
+<g >
+<title>/NotoSerif[wght].ttf (16,612 samples, 1.72%)</title><rect x="1145.4" y="149" width="20.3" height="15.0" fill="rgb(239,159,37)" rx="2" ry="2" />
+<text x="1148.42" y="159.5" ></text>
+</g>
+<g >
+<title>/renderD128 (42,516 samples, 4.40%)</title><rect x="489.3" y="181" width="51.9" height="15.0" fill="rgb(237,137,35)" rx="2" ry="2" />
+<text x="492.28" y="191.5" >/rend..</text>
+</g>
+<g >
+<title>/dev (98 samples, 0.01%)</title><rect x="776.8" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="779.75" y="223.5" ></text>
+</g>
+<g >
+<title>/bin (125 samples, 0.01%)</title><rect x="676.9" y="181" width="0.2" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="679.95" y="191.5" ></text>
+</g>
+<g >
+<title>/42 (112 samples, 0.01%)</title><rect x="1046.6" y="149" width="0.2" height="15.0" fill="rgb(238,127,36)" rx="2" ry="2" />
+<text x="1049.63" y="159.5" ></text>
+</g>
+<g >
+<title>/runtime (137 samples, 0.01%)</title><rect x="231.1" y="101" width="0.2" height="15.0" fill="rgb(236,124,34)" rx="2" ry="2" />
+<text x="234.12" y="111.5" ></text>
+</g>
+<g >
+<title>/home (758 samples, 0.08%)</title><rect x="870.5" y="213" width="0.9" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="873.50" y="223.5" ></text>
+</g>
+<g >
+<title>pipe:[1150665] (10,644 samples, 1.10%)</title><rect x="660.2" y="229" width="13.0" height="15.0" fill="rgb(235,170,33)" rx="2" ry="2" />
+<text x="663.17" y="239.5" ></text>
+</g>
+<g >
+<title>/lib (705 samples, 0.07%)</title><rect x="1087.9" y="197" width="0.9" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1090.94" y="207.5" ></text>
+</g>
+<g >
+<title>/e4 (88 samples, 0.01%)</title><rect x="1066.3" y="149" width="0.1" height="15.0" fill="rgb(241,150,40)" rx="2" ry="2" />
+<text x="1069.28" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (158 samples, 0.02%)</title><rect x="246.5" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="249.45" y="143.5" ></text>
+</g>
+<g >
+<title>332489 (5,627 samples, 0.58%)</title><rect x="673.9" y="245" width="6.9" height="15.0" fill="rgb(238,180,37)" rx="2" ry="2" />
+<text x="676.91" y="255.5" ></text>
+</g>
+<g >
+<title>enter_lseek (15,467 samples, 1.60%)</title><rect x="1145.4" y="133" width="18.9" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1148.43" y="143.5" ></text>
+</g>
+<g >
+<title>/deploy (103 samples, 0.01%)</title><rect x="234.9" y="85" width="0.1" height="15.0" fill="rgb(252,152,51)" rx="2" ry="2" />
+<text x="237.90" y="95.5" ></text>
+</g>
+<g >
+<title>/remotes (1,227 samples, 0.13%)</title><rect x="315.1" y="213" width="1.5" height="15.0" fill="rgb(238,137,36)" rx="2" ry="2" />
+<text x="318.07" y="223.5" ></text>
+</g>
+<g >
+<title>/.. (548 samples, 0.06%)</title><rect x="391.3" y="117" width="0.7" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="394.31" y="127.5" ></text>
+</g>
+<g >
+<title>/e8 (89 samples, 0.01%)</title><rect x="1066.7" y="149" width="0.1" height="15.0" fill="rgb(234,138,32)" rx="2" ry="2" />
+<text x="1069.73" y="159.5" ></text>
+</g>
+<g >
+<title>/libelf.a (103 samples, 0.01%)</title><rect x="1175.0" y="53" width="0.2" height="15.0" fill="rgb(236,99,34)" rx="2" ry="2" />
+<text x="1178.05" y="63.5" ></text>
+</g>
+<g >
+<title>627523 (143 samples, 0.01%)</title><rect x="1075.9" y="245" width="0.2" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="1078.95" y="255.5" ></text>
+</g>
+<g >
+<title> (682 samples, 0.07%)</title><rect x="331.4" y="229" width="0.9" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="334.45" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="702.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="704.97" y="95.5" ></text>
+</g>
+<g >
+<title>/2.5.1 (139 samples, 0.01%)</title><rect x="241.0" y="117" width="0.2" height="15.0" fill="rgb(233,111,31)" rx="2" ry="2" />
+<text x="244.03" y="127.5" ></text>
+</g>
+<g >
+<title>/fortune (582 samples, 0.06%)</title><rect x="462.3" y="165" width="0.8" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="465.34" y="175.5" ></text>
+</g>
+<g >
+<title>/48 (93 samples, 0.01%)</title><rect x="1047.4" y="149" width="0.1" height="15.0" fill="rgb(228,107,25)" rx="2" ry="2" />
+<text x="1050.35" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (96 samples, 0.01%)</title><rect x="1184.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.41" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="700.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="703.52" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (232 samples, 0.02%)</title><rect x="482.1" y="165" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="485.05" y="175.5" ></text>
+</g>
+<g >
+<title>/places.sqlite (133 samples, 0.01%)</title><rect x="797.8" y="133" width="0.2" height="15.0" fill="rgb(240,163,38)" rx="2" ry="2" />
+<text x="800.81" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (89 samples, 0.01%)</title><rect x="1181.2" y="133" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.24" y="143.5" ></text>
+</g>
+<g >
+<title>/userdb (91 samples, 0.01%)</title><rect x="879.1" y="181" width="0.1" height="15.0" fill="rgb(235,116,33)" rx="2" ry="2" />
+<text x="882.08" y="191.5" ></text>
+</g>
+<g >
+<title>/libc.so (122 samples, 0.01%)</title><rect x="1083.9" y="53" width="0.1" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1086.90" y="63.5" ></text>
+</g>
+<g >
+<title>/fortune (3,643 samples, 0.38%)</title><rect x="392.0" y="165" width="4.4" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="394.98" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (462 samples, 0.05%)</title><rect x="800.1" y="165" width="0.6" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="803.11" y="175.5" ></text>
+</g>
+<g >
+<title>/home (2,469 samples, 0.26%)</title><rect x="1093.7" y="213" width="3.0" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="1096.73" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="726.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="729.00" y="79.5" ></text>
+</g>
+<g >
+<title>/Downloaded (227 samples, 0.02%)</title><rect x="116.3" y="149" width="0.3" height="15.0" fill="rgb(250,154,49)" rx="2" ry="2" />
+<text x="119.31" y="159.5" ></text>
+</g>
+<g >
+<title>/stat (406 samples, 0.04%)</title><rect x="484.8" y="181" width="0.5" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="487.82" y="191.5" ></text>
+</g>
+<g >
+<title> (251 samples, 0.03%)</title><rect x="868.5" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="871.51" y="239.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (977 samples, 0.10%)</title><rect x="813.8" y="149" width="1.2" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="816.80" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="696.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="699.00" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="712.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="715.82" y="79.5" ></text>
+</g>
+<g >
+<title>/libelf.a (101 samples, 0.01%)</title><rect x="676.8" y="53" width="0.1" height="15.0" fill="rgb(236,99,34)" rx="2" ry="2" />
+<text x="679.82" y="63.5" ></text>
+</g>
+<g >
+<title>/proc (114 samples, 0.01%)</title><rect x="802.3" y="213" width="0.2" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="805.33" y="223.5" ></text>
+</g>
+<g >
+<title>/bin (124 samples, 0.01%)</title><rect x="676.3" y="165" width="0.1" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="679.25" y="175.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="686.9" y="85" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="689.94" y="95.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="477.0" y="165" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="480.03" y="175.5" ></text>
+</g>
+<g >
+<title>/com.brave.Browser (105 samples, 0.01%)</title><rect x="216.2" y="149" width="0.1" height="15.0" fill="rgb(240,164,39)" rx="2" ry="2" />
+<text x="219.17" y="159.5" ></text>
+</g>
+<g >
+<title> (204 samples, 0.02%)</title><rect x="776.5" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="779.46" y="239.5" ></text>
+</g>
+<g >
+<title>/games (726 samples, 0.08%)</title><rect x="1142.9" y="181" width="0.8" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="1145.85" y="191.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Geary.slice (1,665 samples, 0.17%)</title><rect x="714.4" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="717.36" y="111.5" ></text>
+</g>
+<g >
+<title>/9a (92 samples, 0.01%)</title><rect x="1057.2" y="149" width="0.1" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1060.15" y="159.5" ></text>
+</g>
+<g >
+<title>596092 (263 samples, 0.03%)</title><rect x="782.1" y="245" width="0.3" height="15.0" fill="rgb(252,176,52)" rx="2" ry="2" />
+<text x="785.06" y="255.5" ></text>
+</g>
+<g >
+<title>enter_write (1,295 samples, 0.13%)</title><rect x="828.0" y="213" width="1.6" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="831.05" y="223.5" ></text>
+</g>
+<g >
+<title>/.cache (4,150 samples, 0.43%)</title><rect x="1076.5" y="181" width="5.1" height="15.0" fill="rgb(245,154,44)" rx="2" ry="2" />
+<text x="1079.52" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="697.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="700.67" y="95.5" ></text>
+</g>
+<g >
+<title>/76 (101 samples, 0.01%)</title><rect x="1052.8" y="149" width="0.1" height="15.0" fill="rgb(240,154,38)" rx="2" ry="2" />
+<text x="1055.79" y="159.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so (244 samples, 0.03%)</title><rect x="1086.4" y="133" width="0.3" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1089.43" y="143.5" ></text>
+</g>
+<g >
+<title>/55 (105 samples, 0.01%)</title><rect x="1048.9" y="149" width="0.1" height="15.0" fill="rgb(232,112,29)" rx="2" ry="2" />
+<text x="1051.91" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (470 samples, 0.05%)</title><rect x="549.1" y="149" width="0.5" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="552.07" y="159.5" ></text>
+</g>
+<g >
+<title>/gnome-software (10,087 samples, 1.04%)</title><rect x="120.7" y="165" width="12.4" height="15.0" fill="rgb(248,147,47)" rx="2" ry="2" />
+<text x="123.74" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="705.4" y="69" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="708.44" y="79.5" ></text>
+</g>
+<g >
+<title>/d3 (96 samples, 0.01%)</title><rect x="1064.1" y="149" width="0.1" height="15.0" fill="rgb(244,159,43)" rx="2" ry="2" />
+<text x="1067.12" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (119 samples, 0.01%)</title><rect x="805.9" y="213" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="808.94" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="730.2" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="733.18" y="95.5" ></text>
+</g>
+<g >
+<title> (1,322 samples, 0.14%)</title><rect x="1089.4" y="229" width="1.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1092.37" y="239.5" ></text>
+</g>
+<g >
+<title>/x86_64 (649 samples, 0.07%)</title><rect x="221.1" y="133" width="0.8" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="224.14" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="745.7" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="748.69" y="95.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (194 samples, 0.02%)</title><rect x="341.2" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="344.21" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (94 samples, 0.01%)</title><rect x="748.2" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="751.20" y="79.5" ></text>
+</g>
+<g >
+<title>/go (124 samples, 0.01%)</title><rect x="676.3" y="181" width="0.1" height="15.0" fill="rgb(241,144,39)" rx="2" ry="2" />
+<text x="679.25" y="191.5" ></text>
+</g>
+<g >
+<title>/run (271 samples, 0.03%)</title><rect x="767.2" y="213" width="0.3" height="15.0" fill="rgb(243,124,41)" rx="2" ry="2" />
+<text x="770.21" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (309 samples, 0.03%)</title><rect x="721.4" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="724.40" y="95.5" ></text>
+</g>
+<g >
+<title>/lib64 (178 samples, 0.02%)</title><rect x="37.4" y="213" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="40.43" y="223.5" ></text>
+</g>
+<g >
+<title>enter_writev (2,162 samples, 0.22%)</title><rect x="542.7" y="133" width="2.6" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="545.70" y="143.5" ></text>
+</g>
+<g >
+<title>enter_lseek (106 samples, 0.01%)</title><rect x="1088.1" y="37" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1091.11" y="47.5" ></text>
+</g>
+<g >
+<title>/org.kde.WaylandDecoration.QAdwaitaDecorations (228 samples, 0.02%)</title><rect x="247.3" y="149" width="0.3" height="15.0" fill="rgb(244,149,43)" rx="2" ry="2" />
+<text x="250.32" y="159.5" ></text>
+</g>
+<g >
+<title>/home (232 samples, 0.02%)</title><rect x="1166.6" y="213" width="0.3" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="1169.63" y="223.5" ></text>
+</g>
+<g >
+<title>enter_pwrite64 (786 samples, 0.08%)</title><rect x="824.2" y="149" width="1.0" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="827.25" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (113 samples, 0.01%)</title><rect x="233.6" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="236.59" y="143.5" ></text>
+</g>
+<g >
+<title>enter_lseek (2,327 samples, 0.24%)</title><rect x="1096.8" y="133" width="2.8" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1099.79" y="143.5" ></text>
+</g>
+<g >
+<title>/02 (101 samples, 0.01%)</title><rect x="1038.9" y="149" width="0.2" height="15.0" fill="rgb(242,147,41)" rx="2" ry="2" />
+<text x="1041.93" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (109 samples, 0.01%)</title><rect x="45.2" y="213" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="48.17" y="223.5" ></text>
+</g>
+<g >
+<title>627544 (1,318 samples, 0.14%)</title><rect x="1085.2" y="245" width="1.6" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="1088.16" y="255.5" ></text>
+</g>
+<g >
+<title>/system@c32c65e2f14f4168bb0fe59124681a98-00000000004abde9-00061c97c9d1f4c2.journal (95 samples, 0.01%)</title><rect x="1180.1" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1183.10" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="747.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="750.29" y="79.5" ></text>
+</g>
+<g >
+<title>627353 (129 samples, 0.01%)</title><rect x="874.8" y="245" width="0.2" height="15.0" fill="rgb(241,145,39)" rx="2" ry="2" />
+<text x="877.83" y="255.5" ></text>
+</g>
+<g >
+<title>/google-noto-vf (16,741 samples, 1.73%)</title><rect x="840.5" y="165" width="20.4" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2" />
+<text x="843.50" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (201 samples, 0.02%)</title><rect x="488.7" y="213" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="491.68" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="755.3" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="758.32" y="95.5" ></text>
+</g>
+<g >
+<title>/fonts (16,741 samples, 1.73%)</title><rect x="840.5" y="181" width="20.4" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="843.50" y="191.5" ></text>
+</g>
+<g >
+<title> (384 samples, 0.04%)</title><rect x="877.6" y="229" width="0.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="880.61" y="239.5" ></text>
+</g>
+<g >
+<title>/x86_64 (161 samples, 0.02%)</title><rect x="246.1" y="133" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="249.13" y="143.5" ></text>
+</g>
+<g >
+<title>/tmp (150 samples, 0.02%)</title><rect x="622.9" y="213" width="0.2" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="625.88" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (271 samples, 0.03%)</title><rect x="738.3" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="741.26" y="95.5" ></text>
+</g>
+<g >
+<title>org.gnome.Epiphany (83 samples, 0.01%)</title><rect x="311.9" y="229" width="0.1" height="15.0" fill="rgb(252,179,52)" rx="2" ry="2" />
+<text x="314.90" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (276 samples, 0.03%)</title><rect x="728.2" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="731.17" y="95.5" ></text>
+</g>
+<g >
+<title>/.. (122 samples, 0.01%)</title><rect x="541.9" y="117" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="544.87" y="127.5" ></text>
+</g>
+<g >
+<title>/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-d (171 samples, 0.02%)</title><rect x="1066.0" y="133" width="0.2" height="15.0" fill="rgb(250,154,49)" rx="2" ry="2" />
+<text x="1069.03" y="143.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1092.3" y="85" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1095.26" y="95.5" ></text>
+</g>
+<g >
+<title>/dmabuf: (2,027 samples, 0.21%)</title><rect x="32.9" y="213" width="2.5" height="15.0" fill="rgb(231,165,29)" rx="2" ry="2" />
+<text x="35.94" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="759.3" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="762.33" y="95.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.clocks.slice (1,653 samples, 0.17%)</title><rect x="744.7" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="747.70" y="111.5" ></text>
+</g>
+<g >
+<title>/14 (98 samples, 0.01%)</title><rect x="1041.1" y="149" width="0.1" height="15.0" fill="rgb(238,135,36)" rx="2" ry="2" />
+<text x="1044.12" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="739.6" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="742.56" y="95.5" ></text>
+</g>
+<g >
+<title>/proc (124 samples, 0.01%)</title><rect x="37.6" y="213" width="0.2" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="40.65" y="223.5" ></text>
+</g>
+<g >
+<title>/share (595 samples, 0.06%)</title><rect x="462.3" y="197" width="0.8" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="465.33" y="207.5" ></text>
+</g>
+<g >
+<title>org.fedoraproject.Platform.YtDlp (105 samples, 0.01%)</title><rect x="310.2" y="229" width="0.2" height="15.0" fill="rgb(236,179,34)" rx="2" ry="2" />
+<text x="313.22" y="239.5" ></text>
+</g>
+<g >
+<title> (17,382 samples, 1.80%)</title><rect x="1144.6" y="229" width="21.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1147.63" y="239.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="684.9" y="133" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="687.90" y="143.5" ></text>
+</g>
+<g >
+<title>/renderD128 (38,691 samples, 4.00%)</title><rect x="343.6" y="181" width="47.2" height="15.0" fill="rgb(237,137,35)" rx="2" ry="2" />
+<text x="346.58" y="191.5" >/ren..</text>
+</g>
+<g >
+<title>/git (333 samples, 0.03%)</title><rect x="675.8" y="181" width="0.5" height="15.0" fill="rgb(233,124,30)" rx="2" ry="2" />
+<text x="678.84" y="191.5" ></text>
+</g>
+<g >
+<title>/73b645a0e0137b6dfc2fa5530c7acc5b6fa5c3394df704faff54409cae157412 (103 samples, 0.01%)</title><rect x="240.0" y="101" width="0.2" height="15.0" fill="rgb(246,164,45)" rx="2" ry="2" />
+<text x="243.05" y="111.5" ></text>
+</g>
+<g >
+<title>/kernel (116 samples, 0.01%)</title><rect x="1189.4" y="197" width="0.2" height="15.0" fill="rgb(237,117,35)" rx="2" ry="2" />
+<text x="1192.43" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="752.3" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="755.32" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="699.3" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="702.34" y="95.5" ></text>
+</g>
+<g >
+<title>enter_lseek (90 samples, 0.01%)</title><rect x="1141.4" y="117" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1144.38" y="127.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (322 samples, 0.03%)</title><rect x="743.7" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="746.66" y="95.5" ></text>
+</g>
+<g >
+<title>117804 (926 samples, 0.10%)</title><rect x="342.0" y="245" width="1.2" height="15.0" fill="rgb(241,110,40)" rx="2" ry="2" />
+<text x="345.05" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="698.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="701.53" y="79.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (692 samples, 0.07%)</title><rect x="1092.3" y="165" width="0.8" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="1095.26" y="175.5" ></text>
+</g>
+<g >
+<title>/app (169 samples, 0.02%)</title><rect x="230.3" y="101" width="0.2" height="15.0" fill="rgb(248,115,47)" rx="2" ry="2" />
+<text x="233.28" y="111.5" ></text>
+</g>
+<g >
+<title>enter_write (2,928 samples, 0.30%)</title><rect x="336.7" y="213" width="3.6" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="339.73" y="223.5" ></text>
+</g>
+<g >
+<title>/601489 (184 samples, 0.02%)</title><rect x="780.0" y="197" width="0.2" height="15.0" fill="rgb(238,123,37)" rx="2" ry="2" />
+<text x="783.03" y="207.5" ></text>
+</g>
+<g >
+<title>/src (1,987 samples, 0.21%)</title><rect x="1071.8" y="165" width="2.5" height="15.0" fill="rgb(230,129,27)" rx="2" ry="2" />
+<text x="1074.84" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="685.9" y="101" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="688.90" y="111.5" ></text>
+</g>
+<g >
+<title>enter_write (319 samples, 0.03%)</title><rect x="342.8" y="213" width="0.4" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="345.79" y="223.5" ></text>
+</g>
+<g >
+<title>/bin (567 samples, 0.06%)</title><rect x="140.8" y="181" width="0.7" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="143.77" y="191.5" ></text>
+</g>
+<g >
+<title>enter_mmap (104 samples, 0.01%)</title><rect x="861.3" y="181" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="864.30" y="191.5" ></text>
+</g>
+<g >
+<title>/goedel (457 samples, 0.05%)</title><rect x="462.4" y="149" width="0.5" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2" />
+<text x="465.38" y="159.5" ></text>
+</g>
+<g >
+<title>/proc (286 samples, 0.03%)</title><rect x="447.7" y="213" width="0.4" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="450.74" y="223.5" ></text>
+</g>
+<g >
+<title>/.. (147 samples, 0.02%)</title><rect x="1175.0" y="101" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1178.05" y="111.5" ></text>
+</g>
+<g >
+<title>/cgroup (113 samples, 0.01%)</title><rect x="462.1" y="181" width="0.1" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="465.05" y="191.5" ></text>
+</g>
+<g >
+<title>627339 (418 samples, 0.04%)</title><rect x="873.2" y="245" width="0.5" height="15.0" fill="rgb(233,145,30)" rx="2" ry="2" />
+<text x="876.16" y="255.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1184.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.88" y="143.5" ></text>
+</g>
+<g >
+<title> (1,992 samples, 0.21%)</title><rect x="445.8" y="229" width="2.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="448.75" y="239.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (414 samples, 0.04%)</title><rect x="781.4" y="165" width="0.5" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="784.37" y="175.5" ></text>
+</g>
+<g >
+<title>/var (3,969 samples, 0.41%)</title><rect x="769.5" y="213" width="4.8" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="772.46" y="223.5" ></text>
+</g>
+<g >
+<title>/97 (84 samples, 0.01%)</title><rect x="1056.8" y="149" width="0.1" height="15.0" fill="rgb(236,141,34)" rx="2" ry="2" />
+<text x="1059.84" y="159.5" ></text>
+</g>
+<g >
+<title>/internal (90 samples, 0.01%)</title><rect x="1069.7" y="149" width="0.1" height="15.0" fill="rgb(229,137,27)" rx="2" ry="2" />
+<text x="1072.68" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="720.7" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="723.75" y="95.5" ></text>
+</g>
+<g >
+<title>/89 (93 samples, 0.01%)</title><rect x="1055.1" y="149" width="0.2" height="15.0" fill="rgb(234,139,31)" rx="2" ry="2" />
+<text x="1058.14" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="691.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="694.02" y="79.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (170 samples, 0.02%)</title><rect x="1085.6" y="197" width="0.2" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1088.60" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (163 samples, 0.02%)</title><rect x="839.9" y="117" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="842.86" y="127.5" ></text>
+</g>
+<g >
+<title>/memory.stat (275 samples, 0.03%)</title><rect x="750.2" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="753.22" y="95.5" ></text>
+</g>
+<g >
+<title>enter_openat (226 samples, 0.02%)</title><rect x="673.5" y="213" width="0.3" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="676.55" y="223.5" ></text>
+</g>
+<g >
+<title>/ (91 samples, 0.01%)</title><rect x="879.1" y="165" width="0.1" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2" />
+<text x="882.08" y="175.5" ></text>
+</g>
+<g >
+<title>enter_write (143 samples, 0.01%)</title><rect x="461.7" y="149" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="464.71" y="159.5" ></text>
+</g>
+<g >
+<title>/conf.avail (1,396 samples, 0.14%)</title><rect x="1167.3" y="165" width="1.7" height="15.0" fill="rgb(233,164,31)" rx="2" ry="2" />
+<text x="1170.33" y="175.5" ></text>
+</g>
+<g >
+<title>/proc (377 samples, 0.04%)</title><rect x="766.7" y="213" width="0.5" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="769.75" y="223.5" ></text>
+</g>
+<g >
+<title>/.local (5,752 samples, 0.60%)</title><rect x="133.7" y="181" width="7.1" height="15.0" fill="rgb(229,163,26)" rx="2" ry="2" />
+<text x="136.75" y="191.5" ></text>
+</g>
+<g >
+<title>/share (20,619 samples, 2.13%)</title><rect x="190.5" y="197" width="25.2" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="193.55" y="207.5" >/..</text>
+</g>
+<g >
+<title>627541 (1,294 samples, 0.13%)</title><rect x="1083.0" y="245" width="1.6" height="15.0" fill="rgb(227,145,24)" rx="2" ry="2" />
+<text x="1086.04" y="255.5" ></text>
+</g>
+<g >
+<title>/b8 (89 samples, 0.01%)</title><rect x="1060.8" y="149" width="0.1" height="15.0" fill="rgb(225,97,22)" rx="2" ry="2" />
+<text x="1063.81" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (408 samples, 0.04%)</title><rect x="810.8" y="133" width="0.5" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="813.78" y="143.5" ></text>
+</g>
+<g >
+<title>org.kde.Platform (101 samples, 0.01%)</title><rect x="313.5" y="229" width="0.1" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="316.47" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="755.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="758.88" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="692.7" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="695.65" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="691.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="694.68" y="95.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (204 samples, 0.02%)</title><rect x="38.7" y="165" width="0.2" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="41.67" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="722.1" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="725.10" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (325 samples, 0.03%)</title><rect x="758.0" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="761.04" y="95.5" ></text>
+</g>
+<g >
+<title> (86 samples, 0.01%)</title><rect x="875.3" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="878.28" y="239.5" ></text>
+</g>
+<g >
+<title>/fedora.xml.gz (228 samples, 0.02%)</title><rect x="215.3" y="149" width="0.3" height="15.0" fill="rgb(240,142,38)" rx="2" ry="2" />
+<text x="218.35" y="159.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (113 samples, 0.01%)</title><rect x="805.7" y="229" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="808.70" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (129 samples, 0.01%)</title><rect x="799.6" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="802.57" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="705.4" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="708.39" y="95.5" ></text>
+</g>
+<g >
+<title>/a6 (89 samples, 0.01%)</title><rect x="1058.6" y="149" width="0.2" height="15.0" fill="rgb(230,109,28)" rx="2" ry="2" />
+<text x="1061.64" y="159.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Decibels.Locale (185 samples, 0.02%)</title><rect x="242.1" y="149" width="0.3" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="245.14" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="696.3" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="699.33" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="729.7" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="732.75" y="79.5" ></text>
+</g>
+<g >
+<title>/system@000633f9368e7b8c-2f4d83425116f8cd.journal~ (87 samples, 0.01%)</title><rect x="1177.5" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.48" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (253 samples, 0.03%)</title><rect x="1085.9" y="85" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1088.89" y="95.5" ></text>
+</g>
+<g >
+<title>/system@91732938d5e8417da6f3e8bd5b2a5bdf-000000000054017d-0006231481d8cb83.journal (87 samples, 0.01%)</title><rect x="1179.6" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.59" y="159.5" ></text>
+</g>
+<g >
+<title>/proc (108 samples, 0.01%)</title><rect x="341.5" y="213" width="0.1" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="344.47" y="223.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (913 samples, 0.09%)</title><rect x="97.4" y="213" width="1.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="100.37" y="223.5" ></text>
+</g>
+<g >
+<title>627432 (125,223 samples, 12.96%)</title><rect x="881.8" y="245" width="152.9" height="15.0" fill="rgb(244,145,43)" rx="2" ry="2" />
+<text x="884.83" y="255.5" >627432</text>
+</g>
+<g >
+<title>/62 (96 samples, 0.01%)</title><rect x="1050.5" y="149" width="0.1" height="15.0" fill="rgb(236,117,34)" rx="2" ry="2" />
+<text x="1053.46" y="159.5" ></text>
+</g>
+<g >
+<title>enter_openat (157 samples, 0.02%)</title><rect x="832.5" y="213" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="835.51" y="223.5" ></text>
+</g>
+<g >
+<title>enter_write (5,077 samples, 0.53%)</title><rect x="469.8" y="213" width="6.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="472.79" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="685.1" y="133" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="688.12" y="143.5" ></text>
+</g>
+<g >
+<title>/26 (92 samples, 0.01%)</title><rect x="1043.3" y="149" width="0.2" height="15.0" fill="rgb(233,124,31)" rx="2" ry="2" />
+<text x="1046.35" y="159.5" ></text>
+</g>
+<g >
+<title>/10 (115 samples, 0.01%)</title><rect x="1040.7" y="149" width="0.1" height="15.0" fill="rgb(227,148,25)" rx="2" ry="2" />
+<text x="1043.70" y="159.5" ></text>
+</g>
+<g >
+<title>/lib64 (330 samples, 0.03%)</title><rect x="1083.1" y="213" width="0.4" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1086.08" y="223.5" ></text>
+</g>
+<g >
+<title>/bin (124 samples, 0.01%)</title><rect x="674.2" y="165" width="0.2" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="677.25" y="175.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="725.5" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="728.46" y="79.5" ></text>
+</g>
+<g >
+<title>host (95 samples, 0.01%)</title><rect x="831.6" y="229" width="0.1" height="15.0" fill="rgb(236,170,35)" rx="2" ry="2" />
+<text x="834.59" y="239.5" ></text>
+</g>
+<g >
+<title>com.github.wwmm.pulseeffects (90 samples, 0.01%)</title><rect x="300.6" y="229" width="0.1" height="15.0" fill="rgb(237,149,35)" rx="2" ry="2" />
+<text x="303.60" y="239.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (192 samples, 0.02%)</title><rect x="774.4" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="777.40" y="239.5" ></text>
+</g>
+<g >
+<title>/share (2,096 samples, 0.22%)</title><rect x="39.7" y="197" width="2.6" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="42.72" y="207.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Sdk (167 samples, 0.02%)</title><rect x="241.9" y="149" width="0.2" height="15.0" fill="rgb(234,149,31)" rx="2" ry="2" />
+<text x="244.94" y="159.5" ></text>
+</g>
+<g >
+<title>/.config (2,146 samples, 0.22%)</title><rect x="837.6" y="181" width="2.6" height="15.0" fill="rgb(239,154,37)" rx="2" ry="2" />
+<text x="840.61" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="693.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="696.67" y="95.5" ></text>
+</g>
+<g >
+<title>/deploy (337 samples, 0.03%)</title><rect x="230.3" y="117" width="0.4" height="15.0" fill="rgb(252,152,51)" rx="2" ry="2" />
+<text x="233.28" y="127.5" ></text>
+</g>
+<g >
+<title>/LNXSYBUS:00 (146 samples, 0.02%)</title><rect x="775.9" y="165" width="0.2" height="15.0" fill="rgb(229,104,27)" rx="2" ry="2" />
+<text x="778.95" y="175.5" ></text>
+</g>
+<g >
+<title>/sys (1,600 samples, 0.17%)</title><rect x="881.9" y="213" width="2.0" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="884.94" y="223.5" ></text>
+</g>
+<g >
+<title>5227 (129 samples, 0.01%)</title><rect x="765.6" y="245" width="0.2" height="15.0" fill="rgb(238,169,36)" rx="2" ry="2" />
+<text x="768.63" y="255.5" ></text>
+</g>
+<g >
+<title>/x86_64 (112 samples, 0.01%)</title><rect x="304.4" y="181" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="307.39" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (590 samples, 0.06%)</title><rect x="458.7" y="181" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="461.73" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="696.6" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="699.65" y="95.5" ></text>
+</g>
+<g >
+<title>/gcc (159 samples, 0.02%)</title><rect x="541.9" y="181" width="0.2" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="544.87" y="191.5" ></text>
+</g>
+<g >
+<title>/bin (217 samples, 0.02%)</title><rect x="676.6" y="197" width="0.2" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="679.56" y="207.5" ></text>
+</g>
+<g >
+<title>/log (8,254 samples, 0.85%)</title><rect x="1176.2" y="197" width="10.1" height="15.0" fill="rgb(248,118,48)" rx="2" ry="2" />
+<text x="1179.19" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (170 samples, 0.02%)</title><rect x="807.2" y="213" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="810.18" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (183 samples, 0.02%)</title><rect x="799.0" y="165" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="801.97" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="703.0" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="705.96" y="95.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1083.7" y="117" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1086.74" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="730.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="733.72" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1178.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.88" y="143.5" ></text>
+</g>
+<g >
+<title>/maps (168 samples, 0.02%)</title><rect x="780.3" y="181" width="0.2" height="15.0" fill="rgb(243,120,42)" rx="2" ry="2" />
+<text x="783.26" y="191.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="477.5" y="165" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="480.45" y="175.5" ></text>
+</g>
+<g >
+<title>enter_openat (99 samples, 0.01%)</title><rect x="249.0" y="149" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="252.02" y="159.5" ></text>
+</g>
+<g >
+<title>/fonts (106 samples, 0.01%)</title><rect x="800.7" y="181" width="0.1" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="803.69" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="695.4" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="698.36" y="95.5" ></text>
+</g>
+<g >
+<title>/org.pulseaudio.pavucontrol (96 samples, 0.01%)</title><rect x="220.8" y="149" width="0.1" height="15.0" fill="rgb(235,149,33)" rx="2" ry="2" />
+<text x="223.78" y="159.5" ></text>
+</g>
+<g >
+<title>/proc (555 samples, 0.06%)</title><rect x="774.8" y="213" width="0.7" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="777.79" y="223.5" ></text>
+</g>
+<g >
+<title>enter_close (121 samples, 0.01%)</title><rect x="804.7" y="181" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="807.69" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (95 samples, 0.01%)</title><rect x="753.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="756.16" y="79.5" ></text>
+</g>
+<g >
+<title>/home (4,214 samples, 0.44%)</title><rect x="1076.5" y="213" width="5.1" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="1079.50" y="223.5" ></text>
+</g>
+<g >
+<title>/cache (265 samples, 0.03%)</title><rect x="1167.0" y="165" width="0.3" height="15.0" fill="rgb(245,170,44)" rx="2" ry="2" />
+<text x="1170.00" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (1,112 samples, 0.12%)</title><rect x="1164.3" y="133" width="1.4" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1167.35" y="143.5" ></text>
+</g>
+<g >
+<title>/64x64@2 (184 samples, 0.02%)</title><rect x="221.7" y="85" width="0.2" height="15.0" fill="rgb(242,110,41)" rx="2" ry="2" />
+<text x="224.70" y="95.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (96 samples, 0.01%)</title><rect x="880.5" y="213" width="0.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="883.51" y="223.5" ></text>
+</g>
+<g >
+<title>org.fedoraproject.Platform.GL.default (100 samples, 0.01%)</title><rect x="310.0" y="229" width="0.1" height="15.0" fill="rgb(228,179,25)" rx="2" ry="2" />
+<text x="312.96" y="239.5" ></text>
+</g>
+<g >
+<title>/session-c22.scope (99 samples, 0.01%)</title><rect x="445.5" y="133" width="0.1" height="15.0" fill="rgb(248,132,48)" rx="2" ry="2" />
+<text x="448.49" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="716.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="719.62" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="739.6" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="742.61" y="79.5" ></text>
+</g>
+<g >
+<title>619492 (10,766 samples, 1.11%)</title><rect x="784.2" y="245" width="13.2" height="15.0" fill="rgb(250,143,49)" rx="2" ry="2" />
+<text x="787.24" y="255.5" ></text>
+</g>
+<g >
+<title>/30 (103 samples, 0.01%)</title><rect x="1044.5" y="149" width="0.2" height="15.0" fill="rgb(225,138,22)" rx="2" ry="2" />
+<text x="1047.53" y="159.5" ></text>
+</g>
+<g >
+<title>/usr (429 samples, 0.04%)</title><rect x="340.7" y="213" width="0.5" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="343.66" y="223.5" ></text>
+</g>
+<g >
+<title>/d0 (114 samples, 0.01%)</title><rect x="1063.8" y="149" width="0.1" height="15.0" fill="rgb(232,168,30)" rx="2" ry="2" />
+<text x="1066.78" y="159.5" ></text>
+</g>
+<g >
+<title>/f5 (172 samples, 0.02%)</title><rect x="1081.1" y="149" width="0.2" height="15.0" fill="rgb(238,142,37)" rx="2" ry="2" />
+<text x="1084.08" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="696.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="699.54" y="79.5" ></text>
+</g>
+<g >
+<title>pipe:[48125] (197 samples, 0.02%)</title><rect x="341.6" y="229" width="0.3" height="15.0" fill="rgb(238,170,36)" rx="2" ry="2" />
+<text x="344.61" y="239.5" ></text>
+</g>
+<g >
+<title>/run (102 samples, 0.01%)</title><rect x="879.1" y="213" width="0.1" height="15.0" fill="rgb(243,124,41)" rx="2" ry="2" />
+<text x="882.07" y="223.5" ></text>
+</g>
+<g >
+<title> (289 samples, 0.03%)</title><rect x="1173.3" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1176.32" y="239.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (9,580 samples, 0.99%)</title><rect x="1102.9" y="197" width="11.7" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1105.87" y="207.5" ></text>
+</g>
+<g >
+<title>/72 (94 samples, 0.01%)</title><rect x="1052.3" y="149" width="0.1" height="15.0" fill="rgb(247,167,46)" rx="2" ry="2" />
+<text x="1055.27" y="159.5" ></text>
+</g>
+<g >
+<title>/libz.a (1,573 samples, 0.16%)</title><rect x="1139.2" y="53" width="2.0" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1142.23" y="63.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-00000000006fca55-00062cef3b5be4d2.journal (87 samples, 0.01%)</title><rect x="1181.0" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.03" y="159.5" ></text>
+</g>
+<g >
+<title> (471 samples, 0.05%)</title><rect x="804.0" y="229" width="0.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="807.04" y="239.5" ></text>
+</g>
+<g >
+<title>/dri (414 samples, 0.04%)</title><rect x="781.4" y="197" width="0.5" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="784.37" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (119 samples, 0.01%)</title><rect x="619.0" y="181" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="621.97" y="191.5" ></text>
+</g>
+<g >
+<title>pipe:[2438204] (119 samples, 0.01%)</title><rect x="805.9" y="229" width="0.2" height="15.0" fill="rgb(240,170,39)" rx="2" ry="2" />
+<text x="808.94" y="239.5" ></text>
+</g>
+<g >
+<title>/lib (702 samples, 0.07%)</title><rect x="1090.1" y="197" width="0.9" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1093.10" y="207.5" ></text>
+</g>
+<g >
+<title>enter_openat (117 samples, 0.01%)</title><rect x="660.0" y="213" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="663.02" y="223.5" ></text>
+</g>
+<g >
+<title>627437 (261 samples, 0.03%)</title><rect x="1037.7" y="245" width="0.3" height="15.0" fill="rgb(235,145,33)" rx="2" ry="2" />
+<text x="1040.65" y="255.5" ></text>
+</g>
+<g >
+<title>596085 (559 samples, 0.06%)</title><rect x="781.4" y="245" width="0.7" height="15.0" fill="rgb(248,176,48)" rx="2" ry="2" />
+<text x="784.37" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="697.0" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="699.97" y="95.5" ></text>
+</g>
+<g >
+<title>/cf (107 samples, 0.01%)</title><rect x="1063.7" y="149" width="0.1" height="15.0" fill="rgb(243,154,42)" rx="2" ry="2" />
+<text x="1066.65" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="756.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="759.26" y="79.5" ></text>
+</g>
+<g >
+<title>/org.kde.PlatformTheme.QGnomePlatform (221 samples, 0.02%)</title><rect x="247.0" y="149" width="0.3" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="250.04" y="159.5" ></text>
+</g>
+<g >
+<title>enter_io_uring_enter (250 samples, 0.03%)</title><rect x="465.9" y="213" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="468.90" y="223.5" ></text>
+</g>
+<g >
+<title>enter_lseek (107 samples, 0.01%)</title><rect x="768.7" y="181" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="771.73" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (531 samples, 0.05%)</title><rect x="145.3" y="37" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="148.33" y="47.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="762.5" y="101" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="765.54" y="111.5" ></text>
+</g>
+<g >
+<title>/x86_64 (85 samples, 0.01%)</title><rect x="217.6" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="220.64" y="143.5" ></text>
+</g>
+<g >
+<title>/lib (105 samples, 0.01%)</title><rect x="796.0" y="197" width="0.2" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="799.04" y="207.5" ></text>
+</g>
+<g >
+<title>enter_close (199 samples, 0.02%)</title><rect x="767.6" y="213" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="770.58" y="223.5" ></text>
+</g>
+<g >
+<title>/user-1001@d62e597f0e2949bda5784759a1e3ccf2-0000000000631214-00062a295de08f8e.journal (89 samples, 0.01%)</title><rect x="1185.4" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1188.39" y="159.5" ></text>
+</g>
+<g >
+<title>/fortune (122 samples, 0.01%)</title><rect x="332.1" y="165" width="0.2" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="335.13" y="175.5" ></text>
+</g>
+<g >
+<title>enter_mmap (700 samples, 0.07%)</title><rect x="464.4" y="213" width="0.8" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="467.37" y="223.5" ></text>
+</g>
+<g >
+<title>/67 (117 samples, 0.01%)</title><rect x="1051.0" y="149" width="0.2" height="15.0" fill="rgb(227,100,24)" rx="2" ry="2" />
+<text x="1054.05" y="159.5" ></text>
+</g>
+<g >
+<title>/wallpaper (272 samples, 0.03%)</title><rect x="116.7" y="149" width="0.3" height="15.0" fill="rgb(243,125,41)" rx="2" ry="2" />
+<text x="119.66" y="159.5" ></text>
+</g>
+<g >
+<title>/self (183 samples, 0.02%)</title><rect x="767.0" y="197" width="0.2" height="15.0" fill="rgb(238,132,36)" rx="2" ry="2" />
+<text x="769.98" y="207.5" ></text>
+</g>
+<g >
+<title>/2 (90 samples, 0.01%)</title><rect x="621.5" y="197" width="0.1" height="15.0" fill="rgb(251,127,50)" rx="2" ry="2" />
+<text x="624.52" y="207.5" ></text>
+</g>
+<g >
+<title>/tty (363 samples, 0.04%)</title><rect x="804.7" y="197" width="0.4" height="15.0" fill="rgb(241,117,39)" rx="2" ry="2" />
+<text x="807.69" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="699.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="702.66" y="95.5" ></text>
+</g>
+<g >
+<title>/platforms (121 samples, 0.01%)</title><rect x="804.1" y="149" width="0.2" height="15.0" fill="rgb(231,163,28)" rx="2" ry="2" />
+<text x="807.13" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (116 samples, 0.01%)</title><rect x="484.3" y="165" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="487.25" y="175.5" ></text>
+</g>
+<g >
+<title>/systemd (239 samples, 0.02%)</title><rect x="683.1" y="197" width="0.3" height="15.0" fill="rgb(240,145,39)" rx="2" ry="2" />
+<text x="686.12" y="207.5" ></text>
+</g>
+<g >
+<title>/9b (102 samples, 0.01%)</title><rect x="1057.3" y="149" width="0.1" height="15.0" fill="rgb(231,157,28)" rx="2" ry="2" />
+<text x="1060.27" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (116 samples, 0.01%)</title><rect x="479.4" y="165" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="482.43" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="698.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="701.21" y="79.5" ></text>
+</g>
+<g >
+<title>/etc (480 samples, 0.05%)</title><rect x="1169.5" y="213" width="0.6" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="1172.48" y="223.5" ></text>
+</g>
+<g >
+<title>/user-0.slice (1,677 samples, 0.17%)</title><rect x="685.9" y="149" width="2.0" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="688.90" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (795 samples, 0.08%)</title><rect x="460.6" y="197" width="1.0" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="463.59" y="207.5" ></text>
+</g>
+<g >
+<title>/system@1dc65c17c94c402f938934dc3d68c3ab-00000000004dfe48-00061f068e79c44c.journal (96 samples, 0.01%)</title><rect x="1178.1" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.12" y="159.5" ></text>
+</g>
+<g >
+<title> (179 samples, 0.02%)</title><rect x="806.3" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="809.33" y="239.5" ></text>
+</g>
+<g >
+<title>/bin (84 samples, 0.01%)</title><rect x="340.7" y="197" width="0.1" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="343.66" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="737.6" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="740.61" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="735.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="738.84" y="79.5" ></text>
+</g>
+<g >
+<title>/.. (186 samples, 0.02%)</title><rect x="38.7" y="85" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="41.67" y="95.5" ></text>
+</g>
+<g >
+<title>/.. (21,728 samples, 2.25%)</title><rect x="1114.7" y="85" width="26.5" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1117.72" y="95.5" >/..</text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="710.2" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="713.16" y="95.5" ></text>
+</g>
+<g >
+<title>/3f (84 samples, 0.01%)</title><rect x="1046.3" y="149" width="0.1" height="15.0" fill="rgb(236,119,34)" rx="2" ry="2" />
+<text x="1049.29" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="732.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="735.77" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="761.4" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="764.38" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="697.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="700.03" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="699.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="702.01" y="79.5" ></text>
+</g>
+<g >
+<title>5635 (627 samples, 0.06%)</title><rect x="777.3" y="245" width="0.8" height="15.0" fill="rgb(237,145,36)" rx="2" ry="2" />
+<text x="780.35" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="705.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="708.72" y="95.5" ></text>
+</g>
+<g >
+<title>/functions (350 samples, 0.04%)</title><rect x="675.1" y="101" width="0.5" height="15.0" fill="rgb(244,129,43)" rx="2" ry="2" />
+<text x="678.14" y="111.5" ></text>
+</g>
+<g >
+<title>com.sweethome3d.Sweethome3d (91 samples, 0.01%)</title><rect x="301.4" y="229" width="0.1" height="15.0" fill="rgb(243,149,42)" rx="2" ry="2" />
+<text x="304.40" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="743.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="746.21" y="79.5" ></text>
+</g>
+<g >
+<title>/ld-linux-x86-64.so.2 (107 samples, 0.01%)</title><rect x="1091.6" y="197" width="0.1" height="15.0" fill="rgb(250,115,50)" rx="2" ry="2" />
+<text x="1094.55" y="207.5" ></text>
+</g>
+<g >
+<title>enter_openat (127 samples, 0.01%)</title><rect x="619.1" y="181" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="622.11" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="745.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="748.58" y="79.5" ></text>
+</g>
+<g >
+<title>618862 (192 samples, 0.02%)</title><rect x="784.0" y="245" width="0.2" height="15.0" fill="rgb(238,147,36)" rx="2" ry="2" />
+<text x="786.98" y="255.5" ></text>
+</g>
+<g >
+<title>/com.belmoussaoui.ReadItLater.Locale (209 samples, 0.02%)</title><rect x="231.4" y="149" width="0.2" height="15.0" fill="rgb(242,164,41)" rx="2" ry="2" />
+<text x="234.35" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="745.4" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="748.36" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="743.9" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="746.94" y="79.5" ></text>
+</g>
+<g >
+<title>/refs (876 samples, 0.09%)</title><rect x="230.3" y="149" width="1.0" height="15.0" fill="rgb(239,137,37)" rx="2" ry="2" />
+<text x="233.28" y="159.5" ></text>
+</g>
+<g >
+<title>/system@000624c3a95742e5-086ee8aa3b721bb4.journal~ (86 samples, 0.01%)</title><rect x="1176.7" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1179.71" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="752.3" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="755.27" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (2,953 samples, 0.31%)</title><rect x="392.0" y="133" width="3.6" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="394.98" y="143.5" ></text>
+</g>
+<g >
+<title> (268 samples, 0.03%)</title><rect x="775.8" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="778.85" y="239.5" ></text>
+</g>
+<g >
+<title>/.. (35,331 samples, 3.66%)</title><rect x="145.3" y="85" width="43.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="148.33" y="95.5" >/..</text>
+</g>
+<g >
+<title>/05 (84 samples, 0.01%)</title><rect x="1039.3" y="149" width="0.1" height="15.0" fill="rgb(237,137,35)" rx="2" ry="2" />
+<text x="1042.29" y="159.5" ></text>
+</g>
+<g >
+<title> (135 samples, 0.01%)</title><rect x="341.4" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="344.45" y="239.5" ></text>
+</g>
+<g >
+<title>626217 (660 samples, 0.07%)</title><rect x="807.4" y="245" width="0.8" height="15.0" fill="rgb(239,148,37)" rx="2" ry="2" />
+<text x="810.40" y="255.5" ></text>
+</g>
+<g >
+<title>/ethnic (2,953 samples, 0.31%)</title><rect x="392.0" y="149" width="3.6" height="15.0" fill="rgb(231,138,28)" rx="2" ry="2" />
+<text x="394.98" y="159.5" ></text>
+</g>
+<g >
+<title>/etc (819 samples, 0.08%)</title><rect x="335.2" y="213" width="1.0" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="338.20" y="223.5" ></text>
+</g>
+<g >
+<title>/user@1001.service (101 samples, 0.01%)</title><rect x="462.1" y="133" width="0.1" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="465.07" y="143.5" ></text>
+</g>
+<g >
+<title>/usr (122 samples, 0.01%)</title><rect x="332.1" y="213" width="0.2" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="335.13" y="223.5" ></text>
+</g>
+<g >
+<title>/home (809 samples, 0.08%)</title><rect x="797.7" y="213" width="1.0" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="800.75" y="223.5" ></text>
+</g>
+<g >
+<title> (883 samples, 0.09%)</title><rect x="876.1" y="229" width="1.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="879.05" y="239.5" ></text>
+</g>
+<g >
+<title>/Microsoft (388 samples, 0.04%)</title><rect x="870.5" y="165" width="0.5" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="873.54" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (93 samples, 0.01%)</title><rect x="758.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="761.33" y="79.5" ></text>
+</g>
+<g >
+<title>/28 (125 samples, 0.01%)</title><rect x="1043.6" y="149" width="0.1" height="15.0" fill="rgb(230,117,27)" rx="2" ry="2" />
+<text x="1046.56" y="159.5" ></text>
+</g>
+<g >
+<title>/1b (100 samples, 0.01%)</title><rect x="1042.0" y="149" width="0.1" height="15.0" fill="rgb(227,142,25)" rx="2" ry="2" />
+<text x="1044.95" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="750.6" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="753.56" y="95.5" ></text>
+</g>
+<g >
+<title>/dnf (470 samples, 0.05%)</title><rect x="549.1" y="181" width="0.5" height="15.0" fill="rgb(248,162,48)" rx="2" ry="2" />
+<text x="552.07" y="191.5" ></text>
+</g>
+<g >
+<title>627551 (294 samples, 0.03%)</title><rect x="1091.0" y="245" width="0.3" height="15.0" fill="rgb(225,145,23)" rx="2" ry="2" />
+<text x="1093.98" y="255.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (548 samples, 0.06%)</title><rect x="391.3" y="165" width="0.7" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="394.31" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="734.3" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="737.27" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="735.6" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="738.62" y="79.5" ></text>
+</g>
+<g >
+<title>/x86_64 (103 samples, 0.01%)</title><rect x="248.1" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="251.06" y="143.5" ></text>
+</g>
+<g >
+<title>621836 (986 samples, 0.10%)</title><rect x="802.3" y="245" width="1.2" height="15.0" fill="rgb(234,164,32)" rx="2" ry="2" />
+<text x="805.33" y="255.5" ></text>
+</g>
+<g >
+<title>enter_write (168 samples, 0.02%)</title><rect x="768.2" y="213" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="771.23" y="223.5" ></text>
+</g>
+<g >
+<title>.. (330 samples, 0.03%)</title><rect x="832.3" y="229" width="0.4" height="15.0" fill="rgb(240,161,38)" rx="2" ry="2" />
+<text x="835.30" y="239.5" ></text>
+</g>
+<g >
+<title>627595 (622 samples, 0.06%)</title><rect x="1143.8" y="245" width="0.7" height="15.0" fill="rgb(244,145,42)" rx="2" ry="2" />
+<text x="1146.76" y="255.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="754.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="756.99" y="79.5" ></text>
+</g>
+<g >
+<title>/x86_64 (83 samples, 0.01%)</title><rect x="221.0" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="224.03" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="759.7" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="762.66" y="95.5" ></text>
+</g>
+<g >
+<title>/var (95 samples, 0.01%)</title><rect x="677.6" y="213" width="0.1" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="680.56" y="223.5" ></text>
+</g>
+<g >
+<title>/16 (248 samples, 0.03%)</title><rect x="795.6" y="117" width="0.3" height="15.0" fill="rgb(234,129,32)" rx="2" ry="2" />
+<text x="798.59" y="127.5" ></text>
+</g>
+<g >
+<title>org.fedoraproject.KDE5Platform (97 samples, 0.01%)</title><rect x="309.7" y="229" width="0.2" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="312.74" y="239.5" ></text>
+</g>
+<g >
+<title>/9c (105 samples, 0.01%)</title><rect x="1057.4" y="149" width="0.1" height="15.0" fill="rgb(229,154,26)" rx="2" ry="2" />
+<text x="1060.39" y="159.5" ></text>
+</g>
+<g >
+<title>627430 (83 samples, 0.01%)</title><rect x="881.7" y="245" width="0.1" height="15.0" fill="rgb(230,145,28)" rx="2" ry="2" />
+<text x="884.67" y="255.5" ></text>
+</g>
+<g >
+<title>/de (96 samples, 0.01%)</title><rect x="1065.4" y="149" width="0.1" height="15.0" fill="rgb(244,152,43)" rx="2" ry="2" />
+<text x="1068.43" y="159.5" ></text>
+</g>
+<g >
+<title>/f7 (127 samples, 0.01%)</title><rect x="1068.5" y="149" width="0.1" height="15.0" fill="rgb(235,136,33)" rx="2" ry="2" />
+<text x="1071.48" y="159.5" ></text>
+</g>
+<g >
+<title>/com.gitlab.tipp10.tipp10 (104 samples, 0.01%)</title><rect x="216.8" y="149" width="0.2" height="15.0" fill="rgb(232,164,30)" rx="2" ry="2" />
+<text x="219.85" y="159.5" ></text>
+</g>
+<g >
+<title>/e3 (250 samples, 0.03%)</title><rect x="1066.0" y="149" width="0.3" height="15.0" fill="rgb(243,154,42)" rx="2" ry="2" />
+<text x="1068.98" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (116 samples, 0.01%)</title><rect x="840.1" y="117" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="843.06" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="739.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="742.13" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="719.8" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="722.78" y="95.5" ></text>
+</g>
+<g >
+<title>/.. (122 samples, 0.01%)</title><rect x="541.9" y="101" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="544.87" y="111.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (89 samples, 0.01%)</title><rect x="1183.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.62" y="143.5" ></text>
+</g>
+<g >
+<title>/var (332 samples, 0.03%)</title><rect x="624.7" y="213" width="0.4" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="627.70" y="223.5" ></text>
+</g>
+<g >
+<title>/video0 (345 samples, 0.04%)</title><rect x="618.8" y="197" width="0.5" height="15.0" fill="rgb(236,104,34)" rx="2" ry="2" />
+<text x="621.85" y="207.5" ></text>
+</g>
+<g >
+<title>/43 (98 samples, 0.01%)</title><rect x="1046.8" y="149" width="0.1" height="15.0" fill="rgb(236,123,34)" rx="2" ry="2" />
+<text x="1049.76" y="159.5" ></text>
+</g>
+<g >
+<title>/4c (95 samples, 0.01%)</title><rect x="1047.8" y="149" width="0.2" height="15.0" fill="rgb(222,123,19)" rx="2" ry="2" />
+<text x="1050.84" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="745.0" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="748.03" y="95.5" ></text>
+</g>
+<g >
+<title>/dev (86 samples, 0.01%)</title><rect x="1038.6" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="1041.61" y="223.5" ></text>
+</g>
+<g >
+<title>/flatpak (5,737 samples, 0.59%)</title><rect x="133.8" y="149" width="7.0" height="15.0" fill="rgb(230,158,27)" rx="2" ry="2" />
+<text x="136.76" y="159.5" ></text>
+</g>
+<g >
+<title>/host (374 samples, 0.04%)</title><rect x="795.6" y="197" width="0.4" height="15.0" fill="rgb(236,139,35)" rx="2" ry="2" />
+<text x="798.58" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="723.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="726.30" y="79.5" ></text>
+</g>
+<g >
+<title>/cd (96 samples, 0.01%)</title><rect x="1063.4" y="149" width="0.1" height="15.0" fill="rgb(247,161,46)" rx="2" ry="2" />
+<text x="1066.43" y="159.5" ></text>
+</g>
+<g >
+<title>/system@d867e76fe845443eb32f8efe355ef876-00000000004dea06-00061efde0c5211f.journal (98 samples, 0.01%)</title><rect x="1182.0" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1185.02" y="159.5" ></text>
+</g>
+<g >
+<title>/rpmdb.sqlite (105 samples, 0.01%)</title><rect x="796.0" y="149" width="0.2" height="15.0" fill="rgb(240,140,38)" rx="2" ry="2" />
+<text x="799.04" y="159.5" ></text>
+</g>
+<g >
+<title>484516 (879 samples, 0.09%)</title><rect x="681.5" y="245" width="1.1" height="15.0" fill="rgb(239,196,37)" rx="2" ry="2" />
+<text x="684.48" y="255.5" ></text>
+</g>
+<g >
+<title>.git (97 samples, 0.01%)</title><rect x="1142.0" y="229" width="0.1" height="15.0" fill="rgb(233,132,30)" rx="2" ry="2" />
+<text x="1145.00" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="477.9" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="480.95" y="175.5" ></text>
+</g>
+<g >
+<title>/smaps (186 samples, 0.02%)</title><rect x="798.7" y="181" width="0.3" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="801.74" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="684.5" y="149" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="687.50" y="159.5" ></text>
+</g>
+<g >
+<title> (9,444 samples, 0.98%)</title><rect x="617.9" y="229" width="11.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="620.94" y="239.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (159 samples, 0.02%)</title><rect x="541.9" y="165" width="0.2" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="544.87" y="175.5" ></text>
+</g>
+<g >
+<title>/x86_64 (102 samples, 0.01%)</title><rect x="304.5" y="181" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="307.53" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (329 samples, 0.03%)</title><rect x="713.3" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="716.27" y="95.5" ></text>
+</g>
+<g >
+<title> (196 samples, 0.02%)</title><rect x="766.1" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="769.07" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (85 samples, 0.01%)</title><rect x="624.9" y="149" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="627.90" y="159.5" ></text>
+</g>
+<g >
+<title>/ethnic (301 samples, 0.03%)</title><rect x="542.1" y="149" width="0.3" height="15.0" fill="rgb(231,138,28)" rx="2" ry="2" />
+<text x="545.06" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (7,069 samples, 0.73%)</title><rect x="664.5" y="213" width="8.7" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="667.53" y="223.5" ></text>
+</g>
+<g >
+<title>/dev.bragefuglseth.Keypunch.Locale (173 samples, 0.02%)</title><rect x="232.4" y="149" width="0.2" height="15.0" fill="rgb(242,152,41)" rx="2" ry="2" />
+<text x="235.36" y="159.5" ></text>
+</g>
+<g >
+<title>/25 (107 samples, 0.01%)</title><rect x="1043.2" y="149" width="0.1" height="15.0" fill="rgb(235,127,33)" rx="2" ry="2" />
+<text x="1046.22" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (271 samples, 0.03%)</title><rect x="1087.9" y="85" width="0.4" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1090.94" y="95.5" ></text>
+</g>
+<g >
+<title>/usr (935 samples, 0.10%)</title><rect x="796.0" y="213" width="1.2" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="799.04" y="223.5" ></text>
+</g>
+<g >
+<title>/x86_64 (117 samples, 0.01%)</title><rect x="234.1" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="237.05" y="143.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (147 samples, 0.02%)</title><rect x="1175.0" y="165" width="0.2" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="1178.05" y="175.5" ></text>
+</g>
+<g >
+<title>/paul (152 samples, 0.02%)</title><rect x="1170.1" y="197" width="0.2" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1173.07" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="752.6" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="755.60" y="95.5" ></text>
+</g>
+<g >
+<title>/conf.d (451 samples, 0.05%)</title><rect x="861.4" y="181" width="0.6" height="15.0" fill="rgb(248,164,47)" rx="2" ry="2" />
+<text x="864.43" y="191.5" ></text>
+</g>
+<g >
+<title>/lib64 (82 samples, 0.01%)</title><rect x="775.8" y="213" width="0.1" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="778.85" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="723.4" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="726.41" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (95 samples, 0.01%)</title><rect x="1179.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.48" y="143.5" ></text>
+</g>
+<g >
+<title>enter_lseek (1,741 samples, 0.18%)</title><rect x="1135.2" y="37" width="2.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1138.20" y="47.5" ></text>
+</g>
+<g >
+<title>enter_openat (110 samples, 0.01%)</title><rect x="807.7" y="197" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="810.69" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (91 samples, 0.01%)</title><rect x="694.5" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="697.54" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="700.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="703.84" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (91 samples, 0.01%)</title><rect x="750.3" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="753.28" y="79.5" ></text>
+</g>
+<g >
+<title>/lib (2,009 samples, 0.21%)</title><rect x="1071.8" y="197" width="2.5" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1074.82" y="207.5" ></text>
+</g>
+<g >
+<title>627604 (17,492 samples, 1.81%)</title><rect x="1144.5" y="245" width="21.4" height="15.0" fill="rgb(242,145,41)" rx="2" ry="2" />
+<text x="1147.52" y="255.5" >6..</text>
+</g>
+<g >
+<title>enter_read (104 samples, 0.01%)</title><rect x="38.7" y="37" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="41.75" y="47.5" ></text>
+</g>
+<g >
+<title> (2,364 samples, 0.24%)</title><rect x="1034.7" y="229" width="2.9" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1037.74" y="239.5" ></text>
+</g>
+<g >
+<title>627429 (83 samples, 0.01%)</title><rect x="881.6" y="245" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="884.56" y="255.5" ></text>
+</g>
+<g >
+<title>/org.kde.Platform.Locale (108 samples, 0.01%)</title><rect x="305.8" y="197" width="0.1" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="308.81" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="728.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="731.06" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (1,672 samples, 0.17%)</title><rect x="862.4" y="213" width="2.0" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="865.37" y="223.5" ></text>
+</g>
+<g >
+<title>/video1 (269 samples, 0.03%)</title><rect x="619.3" y="197" width="0.3" height="15.0" fill="rgb(234,104,32)" rx="2" ry="2" />
+<text x="622.27" y="207.5" ></text>
+</g>
+<g >
+<title>/paul (587 samples, 0.06%)</title><rect x="116.3" y="197" width="0.7" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="119.30" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1186.0" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1189.02" y="143.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (84 samples, 0.01%)</title><rect x="775.5" y="165" width="0.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="778.55" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="705.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="708.94" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (398 samples, 0.04%)</title><rect x="460.1" y="197" width="0.5" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="463.10" y="207.5" ></text>
+</g>
+<g >
+<title>/usr (109 samples, 0.01%)</title><rect x="1089.0" y="213" width="0.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1091.99" y="223.5" ></text>
+</g>
+<g >
+<title>/org.videolan.VLC (87 samples, 0.01%)</title><rect x="220.9" y="149" width="0.1" height="15.0" fill="rgb(230,149,27)" rx="2" ry="2" />
+<text x="223.89" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="751.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="754.77" y="79.5" ></text>
+</g>
+<g >
+<title>/paul (240 samples, 0.02%)</title><rect x="865.3" y="197" width="0.3" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="868.30" y="207.5" ></text>
+</g>
+<g >
+<title>/87 (112 samples, 0.01%)</title><rect x="1054.9" y="149" width="0.1" height="15.0" fill="rgb(237,146,35)" rx="2" ry="2" />
+<text x="1057.89" y="159.5" ></text>
+</g>
+<g >
+<title>/home (2,161 samples, 0.22%)</title><rect x="837.6" y="213" width="2.6" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="840.60" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (89 samples, 0.01%)</title><rect x="738.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="741.81" y="79.5" ></text>
+</g>
+<g >
+<title>627579 (149 samples, 0.02%)</title><rect x="1142.4" y="245" width="0.2" height="15.0" fill="rgb(239,145,37)" rx="2" ry="2" />
+<text x="1145.44" y="255.5" ></text>
+</g>
+<g >
+<title>/journal (194 samples, 0.02%)</title><rect x="683.1" y="181" width="0.3" height="15.0" fill="rgb(229,128,27)" rx="2" ry="2" />
+<text x="686.12" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="725.4" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="728.41" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="740.6" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="743.58" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="734.9" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="737.92" y="95.5" ></text>
+</g>
+<g >
+<title>/sbin (549 samples, 0.06%)</title><rect x="189.2" y="181" width="0.6" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="192.16" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="708.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="711.00" y="79.5" ></text>
+</g>
+<g >
+<title>/knghtbrd (682 samples, 0.07%)</title><rect x="395.6" y="149" width="0.8" height="15.0" fill="rgb(249,127,48)" rx="2" ry="2" />
+<text x="398.58" y="159.5" ></text>
+</g>
+<g >
+<title>/.cargo (220 samples, 0.02%)</title><rect x="36.0" y="181" width="0.3" height="15.0" fill="rgb(244,154,43)" rx="2" ry="2" />
+<text x="39.00" y="191.5" ></text>
+</g>
+<g >
+<title>/system@43c58ad07224456eb8ec4c62b9847aab-000000000052d3cb-0006223df734ff32.journal (88 samples, 0.01%)</title><rect x="1178.9" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.88" y="159.5" ></text>
+</g>
+<g >
+<title>gemfeed (249 samples, 0.03%)</title><rect x="873.3" y="229" width="0.3" height="15.0" fill="rgb(249,192,48)" rx="2" ry="2" />
+<text x="876.31" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="690.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="692.98" y="95.5" ></text>
+</g>
+<g >
+<title>/lib64 (330 samples, 0.03%)</title><rect x="1091.6" y="213" width="0.4" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1094.55" y="223.5" ></text>
+</g>
+<g >
+<title>/games (122 samples, 0.01%)</title><rect x="332.1" y="181" width="0.2" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="335.13" y="191.5" ></text>
+</g>
+<g >
+<title>org.fedoraproject.KDE6Platform (83 samples, 0.01%)</title><rect x="309.9" y="229" width="0.1" height="15.0" fill="rgb(232,179,30)" rx="2" ry="2" />
+<text x="312.86" y="239.5" ></text>
+</g>
+<g >
+<title>/ior (2,441 samples, 0.25%)</title><rect x="1093.7" y="165" width="3.0" height="15.0" fill="rgb(240,134,39)" rx="2" ry="2" />
+<text x="1096.73" y="175.5" ></text>
+</g>
+<g >
+<title>/x86_64 (84 samples, 0.01%)</title><rect x="218.0" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="220.95" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1184.0" y="133" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1187.05" y="143.5" ></text>
+</g>
+<g >
+<title> (49,672 samples, 5.14%)</title><rect x="489.3" y="229" width="60.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="492.28" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.min (272 samples, 0.03%)</title><rect x="741.3" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="744.26" y="95.5" ></text>
+</g>
+<g >
+<title>/x86_64 (88 samples, 0.01%)</title><rect x="232.8" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="235.79" y="143.5" ></text>
+</g>
+<g >
+<title>/c3 (96 samples, 0.01%)</title><rect x="1062.2" y="149" width="0.1" height="15.0" fill="rgb(245,164,44)" rx="2" ry="2" />
+<text x="1065.21" y="159.5" ></text>
+</g>
+<g >
+<title> (143 samples, 0.01%)</title><rect x="806.6" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="809.55" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="719.8" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="722.83" y="79.5" ></text>
+</g>
+<g >
+<title>/self (144 samples, 0.01%)</title><rect x="781.0" y="197" width="0.1" height="15.0" fill="rgb(238,132,36)" rx="2" ry="2" />
+<text x="783.95" y="207.5" ></text>
+</g>
+<g >
+<title>/self (406 samples, 0.04%)</title><rect x="484.8" y="197" width="0.5" height="15.0" fill="rgb(238,132,36)" rx="2" ry="2" />
+<text x="487.82" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1183.1" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.11" y="143.5" ></text>
+</g>
+<g >
+<title>/google-noto-vf (16,622 samples, 1.72%)</title><rect x="1145.4" y="165" width="20.3" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2" />
+<text x="1148.41" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="750.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="753.78" y="79.5" ></text>
+</g>
+<g >
+<title>/33 (95 samples, 0.01%)</title><rect x="1044.9" y="149" width="0.1" height="15.0" fill="rgb(237,128,36)" rx="2" ry="2" />
+<text x="1047.92" y="159.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (197 samples, 0.02%)</title><rect x="390.9" y="197" width="0.2" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="393.87" y="207.5" ></text>
+</g>
+<g >
+<title>/15 (687 samples, 0.07%)</title><rect x="1090.1" y="149" width="0.8" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1093.10" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1178.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.56" y="143.5" ></text>
+</g>
+<g >
+<title>10705 (72,522 samples, 7.50%)</title><rect x="10.3" y="245" width="88.5" height="15.0" fill="rgb(240,115,39)" rx="2" ry="2" />
+<text x="13.29" y="255.5" >10705</text>
+</g>
+<g >
+<title>enter_getdents64 (721 samples, 0.07%)</title><rect x="250.7" y="213" width="0.9" height="15.0" fill="rgb(235,196,33)" rx="2" ry="2" />
+<text x="253.71" y="223.5" ></text>
+</g>
+<g >
+<title> (84 samples, 0.01%)</title><rect x="1142.3" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1145.30" y="239.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dcom.intel.dleyna\x5cx2drenderer.slice (1,628 samples, 0.17%)</title><rect x="692.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="695.01" y="111.5" ></text>
+</g>
+<g >
+<title>/memory.min (273 samples, 0.03%)</title><rect x="753.6" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="756.61" y="95.5" ></text>
+</g>
+<g >
+<title>/home (758 samples, 0.08%)</title><rect x="871.6" y="213" width="0.9" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="874.57" y="223.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Platform.Locale (405 samples, 0.04%)</title><rect x="242.4" y="149" width="0.5" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="245.37" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (93 samples, 0.01%)</title><rect x="749.9" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="752.88" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="715.4" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="718.41" y="79.5" ></text>
+</g>
+<g >
+<title>627555 (39,517 samples, 4.09%)</title><rect x="1093.6" y="245" width="48.2" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2" />
+<text x="1096.59" y="255.5" >627555</text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="755.7" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="758.65" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="749.5" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="752.49" y="95.5" ></text>
+</g>
+<g >
+<title>/com.github.artemanufrij.playmymusic (123 samples, 0.01%)</title><rect x="216.4" y="149" width="0.2" height="15.0" fill="rgb(227,164,25)" rx="2" ry="2" />
+<text x="219.42" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (110 samples, 0.01%)</title><rect x="37.5" y="181" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="40.50" y="191.5" ></text>
+</g>
+<g >
+<title>/status (638 samples, 0.07%)</title><rect x="477.5" y="181" width="0.7" height="15.0" fill="rgb(233,122,30)" rx="2" ry="2" />
+<text x="480.45" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="732.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="735.11" y="79.5" ></text>
+</g>
+<g >
+<title>627340 (396 samples, 0.04%)</title><rect x="873.7" y="245" width="0.5" height="15.0" fill="rgb(230,145,27)" rx="2" ry="2" />
+<text x="876.67" y="255.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (232 samples, 0.02%)</title><rect x="476.7" y="165" width="0.3" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="479.74" y="175.5" ></text>
+</g>
+<g >
+<title>/system@000631059c27d913-5d7d3ed4ff620b36.journal~ (87 samples, 0.01%)</title><rect x="1177.3" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.26" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1181.8" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.82" y="143.5" ></text>
+</g>
+<g >
+<title>/user-1001@000631059c4bdd3c-a8cc098a9eb3e328.journal~ (85 samples, 0.01%)</title><rect x="1183.8" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.84" y="159.5" ></text>
+</g>
+<g >
+<title>enter_close (102 samples, 0.01%)</title><rect x="682.1" y="213" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="685.12" y="223.5" ></text>
+</g>
+<g >
+<title>enter_write (526 samples, 0.05%)</title><rect x="801.7" y="213" width="0.6" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="804.69" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (792 samples, 0.08%)</title><rect x="860.0" y="133" width="0.9" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="862.98" y="143.5" ></text>
+</g>
+<g >
+<title>/dev (422 samples, 0.04%)</title><rect x="804.6" y="213" width="0.5" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="807.62" y="223.5" ></text>
+</g>
+<g >
+<title>/usr (101 samples, 0.01%)</title><rect x="1082.7" y="213" width="0.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1085.68" y="223.5" ></text>
+</g>
+<g >
+<title> (231 samples, 0.02%)</title><rect x="806.7" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="809.74" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="702.3" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="705.30" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="718.8" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="721.76" y="95.5" ></text>
+</g>
+<g >
+<title>/.config (239 samples, 0.02%)</title><rect x="461.6" y="181" width="0.3" height="15.0" fill="rgb(239,154,37)" rx="2" ry="2" />
+<text x="464.60" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (232 samples, 0.02%)</title><rect x="478.5" y="165" width="0.3" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="481.51" y="175.5" ></text>
+</g>
+<g >
+<title>/lib64 (253 samples, 0.03%)</title><rect x="1085.9" y="69" width="0.3" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1088.89" y="79.5" ></text>
+</g>
+<g >
+<title>/93 (95 samples, 0.01%)</title><rect x="1056.4" y="149" width="0.1" height="15.0" fill="rgb(243,154,42)" rx="2" ry="2" />
+<text x="1059.39" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="684.7" y="133" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="687.73" y="143.5" ></text>
+</g>
+<g >
+<title>/fd (84 samples, 0.01%)</title><rect x="1069.2" y="149" width="0.1" height="15.0" fill="rgb(244,145,42)" rx="2" ry="2" />
+<text x="1072.20" y="159.5" ></text>
+</g>
+<g >
+<title> (10,690 samples, 1.11%)</title><rect x="784.2" y="229" width="13.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="787.24" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (94 samples, 0.01%)</title><rect x="713.7" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="716.73" y="79.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Platform (369 samples, 0.04%)</title><rect x="242.9" y="149" width="0.4" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="245.86" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.min (269 samples, 0.03%)</title><rect x="735.2" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="738.24" y="95.5" ></text>
+</g>
+<g >
+<title>/fonts (476 samples, 0.05%)</title><rect x="1169.5" y="197" width="0.6" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="1172.48" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="687.8" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="690.83" y="95.5" ></text>
+</g>
+<g >
+<title>/org.fedoraproject.KDE5Platform (168 samples, 0.02%)</title><rect x="233.0" y="149" width="0.2" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="236.04" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="1179.8" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.81" y="143.5" ></text>
+</g>
+<g >
+<title>/goedel (221 samples, 0.02%)</title><rect x="542.4" y="149" width="0.3" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2" />
+<text x="545.43" y="159.5" ></text>
+</g>
+<g >
+<title>enter_lseek (11,128 samples, 1.15%)</title><rect x="1114.9" y="37" width="13.6" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1117.90" y="47.5" ></text>
+</g>
+<g >
+<title>N:file (193 samples, 0.02%)</title><rect x="629.5" y="229" width="0.2" height="15.0" fill="rgb(237,131,35)" rx="2" ry="2" />
+<text x="632.47" y="239.5" ></text>
+</g>
+<g >
+<title>/gcc (700 samples, 0.07%)</title><rect x="1087.9" y="181" width="0.9" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="1090.94" y="191.5" ></text>
+</g>
+<g >
+<title>/goedel (731 samples, 0.08%)</title><rect x="41.2" y="149" width="0.9" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2" />
+<text x="44.25" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (329 samples, 0.03%)</title><rect x="711.2" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="714.17" y="95.5" ></text>
+</g>
+<g >
+<title>/home (128 samples, 0.01%)</title><rect x="331.4" y="213" width="0.2" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="334.45" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="738.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="741.48" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (117 samples, 0.01%)</title><rect x="336.1" y="181" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="339.06" y="191.5" ></text>
+</g>
+<g >
+<title>/66 (108 samples, 0.01%)</title><rect x="1050.9" y="149" width="0.1" height="15.0" fill="rgb(229,104,26)" rx="2" ry="2" />
+<text x="1053.91" y="159.5" ></text>
+</g>
+<g >
+<title>/lib64 (252 samples, 0.03%)</title><rect x="1090.1" y="69" width="0.3" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1093.10" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="763.4" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="766.43" y="95.5" ></text>
+</g>
+<g >
+<title>/system@fff69b6456c64fb7a42fde8404e90fa0-00000000004cf24a-00061dc3b7abfe91.journal (92 samples, 0.01%)</title><rect x="1182.6" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1185.58" y="159.5" ></text>
+</g>
+<g >
+<title>/lib64 (130 samples, 0.01%)</title><rect x="1034.8" y="213" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1037.80" y="223.5" ></text>
+</g>
+<g >
+<title>/.cache (165 samples, 0.02%)</title><rect x="862.0" y="181" width="0.2" height="15.0" fill="rgb(245,154,44)" rx="2" ry="2" />
+<text x="865.00" y="191.5" ></text>
+</g>
+<g >
+<title>/libc_nonshared.a (156 samples, 0.02%)</title><rect x="391.1" y="181" width="0.2" height="15.0" fill="rgb(237,99,36)" rx="2" ry="2" />
+<text x="394.12" y="191.5" ></text>
+</g>
+<g >
+<title>enter_lseek (290 samples, 0.03%)</title><rect x="485.7" y="181" width="0.3" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="488.67" y="191.5" ></text>
+</g>
+<g >
+<title>/passwd (138 samples, 0.01%)</title><rect x="768.7" y="197" width="0.2" height="15.0" fill="rgb(240,160,38)" rx="2" ry="2" />
+<text x="771.72" y="207.5" ></text>
+</g>
+<g >
+<title>/ba (132 samples, 0.01%)</title><rect x="1061.0" y="149" width="0.2" height="15.0" fill="rgb(224,120,21)" rx="2" ry="2" />
+<text x="1064.03" y="159.5" ></text>
+</g>
+<g >
+<title>enter_statx (92 samples, 0.01%)</title><rect x="797.2" y="213" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="800.18" y="223.5" ></text>
+</g>
+<g >
+<title> (226 samples, 0.02%)</title><rect x="1037.7" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1040.68" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="715.4" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="718.35" y="95.5" ></text>
+</g>
+<g >
+<title>enter_writev (36,516 samples, 3.78%)</title><rect x="397.9" y="213" width="44.6" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="400.89" y="223.5" >ente..</text>
+</g>
+<g >
+<title>/org.fedoraproject.Platform.YtDlp (204 samples, 0.02%)</title><rect x="234.1" y="149" width="0.2" height="15.0" fill="rgb(236,149,34)" rx="2" ry="2" />
+<text x="237.05" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="762.9" y="101" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="765.87" y="111.5" ></text>
+</g>
+<g >
+<title> (2,867 samples, 0.30%)</title><rect x="1165.9" y="229" width="3.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1168.88" y="239.5" ></text>
+</g>
+<g >
+<title>/ptmx (874 samples, 0.09%)</title><rect x="458.4" y="197" width="1.0" height="15.0" fill="rgb(238,138,36)" rx="2" ry="2" />
+<text x="461.38" y="207.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Calendar.slice (1,690 samples, 0.17%)</title><rect x="706.0" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="709.05" y="111.5" ></text>
+</g>
+<g >
+<title>enter_statx (91 samples, 0.01%)</title><rect x="243.2" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="246.20" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="709.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="712.72" y="79.5" ></text>
+</g>
+<g >
+<title>/600296 (152 samples, 0.02%)</title><rect x="779.2" y="197" width="0.1" height="15.0" fill="rgb(244,123,43)" rx="2" ry="2" />
+<text x="782.15" y="207.5" ></text>
+</g>
+<g >
+<title>/usr (731 samples, 0.08%)</title><rect x="1083.7" y="213" width="0.9" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1086.71" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="703.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="706.23" y="79.5" ></text>
+</g>
+<g >
+<title>enter_openat (700 samples, 0.07%)</title><rect x="629.7" y="213" width="0.9" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="632.71" y="223.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (93 samples, 0.01%)</title><rect x="760.2" y="85" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="763.16" y="95.5" ></text>
+</g>
+<g >
+<title>/59 (105 samples, 0.01%)</title><rect x="1049.3" y="149" width="0.2" height="15.0" fill="rgb(225,99,22)" rx="2" ry="2" />
+<text x="1052.33" y="159.5" ></text>
+</g>
+<g >
+<title>/fb (95 samples, 0.01%)</title><rect x="1069.0" y="149" width="0.1" height="15.0" fill="rgb(230,152,27)" rx="2" ry="2" />
+<text x="1071.97" y="159.5" ></text>
+</g>
+<g >
+<title> (875 samples, 0.09%)</title><rect x="870.4" y="229" width="1.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="873.42" y="239.5" ></text>
+</g>
+<g >
+<title>/15 (35,344 samples, 3.66%)</title><rect x="145.3" y="149" width="43.2" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="148.33" y="159.5" >/15</text>
+</g>
+<g >
+<title>enter_read (91 samples, 0.01%)</title><rect x="727.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="730.73" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (91 samples, 0.01%)</title><rect x="751.9" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="754.93" y="79.5" ></text>
+</g>
+<g >
+<title>/sbin (577 samples, 0.06%)</title><rect x="120.0" y="165" width="0.7" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="123.02" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstatat (114 samples, 0.01%)</title><rect x="811.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="814.28" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="754.3" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="757.33" y="95.5" ></text>
+</g>
+<g >
+<title>/x86_64 (169 samples, 0.02%)</title><rect x="233.3" y="133" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="236.25" y="143.5" ></text>
+</g>
+<g >
+<title>297925 (23,060 samples, 2.39%)</title><rect x="448.2" y="245" width="28.1" height="15.0" fill="rgb(236,197,35)" rx="2" ry="2" />
+<text x="451.19" y="255.5" >2..</text>
+</g>
+<g >
+<title>/.. (253 samples, 0.03%)</title><rect x="1085.9" y="117" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1088.89" y="127.5" ></text>
+</g>
+<g >
+<title>/linuxbrew (454 samples, 0.05%)</title><rect x="35.4" y="197" width="0.6" height="15.0" fill="rgb(232,99,30)" rx="2" ry="2" />
+<text x="38.45" y="207.5" ></text>
+</g>
+<g >
+<title>/usr (436 samples, 0.05%)</title><rect x="101.4" y="213" width="0.5" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="104.36" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1179.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.27" y="143.5" ></text>
+</g>
+<g >
+<title>/47 (102 samples, 0.01%)</title><rect x="1047.2" y="149" width="0.2" height="15.0" fill="rgb(229,111,27)" rx="2" ry="2" />
+<text x="1050.23" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (1,511 samples, 0.16%)</title><rect x="1101.0" y="133" width="1.9" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="1104.02" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="694.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="697.21" y="79.5" ></text>
+</g>
+<g >
+<title>5589 (245 samples, 0.03%)</title><rect x="777.0" y="245" width="0.3" height="15.0" fill="rgb(238,134,36)" rx="2" ry="2" />
+<text x="780.05" y="255.5" ></text>
+</g>
+<g >
+<title>6012 (1,037 samples, 0.11%)</title><rect x="782.6" y="245" width="1.2" height="15.0" fill="rgb(249,174,48)" rx="2" ry="2" />
+<text x="785.56" y="255.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (126 samples, 0.01%)</title><rect x="824.1" y="149" width="0.1" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="827.09" y="159.5" ></text>
+</g>
+<g >
+<title>enter_lseek (142 samples, 0.01%)</title><rect x="1080.1" y="117" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1083.08" y="127.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dcom.redhat.imsettings.slice (1,644 samples, 0.17%)</title><rect x="694.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="697.00" y="111.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="704.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="707.00" y="95.5" ></text>
+</g>
+<g >
+<title>/cache (282 samples, 0.03%)</title><rect x="865.7" y="165" width="0.3" height="15.0" fill="rgb(245,170,44)" rx="2" ry="2" />
+<text x="868.68" y="175.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Screenshot (118 samples, 0.01%)</title><rect x="219.9" y="149" width="0.1" height="15.0" fill="rgb(237,149,36)" rx="2" ry="2" />
+<text x="222.88" y="159.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.Locale (112 samples, 0.01%)</title><rect x="304.4" y="197" width="0.1" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="307.39" y="207.5" ></text>
+</g>
+<g >
+<title>/proc (196 samples, 0.02%)</title><rect x="766.1" y="213" width="0.2" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="769.07" y="223.5" ></text>
+</g>
+<g >
+<title>enter_statx (96 samples, 0.01%)</title><rect x="241.3" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="244.26" y="143.5" ></text>
+</g>
+<g >
+<title>/38 (105 samples, 0.01%)</title><rect x="1045.5" y="149" width="0.1" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2" />
+<text x="1048.50" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="762.4" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="765.43" y="95.5" ></text>
+</g>
+<g >
+<title>/org.telegram.desktop.webview (184 samples, 0.02%)</title><rect x="247.8" y="149" width="0.3" height="15.0" fill="rgb(230,149,28)" rx="2" ry="2" />
+<text x="250.83" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="742.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="745.88" y="79.5" ></text>
+</g>
+<g >
+<title> (2,377 samples, 0.25%)</title><rect x="99.0" y="229" width="2.9" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="101.99" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="730.5" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="733.50" y="95.5" ></text>
+</g>
+<g >
+<title>/null (90 samples, 0.01%)</title><rect x="32.8" y="197" width="0.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="35.83" y="207.5" ></text>
+</g>
+<g >
+<title>/a1 (122 samples, 0.01%)</title><rect x="1058.0" y="149" width="0.2" height="15.0" fill="rgb(221,125,18)" rx="2" ry="2" />
+<text x="1061.02" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (322 samples, 0.03%)</title><rect x="741.6" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="744.59" y="95.5" ></text>
+</g>
+<g >
+<title> (15,602 samples, 1.61%)</title><rect x="808.2" y="229" width="19.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="811.21" y="239.5" ></text>
+</g>
+<g >
+<title>/b3 (88 samples, 0.01%)</title><rect x="1060.2" y="149" width="0.1" height="15.0" fill="rgb(234,113,32)" rx="2" ry="2" />
+<text x="1063.19" y="159.5" ></text>
+</g>
+<g >
+<title>/storage (626 samples, 0.06%)</title><rect x="798.0" y="133" width="0.7" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="800.97" y="143.5" ></text>
+</g>
+<g >
+<title>/8a (89 samples, 0.01%)</title><rect x="1055.3" y="149" width="0.1" height="15.0" fill="rgb(234,165,31)" rx="2" ry="2" />
+<text x="1058.26" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="729.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="732.37" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="734.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="737.81" y="79.5" ></text>
+</g>
+<g >
+<title>/lib64 (239 samples, 0.02%)</title><rect x="1087.3" y="213" width="0.3" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1090.35" y="223.5" ></text>
+</g>
+<g >
+<title>/8b (86 samples, 0.01%)</title><rect x="1055.4" y="149" width="0.1" height="15.0" fill="rgb(232,162,30)" rx="2" ry="2" />
+<text x="1058.37" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (276 samples, 0.03%)</title><rect x="742.0" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="744.98" y="95.5" ></text>
+</g>
+<g >
+<title>/paul (809 samples, 0.08%)</title><rect x="797.7" y="197" width="1.0" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="800.75" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="724.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="727.00" y="79.5" ></text>
+</g>
+<g >
+<title>enter_openat (214 samples, 0.02%)</title><rect x="876.4" y="197" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="879.37" y="207.5" ></text>
+</g>
+<g >
+<title>/.. (2,384 samples, 0.25%)</title><rect x="1093.8" y="149" width="2.9" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1096.79" y="159.5" ></text>
+</g>
+<g >
+<title>enter_mmap (116 samples, 0.01%)</title><rect x="1165.9" y="181" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1168.88" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (208 samples, 0.02%)</title><rect x="777.4" y="213" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="780.39" y="223.5" ></text>
+</g>
+<g >
+<title>627616 (84 samples, 0.01%)</title><rect x="1172.9" y="245" width="0.1" height="15.0" fill="rgb(238,145,36)" rx="2" ry="2" />
+<text x="1175.85" y="255.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="711.6" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="714.63" y="79.5" ></text>
+</g>
+<g >
+<title>/proselint (316 samples, 0.03%)</title><rect x="869.9" y="165" width="0.4" height="15.0" fill="rgb(238,144,36)" rx="2" ry="2" />
+<text x="872.94" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="736.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="739.48" y="79.5" ></text>
+</g>
+<g >
+<title>/613246 (156 samples, 0.02%)</title><rect x="780.6" y="197" width="0.2" height="15.0" fill="rgb(237,120,36)" rx="2" ry="2" />
+<text x="783.57" y="207.5" ></text>
+</g>
+<g >
+<title>/sbin (220 samples, 0.02%)</title><rect x="39.2" y="181" width="0.3" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="42.19" y="191.5" ></text>
+</g>
+<g >
+<title>/history.sqlite-wal (4,547 samples, 0.47%)</title><rect x="818.0" y="165" width="5.5" height="15.0" fill="rgb(223,119,20)" rx="2" ry="2" />
+<text x="820.98" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (947 samples, 0.10%)</title><rect x="332.3" y="213" width="1.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="335.28" y="223.5" ></text>
+</g>
+<g >
+<title>627542 (294 samples, 0.03%)</title><rect x="1084.6" y="245" width="0.4" height="15.0" fill="rgb(242,145,41)" rx="2" ry="2" />
+<text x="1087.62" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="700.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="703.20" y="79.5" ></text>
+</g>
+<g >
+<title>/2.4.1 (82 samples, 0.01%)</title><rect x="240.9" y="117" width="0.1" height="15.0" fill="rgb(234,111,32)" rx="2" ry="2" />
+<text x="243.93" y="127.5" ></text>
+</g>
+<g >
+<title>/app.slice (354 samples, 0.04%)</title><rect x="622.4" y="117" width="0.5" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="625.44" y="127.5" ></text>
+</g>
+<g >
+<title>/rpm (2,763 samples, 0.29%)</title><rect x="809.0" y="165" width="3.4" height="15.0" fill="rgb(232,140,30)" rx="2" ry="2" />
+<text x="812.04" y="175.5" ></text>
+</g>
+<g >
+<title>/wallpaper (483 samples, 0.05%)</title><rect x="836.4" y="149" width="0.6" height="15.0" fill="rgb(243,125,41)" rx="2" ry="2" />
+<text x="839.41" y="159.5" ></text>
+</g>
+<g >
+<title>/3b (98 samples, 0.01%)</title><rect x="1045.9" y="149" width="0.1" height="15.0" fill="rgb(225,132,22)" rx="2" ry="2" />
+<text x="1048.85" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="731.2" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="734.17" y="95.5" ></text>
+</g>
+<g >
+<title>/x86_64 (96 samples, 0.01%)</title><rect x="232.1" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="235.09" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="704.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="707.88" y="79.5" ></text>
+</g>
+<g >
+<title>/lib64 (271 samples, 0.03%)</title><rect x="1087.9" y="69" width="0.4" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1090.94" y="79.5" ></text>
+</g>
+<g >
+<title>/91 (121 samples, 0.01%)</title><rect x="1056.1" y="149" width="0.1" height="15.0" fill="rgb(229,160,26)" rx="2" ry="2" />
+<text x="1059.10" y="159.5" ></text>
+</g>
+<g >
+<title>627554 (368 samples, 0.04%)</title><rect x="1093.1" y="245" width="0.5" height="15.0" fill="rgb(238,145,36)" rx="2" ry="2" />
+<text x="1096.14" y="255.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="762.2" y="85" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="765.21" y="95.5" ></text>
+</g>
+<g >
+<title>/mm (116 samples, 0.01%)</title><rect x="1189.4" y="181" width="0.2" height="15.0" fill="rgb(220,120,17)" rx="2" ry="2" />
+<text x="1192.43" y="191.5" ></text>
+</g>
+<g >
+<title>/15 (89 samples, 0.01%)</title><rect x="620.9" y="197" width="0.1" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="623.90" y="207.5" ></text>
+</g>
+<g >
+<title>11371 (833 samples, 0.09%)</title><rect x="340.4" y="245" width="1.0" height="15.0" fill="rgb(237,123,35)" rx="2" ry="2" />
+<text x="343.43" y="255.5" ></text>
+</g>
+<g >
+<title>/1f (117 samples, 0.01%)</title><rect x="1042.4" y="149" width="0.2" height="15.0" fill="rgb(238,129,36)" rx="2" ry="2" />
+<text x="1045.41" y="159.5" ></text>
+</g>
+<g >
+<title>/games (16,353 samples, 1.69%)</title><rect x="194.9" y="181" width="19.9" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="197.87" y="191.5" ></text>
+</g>
+<g >
+<title>/system@000634265b2af383-38e060955906d47f.journal~ (85 samples, 0.01%)</title><rect x="1177.6" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.58" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (100 samples, 0.01%)</title><rect x="769.1" y="181" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="772.07" y="191.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="709.2" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="712.16" y="79.5" ></text>
+</g>
+<g >
+<title>625679 (121 samples, 0.01%)</title><rect x="806.2" y="245" width="0.1" height="15.0" fill="rgb(238,151,36)" rx="2" ry="2" />
+<text x="809.18" y="255.5" ></text>
+</g>
+<g >
+<title>enter_readv (328 samples, 0.03%)</title><rect x="446.3" y="181" width="0.4" height="15.0" fill="rgb(239,196,37)" rx="2" ry="2" />
+<text x="449.30" y="191.5" ></text>
+</g>
+<g >
+<title> (271 samples, 0.03%)</title><rect x="1091.0" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1093.98" y="239.5" ></text>
+</g>
+<g >
+<title>/ef (87 samples, 0.01%)</title><rect x="1067.6" y="149" width="0.1" height="15.0" fill="rgb(241,144,40)" rx="2" ry="2" />
+<text x="1070.58" y="159.5" ></text>
+</g>
+<g >
+<title>enter_faccessat2 (2,775 samples, 0.29%)</title><rect x="129.7" y="133" width="3.4" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="132.67" y="143.5" ></text>
+</g>
+<g >
+<title>627368 (198 samples, 0.02%)</title><rect x="875.4" y="245" width="0.2" height="15.0" fill="rgb(231,145,29)" rx="2" ry="2" />
+<text x="878.39" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="480.7" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="483.71" y="175.5" ></text>
+</g>
+<g >
+<title>/pkg (527 samples, 0.05%)</title><rect x="675.0" y="133" width="0.6" height="15.0" fill="rgb(238,128,36)" rx="2" ry="2" />
+<text x="677.97" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="693.4" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="696.35" y="95.5" ></text>
+</g>
+<g >
+<title> (122 samples, 0.01%)</title><rect x="873.0" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="876.01" y="239.5" ></text>
+</g>
+<g >
+<title>627428 (132 samples, 0.01%)</title><rect x="881.4" y="245" width="0.2" height="15.0" fill="rgb(235,145,33)" rx="2" ry="2" />
+<text x="884.40" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="701.3" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="704.32" y="95.5" ></text>
+</g>
+<g >
+<title>/5f (106 samples, 0.01%)</title><rect x="1050.1" y="149" width="0.1" height="15.0" fill="rgb(233,109,31)" rx="2" ry="2" />
+<text x="1053.09" y="159.5" ></text>
+</g>
+<g >
+<title>enter_mmap (116 samples, 0.01%)</title><rect x="864.5" y="181" width="0.2" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="867.54" y="191.5" ></text>
+</g>
+<g >
+<title>/smaps (304 samples, 0.03%)</title><rect x="799.2" y="181" width="0.4" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="802.19" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (3,973 samples, 0.41%)</title><rect x="570.5" y="213" width="4.9" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="573.51" y="223.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (2,366 samples, 0.24%)</title><rect x="319.2" y="213" width="2.9" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="322.21" y="223.5" ></text>
+</g>
+<g >
+<title>/bin (125 samples, 0.01%)</title><rect x="674.5" y="165" width="0.2" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="677.55" y="175.5" ></text>
+</g>
+<g >
+<title>/ce (89 samples, 0.01%)</title><rect x="1063.5" y="149" width="0.2" height="15.0" fill="rgb(245,157,44)" rx="2" ry="2" />
+<text x="1066.54" y="159.5" ></text>
+</g>
+<g >
+<title>/sbin (549 samples, 0.06%)</title><rect x="189.9" y="197" width="0.6" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="192.88" y="207.5" ></text>
+</g>
+<g >
+<title>enter_write (918 samples, 0.09%)</title><rect x="100.2" y="181" width="1.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="103.23" y="191.5" ></text>
+</g>
+<g >
+<title> (374 samples, 0.04%)</title><rect x="1038.0" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1040.97" y="239.5" ></text>
+</g>
+<g >
+<title>enter_write (28,798 samples, 2.98%)</title><rect x="58.5" y="213" width="35.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="61.55" y="223.5" >en..</text>
+</g>
+<g >
+<title>/org.kde.okteta (100 samples, 0.01%)</title><rect x="220.7" y="149" width="0.1" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="223.65" y="159.5" ></text>
+</g>
+<g >
+<title>app (850 samples, 0.09%)</title><rect x="297.8" y="229" width="1.0" height="15.0" fill="rgb(248,150,47)" rx="2" ry="2" />
+<text x="300.76" y="239.5" ></text>
+</g>
+<g >
+<title>/null (116 samples, 0.01%)</title><rect x="1165.9" y="197" width="0.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="1168.88" y="207.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Totem.slice (1,698 samples, 0.18%)</title><rect x="740.6" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="743.58" y="111.5" ></text>
+</g>
+<g >
+<title> (291 samples, 0.03%)</title><rect x="868.9" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="871.88" y="239.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1090.1" y="85" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1093.10" y="95.5" ></text>
+</g>
+<g >
+<title>/video2 (289 samples, 0.03%)</title><rect x="619.6" y="197" width="0.3" height="15.0" fill="rgb(250,104,49)" rx="2" ry="2" />
+<text x="622.60" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (140 samples, 0.01%)</title><rect x="778.3" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="781.26" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="738.1" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="741.15" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="695.0" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="697.98" y="95.5" ></text>
+</g>
+<g >
+<title>627258 (225 samples, 0.02%)</title><rect x="868.1" y="245" width="0.3" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="871.13" y="255.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="480.6" y="165" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="483.57" y="175.5" ></text>
+</g>
+<g >
+<title>/6b (110 samples, 0.01%)</title><rect x="1051.5" y="149" width="0.1" height="15.0" fill="rgb(222,117,19)" rx="2" ry="2" />
+<text x="1054.50" y="159.5" ></text>
+</g>
+<g >
+<title>refs (1,256 samples, 0.13%)</title><rect x="315.0" y="229" width="1.6" height="15.0" fill="rgb(239,168,37)" rx="2" ry="2" />
+<text x="318.03" y="239.5" ></text>
+</g>
+<g >
+<title>/lib64 (157 samples, 0.02%)</title><rect x="541.3" y="213" width="0.1" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="544.25" y="223.5" ></text>
+</g>
+<g >
+<title>enter_lseek (116 samples, 0.01%)</title><rect x="481.9" y="165" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="484.91" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="730.8" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="733.84" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (116 samples, 0.01%)</title><rect x="477.7" y="165" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="480.66" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="694.7" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="697.65" y="95.5" ></text>
+</g>
+<g >
+<title>/variety (321 samples, 0.03%)</title><rect x="1144.8" y="165" width="0.3" height="15.0" fill="rgb(243,130,42)" rx="2" ry="2" />
+<text x="1147.75" y="175.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (39,447 samples, 4.08%)</title><rect x="45.5" y="229" width="48.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="48.54" y="239.5" >anon..</text>
+</g>
+<g >
+<title>/user-1001@e55e36a28c8c4cff86dc0f4aced7d563-00000000004a97d3-00061c9741dc2b6d.journal (93 samples, 0.01%)</title><rect x="1185.6" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1188.61" y="159.5" ></text>
+</g>
+<g >
+<title>/var (97 samples, 0.01%)</title><rect x="776.9" y="213" width="0.1" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="779.88" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="748.8" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="751.83" y="95.5" ></text>
+</g>
+<g >
+<title>/Syncthing (836 samples, 0.09%)</title><rect x="782.6" y="181" width="1.0" height="15.0" fill="rgb(243,140,42)" rx="2" ry="2" />
+<text x="785.61" y="191.5" ></text>
+</g>
+<g >
+<title>/games (111 samples, 0.01%)</title><rect x="812.6" y="181" width="0.1" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="815.55" y="191.5" ></text>
+</g>
+<g >
+<title>/15 (687 samples, 0.07%)</title><rect x="1092.3" y="149" width="0.8" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1095.26" y="159.5" ></text>
+</g>
+<g >
+<title>/bin (555 samples, 0.06%)</title><rect x="141.5" y="165" width="0.6" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="144.46" y="175.5" ></text>
+</g>
+<g >
+<title>/01 (82 samples, 0.01%)</title><rect x="1038.8" y="149" width="0.1" height="15.0" fill="rgb(227,150,24)" rx="2" ry="2" />
+<text x="1041.83" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="727.9" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="730.89" y="79.5" ></text>
+</g>
+<g >
+<title>/paul (4,202 samples, 0.43%)</title><rect x="1076.5" y="197" width="5.1" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1079.52" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.current (268 samples, 0.03%)</title><rect x="738.6" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="741.59" y="95.5" ></text>
+</g>
+<g >
+<title>/lib (27,318 samples, 2.83%)</title><rect x="215.8" y="197" width="33.4" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="218.85" y="207.5" >/lib</text>
+</g>
+<g >
+<title>/systemd (114 samples, 0.01%)</title><rect x="808.9" y="197" width="0.1" height="15.0" fill="rgb(240,145,39)" rx="2" ry="2" />
+<text x="811.88" y="207.5" ></text>
+</g>
+<g >
+<title>/.. (186 samples, 0.02%)</title><rect x="38.7" y="117" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="41.67" y="127.5" ></text>
+</g>
+<g >
+<title>627247 (2,868 samples, 0.30%)</title><rect x="864.5" y="245" width="3.5" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2" />
+<text x="867.53" y="255.5" ></text>
+</g>
+<g >
+<title>/system@3e0133df7b464d8ab9c8567339a7cec0-000000000055a6b4-000623cd8a044b88.journal (86 samples, 0.01%)</title><rect x="1178.8" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.77" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (276 samples, 0.03%)</title><rect x="687.3" y="101" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="690.27" y="111.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="704.7" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="707.66" y="95.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.OnlineAccounts.slice (1,646 samples, 0.17%)</title><rect x="722.4" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="725.42" y="111.5" ></text>
+</g>
+<g >
+<title> (1,366 samples, 0.14%)</title><rect x="766.3" y="229" width="1.7" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="769.32" y="239.5" ></text>
+</g>
+<g >
+<title>/btf (1,600 samples, 0.17%)</title><rect x="881.9" y="181" width="2.0" height="15.0" fill="rgb(243,97,42)" rx="2" ry="2" />
+<text x="884.94" y="191.5" ></text>
+</g>
+<g >
+<title>/system@000635427d1e1a61-f4fd76368ed90628.journal~ (85 samples, 0.01%)</title><rect x="1177.7" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.69" y="159.5" ></text>
+</g>
+<g >
+<title>/dd (91 samples, 0.01%)</title><rect x="1065.3" y="149" width="0.1" height="15.0" fill="rgb(246,156,45)" rx="2" ry="2" />
+<text x="1068.32" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="756.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="759.43" y="79.5" ></text>
+</g>
+<g >
+<title>/user-1001.journal (134 samples, 0.01%)</title><rect x="1182.7" y="149" width="0.2" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1185.69" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="693.2" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="696.25" y="79.5" ></text>
+</g>
+<g >
+<title>626856 (17,572 samples, 1.82%)</title><rect x="808.2" y="245" width="21.5" height="15.0" fill="rgb(232,148,30)" rx="2" ry="2" />
+<text x="811.21" y="255.5" >6..</text>
+</g>
+<g >
+<title>/7a (102 samples, 0.01%)</title><rect x="1053.3" y="149" width="0.1" height="15.0" fill="rgb(235,170,33)" rx="2" ry="2" />
+<text x="1056.28" y="159.5" ></text>
+</g>
+<g >
+<title>627229 (965 samples, 0.10%)</title><rect x="836.2" y="245" width="1.2" height="15.0" fill="rgb(234,145,32)" rx="2" ry="2" />
+<text x="839.24" y="255.5" ></text>
+</g>
+<g >
+<title>6931 (249 samples, 0.03%)</title><rect x="1189.7" y="245" width="0.3" height="15.0" fill="rgb(225,178,22)" rx="2" ry="2" />
+<text x="1192.68" y="255.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so (244 samples, 0.03%)</title><rect x="1090.6" y="133" width="0.3" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1093.64" y="143.5" ></text>
+</g>
+<g >
+<title>/a8 (105 samples, 0.01%)</title><rect x="1058.9" y="149" width="0.1" height="15.0" fill="rgb(226,102,24)" rx="2" ry="2" />
+<text x="1061.86" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="732.9" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="735.88" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="721.5" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="724.45" y="79.5" ></text>
+</g>
+<g >
+<title> (946 samples, 0.10%)</title><rect x="836.3" y="229" width="1.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="839.25" y="239.5" ></text>
+</g>
+<g >
+<title>enter_write (371 samples, 0.04%)</title><rect x="465.4" y="213" width="0.5" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="468.45" y="223.5" ></text>
+</g>
+<g >
+<title>/fs (392 samples, 0.04%)</title><rect x="622.4" y="197" width="0.5" height="15.0" fill="rgb(235,136,33)" rx="2" ry="2" />
+<text x="625.40" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="734.6" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="737.60" y="95.5" ></text>
+</g>
+<g >
+<title>enter_writev (945 samples, 0.10%)</title><rect x="547.9" y="149" width="1.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="550.91" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (162 samples, 0.02%)</title><rect x="101.4" y="133" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="104.38" y="143.5" ></text>
+</g>
+<g >
+<title>/x86_64 (175 samples, 0.02%)</title><rect x="240.5" y="133" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="243.48" y="143.5" ></text>
+</g>
+<g >
+<title>/trashbin (238 samples, 0.02%)</title><rect x="804.3" y="149" width="0.3" height="15.0" fill="rgb(247,124,46)" rx="2" ry="2" />
+<text x="807.27" y="159.5" ></text>
+</g>
+<g >
+<title>/ld-linux-x86-64.so.2 (107 samples, 0.01%)</title><rect x="1087.3" y="197" width="0.2" height="15.0" fill="rgb(250,115,50)" rx="2" ry="2" />
+<text x="1090.35" y="207.5" ></text>
+</g>
+<g >
+<title>/tmp (221 samples, 0.02%)</title><rect x="1092.0" y="213" width="0.2" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1094.96" y="223.5" ></text>
+</g>
+<g >
+<title>/share (5,752 samples, 0.60%)</title><rect x="133.7" y="165" width="7.1" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="136.75" y="175.5" ></text>
+</g>
+<g >
+<title>/system@86a9e53687694bedae9288535300cd9c-00000000004aa505-00061c97bc2ba867.journal (95 samples, 0.01%)</title><rect x="1179.5" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.48" y="159.5" ></text>
+</g>
+<g >
+<title>/system@e787b310a4d743b4a3376463d97f0ded-0000000000522ca9-000621d2b08c2088.journal (87 samples, 0.01%)</title><rect x="1182.2" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1185.20" y="159.5" ></text>
+</g>
+<g >
+<title> (1,294 samples, 0.13%)</title><rect x="1083.0" y="229" width="1.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1086.04" y="239.5" ></text>
+</g>
+<g >
+<title>/input (98 samples, 0.01%)</title><rect x="774.7" y="197" width="0.1" height="15.0" fill="rgb(234,137,31)" rx="2" ry="2" />
+<text x="777.67" y="207.5" ></text>
+</g>
+<g >
+<title>/__pycache__ (269 samples, 0.03%)</title><rect x="1035.1" y="165" width="0.3" height="15.0" fill="rgb(235,103,33)" rx="2" ry="2" />
+<text x="1038.12" y="175.5" ></text>
+</g>
+<g >
+<title>enter_statx (119 samples, 0.01%)</title><rect x="239.7" y="133" width="0.2" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="242.74" y="143.5" ></text>
+</g>
+<g >
+<title>/x86_64 (120 samples, 0.01%)</title><rect x="305.7" y="181" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="308.66" y="191.5" ></text>
+</g>
+<g >
+<title>/24 (99 samples, 0.01%)</title><rect x="1043.1" y="149" width="0.1" height="15.0" fill="rgb(237,130,35)" rx="2" ry="2" />
+<text x="1046.10" y="159.5" ></text>
+</g>
+<g >
+<title> (1,320 samples, 0.14%)</title><rect x="1091.5" y="229" width="1.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1094.52" y="239.5" ></text>
+</g>
+<g >
+<title>enter_openat (121 samples, 0.01%)</title><rect x="805.0" y="181" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="807.98" y="191.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.evince.Daemon.slice (1,728 samples, 0.18%)</title><rect x="746.7" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="749.72" y="111.5" ></text>
+</g>
+<g >
+<title>enter_newfstatat (192 samples, 0.02%)</title><rect x="812.9" y="149" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="815.90" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="761.7" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="764.71" y="95.5" ></text>
+</g>
+<g >
+<title>enter_access (194 samples, 0.02%)</title><rect x="683.1" y="149" width="0.3" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="686.12" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (7,975 samples, 0.83%)</title><rect x="785.8" y="181" width="9.8" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="788.84" y="191.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="481.0" y="165" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="483.99" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="692.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="695.22" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.low (274 samples, 0.03%)</title><rect x="722.7" y="85" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="725.74" y="95.5" ></text>
+</g>
+<g >
+<title>/lib (376 samples, 0.04%)</title><rect x="396.4" y="197" width="0.5" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="399.42" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="700.9" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="703.95" y="95.5" ></text>
+</g>
+<g >
+<title> (215 samples, 0.02%)</title><rect x="777.0" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="780.05" y="239.5" ></text>
+</g>
+<g >
+<title>enter_mmap (3,490 samples, 0.36%)</title><rect x="625.1" y="213" width="4.3" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="628.12" y="223.5" ></text>
+</g>
+<g >
+<title>enter_lseek (2,910 samples, 0.30%)</title><rect x="1108.8" y="165" width="3.6" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1111.80" y="175.5" ></text>
+</g>
+<g >
+<title>/36 (88 samples, 0.01%)</title><rect x="1045.3" y="149" width="0.1" height="15.0" fill="rgb(232,119,30)" rx="2" ry="2" />
+<text x="1048.26" y="159.5" ></text>
+</g>
+<g >
+<title>/dnf (6,731 samples, 0.70%)</title><rect x="817.1" y="181" width="8.2" height="15.0" fill="rgb(248,162,48)" rx="2" ry="2" />
+<text x="820.07" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (97 samples, 0.01%)</title><rect x="1179.0" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.99" y="143.5" ></text>
+</g>
+<g >
+<title>/python3.13 (1,509 samples, 0.16%)</title><rect x="1035.1" y="181" width="1.9" height="15.0" fill="rgb(240,160,39)" rx="2" ry="2" />
+<text x="1038.12" y="191.5" ></text>
+</g>
+<g >
+<title>/f42 (139 samples, 0.01%)</title><rect x="233.3" y="117" width="0.1" height="15.0" fill="rgb(242,145,40)" rx="2" ry="2" />
+<text x="236.26" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="703.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="706.89" y="79.5" ></text>
+</g>
+<g >
+<title> (2,859 samples, 0.30%)</title><rect x="797.4" y="229" width="3.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="800.39" y="239.5" ></text>
+</g>
+<g >
+<title> (100 samples, 0.01%)</title><rect x="875.5" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="878.51" y="239.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (460 samples, 0.05%)</title><rect x="250.2" y="213" width="0.5" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="253.15" y="223.5" ></text>
+</g>
+<g >
+<title>627558 (198 samples, 0.02%)</title><rect x="1142.0" y="245" width="0.2" height="15.0" fill="rgb(231,145,28)" rx="2" ry="2" />
+<text x="1145.00" y="255.5" ></text>
+</g>
+<g >
+<title>/621836 (190 samples, 0.02%)</title><rect x="798.7" y="197" width="0.3" height="15.0" fill="rgb(234,117,32)" rx="2" ry="2" />
+<text x="801.74" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="721.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="723.96" y="79.5" ></text>
+</g>
+<g >
+<title>/wallpaper-clock-5d87ac737e7aa623c061e2a08c1e007d.jpg (300 samples, 0.03%)</title><rect x="1144.8" y="133" width="0.3" height="15.0" fill="rgb(240,125,39)" rx="2" ry="2" />
+<text x="1147.75" y="143.5" ></text>
+</g>
+<g >
+<title>/exe (4,988 samples, 0.52%)</title><rect x="1096.8" y="165" width="6.1" height="15.0" fill="rgb(238,163,37)" rx="2" ry="2" />
+<text x="1099.78" y="175.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (103 samples, 0.01%)</title><rect x="45.0" y="213" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="47.99" y="223.5" ></text>
+</g>
+<g >
+<title>/tmp (1,253 samples, 0.13%)</title><rect x="825.3" y="197" width="1.6" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="828.33" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="713.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="716.16" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="719.5" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="722.46" y="79.5" ></text>
+</g>
+<g >
+<title>/11 (146 samples, 0.02%)</title><rect x="767.0" y="165" width="0.2" height="15.0" fill="rgb(226,145,23)" rx="2" ry="2" />
+<text x="770.03" y="175.5" ></text>
+</g>
+<g >
+<title>/org.telegram.desktop.webview.Locale (192 samples, 0.02%)</title><rect x="247.6" y="149" width="0.2" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="250.60" y="159.5" ></text>
+</g>
+<g >
+<title>/games (3,643 samples, 0.38%)</title><rect x="392.0" y="181" width="4.4" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="394.98" y="191.5" ></text>
+</g>
+<g >
+<title>/.. (271 samples, 0.03%)</title><rect x="1087.9" y="133" width="0.4" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1090.94" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="705.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="708.61" y="79.5" ></text>
+</g>
+<g >
+<title>/computers (120 samples, 0.01%)</title><rect x="332.1" y="149" width="0.2" height="15.0" fill="rgb(238,164,36)" rx="2" ry="2" />
+<text x="335.13" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="711.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="714.80" y="79.5" ></text>
+</g>
+<g >
+<title>host (105 samples, 0.01%)</title><rect x="834.4" y="229" width="0.1" height="15.0" fill="rgb(236,170,35)" rx="2" ry="2" />
+<text x="837.37" y="239.5" ></text>
+</g>
+<g >
+<title>/icons (143 samples, 0.01%)</title><rect x="215.2" y="165" width="0.1" height="15.0" fill="rgb(244,134,43)" rx="2" ry="2" />
+<text x="218.17" y="175.5" ></text>
+</g>
+<g >
+<title>/etc (292 samples, 0.03%)</title><rect x="797.4" y="213" width="0.3" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="800.39" y="223.5" ></text>
+</g>
+<g >
+<title>/app.slice (98 samples, 0.01%)</title><rect x="462.1" y="117" width="0.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="465.07" y="127.5" ></text>
+</g>
+<g >
+<title>/paul (128 samples, 0.01%)</title><rect x="331.4" y="197" width="0.2" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="334.45" y="207.5" ></text>
+</g>
+<g >
+<title>/ld-linux-x86-64.so.2 (107 samples, 0.01%)</title><rect x="1085.2" y="197" width="0.1" height="15.0" fill="rgb(250,115,50)" rx="2" ry="2" />
+<text x="1088.20" y="207.5" ></text>
+</g>
+<g >
+<title>627246 (2,649 samples, 0.27%)</title><rect x="861.3" y="245" width="3.2" height="15.0" fill="rgb(237,145,36)" rx="2" ry="2" />
+<text x="864.30" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="754.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="757.88" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (322 samples, 0.03%)</title><rect x="707.1" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="710.06" y="95.5" ></text>
+</g>
+<g >
+<title>/a4 (103 samples, 0.01%)</title><rect x="1058.4" y="149" width="0.1" height="15.0" fill="rgb(233,115,31)" rx="2" ry="2" />
+<text x="1061.40" y="159.5" ></text>
+</g>
+<g >
+<title>/lib (213 samples, 0.02%)</title><rect x="38.7" y="197" width="0.2" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="41.67" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="688.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="691.50" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (128 samples, 0.01%)</title><rect x="800.7" y="213" width="0.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="803.69" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="739.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="742.45" y="79.5" ></text>
+</g>
+<g >
+<title>/bin (222 samples, 0.02%)</title><rect x="36.6" y="181" width="0.3" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="39.60" y="191.5" ></text>
+</g>
+<g >
+<title>socket:[75438] (1,106 samples, 0.11%)</title><rect x="443.1" y="229" width="1.4" height="15.0" fill="rgb(246,175,45)" rx="2" ry="2" />
+<text x="446.12" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="693.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="696.57" y="79.5" ></text>
+</g>
+<g >
+<title>/libnss_systemd.so.2 (82 samples, 0.01%)</title><rect x="775.8" y="197" width="0.1" height="15.0" fill="rgb(250,99,50)" rx="2" ry="2" />
+<text x="778.85" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (91 samples, 0.01%)</title><rect x="745.7" y="69" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="748.74" y="79.5" ></text>
+</g>
+<g >
+<title>/626856 (116 samples, 0.01%)</title><rect x="682.8" y="197" width="0.2" height="15.0" fill="rgb(232,117,30)" rx="2" ry="2" />
+<text x="685.82" y="207.5" ></text>
+</g>
+<g >
+<title>/5e (112 samples, 0.01%)</title><rect x="1049.9" y="149" width="0.2" height="15.0" fill="rgb(235,112,33)" rx="2" ry="2" />
+<text x="1052.95" y="159.5" ></text>
+</g>
+<g >
+<title>/2615d2a547cc54efe24be66a5b3746d6a75e57b808e5423a5cd7cbae0d5dbc41-d (515 samples, 0.05%)</title><rect x="1077.2" y="133" width="0.6" height="15.0" fill="rgb(253,124,53)" rx="2" ry="2" />
+<text x="1080.22" y="143.5" ></text>
+</g>
+<g >
+<title>/smaps (128 samples, 0.01%)</title><rect x="799.9" y="181" width="0.1" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="802.88" y="191.5" ></text>
+</g>
+<g >
+<title>627411 (590 samples, 0.06%)</title><rect x="880.1" y="245" width="0.7" height="15.0" fill="rgb(231,145,28)" rx="2" ry="2" />
+<text x="883.06" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="719.4" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="722.40" y="95.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.VAAPI.Intel (102 samples, 0.01%)</title><rect x="304.5" y="197" width="0.2" height="15.0" fill="rgb(233,149,31)" rx="2" ry="2" />
+<text x="307.53" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.stat (276 samples, 0.03%)</title><rect x="711.6" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="714.57" y="95.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform (103 samples, 0.01%)</title><rect x="305.0" y="197" width="0.1" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="308.02" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="723.8" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="726.84" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (126 samples, 0.01%)</title><rect x="799.7" y="165" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="802.73" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="702.8" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="705.85" y="79.5" ></text>
+</g>
+<g >
+<title>/lib (10,301 samples, 1.07%)</title><rect x="812.8" y="197" width="12.5" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="815.76" y="207.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (35,344 samples, 3.66%)</title><rect x="145.3" y="165" width="43.2" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="148.33" y="175.5" >/x86..</text>
+</g>
+<g >
+<title>/bin (228 samples, 0.02%)</title><rect x="35.4" y="165" width="0.3" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="38.45" y="175.5" ></text>
+</g>
+<g >
+<title>/625663 (140 samples, 0.01%)</title><rect x="447.9" y="197" width="0.1" height="15.0" fill="rgb(238,117,36)" rx="2" ry="2" />
+<text x="450.88" y="207.5" ></text>
+</g>
+<g >
+<title>/gi (222 samples, 0.02%)</title><rect x="1036.5" y="149" width="0.3" height="15.0" fill="rgb(234,124,32)" rx="2" ry="2" />
+<text x="1039.53" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="695.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="698.68" y="95.5" ></text>
+</g>
+<g >
+<title>enter_write (111 samples, 0.01%)</title><rect x="805.7" y="213" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="808.70" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="761.0" y="85" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="764.05" y="95.5" ></text>
+</g>
+<g >
+<title>/9f (97 samples, 0.01%)</title><rect x="1057.8" y="149" width="0.1" height="15.0" fill="rgb(241,144,40)" rx="2" ry="2" />
+<text x="1060.76" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (170 samples, 0.02%)</title><rect x="99.0" y="149" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="101.99" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1177.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.26" y="143.5" ></text>
+</g>
+<g >
+<title>/log (3,933 samples, 0.41%)</title><rect x="769.5" y="197" width="4.8" height="15.0" fill="rgb(248,118,48)" rx="2" ry="2" />
+<text x="772.50" y="207.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="477.8" y="165" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="480.81" y="175.5" ></text>
+</g>
+<g >
+<title>/net (106 samples, 0.01%)</title><rect x="1072.3" y="149" width="0.1" height="15.0" fill="rgb(240,157,39)" rx="2" ry="2" />
+<text x="1075.30" y="159.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (503 samples, 0.05%)</title><rect x="678.3" y="213" width="0.6" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="681.31" y="223.5" ></text>
+</g>
+<g >
+<title>/d6 (120 samples, 0.01%)</title><rect x="1064.5" y="149" width="0.1" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1067.46" y="159.5" ></text>
+</g>
+<g >
+<title>/user-1001@d867e76fe845443eb32f8efe355ef876-00000000004df249-00061efde1b077e9.journal (91 samples, 0.01%)</title><rect x="1185.5" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1188.50" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (8,352 samples, 0.86%)</title><rect x="560.3" y="213" width="10.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="563.31" y="223.5" ></text>
+</g>
+<g >
+<title>/usr (128 samples, 0.01%)</title><rect x="681.1" y="213" width="0.2" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="684.15" y="223.5" ></text>
+</g>
+<g >
+<title>/3a (102 samples, 0.01%)</title><rect x="1045.7" y="149" width="0.2" height="15.0" fill="rgb(227,135,24)" rx="2" ry="2" />
+<text x="1048.73" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="737.6" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="740.56" y="95.5" ></text>
+</g>
+<g >
+<title>/user-1001@fff69b6456c64fb7a42fde8404e90fa0-00000000004cf249-00061dc3b7ab6a51.journal (95 samples, 0.01%)</title><rect x="1185.9" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1188.90" y="159.5" ></text>
+</g>
+<g >
+<title>/b0 (93 samples, 0.01%)</title><rect x="1059.8" y="149" width="0.1" height="15.0" fill="rgb(222,123,19)" rx="2" ry="2" />
+<text x="1062.83" y="159.5" ></text>
+</g>
+<g >
+<title>625681 (152 samples, 0.02%)</title><rect x="806.6" y="245" width="0.1" height="15.0" fill="rgb(234,151,31)" rx="2" ry="2" />
+<text x="809.55" y="255.5" ></text>
+</g>
+<g >
+<title>/asyncio (357 samples, 0.04%)</title><rect x="1035.5" y="165" width="0.4" height="15.0" fill="rgb(244,106,43)" rx="2" ry="2" />
+<text x="1038.45" y="175.5" ></text>
+</g>
+<g >
+<title>/site-packages (266 samples, 0.03%)</title><rect x="1036.5" y="165" width="0.3" height="15.0" fill="rgb(239,119,37)" rx="2" ry="2" />
+<text x="1039.50" y="175.5" ></text>
+</g>
+<g >
+<title>mx.pwmc.Svgvi.Locale (93 samples, 0.01%)</title><rect x="309.0" y="229" width="0.1" height="15.0" fill="rgb(242,75,41)" rx="2" ry="2" />
+<text x="311.99" y="239.5" ></text>
+</g>
+<g >
+<title>/proc (93 samples, 0.01%)</title><rect x="142.9" y="213" width="0.1" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="145.86" y="223.5" ></text>
+</g>
+<g >
+<title>enter_close (775 samples, 0.08%)</title><rect x="249.2" y="213" width="1.0" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="252.20" y="223.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (87 samples, 0.01%)</title><rect x="826.9" y="213" width="0.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="829.94" y="223.5" ></text>
+</g>
+<g >
+<title> (84 samples, 0.01%)</title><rect x="875.7" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="878.68" y="239.5" ></text>
+</g>
+<g >
+<title>/share (754 samples, 0.08%)</title><rect x="674.8" y="165" width="0.9" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="677.77" y="175.5" ></text>
+</g>
+<g >
+<title>/64x64 (241 samples, 0.02%)</title><rect x="221.4" y="85" width="0.3" height="15.0" fill="rgb(240,110,39)" rx="2" ry="2" />
+<text x="224.41" y="95.5" ></text>
+</g>
+<g >
+<title>/system@00062efc1a2cd2c7-88f56335c97a852d.journal~ (87 samples, 0.01%)</title><rect x="1177.2" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.16" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="749.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="752.05" y="79.5" ></text>
+</g>
+<g >
+<title>/paul (758 samples, 0.08%)</title><rect x="871.6" y="197" width="0.9" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="874.57" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="709.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="712.39" y="79.5" ></text>
+</g>
+<g >
+<title>/x86_64 (108 samples, 0.01%)</title><rect x="305.8" y="181" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="308.81" y="191.5" ></text>
+</g>
+<g >
+<title>enter_statx (848 samples, 0.09%)</title><rect x="253.2" y="213" width="1.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="256.23" y="223.5" ></text>
+</g>
+<g >
+<title>enter_writev (30,584 samples, 3.16%)</title><rect x="580.3" y="213" width="37.3" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="583.29" y="223.5" >ent..</text>
+</g>
+<g >
+<title>io.freetubeapp.FreeTube (97 samples, 0.01%)</title><rect x="307.6" y="229" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="310.58" y="239.5" ></text>
+</g>
+<g >
+<title>/null (112 samples, 0.01%)</title><rect x="1093.6" y="197" width="0.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="1096.59" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="689.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="692.38" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (276 samples, 0.03%)</title><rect x="765.0" y="101" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="767.96" y="111.5" ></text>
+</g>
+<g >
+<title>/flathub (649 samples, 0.07%)</title><rect x="221.1" y="149" width="0.8" height="15.0" fill="rgb(227,158,25)" rx="2" ry="2" />
+<text x="224.14" y="159.5" ></text>
+</g>
+<g >
+<title>/go-build480028031 (4,990 samples, 0.52%)</title><rect x="1096.8" y="197" width="6.1" height="15.0" fill="rgb(231,144,29)" rx="2" ry="2" />
+<text x="1099.78" y="207.5" ></text>
+</g>
+<g >
+<title>/lib (384 samples, 0.04%)</title><rect x="42.3" y="197" width="0.5" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="45.28" y="207.5" ></text>
+</g>
+<g >
+<title>/78 (107 samples, 0.01%)</title><rect x="1053.0" y="149" width="0.2" height="15.0" fill="rgb(236,148,35)" rx="2" ry="2" />
+<text x="1056.04" y="159.5" ></text>
+</g>
+<g >
+<title>/org.fedoraproject.Platform.VAAPI.Intel (173 samples, 0.02%)</title><rect x="233.8" y="149" width="0.2" height="15.0" fill="rgb(233,149,31)" rx="2" ry="2" />
+<text x="236.83" y="159.5" ></text>
+</g>
+<g >
+<title>enter_mmap (102 samples, 0.01%)</title><rect x="837.3" y="213" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="840.28" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (95 samples, 0.01%)</title><rect x="1185.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1188.90" y="143.5" ></text>
+</g>
+<g >
+<title>/.. (101 samples, 0.01%)</title><rect x="676.8" y="101" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="679.82" y="111.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="749.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="752.38" y="79.5" ></text>
+</g>
+<g >
+<title>/c9 (102 samples, 0.01%)</title><rect x="1063.0" y="149" width="0.1" height="15.0" fill="rgb(235,145,33)" rx="2" ry="2" />
+<text x="1065.97" y="159.5" ></text>
+</g>
+<g >
+<title>/8e (96 samples, 0.01%)</title><rect x="1055.8" y="149" width="0.1" height="15.0" fill="rgb(244,152,43)" rx="2" ry="2" />
+<text x="1058.76" y="159.5" ></text>
+</g>
+<g >
+<title>socket:[1151257] (88 samples, 0.01%)</title><rect x="397.8" y="229" width="0.1" height="15.0" fill="rgb(246,175,45)" rx="2" ry="2" />
+<text x="400.77" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="688.6" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="691.61" y="95.5" ></text>
+</g>
+<g >
+<title>enter_lseek (196 samples, 0.02%)</title><rect x="1084.3" y="117" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1087.30" y="127.5" ></text>
+</g>
+<g >
+<title>/000050.o (87 samples, 0.01%)</title><rect x="1106.2" y="181" width="0.1" height="15.0" fill="rgb(251,153,50)" rx="2" ry="2" />
+<text x="1109.22" y="191.5" ></text>
+</g>
+<g >
+<title>/1c (86 samples, 0.01%)</title><rect x="1042.1" y="149" width="0.1" height="15.0" fill="rgb(226,139,23)" rx="2" ry="2" />
+<text x="1045.08" y="159.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="478.2" y="165" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="481.23" y="175.5" ></text>
+</g>
+<g >
+<title>/0a (94 samples, 0.01%)</title><rect x="1039.9" y="149" width="0.1" height="15.0" fill="rgb(230,150,28)" rx="2" ry="2" />
+<text x="1042.93" y="159.5" ></text>
+</g>
+<g >
+<title>/usr (22,223 samples, 2.30%)</title><rect x="1114.7" y="213" width="27.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1117.68" y="223.5" >/..</text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="763.2" y="101" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="766.20" y="111.5" ></text>
+</g>
+<g >
+<title>5271 (425 samples, 0.04%)</title><rect x="775.8" y="245" width="0.6" height="15.0" fill="rgb(237,153,36)" rx="2" ry="2" />
+<text x="778.85" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="756.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="759.92" y="79.5" ></text>
+</g>
+<g >
+<title>/92 (114 samples, 0.01%)</title><rect x="1056.2" y="149" width="0.2" height="15.0" fill="rgb(245,157,44)" rx="2" ry="2" />
+<text x="1059.25" y="159.5" ></text>
+</g>
+<g >
+<title>10887 (172,389 samples, 17.84%)</title><rect x="117.4" y="245" width="210.5" height="15.0" fill="rgb(239,112,38)" rx="2" ry="2" />
+<text x="120.43" y="255.5" >10887</text>
+</g>
+<g >
+<title>enter_ioctl (130 samples, 0.01%)</title><rect x="446.8" y="165" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="449.84" y="175.5" ></text>
+</g>
+<g >
+<title>/a3 (82 samples, 0.01%)</title><rect x="1058.3" y="149" width="0.1" height="15.0" fill="rgb(235,118,33)" rx="2" ry="2" />
+<text x="1061.30" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (837 samples, 0.09%)</title><rect x="28.7" y="165" width="1.0" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="31.73" y="175.5" ></text>
+</g>
+<g >
+<title>/share (16,635 samples, 1.72%)</title><rect x="1145.4" y="197" width="20.3" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="1148.40" y="207.5" ></text>
+</g>
+<g >
+<title>/system@c4761a27c8514e1fbb7c5fc6bfca8b84-000000000050a03b-000620e0f0532dca.journal (88 samples, 0.01%)</title><rect x="1180.4" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1183.43" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="758.5" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="761.50" y="79.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-000000000079a36a-000631059abda021.journal (85 samples, 0.01%)</title><rect x="1181.5" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.46" y="159.5" ></text>
+</g>
+<g >
+<title>/45 (90 samples, 0.01%)</title><rect x="242.9" y="117" width="0.1" height="15.0" fill="rgb(233,117,31)" rx="2" ry="2" />
+<text x="245.86" y="127.5" ></text>
+</g>
+<g >
+<title>/home (243 samples, 0.03%)</title><rect x="865.3" y="213" width="0.3" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="868.29" y="223.5" ></text>
+</g>
+<g >
+<title>/local (437 samples, 0.05%)</title><rect x="38.9" y="197" width="0.6" height="15.0" fill="rgb(229,118,26)" rx="2" ry="2" />
+<text x="41.93" y="207.5" ></text>
+</g>
+<g >
+<title>/26 (541 samples, 0.06%)</title><rect x="1077.2" y="149" width="0.7" height="15.0" fill="rgb(233,124,31)" rx="2" ry="2" />
+<text x="1080.22" y="159.5" ></text>
+</g>
+<g >
+<title> (101 samples, 0.01%)</title><rect x="1142.1" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1145.12" y="239.5" ></text>
+</g>
+<g >
+<title>/usr (16,795 samples, 1.74%)</title><rect x="840.4" y="213" width="20.6" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="843.45" y="223.5" ></text>
+</g>
+<g >
+<title>/usr (731 samples, 0.08%)</title><rect x="1090.1" y="213" width="0.9" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1093.07" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (581 samples, 0.06%)</title><rect x="252.5" y="213" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="255.52" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="716.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="718.96" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="712.9" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="715.94" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="686.8" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="689.78" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="762.8" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="765.76" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="747.8" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="750.80" y="79.5" ></text>
+</g>
+<g >
+<title>/libelf.a (3,345 samples, 0.35%)</title><rect x="1135.1" y="53" width="4.1" height="15.0" fill="rgb(236,99,34)" rx="2" ry="2" />
+<text x="1138.14" y="63.5" ></text>
+</g>
+<g >
+<title>io.github.kotatogram.Locale (104 samples, 0.01%)</title><rect x="308.0" y="229" width="0.2" height="15.0" fill="rgb(242,152,41)" rx="2" ry="2" />
+<text x="311.03" y="239.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Weather.slice (1,678 samples, 0.17%)</title><rect x="742.7" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="745.65" y="111.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Platform (158 samples, 0.02%)</title><rect x="305.5" y="197" width="0.2" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="308.47" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (631 samples, 0.07%)</title><rect x="546.3" y="133" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="549.26" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (1,132 samples, 0.12%)</title><rect x="1095.3" y="69" width="1.4" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1098.32" y="79.5" ></text>
+</g>
+<g >
+<title>socket:[1153176] (236 samples, 0.02%)</title><rect x="673.3" y="229" width="0.2" height="15.0" fill="rgb(233,175,31)" rx="2" ry="2" />
+<text x="676.26" y="239.5" ></text>
+</g>
+<g >
+<title>/x86_64 (107 samples, 0.01%)</title><rect x="304.7" y="181" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="307.65" y="191.5" ></text>
+</g>
+<g >
+<title>/home (154 samples, 0.02%)</title><rect x="1170.1" y="213" width="0.2" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="1173.07" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (93 samples, 0.01%)</title><rect x="1186.5" y="213" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1189.46" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="478.9" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="481.94" y="175.5" ></text>
+</g>
+<g >
+<title>enter_write (96 samples, 0.01%)</title><rect x="679.9" y="213" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="682.92" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (1,919 samples, 0.20%)</title><rect x="30.5" y="165" width="2.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="33.49" y="175.5" ></text>
+</g>
+<g >
+<title>/null (104 samples, 0.01%)</title><rect x="861.3" y="197" width="0.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="864.30" y="207.5" ></text>
+</g>
+<g >
+<title>/poll (85 samples, 0.01%)</title><rect x="1072.1" y="133" width="0.1" height="15.0" fill="rgb(229,154,26)" rx="2" ry="2" />
+<text x="1075.06" y="143.5" ></text>
+</g>
+<g >
+<title>/dri (42,516 samples, 4.40%)</title><rect x="489.3" y="197" width="51.9" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="492.28" y="207.5" >/dri</text>
+</g>
+<g >
+<title>/home (587 samples, 0.06%)</title><rect x="116.3" y="213" width="0.7" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="119.30" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (89 samples, 0.01%)</title><rect x="1185.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1188.72" y="143.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.freedesktop.problems.applet.slice (1,628 samples, 0.17%)</title><rect x="700.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="702.98" y="111.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-0000000000753235-00062fd0775f73a6.journal (89 samples, 0.01%)</title><rect x="1181.2" y="149" width="0.2" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.24" y="159.5" ></text>
+</g>
+<g >
+<title>run (145 samples, 0.02%)</title><rect x="832.0" y="229" width="0.1" height="15.0" fill="rgb(243,156,41)" rx="2" ry="2" />
+<text x="834.95" y="239.5" ></text>
+</g>
+<g >
+<title>/lib64 (252 samples, 0.03%)</title><rect x="1092.3" y="69" width="0.3" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1095.26" y="79.5" ></text>
+</g>
+<g >
+<title>/breeze-dark (314 samples, 0.03%)</title><rect x="795.6" y="149" width="0.4" height="15.0" fill="rgb(237,104,35)" rx="2" ry="2" />
+<text x="798.59" y="159.5" ></text>
+</g>
+<g >
+<title>/golang (2,006 samples, 0.21%)</title><rect x="1071.8" y="181" width="2.5" height="15.0" fill="rgb(249,144,48)" rx="2" ry="2" />
+<text x="1074.82" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="484.5" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="487.53" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="736.9" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="739.91" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="719.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="722.30" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="753.3" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="756.28" y="95.5" ></text>
+</g>
+<g >
+<title>/objects (176 samples, 0.02%)</title><rect x="873.7" y="213" width="0.2" height="15.0" fill="rgb(237,162,35)" rx="2" ry="2" />
+<text x="876.71" y="223.5" ></text>
+</g>
+<g >
+<title>org.freedesktop.Platform.Locale (164 samples, 0.02%)</title><rect x="310.8" y="229" width="0.2" height="15.0" fill="rgb(242,179,41)" rx="2" ry="2" />
+<text x="313.85" y="239.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Music (123 samples, 0.01%)</title><rect x="219.7" y="149" width="0.2" height="15.0" fill="rgb(227,149,25)" rx="2" ry="2" />
+<text x="222.73" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (264 samples, 0.03%)</title><rect x="720.1" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="723.10" y="95.5" ></text>
+</g>
+<g >
+<title>/b9 (98 samples, 0.01%)</title><rect x="1060.9" y="149" width="0.1" height="15.0" fill="rgb(224,94,21)" rx="2" ry="2" />
+<text x="1063.91" y="159.5" ></text>
+</g>
+<g >
+<title>625422 (116 samples, 0.01%)</title><rect x="803.9" y="245" width="0.1" height="15.0" fill="rgb(245,151,44)" rx="2" ry="2" />
+<text x="806.90" y="255.5" ></text>
+</g>
+<g >
+<title> (14,499 samples, 1.50%)</title><rect x="448.2" y="229" width="17.7" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="451.20" y="239.5" ></text>
+</g>
+<g >
+<title>/paul (26,504 samples, 2.74%)</title><rect x="1038.7" y="197" width="32.4" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1041.73" y="207.5" >/p..</text>
+</g>
+<g >
+<title>/c0 (99 samples, 0.01%)</title><rect x="1061.8" y="149" width="0.1" height="15.0" fill="rgb(233,173,31)" rx="2" ry="2" />
+<text x="1064.82" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="751.4" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="754.44" y="79.5" ></text>
+</g>
+<g >
+<title>/wallpaper (114 samples, 0.01%)</title><rect x="36.4" y="149" width="0.1" height="15.0" fill="rgb(243,125,41)" rx="2" ry="2" />
+<text x="39.40" y="159.5" ></text>
+</g>
+<g >
+<title>enter_readlink (88 samples, 0.01%)</title><rect x="1114.6" y="197" width="0.1" height="15.0" fill="rgb(236,196,34)" rx="2" ry="2" />
+<text x="1117.57" y="207.5" ></text>
+</g>
+<g >
+<title>/transactions.db-journal (634 samples, 0.07%)</title><rect x="812.8" y="165" width="0.7" height="15.0" fill="rgb(229,124,27)" rx="2" ry="2" />
+<text x="815.76" y="175.5" ></text>
+</g>
+<g >
+<title>/proc (114 samples, 0.01%)</title><rect x="445.3" y="213" width="0.2" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="448.34" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="742.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="745.65" y="95.5" ></text>
+</g>
+<g >
+<title>/kernel (245 samples, 0.03%)</title><rect x="1189.7" y="197" width="0.3" height="15.0" fill="rgb(237,117,35)" rx="2" ry="2" />
+<text x="1192.68" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="763.8" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="766.76" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="708.1" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="711.11" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="729.9" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="732.85" y="95.5" ></text>
+</g>
+<g >
+<title> (876 samples, 0.09%)</title><rect x="835.2" y="229" width="1.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="838.17" y="239.5" ></text>
+</g>
+<g >
+<title>/runtime (580 samples, 0.06%)</title><rect x="315.8" y="181" width="0.7" height="15.0" fill="rgb(236,124,34)" rx="2" ry="2" />
+<text x="318.82" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1181.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.46" y="143.5" ></text>
+</g>
+<g >
+<title>/scripts (125 samples, 0.01%)</title><rect x="676.4" y="181" width="0.2" height="15.0" fill="rgb(236,139,35)" rx="2" ry="2" />
+<text x="679.40" y="191.5" ></text>
+</g>
+<g >
+<title>io.github.ktgw0316.LightZone (101 samples, 0.01%)</title><rect x="308.3" y="229" width="0.1" height="15.0" fill="rgb(251,152,50)" rx="2" ry="2" />
+<text x="311.26" y="239.5" ></text>
+</g>
+<g >
+<title>/ior (317 samples, 0.03%)</title><rect x="675.9" y="165" width="0.4" height="15.0" fill="rgb(240,134,39)" rx="2" ry="2" />
+<text x="678.86" y="175.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (695 samples, 0.07%)</title><rect x="1087.9" y="165" width="0.9" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="1090.94" y="175.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Epiphany (97 samples, 0.01%)</title><rect x="219.3" y="149" width="0.1" height="15.0" fill="rgb(252,149,52)" rx="2" ry="2" />
+<text x="222.33" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (315 samples, 0.03%)</title><rect x="684.8" y="149" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="687.84" y="159.5" ></text>
+</g>
+<g >
+<title>/system.journal (131 samples, 0.01%)</title><rect x="1176.2" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1179.19" y="159.5" ></text>
+</g>
+<g >
+<title>socket:[74107] (261 samples, 0.03%)</title><rect x="98.5" y="229" width="0.3" height="15.0" fill="rgb(249,175,49)" rx="2" ry="2" />
+<text x="101.52" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="706.9" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="709.94" y="79.5" ></text>
+</g>
+<g >
+<title>enter_lseek (98 samples, 0.01%)</title><rect x="1086.1" y="37" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1089.06" y="47.5" ></text>
+</g>
+<g >
+<title>x86_64 (8,254 samples, 0.85%)</title><rect x="317.9" y="229" width="10.0" height="15.0" fill="rgb(232,205,30)" rx="2" ry="2" />
+<text x="320.86" y="239.5" ></text>
+</g>
+<g >
+<title>/etc (465 samples, 0.05%)</title><rect x="861.4" y="213" width="0.6" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="864.43" y="223.5" ></text>
+</g>
+<g >
+<title>/libnss_systemd.so.2 (432 samples, 0.04%)</title><rect x="331.6" y="197" width="0.5" height="15.0" fill="rgb(250,99,50)" rx="2" ry="2" />
+<text x="334.60" y="207.5" ></text>
+</g>
+<g >
+<title>/bin (125 samples, 0.01%)</title><rect x="675.7" y="181" width="0.1" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="678.69" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="721.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="724.67" y="79.5" ></text>
+</g>
+<g >
+<title>/status (638 samples, 0.07%)</title><rect x="479.2" y="181" width="0.8" height="15.0" fill="rgb(233,122,30)" rx="2" ry="2" />
+<text x="482.22" y="191.5" ></text>
+</g>
+<g >
+<title>/omf (661 samples, 0.07%)</title><rect x="674.9" y="149" width="0.8" height="15.0" fill="rgb(238,165,36)" rx="2" ry="2" />
+<text x="677.88" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (282 samples, 0.03%)</title><rect x="764.6" y="101" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="767.62" y="111.5" ></text>
+</g>
+<g >
+<title>/f9 (109 samples, 0.01%)</title><rect x="1068.7" y="149" width="0.2" height="15.0" fill="rgb(231,129,29)" rx="2" ry="2" />
+<text x="1071.74" y="159.5" ></text>
+</g>
+<g >
+<title>/84 (94 samples, 0.01%)</title><rect x="1054.5" y="149" width="0.1" height="15.0" fill="rgb(242,156,41)" rx="2" ry="2" />
+<text x="1057.51" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="713.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="716.56" y="79.5" ></text>
+</g>
+<g >
+<title>pipe:[1151203] (8,008 samples, 0.83%)</title><rect x="570.5" y="229" width="9.8" height="15.0" fill="rgb(242,170,40)" rx="2" ry="2" />
+<text x="573.51" y="239.5" ></text>
+</g>
+<g >
+<title>enter_write (255 samples, 0.03%)</title><rect x="101.6" y="133" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="104.58" y="143.5" ></text>
+</g>
+<g >
+<title>vmlinux.h (123,498 samples, 12.78%)</title><rect x="883.9" y="229" width="150.8" height="15.0" fill="rgb(245,115,44)" rx="2" ry="2" />
+<text x="886.94" y="239.5" >vmlinux.h</text>
+</g>
+<g >
+<title>/users (114 samples, 0.01%)</title><rect x="808.9" y="181" width="0.1" height="15.0" fill="rgb(238,116,36)" rx="2" ry="2" />
+<text x="811.88" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstatat (340 samples, 0.04%)</title><rect x="143.9" y="165" width="0.4" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="146.93" y="175.5" ></text>
+</g>
+<g >
+<title>5233 (196 samples, 0.02%)</title><rect x="766.1" y="245" width="0.2" height="15.0" fill="rgb(244,166,43)" rx="2" ry="2" />
+<text x="769.07" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="687.9" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="690.95" y="95.5" ></text>
+</g>
+<g >
+<title>/group (233 samples, 0.02%)</title><rect x="766.3" y="197" width="0.3" height="15.0" fill="rgb(241,134,40)" rx="2" ry="2" />
+<text x="769.33" y="207.5" ></text>
+</g>
+<g >
+<title>enter_close (290 samples, 0.03%)</title><rect x="485.3" y="181" width="0.4" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="488.31" y="191.5" ></text>
+</g>
+<g >
+<title>/libgcc.a (88 samples, 0.01%)</title><rect x="1084.2" y="133" width="0.1" height="15.0" fill="rgb(238,99,36)" rx="2" ry="2" />
+<text x="1087.17" y="143.5" ></text>
+</g>
+<g >
+<title>/history.sqlite (170 samples, 0.02%)</title><rect x="624.9" y="165" width="0.2" height="15.0" fill="rgb(240,119,38)" rx="2" ry="2" />
+<text x="627.90" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstatat (191 samples, 0.02%)</title><rect x="813.5" y="149" width="0.3" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="816.53" y="159.5" ></text>
+</g>
+<g >
+<title>/share (343 samples, 0.04%)</title><rect x="795.6" y="181" width="0.4" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="798.58" y="191.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (93 samples, 0.01%)</title><rect x="810.7" y="133" width="0.1" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="813.67" y="143.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (91 samples, 0.01%)</title><rect x="1074.4" y="213" width="0.2" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="1077.44" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.low (276 samples, 0.03%)</title><rect x="757.4" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="760.37" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="720.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="723.64" y="79.5" ></text>
+</g>
+<g >
+<title>/paul (2,465 samples, 0.26%)</title><rect x="1093.7" y="197" width="3.0" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="1096.73" y="207.5" ></text>
+</g>
+<g >
+<title>/app (1,051 samples, 0.11%)</title><rect x="302.0" y="213" width="1.3" height="15.0" fill="rgb(248,115,47)" rx="2" ry="2" />
+<text x="305.04" y="223.5" ></text>
+</g>
+<g >
+<title>/null (157 samples, 0.02%)</title><rect x="1076.3" y="197" width="0.2" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="1079.31" y="207.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so (244 samples, 0.03%)</title><rect x="1084.3" y="133" width="0.3" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1087.28" y="143.5" ></text>
+</g>
+<g >
+<title>.. (318 samples, 0.03%)</title><rect x="328.0" y="229" width="0.4" height="15.0" fill="rgb(240,161,38)" rx="2" ry="2" />
+<text x="331.01" y="239.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (282 samples, 0.03%)</title><rect x="40.8" y="133" width="0.4" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="43.82" y="143.5" ></text>
+</g>
+<g >
+<title>/bf (296 samples, 0.03%)</title><rect x="1080.0" y="149" width="0.3" height="15.0" fill="rgb(232,104,30)" rx="2" ry="2" />
+<text x="1082.97" y="159.5" ></text>
+</g>
+<g >
+<title>/Notes (836 samples, 0.09%)</title><rect x="782.6" y="165" width="1.0" height="15.0" fill="rgb(238,159,36)" rx="2" ry="2" />
+<text x="785.61" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="737.2" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="740.24" y="95.5" ></text>
+</g>
+<g >
+<title>/flatpak (687 samples, 0.07%)</title><rect x="143.5" y="181" width="0.8" height="15.0" fill="rgb(230,158,27)" rx="2" ry="2" />
+<text x="146.50" y="191.5" ></text>
+</g>
+<g >
+<title>com.gitlab.tipp10.tipp10 (87 samples, 0.01%)</title><rect x="300.7" y="229" width="0.1" height="15.0" fill="rgb(232,149,30)" rx="2" ry="2" />
+<text x="303.71" y="239.5" ></text>
+</g>
+<g >
+<title>enter_openat (116 samples, 0.01%)</title><rect x="481.3" y="165" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="484.35" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="482.5" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="485.48" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="695.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="698.90" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="746.9" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="749.95" y="79.5" ></text>
+</g>
+<g >
+<title>/332489 (88 samples, 0.01%)</title><rect x="447.7" y="197" width="0.1" height="15.0" fill="rgb(238,128,37)" rx="2" ry="2" />
+<text x="450.74" y="207.5" ></text>
+</g>
+<g >
+<title>/share (830 samples, 0.09%)</title><rect x="796.2" y="197" width="1.0" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="799.17" y="207.5" ></text>
+</g>
+<g >
+<title>/app (110 samples, 0.01%)</title><rect x="231.0" y="101" width="0.1" height="15.0" fill="rgb(248,115,47)" rx="2" ry="2" />
+<text x="233.99" y="111.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="759.1" y="101" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="762.11" y="111.5" ></text>
+</g>
+<g >
+<title>/49 (114 samples, 0.01%)</title><rect x="1047.5" y="149" width="0.1" height="15.0" fill="rgb(226,104,23)" rx="2" ry="2" />
+<text x="1050.47" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="744.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="747.27" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="695.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="698.04" y="79.5" ></text>
+</g>
+<g >
+<title>/user-1001@0aea203ba61848c3941e879d6c338702-00000000004d0346-00061dc3f3414eae.journal (96 samples, 0.01%)</title><rect x="1184.4" y="149" width="0.1" height="15.0" fill="rgb(229,116,27)" rx="2" ry="2" />
+<text x="1187.41" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (94 samples, 0.01%)</title><rect x="764.7" y="85" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="767.67" y="95.5" ></text>
+</g>
+<g >
+<title>lib (131 samples, 0.01%)</title><rect x="831.7" y="229" width="0.2" height="15.0" fill="rgb(234,129,32)" rx="2" ry="2" />
+<text x="834.71" y="239.5" ></text>
+</g>
+<g >
+<title>/applications (3,488 samples, 0.36%)</title><rect x="190.6" y="181" width="4.3" height="15.0" fill="rgb(244,115,43)" rx="2" ry="2" />
+<text x="193.60" y="191.5" ></text>
+</g>
+<g >
+<title>/com.visualstudio.code (129 samples, 0.01%)</title><rect x="217.6" y="149" width="0.2" height="15.0" fill="rgb(250,164,49)" rx="2" ry="2" />
+<text x="220.63" y="159.5" ></text>
+</g>
+<g >
+<title>/ (95 samples, 0.01%)</title><rect x="675.9" y="149" width="0.1" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2" />
+<text x="678.86" y="159.5" ></text>
+</g>
+<g >
+<title>/share (726 samples, 0.08%)</title><rect x="1142.9" y="197" width="0.8" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="1145.85" y="207.5" ></text>
+</g>
+<g >
+<title>enter_write (93 samples, 0.01%)</title><rect x="341.7" y="213" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="344.74" y="223.5" ></text>
+</g>
+<g >
+<title>pipe:[2420018] (217 samples, 0.02%)</title><rect x="803.6" y="229" width="0.2" height="15.0" fill="rgb(247,170,47)" rx="2" ry="2" />
+<text x="806.58" y="239.5" ></text>
+</g>
+<g >
+<title>/applications (246 samples, 0.03%)</title><rect x="340.9" y="181" width="0.3" height="15.0" fill="rgb(244,115,43)" rx="2" ry="2" />
+<text x="343.87" y="191.5" ></text>
+</g>
+<g >
+<title>/PackageKit (273 samples, 0.03%)</title><rect x="42.3" y="181" width="0.3" height="15.0" fill="rgb(235,155,33)" rx="2" ry="2" />
+<text x="45.28" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="706.0" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="709.05" y="95.5" ></text>
+</g>
+<g >
+<title>/596128 (152 samples, 0.02%)</title><rect x="779.0" y="197" width="0.2" height="15.0" fill="rgb(237,99,35)" rx="2" ry="2" />
+<text x="781.97" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="688.3" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="691.28" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="744.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="747.59" y="79.5" ></text>
+</g>
+<g >
+<title>/3d (85 samples, 0.01%)</title><rect x="1046.1" y="149" width="0.1" height="15.0" fill="rgb(239,125,38)" rx="2" ry="2" />
+<text x="1049.10" y="159.5" ></text>
+</g>
+<g >
+<title>627130 (2,158 samples, 0.22%)</title><rect x="829.7" y="245" width="2.6" height="15.0" fill="rgb(232,145,30)" rx="2" ry="2" />
+<text x="832.67" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (1,491 samples, 0.15%)</title><rect x="1137.4" y="37" width="1.8" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1140.40" y="47.5" ></text>
+</g>
+<g >
+<title>/.gosdir (423 samples, 0.04%)</title><rect x="804.1" y="181" width="0.5" height="15.0" fill="rgb(238,141,37)" rx="2" ry="2" />
+<text x="807.06" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.low (271 samples, 0.03%)</title><rect x="724.8" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="727.75" y="95.5" ></text>
+</g>
+<g >
+<title>.. (177 samples, 0.02%)</title><rect x="875.8" y="229" width="0.2" height="15.0" fill="rgb(240,161,38)" rx="2" ry="2" />
+<text x="878.83" y="239.5" ></text>
+</g>
+<g >
+<title>/omf (351 samples, 0.04%)</title><rect x="675.1" y="117" width="0.5" height="15.0" fill="rgb(238,165,36)" rx="2" ry="2" />
+<text x="678.14" y="127.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (104 samples, 0.01%)</title><rect x="248.9" y="149" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="251.90" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (276 samples, 0.03%)</title><rect x="727.8" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="730.84" y="95.5" ></text>
+</g>
+<g >
+<title>/user-1001@00063555eafacda0-a2a950e965f4bb01.journal~ (85 samples, 0.01%)</title><rect x="1184.3" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1187.31" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (693 samples, 0.07%)</title><rect x="1085.9" y="165" width="0.8" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="1088.89" y="175.5" ></text>
+</g>
+<g >
+<title>/ (250 samples, 0.03%)</title><rect x="807.5" y="213" width="0.3" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2" />
+<text x="810.52" y="223.5" ></text>
+</g>
+<g >
+<title>com.github.wwmm.pulseeffects.Locale (91 samples, 0.01%)</title><rect x="300.5" y="229" width="0.1" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="303.49" y="239.5" ></text>
+</g>
+<g >
+<title>/5d (100 samples, 0.01%)</title><rect x="1049.8" y="149" width="0.1" height="15.0" fill="rgb(237,115,35)" rx="2" ry="2" />
+<text x="1052.83" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (221 samples, 0.02%)</title><rect x="542.4" y="133" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="545.43" y="143.5" ></text>
+</g>
+<g >
+<title>enter_write (380 samples, 0.04%)</title><rect x="777.6" y="213" width="0.5" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="780.64" y="223.5" ></text>
+</g>
+<g >
+<title>/styles (706 samples, 0.07%)</title><rect x="869.5" y="181" width="0.8" height="15.0" fill="rgb(244,122,43)" rx="2" ry="2" />
+<text x="872.46" y="191.5" ></text>
+</g>
+<g >
+<title>/ld-linux-x86-64.so.2 (107 samples, 0.01%)</title><rect x="1089.4" y="197" width="0.1" height="15.0" fill="rgb(250,115,50)" rx="2" ry="2" />
+<text x="1092.40" y="207.5" ></text>
+</g>
+<g >
+<title> (879 samples, 0.09%)</title><rect x="871.5" y="229" width="1.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="874.50" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (372 samples, 0.04%)</title><rect x="802.6" y="213" width="0.5" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="805.62" y="223.5" ></text>
+</g>
+<g >
+<title>/system@00062bf70d98712e-5a890f1a0a652c47.journal~ (87 samples, 0.01%)</title><rect x="1176.9" y="149" width="0.2" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1179.95" y="159.5" ></text>
+</g>
+<g >
+<title>com.bitwarden.desktop.Locale (91 samples, 0.01%)</title><rect x="299.5" y="229" width="0.1" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="302.49" y="239.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="709.8" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="712.83" y="95.5" ></text>
+</g>
+<g >
+<title>/23.08-extra (101 samples, 0.01%)</title><rect x="234.6" y="117" width="0.1" height="15.0" fill="rgb(232,134,30)" rx="2" ry="2" />
+<text x="237.57" y="127.5" ></text>
+</g>
+<g >
+<title>/__pycache__ (261 samples, 0.03%)</title><rect x="1035.5" y="149" width="0.3" height="15.0" fill="rgb(235,103,33)" rx="2" ry="2" />
+<text x="1038.46" y="159.5" ></text>
+</g>
+<g >
+<title>enter_mmap (112 samples, 0.01%)</title><rect x="1093.6" y="181" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1096.59" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (226 samples, 0.02%)</title><rect x="39.9" y="133" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="42.91" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="728.5" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="731.51" y="95.5" ></text>
+</g>
+<g >
+<title>/app-git\x2dmaintenance.slice (1,690 samples, 0.17%)</title><rect x="752.9" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="755.93" y="111.5" ></text>
+</g>
+<g >
+<title> (327 samples, 0.03%)</title><rect x="880.3" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="883.33" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="741.1" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="744.14" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (3,059 samples, 0.32%)</title><rect x="809.0" y="213" width="3.8" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="812.02" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.stat (275 samples, 0.03%)</title><rect x="685.2" y="149" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="688.23" y="159.5" ></text>
+</g>
+<g >
+<title>/libnss_systemd.so.2 (306 samples, 0.03%)</title><rect x="342.0" y="197" width="0.4" height="15.0" fill="rgb(250,99,50)" rx="2" ry="2" />
+<text x="345.05" y="207.5" ></text>
+</g>
+<g >
+<title>enter_write (82 samples, 0.01%)</title><rect x="800.9" y="213" width="0.1" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="803.94" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="732.6" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="735.55" y="95.5" ></text>
+</g>
+<g >
+<title>301433 (45,839 samples, 4.74%)</title><rect x="617.9" y="245" width="56.0" height="15.0" fill="rgb(242,198,41)" rx="2" ry="2" />
+<text x="620.94" y="255.5" >301433</text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="732.4" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="735.44" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="725.1" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="728.09" y="95.5" ></text>
+</g>
+<g >
+<title>/user@1001.service (354 samples, 0.04%)</title><rect x="622.4" y="133" width="0.5" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="625.44" y="143.5" ></text>
+</g>
+<g >
+<title>596019 (2,669 samples, 0.28%)</title><rect x="778.1" y="245" width="3.3" height="15.0" fill="rgb(237,176,35)" rx="2" ry="2" />
+<text x="781.11" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.stat (276 samples, 0.03%)</title><rect x="758.4" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="761.44" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (116 samples, 0.01%)</title><rect x="483.7" y="165" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="486.68" y="175.5" ></text>
+</g>
+<g >
+<title>/home (184 samples, 0.02%)</title><rect x="862.0" y="213" width="0.2" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="865.00" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (185 samples, 0.02%)</title><rect x="465.2" y="213" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="468.22" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="747.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="750.63" y="79.5" ></text>
+</g>
+<g >
+<title>/lib (702 samples, 0.07%)</title><rect x="1083.7" y="197" width="0.9" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1086.74" y="207.5" ></text>
+</g>
+<g >
+<title>/log (86 samples, 0.01%)</title><rect x="777.2" y="197" width="0.1" height="15.0" fill="rgb(248,118,48)" rx="2" ry="2" />
+<text x="780.17" y="207.5" ></text>
+</g>
+<g >
+<title>enter_close (148 samples, 0.02%)</title><rect x="832.3" y="213" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="835.30" y="223.5" ></text>
+</g>
+<g >
+<title>/go-link-2935705061 (146 samples, 0.02%)</title><rect x="1083.5" y="197" width="0.2" height="15.0" fill="rgb(228,144,25)" rx="2" ry="2" />
+<text x="1086.48" y="207.5" ></text>
+</g>
+<g >
+<title>/tmp (87 samples, 0.01%)</title><rect x="1093.3" y="213" width="0.1" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1096.29" y="223.5" ></text>
+</g>
+<g >
+<title>pipe:[1148912] (16,780 samples, 1.74%)</title><rect x="550.0" y="229" width="20.5" height="15.0" fill="rgb(242,170,41)" rx="2" ry="2" />
+<text x="553.02" y="239.5" ></text>
+</g>
+<g >
+<title>/dev (86 samples, 0.01%)</title><rect x="776.5" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="779.46" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="757.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="760.59" y="79.5" ></text>
+</g>
+<g >
+<title> (225 samples, 0.02%)</title><rect x="868.1" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="871.13" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="719.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="721.97" y="79.5" ></text>
+</g>
+<g >
+<title>/com.github.wwmm.pulseeffects.Locale (196 samples, 0.02%)</title><rect x="232.1" y="149" width="0.2" height="15.0" fill="rgb(242,164,41)" rx="2" ry="2" />
+<text x="235.09" y="159.5" ></text>
+</g>
+<g >
+<title>/conf.d (290 samples, 0.03%)</title><rect x="797.4" y="181" width="0.3" height="15.0" fill="rgb(248,164,47)" rx="2" ry="2" />
+<text x="800.39" y="191.5" ></text>
+</g>
+<g >
+<title>/4b (98 samples, 0.01%)</title><rect x="1047.7" y="149" width="0.1" height="15.0" fill="rgb(224,127,21)" rx="2" ry="2" />
+<text x="1050.72" y="159.5" ></text>
+</g>
+<g >
+<title>enter_openat (356 samples, 0.04%)</title><rect x="830.6" y="197" width="0.4" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="833.58" y="207.5" ></text>
+</g>
+<g >
+<title>/0f (118 samples, 0.01%)</title><rect x="1040.6" y="149" width="0.1" height="15.0" fill="rgb(239,134,37)" rx="2" ry="2" />
+<text x="1043.55" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (276 samples, 0.03%)</title><rect x="711.9" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="714.91" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="697.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="700.40" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="763.9" y="101" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="766.88" y="111.5" ></text>
+</g>
+<g >
+<title>/system@a76544c2185a4e0d95d841276470efd6-00000000004ff7a9-0006208fd108652e.journal (90 samples, 0.01%)</title><rect x="1179.8" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.81" y="159.5" ></text>
+</g>
+<g >
+<title>/lib64 (142 samples, 0.01%)</title><rect x="878.8" y="213" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="881.82" y="223.5" ></text>
+</g>
+<g >
+<title>/15 (159 samples, 0.02%)</title><rect x="541.9" y="149" width="0.2" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="544.87" y="159.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (377 samples, 0.04%)</title><rect x="488.2" y="229" width="0.5" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="491.22" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="759.0" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="762.00" y="79.5" ></text>
+</g>
+<g >
+<title>/org.darktable.Darktable (106 samples, 0.01%)</title><rect x="218.9" y="149" width="0.1" height="15.0" fill="rgb(241,149,40)" rx="2" ry="2" />
+<text x="221.90" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (814 samples, 0.08%)</title><rect x="328.4" y="213" width="1.0" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="331.45" y="223.5" ></text>
+</g>
+<g >
+<title>/usr (115 samples, 0.01%)</title><rect x="1084.8" y="213" width="0.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1087.80" y="223.5" ></text>
+</g>
+<g >
+<title>/org.fedoraproject.Platform.Locale (202 samples, 0.02%)</title><rect x="233.6" y="149" width="0.2" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="236.59" y="159.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.GL.default (93 samples, 0.01%)</title><rect x="316.8" y="213" width="0.1" height="15.0" fill="rgb(228,149,25)" rx="2" ry="2" />
+<text x="319.83" y="223.5" ></text>
+</g>
+<g >
+<title>/54 (106 samples, 0.01%)</title><rect x="1048.8" y="149" width="0.1" height="15.0" fill="rgb(233,115,31)" rx="2" ry="2" />
+<text x="1051.78" y="159.5" ></text>
+</g>
+<g >
+<title>/knghtbrd (747 samples, 0.08%)</title><rect x="545.3" y="149" width="1.0" height="15.0" fill="rgb(249,127,48)" rx="2" ry="2" />
+<text x="548.34" y="159.5" ></text>
+</g>
+<g >
+<title>/fontconfig (214 samples, 0.02%)</title><rect x="865.3" y="165" width="0.3" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="868.30" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (325 samples, 0.03%)</title><rect x="760.1" y="101" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="763.10" y="111.5" ></text>
+</g>
+<g >
+<title>/dnf (366 samples, 0.04%)</title><rect x="396.4" y="181" width="0.5" height="15.0" fill="rgb(248,162,48)" rx="2" ry="2" />
+<text x="399.44" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="715.0" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="718.02" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1177.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.37" y="143.5" ></text>
+</g>
+<g >
+<title>socket:[9680] (152 samples, 0.02%)</title><rect x="683.5" y="229" width="0.2" height="15.0" fill="rgb(239,175,38)" rx="2" ry="2" />
+<text x="686.52" y="239.5" ></text>
+</g>
+<g >
+<title> (150 samples, 0.02%)</title><rect x="1091.3" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1094.34" y="239.5" ></text>
+</g>
+<g >
+<title> (1,282 samples, 0.13%)</title><rect x="878.2" y="229" width="1.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="881.23" y="239.5" ></text>
+</g>
+<g >
+<title>/LNXSYSTM:00 (146 samples, 0.02%)</title><rect x="775.9" y="181" width="0.2" height="15.0" fill="rgb(229,104,27)" rx="2" ry="2" />
+<text x="778.95" y="191.5" ></text>
+</g>
+<g >
+<title>/ld-linux-x86-64.so.2 (157 samples, 0.02%)</title><rect x="541.3" y="197" width="0.1" height="15.0" fill="rgb(250,115,50)" rx="2" ry="2" />
+<text x="544.25" y="207.5" ></text>
+</g>
+<g >
+<title>/user-1001@000633084aec57f3-a2f484c693562478.journal~ (86 samples, 0.01%)</title><rect x="1183.9" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.94" y="159.5" ></text>
+</g>
+<g >
+<title>/paul (1,643 samples, 0.17%)</title><rect x="674.5" y="197" width="2.1" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="677.55" y="207.5" ></text>
+</g>
+<g >
+<title>enter_writev (175 samples, 0.02%)</title><rect x="549.7" y="213" width="0.2" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="552.72" y="223.5" ></text>
+</g>
+<g >
+<title>/ethnic (347 samples, 0.04%)</title><rect x="40.8" y="149" width="0.4" height="15.0" fill="rgb(231,138,28)" rx="2" ry="2" />
+<text x="43.82" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (116 samples, 0.01%)</title><rect x="483.9" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="486.90" y="175.5" ></text>
+</g>
+<g >
+<title>/libgcc_eh.a (164 samples, 0.02%)</title><rect x="1141.5" y="133" width="0.2" height="15.0" fill="rgb(235,99,33)" rx="2" ry="2" />
+<text x="1144.55" y="143.5" ></text>
+</g>
+<g >
+<title>/79 (92 samples, 0.01%)</title><rect x="1053.2" y="149" width="0.1" height="15.0" fill="rgb(235,145,33)" rx="2" ry="2" />
+<text x="1056.17" y="159.5" ></text>
+</g>
+<g >
+<title> (772 samples, 0.08%)</title><rect x="681.5" y="229" width="0.9" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="684.48" y="239.5" ></text>
+</g>
+<g >
+<title>enter_writev (1,106 samples, 0.11%)</title><rect x="443.1" y="213" width="1.4" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="446.12" y="223.5" ></text>
+</g>
+<g >
+<title>/.linuxbrew (248 samples, 0.03%)</title><rect x="674.2" y="181" width="0.3" height="15.0" fill="rgb(232,163,30)" rx="2" ry="2" />
+<text x="677.25" y="191.5" ></text>
+</g>
+<g >
+<title>/x86_64-redhat-linux (692 samples, 0.07%)</title><rect x="1083.7" y="165" width="0.9" height="15.0" fill="rgb(245,97,45)" rx="2" ry="2" />
+<text x="1086.74" y="175.5" ></text>
+</g>
+<g >
+<title>/wallpaper-auto-rotated-4c4638d235761885c1d93a3458dd25e1.jpg (478 samples, 0.05%)</title><rect x="1143.8" y="133" width="0.6" height="15.0" fill="rgb(240,125,39)" rx="2" ry="2" />
+<text x="1146.82" y="143.5" ></text>
+</g>
+<g >
+<title>/71 (121 samples, 0.01%)</title><rect x="1052.1" y="149" width="0.2" height="15.0" fill="rgb(231,170,29)" rx="2" ry="2" />
+<text x="1055.12" y="159.5" ></text>
+</g>
+<g >
+<title>/org.inkscape.Inkscape (100 samples, 0.01%)</title><rect x="220.5" y="149" width="0.2" height="15.0" fill="rgb(250,149,49)" rx="2" ry="2" />
+<text x="223.53" y="159.5" ></text>
+</g>
+<g >
+<title>enter_fcntl (441 samples, 0.05%)</title><rect x="817.1" y="149" width="0.6" height="15.0" fill="rgb(233,196,30)" rx="2" ry="2" />
+<text x="820.14" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (271 samples, 0.03%)</title><rect x="1087.9" y="101" width="0.4" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1090.94" y="111.5" ></text>
+</g>
+<g >
+<title>/dri (8,290 samples, 0.86%)</title><rect x="448.2" y="197" width="10.1" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="451.20" y="207.5" ></text>
+</g>
+<g >
+<title>enter_openat (83 samples, 0.01%)</title><rect x="620.1" y="181" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="623.10" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (3,528 samples, 0.37%)</title><rect x="660.2" y="213" width="4.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="663.22" y="223.5" ></text>
+</g>
+<g >
+<title>enter_write (12,021 samples, 1.24%)</title><rect x="645.2" y="213" width="14.7" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="648.24" y="223.5" ></text>
+</g>
+<g >
+<title>/systemd (100 samples, 0.01%)</title><rect x="879.1" y="197" width="0.1" height="15.0" fill="rgb(240,145,39)" rx="2" ry="2" />
+<text x="882.07" y="207.5" ></text>
+</g>
+<g >
+<title>/.. (253 samples, 0.03%)</title><rect x="1085.9" y="133" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1088.89" y="143.5" ></text>
+</g>
+<g >
+<title>/PNP0C09:00 (146 samples, 0.02%)</title><rect x="775.9" y="117" width="0.2" height="15.0" fill="rgb(229,139,27)" rx="2" ry="2" />
+<text x="778.95" y="127.5" ></text>
+</g>
+<g >
+<title>/ (890 samples, 0.09%)</title><rect x="832.7" y="213" width="1.1" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2" />
+<text x="835.71" y="223.5" ></text>
+</g>
+<g >
+<title>/usr (59,537 samples, 6.16%)</title><rect x="143.0" y="213" width="72.7" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="146.02" y="223.5" >/usr</text>
+</g>
+<g >
+<title>/var (11,590 samples, 1.20%)</title><rect x="812.8" y="213" width="14.1" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="815.76" y="223.5" ></text>
+</g>
+<g >
+<title>/sbin (124 samples, 0.01%)</title><rect x="677.1" y="181" width="0.2" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="680.14" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="701.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="704.54" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="701.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="704.38" y="79.5" ></text>
+</g>
+<g >
+<title>/user.slice (100 samples, 0.01%)</title><rect x="445.5" y="165" width="0.1" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="448.49" y="175.5" ></text>
+</g>
+<g >
+<title>/styles (706 samples, 0.07%)</title><rect x="870.5" y="181" width="0.9" height="15.0" fill="rgb(244,122,43)" rx="2" ry="2" />
+<text x="873.54" y="191.5" ></text>
+</g>
+<g >
+<title>/lib (268 samples, 0.03%)</title><rect x="1167.0" y="197" width="0.3" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1170.00" y="207.5" ></text>
+</g>
+<g >
+<title>/proselint (316 samples, 0.03%)</title><rect x="871.0" y="165" width="0.4" height="15.0" fill="rgb(238,144,36)" rx="2" ry="2" />
+<text x="874.01" y="175.5" ></text>
+</g>
+<g >
+<title>/601308 (156 samples, 0.02%)</title><rect x="779.6" y="197" width="0.2" height="15.0" fill="rgb(238,123,36)" rx="2" ry="2" />
+<text x="782.63" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="746.4" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="749.39" y="95.5" ></text>
+</g>
+<g >
+<title>/1a (115 samples, 0.01%)</title><rect x="1041.8" y="149" width="0.2" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1044.81" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (35,331 samples, 3.66%)</title><rect x="145.3" y="101" width="43.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="148.33" y="111.5" >/..</text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.openh264 (428 samples, 0.04%)</title><rect x="240.9" y="149" width="0.5" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="243.86" y="159.5" ></text>
+</g>
+<g >
+<title>/var (379 samples, 0.04%)</title><rect x="463.1" y="213" width="0.4" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="466.05" y="223.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (2,958 samples, 0.31%)</title><rect x="336.7" y="229" width="3.6" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="339.69" y="239.5" ></text>
+</g>
+<g >
+<title>/io.github.kotatogram (109 samples, 0.01%)</title><rect x="218.6" y="149" width="0.2" height="15.0" fill="rgb(225,134,22)" rx="2" ry="2" />
+<text x="221.64" y="159.5" ></text>
+</g>
+<g >
+<title> (111 samples, 0.01%)</title><rect x="1142.4" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1145.45" y="239.5" ></text>
+</g>
+<g >
+<title> (86 samples, 0.01%)</title><rect x="765.5" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="768.48" y="239.5" ></text>
+</g>
+<g >
+<title>dev.geopjr.Calligraphy.Locale (101 samples, 0.01%)</title><rect x="306.8" y="229" width="0.1" height="15.0" fill="rgb(242,187,41)" rx="2" ry="2" />
+<text x="309.78" y="239.5" ></text>
+</g>
+<g >
+<title>/tmp (222 samples, 0.02%)</title><rect x="1087.6" y="213" width="0.3" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1090.64" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (91 samples, 0.01%)</title><rect x="753.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="756.83" y="79.5" ></text>
+</g>
+<g >
+<title>/15 (687 samples, 0.07%)</title><rect x="1083.7" y="149" width="0.9" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1086.74" y="159.5" ></text>
+</g>
+<g >
+<title>/home (758 samples, 0.08%)</title><rect x="869.4" y="213" width="1.0" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="872.43" y="223.5" ></text>
+</g>
+<g >
+<title>/sys (146 samples, 0.02%)</title><rect x="775.9" y="213" width="0.2" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="778.95" y="223.5" ></text>
+</g>
+<g >
+<title>/cgroup (174 samples, 0.02%)</title><rect x="775.1" y="181" width="0.2" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="778.07" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (276 samples, 0.03%)</title><rect x="758.8" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="761.78" y="95.5" ></text>
+</g>
+<g >
+<title>/7e (95 samples, 0.01%)</title><rect x="1053.8" y="149" width="0.1" height="15.0" fill="rgb(245,157,44)" rx="2" ry="2" />
+<text x="1056.79" y="159.5" ></text>
+</g>
+<g >
+<title>/system@e787b310a4d743b4a3376463d97f0ded-000000000052342e-000621d2b17641ff.journal (89 samples, 0.01%)</title><rect x="1182.3" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1185.31" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (196 samples, 0.02%)</title><rect x="488.9" y="213" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="491.93" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="743.3" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="746.32" y="95.5" ></text>
+</g>
+<g >
+<title>com.skype.Client (86 samples, 0.01%)</title><rect x="301.2" y="229" width="0.1" height="15.0" fill="rgb(241,149,39)" rx="2" ry="2" />
+<text x="304.20" y="239.5" ></text>
+</g>
+<g >
+<title>enter_writev (366 samples, 0.04%)</title><rect x="396.4" y="149" width="0.5" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="399.44" y="159.5" ></text>
+</g>
+<g >
+<title>/system@0006231482ddf657-d3974264a7e70d85.journal~ (88 samples, 0.01%)</title><rect x="1176.6" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1179.61" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (15,067 samples, 1.56%)</title><rect x="10.3" y="165" width="18.4" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="13.33" y="175.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Shell.Screencast.slice (1,632 samples, 0.17%)</title><rect x="738.6" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="741.59" y="111.5" ></text>
+</g>
+<g >
+<title>/usr (703 samples, 0.07%)</title><rect x="462.2" y="213" width="0.9" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="465.20" y="223.5" ></text>
+</g>
+<g >
+<title>/!data!dog (815 samples, 0.08%)</title><rect x="1069.9" y="117" width="0.9" height="15.0" fill="rgb(245,161,44)" rx="2" ry="2" />
+<text x="1072.85" y="127.5" ></text>
+</g>
+<g >
+<title>/x86_64 (95 samples, 0.01%)</title><rect x="232.4" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="235.36" y="143.5" ></text>
+</g>
+<g >
+<title>/org.gnome.SoundRecorder (114 samples, 0.01%)</title><rect x="220.3" y="149" width="0.1" height="15.0" fill="rgb(243,149,41)" rx="2" ry="2" />
+<text x="223.27" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1083.7" y="133" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1086.74" y="143.5" ></text>
+</g>
+<g >
+<title>/linuxbrew (1,172 samples, 0.12%)</title><rect x="119.3" y="197" width="1.4" height="15.0" fill="rgb(232,99,30)" rx="2" ry="2" />
+<text x="122.30" y="207.5" ></text>
+</g>
+<g >
+<title>627441 (377 samples, 0.04%)</title><rect x="1038.0" y="245" width="0.4" height="15.0" fill="rgb(227,145,25)" rx="2" ry="2" />
+<text x="1040.97" y="255.5" ></text>
+</g>
+<g >
+<title>enter_writev (157 samples, 0.02%)</title><rect x="541.3" y="181" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="544.25" y="191.5" ></text>
+</g>
+<g >
+<title>/07 (96 samples, 0.01%)</title><rect x="1039.5" y="149" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1042.52" y="159.5" ></text>
+</g>
+<g >
+<title>/034a94fdac460f9d0ab7f40381c9e7d214a307054fbbf254ac47d3025f51feb8-d (92 samples, 0.01%)</title><rect x="1076.6" y="133" width="0.1" height="15.0" fill="rgb(248,144,47)" rx="2" ry="2" />
+<text x="1079.55" y="143.5" ></text>
+</g>
+<g >
+<title> (2,607 samples, 0.27%)</title><rect x="861.3" y="229" width="3.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="864.30" y="239.5" ></text>
+</g>
+<g >
+<title>/null (86 samples, 0.01%)</title><rect x="776.5" y="197" width="0.1" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="779.46" y="207.5" ></text>
+</g>
+<g >
+<title>/io.github.btpf.alexandria (103 samples, 0.01%)</title><rect x="218.4" y="149" width="0.1" height="15.0" fill="rgb(232,134,29)" rx="2" ry="2" />
+<text x="221.36" y="159.5" ></text>
+</g>
+<g >
+<title>/52 (119 samples, 0.01%)</title><rect x="621.8" y="197" width="0.2" height="15.0" fill="rgb(237,122,35)" rx="2" ry="2" />
+<text x="624.84" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="734.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="737.49" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="708.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="711.67" y="79.5" ></text>
+</g>
+<g >
+<title>627381 (385 samples, 0.04%)</title><rect x="877.6" y="245" width="0.5" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2" />
+<text x="880.61" y="255.5" ></text>
+</g>
+<g >
+<title>/2 (1,155 samples, 0.12%)</title><rect x="784.4" y="197" width="1.4" height="15.0" fill="rgb(251,127,50)" rx="2" ry="2" />
+<text x="787.42" y="207.5" ></text>
+</g>
+<g >
+<title>627549 (150 samples, 0.02%)</title><rect x="1089.2" y="245" width="0.2" height="15.0" fill="rgb(230,145,28)" rx="2" ry="2" />
+<text x="1092.18" y="255.5" ></text>
+</g>
+<g >
+<title>/cgroup (228 samples, 0.02%)</title><rect x="808.6" y="181" width="0.3" height="15.0" fill="rgb(241,151,40)" rx="2" ry="2" />
+<text x="811.60" y="191.5" ></text>
+</g>
+<g >
+<title>/.. (122 samples, 0.01%)</title><rect x="541.9" y="85" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="544.87" y="95.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="480.0" y="165" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="483.00" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="749.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="752.71" y="79.5" ></text>
+</g>
+<g >
+<title> (819 samples, 0.08%)</title><rect x="335.2" y="229" width="1.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="338.20" y="239.5" ></text>
+</g>
+<g >
+<title>/dev (104 samples, 0.01%)</title><rect x="861.3" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="864.30" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.current (264 samples, 0.03%)</title><rect x="700.0" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="702.98" y="95.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.mozilla.firefox.SearchProvider.slice (1,683 samples, 0.17%)</title><rect x="748.8" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="751.83" y="111.5" ></text>
+</g>
+<g >
+<title>/dev.geopjr.Calligraphy.Locale (175 samples, 0.02%)</title><rect x="232.6" y="149" width="0.2" height="15.0" fill="rgb(242,152,41)" rx="2" ry="2" />
+<text x="235.57" y="159.5" ></text>
+</g>
+<g >
+<title>/596019 (244 samples, 0.03%)</title><rect x="778.2" y="197" width="0.3" height="15.0" fill="rgb(237,99,35)" rx="2" ry="2" />
+<text x="781.23" y="207.5" ></text>
+</g>
+<g >
+<title>enter_write (474 samples, 0.05%)</title><rect x="836.4" y="117" width="0.6" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="839.42" y="127.5" ></text>
+</g>
+<g >
+<title>/chrome (626 samples, 0.06%)</title><rect x="798.0" y="101" width="0.7" height="15.0" fill="rgb(240,148,38)" rx="2" ry="2" />
+<text x="800.97" y="111.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (102 samples, 0.01%)</title><rect x="682.4" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="685.43" y="239.5" ></text>
+</g>
+<g >
+<title>/passwd (144 samples, 0.01%)</title><rect x="447.5" y="197" width="0.2" height="15.0" fill="rgb(240,160,38)" rx="2" ry="2" />
+<text x="450.53" y="207.5" ></text>
+</g>
+<g >
+<title>all (966,341 samples, 100%)</title><rect x="10.0" y="261" width="1180.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="13.00" y="271.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (121 samples, 0.01%)</title><rect x="804.8" y="181" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="807.84" y="191.5" ></text>
+</g>
+<g >
+<title>/var (134 samples, 0.01%)</title><rect x="775.5" y="213" width="0.2" height="15.0" fill="rgb(231,130,28)" rx="2" ry="2" />
+<text x="778.54" y="223.5" ></text>
+</g>
+<g >
+<title>/org.fooyin.fooyin (122 samples, 0.01%)</title><rect x="219.0" y="149" width="0.2" height="15.0" fill="rgb(247,149,46)" rx="2" ry="2" />
+<text x="222.03" y="159.5" ></text>
+</g>
+<g >
+<title>/1001 (114 samples, 0.01%)</title><rect x="808.9" y="165" width="0.1" height="15.0" fill="rgb(234,148,32)" rx="2" ry="2" />
+<text x="811.88" y="175.5" ></text>
+</g>
+<g >
+<title>/memory.low (274 samples, 0.03%)</title><rect x="706.4" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="709.38" y="95.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="723.5" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="726.46" y="79.5" ></text>
+</g>
+<g >
+<title>enter_writev (456 samples, 0.05%)</title><rect x="442.6" y="213" width="0.5" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="445.57" y="223.5" ></text>
+</g>
+<g >
+<title>/00 (84 samples, 0.01%)</title><rect x="1038.7" y="149" width="0.1" height="15.0" fill="rgb(228,153,26)" rx="2" ry="2" />
+<text x="1041.73" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (93 samples, 0.01%)</title><rect x="685.3" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="688.28" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (93 samples, 0.01%)</title><rect x="1176.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1179.49" y="143.5" ></text>
+</g>
+<g >
+<title>.. (296 samples, 0.03%)</title><rect x="829.7" y="229" width="0.3" height="15.0" fill="rgb(240,161,38)" rx="2" ry="2" />
+<text x="832.67" y="239.5" ></text>
+</g>
+<g >
+<title>/games (1,158 samples, 0.12%)</title><rect x="623.3" y="181" width="1.4" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="626.28" y="191.5" ></text>
+</g>
+<g >
+<title>/dconf (232 samples, 0.02%)</title><rect x="461.6" y="165" width="0.3" height="15.0" fill="rgb(249,159,48)" rx="2" ry="2" />
+<text x="464.60" y="175.5" ></text>
+</g>
+<g >
+<title>/.. (21,728 samples, 2.25%)</title><rect x="1114.7" y="101" width="26.5" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1117.72" y="111.5" >/..</text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="735.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="738.46" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (100 samples, 0.01%)</title><rect x="619.7" y="181" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="622.69" y="191.5" ></text>
+</g>
+<g >
+<title>/.. (186 samples, 0.02%)</title><rect x="38.7" y="101" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="41.67" y="111.5" ></text>
+</g>
+<g >
+<title>/click (139 samples, 0.01%)</title><rect x="1037.0" y="149" width="0.2" height="15.0" fill="rgb(236,173,34)" rx="2" ry="2" />
+<text x="1040.01" y="159.5" ></text>
+</g>
+<g >
+<title>/9d (106 samples, 0.01%)</title><rect x="1057.5" y="149" width="0.1" height="15.0" fill="rgb(245,150,44)" rx="2" ry="2" />
+<text x="1060.52" y="159.5" ></text>
+</g>
+<g >
+<title>627317 (881 samples, 0.09%)</title><rect x="871.5" y="245" width="1.1" height="15.0" fill="rgb(238,145,37)" rx="2" ry="2" />
+<text x="874.49" y="255.5" ></text>
+</g>
+<g >
+<title>/dev (1,429 samples, 0.15%)</title><rect x="445.8" y="213" width="1.7" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="448.76" y="223.5" ></text>
+</g>
+<g >
+<title>/org.freedesktop.Platform.ffmpeg-full (107 samples, 0.01%)</title><rect x="304.7" y="197" width="0.1" height="15.0" fill="rgb(224,149,21)" rx="2" ry="2" />
+<text x="307.65" y="207.5" ></text>
+</g>
+<g >
+<title>/23 (135 samples, 0.01%)</title><rect x="1042.9" y="149" width="0.2" height="15.0" fill="rgb(238,134,37)" rx="2" ry="2" />
+<text x="1045.93" y="159.5" ></text>
+</g>
+<g >
+<title>/home (273 samples, 0.03%)</title><rect x="680.8" y="213" width="0.3" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="683.81" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="1179.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.70" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="718.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="721.65" y="79.5" ></text>
+</g>
+<g >
+<title>/python3.13 (251 samples, 0.03%)</title><rect x="1037.0" y="181" width="0.3" height="15.0" fill="rgb(240,160,39)" rx="2" ry="2" />
+<text x="1039.99" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (104 samples, 0.01%)</title><rect x="796.0" y="133" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="799.04" y="143.5" ></text>
+</g>
+<g >
+<title>627605 (2,868 samples, 0.30%)</title><rect x="1165.9" y="245" width="3.5" height="15.0" fill="rgb(241,145,39)" rx="2" ry="2" />
+<text x="1168.88" y="255.5" ></text>
+</g>
+<g >
+<title>/bb (96 samples, 0.01%)</title><rect x="1061.2" y="149" width="0.1" height="15.0" fill="rgb(222,117,19)" rx="2" ry="2" />
+<text x="1064.20" y="159.5" ></text>
+</g>
+<g >
+<title>/event3 (606 samples, 0.06%)</title><rect x="29.7" y="181" width="0.8" height="15.0" fill="rgb(245,131,44)" rx="2" ry="2" />
+<text x="32.75" y="191.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (1,208 samples, 0.13%)</title><rect x="815.4" y="149" width="1.5" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="818.44" y="159.5" ></text>
+</g>
+<g >
+<title>627450 (127 samples, 0.01%)</title><rect x="1075.3" y="245" width="0.2" height="15.0" fill="rgb(228,145,25)" rx="2" ry="2" />
+<text x="1078.32" y="255.5" ></text>
+</g>
+<g >
+<title>/etc (139 samples, 0.01%)</title><rect x="119.1" y="213" width="0.2" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="122.13" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (276 samples, 0.03%)</title><rect x="742.3" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="745.32" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1183.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.94" y="143.5" ></text>
+</g>
+<g >
+<title>/ (803 samples, 0.08%)</title><rect x="830.0" y="213" width="1.0" height="15.0" fill="rgb(235,140,33)" rx="2" ry="2" />
+<text x="833.03" y="223.5" ></text>
+</g>
+<g >
+<title>com.calibre_ebook.calibre (88 samples, 0.01%)</title><rect x="299.7" y="229" width="0.1" height="15.0" fill="rgb(247,149,46)" rx="2" ry="2" />
+<text x="302.73" y="239.5" ></text>
+</g>
+<g >
+<title>org.freedesktop.Platform.GL.default (169 samples, 0.02%)</title><rect x="310.6" y="229" width="0.2" height="15.0" fill="rgb(228,179,25)" rx="2" ry="2" />
+<text x="313.64" y="239.5" ></text>
+</g>
+<g >
+<title>/proc (1,696 samples, 0.18%)</title><rect x="620.3" y="213" width="2.1" height="15.0" fill="rgb(234,144,31)" rx="2" ry="2" />
+<text x="623.33" y="223.5" ></text>
+</g>
+<g >
+<title>/system@00062cef3dc987bb-a4b9e39179a7d20a.journal~ (85 samples, 0.01%)</title><rect x="1177.1" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.05" y="159.5" ></text>
+</g>
+<g >
+<title>/a.out (174 samples, 0.02%)</title><rect x="1089.8" y="181" width="0.2" height="15.0" fill="rgb(234,96,32)" rx="2" ry="2" />
+<text x="1092.80" y="191.5" ></text>
+</g>
+<g >
+<title>627529 (5,154 samples, 0.53%)</title><rect x="1076.2" y="245" width="6.3" height="15.0" fill="rgb(232,145,30)" rx="2" ry="2" />
+<text x="1079.21" y="255.5" ></text>
+</g>
+<g >
+<title> (1,725 samples, 0.18%)</title><rect x="881.8" y="229" width="2.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="884.83" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="714.2" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="717.25" y="79.5" ></text>
+</g>
+<g >
+<title>/lib (159 samples, 0.02%)</title><rect x="1175.0" y="197" width="0.2" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="1178.05" y="207.5" ></text>
+</g>
+<g >
+<title>/cgo (219 samples, 0.02%)</title><rect x="1072.9" y="133" width="0.3" height="15.0" fill="rgb(246,151,45)" rx="2" ry="2" />
+<text x="1075.94" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (126 samples, 0.01%)</title><rect x="799.9" y="165" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="802.88" y="175.5" ></text>
+</g>
+<g >
+<title>/d4 (102 samples, 0.01%)</title><rect x="1064.2" y="149" width="0.2" height="15.0" fill="rgb(242,156,41)" rx="2" ry="2" />
+<text x="1067.24" y="159.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (133 samples, 0.01%)</title><rect x="807.0" y="229" width="0.2" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="810.02" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="740.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="743.81" y="79.5" ></text>
+</g>
+<g >
+<title>/NotoSerif[wght].ttf (16,731 samples, 1.73%)</title><rect x="840.5" y="149" width="20.4" height="15.0" fill="rgb(239,159,37)" rx="2" ry="2" />
+<text x="843.51" y="159.5" ></text>
+</g>
+<g >
+<title>/stat (83 samples, 0.01%)</title><rect x="621.9" y="181" width="0.1" height="15.0" fill="rgb(229,122,26)" rx="2" ry="2" />
+<text x="624.86" y="191.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Contacts.SearchProvider.slice (1,709 samples, 0.18%)</title><rect x="710.2" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="713.16" y="111.5" ></text>
+</g>
+<g >
+<title>/dmabuf: (1,717 samples, 0.18%)</title><rect x="459.5" y="213" width="2.1" height="15.0" fill="rgb(231,165,29)" rx="2" ry="2" />
+<text x="462.46" y="223.5" ></text>
+</g>
+<g >
+<title>/libc.so (122 samples, 0.01%)</title><rect x="1090.3" y="53" width="0.1" height="15.0" fill="rgb(240,99,39)" rx="2" ry="2" />
+<text x="1093.26" y="63.5" ></text>
+</g>
+<g >
+<title>/systemd (271 samples, 0.03%)</title><rect x="767.2" y="197" width="0.3" height="15.0" fill="rgb(240,145,39)" rx="2" ry="2" />
+<text x="770.21" y="207.5" ></text>
+</g>
+<g >
+<title>/null (111 samples, 0.01%)</title><rect x="673.9" y="197" width="0.2" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="676.93" y="207.5" ></text>
+</g>
+<g >
+<title>/system@c9e095ab43864b41b4f737a014eaaa58-000000000052120a-000621d29f42ea46.journal (90 samples, 0.01%)</title><rect x="1180.5" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1183.54" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="764.1" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="767.10" y="95.5" ></text>
+</g>
+<g >
+<title>enter_statx (88 samples, 0.01%)</title><rect x="241.6" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="244.56" y="143.5" ></text>
+</g>
+<g >
+<title> (214 samples, 0.02%)</title><rect x="776.8" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="779.75" y="239.5" ></text>
+</g>
+<g >
+<title>/8d (126 samples, 0.01%)</title><rect x="1055.6" y="149" width="0.2" height="15.0" fill="rgb(246,156,45)" rx="2" ry="2" />
+<text x="1058.60" y="159.5" ></text>
+</g>
+<g >
+<title>/user-1001@000635427d4e119f-67763b8dac2b799f.journal~ (85 samples, 0.01%)</title><rect x="1184.2" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1187.20" y="159.5" ></text>
+</g>
+<g >
+<title>com.slack.Slack (84 samples, 0.01%)</title><rect x="301.3" y="229" width="0.1" height="15.0" fill="rgb(242,149,40)" rx="2" ry="2" />
+<text x="304.30" y="239.5" ></text>
+</g>
+<g >
+<title>/usr (1,693 samples, 0.18%)</title><rect x="1170.3" y="213" width="2.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1173.33" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="721.8" y="85" width="0.3" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="724.78" y="95.5" ></text>
+</g>
+<g >
+<title>/.config (321 samples, 0.03%)</title><rect x="1144.8" y="181" width="0.3" height="15.0" fill="rgb(239,154,37)" rx="2" ry="2" />
+<text x="1147.75" y="191.5" ></text>
+</g>
+<g >
+<title>enter_statx (120 samples, 0.01%)</title><rect x="235.5" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="238.47" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="721.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="724.29" y="79.5" ></text>
+</g>
+<g >
+<title> (150 samples, 0.02%)</title><rect x="1089.2" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1092.18" y="239.5" ></text>
+</g>
+<g >
+<title>/e7 (112 samples, 0.01%)</title><rect x="1066.6" y="149" width="0.1" height="15.0" fill="rgb(236,141,34)" rx="2" ry="2" />
+<text x="1069.60" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (89 samples, 0.01%)</title><rect x="690.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="693.53" y="79.5" ></text>
+</g>
+<g >
+<title>/io.github.Hexchat (122 samples, 0.01%)</title><rect x="218.2" y="149" width="0.2" height="15.0" fill="rgb(229,134,26)" rx="2" ry="2" />
+<text x="221.21" y="159.5" ></text>
+</g>
+<g >
+<title>627294 (880 samples, 0.09%)</title><rect x="869.3" y="245" width="1.1" height="15.0" fill="rgb(247,145,47)" rx="2" ry="2" />
+<text x="872.35" y="255.5" ></text>
+</g>
+<g >
+<title>/.cache (205 samples, 0.02%)</title><rect x="1166.6" y="181" width="0.3" height="15.0" fill="rgb(245,154,44)" rx="2" ry="2" />
+<text x="1169.63" y="191.5" ></text>
+</g>
+<g >
+<title>enter_statx (546 samples, 0.06%)</title><rect x="679.3" y="213" width="0.6" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="682.25" y="223.5" ></text>
+</g>
+<g >
+<title>usr (129 samples, 0.01%)</title><rect x="832.1" y="229" width="0.2" height="15.0" fill="rgb(236,129,34)" rx="2" ry="2" />
+<text x="835.14" y="239.5" ></text>
+</g>
+<g >
+<title>/libbpf (2,384 samples, 0.25%)</title><rect x="1093.8" y="101" width="2.9" height="15.0" fill="rgb(247,99,47)" rx="2" ry="2" />
+<text x="1096.79" y="111.5" ></text>
+</g>
+<g >
+<title>/lib (548 samples, 0.06%)</title><rect x="391.3" y="197" width="0.7" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="394.31" y="207.5" ></text>
+</g>
+<g >
+<title>enter_openat (602 samples, 0.06%)</title><rect x="618.1" y="165" width="0.7" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="621.07" y="175.5" ></text>
+</g>
+<g >
+<title>/ior (134 samples, 0.01%)</title><rect x="1069.6" y="165" width="0.2" height="15.0" fill="rgb(240,134,39)" rx="2" ry="2" />
+<text x="1072.64" y="175.5" ></text>
+</g>
+<g >
+<title>/flushed (194 samples, 0.02%)</title><rect x="683.1" y="165" width="0.3" height="15.0" fill="rgb(247,158,46)" rx="2" ry="2" />
+<text x="686.12" y="175.5" ></text>
+</g>
+<g >
+<title>/34 (89 samples, 0.01%)</title><rect x="621.6" y="197" width="0.1" height="15.0" fill="rgb(236,125,34)" rx="2" ry="2" />
+<text x="624.63" y="207.5" ></text>
+</g>
+<g >
+<title>/gcc (35,344 samples, 3.66%)</title><rect x="145.3" y="181" width="43.2" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="148.33" y="191.5" >/gcc</text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="704.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="707.22" y="79.5" ></text>
+</g>
+<g >
+<title>/renderD128 (8,253 samples, 0.85%)</title><rect x="448.2" y="181" width="10.1" height="15.0" fill="rgb(237,137,35)" rx="2" ry="2" />
+<text x="451.25" y="191.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="476.5" y="165" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="479.46" y="175.5" ></text>
+</g>
+<g >
+<title>/bffc4771459b78ae9567a3002e6934a36114a08f472877ac245907c4b4c70243-d (296 samples, 0.03%)</title><rect x="1080.0" y="133" width="0.3" height="15.0" fill="rgb(251,104,51)" rx="2" ry="2" />
+<text x="1082.97" y="143.5" ></text>
+</g>
+<g >
+<title>625680 (179 samples, 0.02%)</title><rect x="806.3" y="245" width="0.3" height="15.0" fill="rgb(235,151,33)" rx="2" ry="2" />
+<text x="809.33" y="255.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-0000000000630a49-00062a295d150579.journal (83 samples, 0.01%)</title><rect x="1180.8" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1183.82" y="159.5" ></text>
+</g>
+<g >
+<title>/16 (96 samples, 0.01%)</title><rect x="1041.3" y="149" width="0.2" height="15.0" fill="rgb(234,129,32)" rx="2" ry="2" />
+<text x="1044.34" y="159.5" ></text>
+</g>
+<g >
+<title>/go.o (4,644 samples, 0.48%)</title><rect x="1108.8" y="181" width="5.7" height="15.0" fill="rgb(248,144,48)" rx="2" ry="2" />
+<text x="1111.79" y="191.5" ></text>
+</g>
+<g >
+<title>/.. (253 samples, 0.03%)</title><rect x="1085.9" y="101" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1088.89" y="111.5" ></text>
+</g>
+<g >
+<title>enter_openat (84 samples, 0.01%)</title><rect x="875.9" y="213" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="878.94" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="729.5" y="85" width="0.4" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="732.48" y="95.5" ></text>
+</g>
+<g >
+<title>enter_lseek (960 samples, 0.10%)</title><rect x="1139.3" y="37" width="1.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1142.28" y="47.5" ></text>
+</g>
+<g >
+<title>/idb (626 samples, 0.06%)</title><rect x="798.0" y="85" width="0.7" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2" />
+<text x="800.97" y="95.5" ></text>
+</g>
+<g >
+<title>/f42 (95 samples, 0.01%)</title><rect x="234.1" y="117" width="0.1" height="15.0" fill="rgb(242,145,40)" rx="2" ry="2" />
+<text x="237.05" y="127.5" ></text>
+</g>
+<g >
+<title>enter_read (86 samples, 0.01%)</title><rect x="736.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="739.16" y="79.5" ></text>
+</g>
+<g >
+<title>/__pycache__ (99 samples, 0.01%)</title><rect x="1036.5" y="133" width="0.2" height="15.0" fill="rgb(235,103,33)" rx="2" ry="2" />
+<text x="1039.54" y="143.5" ></text>
+</g>
+<g >
+<title>/power_supply (146 samples, 0.02%)</title><rect x="775.9" y="85" width="0.2" height="15.0" fill="rgb(240,154,39)" rx="2" ry="2" />
+<text x="778.95" y="95.5" ></text>
+</g>
+<g >
+<title>/io.github.celluloid_player.Celluloid (124 samples, 0.01%)</title><rect x="218.5" y="149" width="0.1" height="15.0" fill="rgb(246,134,45)" rx="2" ry="2" />
+<text x="221.49" y="159.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (261 samples, 0.03%)</title><rect x="463.1" y="149" width="0.3" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="466.06" y="159.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (82 samples, 0.01%)</title><rect x="617.8" y="229" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="620.83" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (100 samples, 0.01%)</title><rect x="802.3" y="165" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="805.35" y="175.5" ></text>
+</g>
+<g >
+<title>/home (493 samples, 0.05%)</title><rect x="1143.8" y="213" width="0.6" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="1146.81" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="756.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="759.70" y="95.5" ></text>
+</g>
+<g >
+<title>625670 (1,284 samples, 0.13%)</title><rect x="804.6" y="245" width="1.6" height="15.0" fill="rgb(236,151,35)" rx="2" ry="2" />
+<text x="807.62" y="255.5" ></text>
+</g>
+<g >
+<title>/lib (285 samples, 0.03%)</title><rect x="865.7" y="197" width="0.3" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="868.68" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (520 samples, 0.05%)</title><rect x="1071.2" y="133" width="0.6" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1074.16" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="709.6" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="712.56" y="79.5" ></text>
+</g>
+<g >
+<title>/a.out (174 samples, 0.02%)</title><rect x="1087.6" y="181" width="0.3" height="15.0" fill="rgb(234,96,32)" rx="2" ry="2" />
+<text x="1090.64" y="191.5" ></text>
+</g>
+<g >
+<title>301263 (105,115 samples, 10.88%)</title><rect x="489.3" y="245" width="128.3" height="15.0" fill="rgb(240,198,39)" rx="2" ry="2" />
+<text x="492.28" y="255.5" >301263</text>
+</g>
+<g >
+<title>/usr (734 samples, 0.08%)</title><rect x="1087.9" y="213" width="0.9" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1090.91" y="223.5" ></text>
+</g>
+<g >
+<title> (290 samples, 0.03%)</title><rect x="1082.5" y="229" width="0.4" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1085.50" y="239.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.BrowserConnector.slice (1,665 samples, 0.17%)</title><rect x="702.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="704.97" y="111.5" ></text>
+</g>
+<g >
+<title>/fonts (495 samples, 0.05%)</title><rect x="864.7" y="197" width="0.6" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="867.69" y="207.5" ></text>
+</g>
+<g >
+<title>/3c (103 samples, 0.01%)</title><rect x="1046.0" y="149" width="0.1" height="15.0" fill="rgb(223,128,20)" rx="2" ry="2" />
+<text x="1048.97" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="724.6" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="727.65" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="1077.7" y="117" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="1080.72" y="127.5" ></text>
+</g>
+<g >
+<title>/org.videolan.VLC.Locale (212 samples, 0.02%)</title><rect x="248.1" y="149" width="0.2" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="251.06" y="159.5" ></text>
+</g>
+<g >
+<title>/conf.avail (1,359 samples, 0.14%)</title><rect x="866.0" y="165" width="1.7" height="15.0" fill="rgb(233,164,31)" rx="2" ry="2" />
+<text x="869.04" y="175.5" ></text>
+</g>
+<g >
+<title> (514 samples, 0.05%)</title><rect x="781.4" y="229" width="0.6" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="784.37" y="239.5" ></text>
+</g>
+<g >
+<title>/system@5d71b28e8a574021b181e0c340c01308-00000000004dc291-00061ee1568dc06b.journal (97 samples, 0.01%)</title><rect x="1179.0" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.99" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (212 samples, 0.02%)</title><rect x="328.1" y="213" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="331.14" y="223.5" ></text>
+</g>
+<g >
+<title>/fortune (725 samples, 0.08%)</title><rect x="1142.9" y="165" width="0.8" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="1145.85" y="175.5" ></text>
+</g>
+<g >
+<title>/conf.d (482 samples, 0.05%)</title><rect x="1166.0" y="181" width="0.6" height="15.0" fill="rgb(248,164,47)" rx="2" ry="2" />
+<text x="1169.02" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1183.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.41" y="143.5" ></text>
+</g>
+<g >
+<title>/flathub (905 samples, 0.09%)</title><rect x="315.4" y="197" width="1.1" height="15.0" fill="rgb(227,158,25)" rx="2" ry="2" />
+<text x="318.42" y="207.5" ></text>
+</g>
+<g >
+<title>/4d (98 samples, 0.01%)</title><rect x="1048.0" y="149" width="0.1" height="15.0" fill="rgb(238,120,36)" rx="2" ry="2" />
+<text x="1050.96" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="739.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="742.83" y="79.5" ></text>
+</g>
+<g >
+<title>/libnss_systemd.so.2 (1,494 samples, 0.15%)</title><rect x="99.5" y="197" width="1.9" height="15.0" fill="rgb(250,99,50)" rx="2" ry="2" />
+<text x="102.53" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="762.6" y="85" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="765.60" y="95.5" ></text>
+</g>
+<g >
+<title>/passwd (105 samples, 0.01%)</title><rect x="878.6" y="197" width="0.1" height="15.0" fill="rgb(240,160,38)" rx="2" ry="2" />
+<text x="881.57" y="207.5" ></text>
+</g>
+<g >
+<title>/system@7068484a0f964aa6b6df909badc186fe-0000000000546f24-0006232fb4be18fe.journal (85 samples, 0.01%)</title><rect x="1179.3" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1182.27" y="159.5" ></text>
+</g>
+<g >
+<title>/.. (271 samples, 0.03%)</title><rect x="1087.9" y="117" width="0.4" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1090.94" y="127.5" ></text>
+</g>
+<g >
+<title> (290 samples, 0.03%)</title><rect x="1086.8" y="229" width="0.3" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1089.78" y="239.5" ></text>
+</g>
+<g >
+<title>/46 (86 samples, 0.01%)</title><rect x="243.0" y="117" width="0.1" height="15.0" fill="rgb(231,114,29)" rx="2" ry="2" />
+<text x="245.97" y="127.5" ></text>
+</g>
+<g >
+<title> (358 samples, 0.04%)</title><rect x="807.5" y="229" width="0.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="810.52" y="239.5" ></text>
+</g>
+<g >
+<title>socket:[71370] (456 samples, 0.05%)</title><rect x="442.6" y="229" width="0.5" height="15.0" fill="rgb(240,175,39)" rx="2" ry="2" />
+<text x="445.57" y="239.5" ></text>
+</g>
+<g >
+<title>/system@0aea203ba61848c3941e879d6c338702-00000000004d0347-00061dc3f341e4cc.journal (94 samples, 0.01%)</title><rect x="1178.0" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1181.01" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="483.3" y="165" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="486.26" y="175.5" ></text>
+</g>
+<g >
+<title>/smaps_rollup (144 samples, 0.01%)</title><rect x="781.0" y="181" width="0.1" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="783.95" y="191.5" ></text>
+</g>
+<g >
+<title>/etc (346 samples, 0.04%)</title><rect x="766.3" y="213" width="0.4" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="769.33" y="223.5" ></text>
+</g>
+<g >
+<title>/pts (143 samples, 0.01%)</title><rect x="674.1" y="197" width="0.1" height="15.0" fill="rgb(236,138,35)" rx="2" ry="2" />
+<text x="677.07" y="207.5" ></text>
+</g>
+<g >
+<title>/48 (97 samples, 0.01%)</title><rect x="242.6" y="117" width="0.1" height="15.0" fill="rgb(228,107,25)" rx="2" ry="2" />
+<text x="245.57" y="127.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1177.8" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.79" y="143.5" ></text>
+</g>
+<g >
+<title>/fortune (120 samples, 0.01%)</title><rect x="1175.2" y="165" width="0.2" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="1178.24" y="175.5" ></text>
+</g>
+<g >
+<title>/dev.geopjr.Calligraphy (128 samples, 0.01%)</title><rect x="217.9" y="149" width="0.2" height="15.0" fill="rgb(244,152,43)" rx="2" ry="2" />
+<text x="220.94" y="159.5" ></text>
+</g>
+<g >
+<title>/48x48 (219 samples, 0.02%)</title><rect x="221.1" y="85" width="0.3" height="15.0" fill="rgb(235,107,33)" rx="2" ry="2" />
+<text x="224.14" y="95.5" ></text>
+</g>
+<g >
+<title>enter_lseek (15,894 samples, 1.64%)</title><rect x="840.5" y="133" width="19.4" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="843.53" y="143.5" ></text>
+</g>
+<g >
+<title>enter_statx (107 samples, 0.01%)</title><rect x="240.3" y="133" width="0.1" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="243.30" y="143.5" ></text>
+</g>
+<g >
+<title>/a.out (557 samples, 0.06%)</title><rect x="1071.1" y="149" width="0.7" height="15.0" fill="rgb(234,96,32)" rx="2" ry="2" />
+<text x="1074.12" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (196 samples, 0.02%)</title><rect x="45.3" y="213" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="48.30" y="223.5" ></text>
+</g>
+<g >
+<title>/sudo (118 samples, 0.01%)</title><rect x="676.7" y="181" width="0.1" height="15.0" fill="rgb(245,119,44)" rx="2" ry="2" />
+<text x="679.67" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.current (276 samples, 0.03%)</title><rect x="757.0" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="760.03" y="95.5" ></text>
+</g>
+<g >
+<title>/fonts (224 samples, 0.02%)</title><rect x="867.7" y="181" width="0.3" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="870.70" y="191.5" ></text>
+</g>
+<g >
+<title>/d8 (112 samples, 0.01%)</title><rect x="1064.7" y="149" width="0.2" height="15.0" fill="rgb(235,143,33)" rx="2" ry="2" />
+<text x="1067.72" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="689.3" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="692.32" y="95.5" ></text>
+</g>
+<g >
+<title> (763 samples, 0.08%)</title><rect x="682.6" y="229" width="0.9" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="685.55" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="1179.2" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1182.16" y="143.5" ></text>
+</g>
+<g >
+<title> (1,180 samples, 0.12%)</title><rect x="830.0" y="229" width="1.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="833.03" y="239.5" ></text>
+</g>
+<g >
+<title>/games (436 samples, 0.05%)</title><rect x="101.4" y="181" width="0.5" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="104.36" y="191.5" ></text>
+</g>
+<g >
+<title>/runtime (2,560 samples, 0.26%)</title><rect x="303.3" y="213" width="3.2" height="15.0" fill="rgb(236,124,34)" rx="2" ry="2" />
+<text x="306.33" y="223.5" ></text>
+</g>
+<g >
+<title>/event9 (1,919 samples, 0.20%)</title><rect x="30.5" y="181" width="2.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="33.49" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (103 samples, 0.01%)</title><rect x="1175.0" y="37" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1178.05" y="47.5" ></text>
+</g>
+<g >
+<title>/usr (118 samples, 0.01%)</title><rect x="1093.4" y="213" width="0.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1096.40" y="223.5" ></text>
+</g>
+<g >
+<title>/x86_64 (104 samples, 0.01%)</title><rect x="232.6" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="235.57" y="143.5" ></text>
+</g>
+<g >
+<title>enter_mmap (118 samples, 0.01%)</title><rect x="1076.4" y="181" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1079.35" y="191.5" ></text>
+</g>
+<g >
+<title>/home (1,891 samples, 0.20%)</title><rect x="674.2" y="213" width="2.4" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="677.25" y="223.5" ></text>
+</g>
+<g >
+<title> (44,269 samples, 4.58%)</title><rect x="343.6" y="229" width="54.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="346.58" y="239.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="743.7" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="746.71" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="719.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="722.67" y="79.5" ></text>
+</g>
+<g >
+<title>/lib64 (147 samples, 0.02%)</title><rect x="1175.0" y="69" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1178.05" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="706.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="709.27" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="736.0" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="739.00" y="79.5" ></text>
+</g>
+<g >
+<title>/user-1001@00061c9741dc2cf6-94e8180c6871d756.journal~ (114 samples, 0.01%)</title><rect x="1182.9" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1185.85" y="159.5" ></text>
+</g>
+<g >
+<title>/.local (316 samples, 0.03%)</title><rect x="681.6" y="181" width="0.4" height="15.0" fill="rgb(229,163,26)" rx="2" ry="2" />
+<text x="684.62" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (232 samples, 0.02%)</title><rect x="481.5" y="165" width="0.3" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="484.49" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="691.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="694.57" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.low (276 samples, 0.03%)</title><rect x="763.5" y="101" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="766.54" y="111.5" ></text>
+</g>
+<g >
+<title>enter_read (646 samples, 0.07%)</title><rect x="827.3" y="213" width="0.7" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="830.26" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.min (276 samples, 0.03%)</title><rect x="757.7" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="760.71" y="95.5" ></text>
+</g>
+<g >
+<title>/.. (101 samples, 0.01%)</title><rect x="676.8" y="85" width="0.1" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="679.82" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (232 samples, 0.02%)</title><rect x="480.3" y="165" width="0.3" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="483.28" y="175.5" ></text>
+</g>
+<g >
+<title>/app.slice (59,953 samples, 6.20%)</title><rect x="687.9" y="117" width="73.3" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="690.95" y="127.5" >/app.slice</text>
+</g>
+<g >
+<title>/local (346 samples, 0.04%)</title><rect x="676.9" y="197" width="0.5" height="15.0" fill="rgb(229,118,26)" rx="2" ry="2" />
+<text x="679.95" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="738.0" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="740.99" y="79.5" ></text>
+</g>
+<g >
+<title>enter_writev (88 samples, 0.01%)</title><rect x="397.8" y="213" width="0.1" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="400.77" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1177.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1180.69" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="717.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="720.28" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="689.7" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="692.65" y="95.5" ></text>
+</g>
+<g >
+<title>/7d (94 samples, 0.01%)</title><rect x="1053.7" y="149" width="0.1" height="15.0" fill="rgb(247,161,46)" rx="2" ry="2" />
+<text x="1056.68" y="159.5" ></text>
+</g>
+<g >
+<title>/gcc (101 samples, 0.01%)</title><rect x="676.8" y="181" width="0.1" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="679.82" y="191.5" ></text>
+</g>
+<g >
+<title>enter_close (134 samples, 0.01%)</title><rect x="1074.3" y="213" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="1077.28" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="690.6" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="693.64" y="95.5" ></text>
+</g>
+<g >
+<title>/usr (731 samples, 0.08%)</title><rect x="1092.2" y="213" width="0.9" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="1095.23" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.stat (270 samples, 0.03%)</title><rect x="733.9" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="736.94" y="95.5" ></text>
+</g>
+<g >
+<title>/gcc (204 samples, 0.02%)</title><rect x="38.7" y="181" width="0.2" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="41.67" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="748.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="751.72" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (821 samples, 0.08%)</title><rect x="676.6" y="213" width="1.0" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="679.56" y="223.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1181.0" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.03" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="714.7" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="717.69" y="95.5" ></text>
+</g>
+<g >
+<title>/status (638 samples, 0.07%)</title><rect x="482.8" y="181" width="0.7" height="15.0" fill="rgb(233,122,30)" rx="2" ry="2" />
+<text x="485.76" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (87 samples, 0.01%)</title><rect x="1181.7" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.66" y="143.5" ></text>
+</g>
+<g >
+<title>/x86_64 (86 samples, 0.01%)</title><rect x="247.8" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="250.83" y="143.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (88 samples, 0.01%)</title><rect x="693.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="696.03" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (42,516 samples, 4.40%)</title><rect x="489.3" y="165" width="51.9" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="492.28" y="175.5" >enter..</text>
+</g>
+<g >
+<title>socket:[1154081] (107 samples, 0.01%)</title><rect x="476.2" y="229" width="0.1" height="15.0" fill="rgb(238,175,37)" rx="2" ry="2" />
+<text x="479.20" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="729.0" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="732.05" y="79.5" ></text>
+</g>
+<g >
+<title>/fortune (111 samples, 0.01%)</title><rect x="812.6" y="165" width="0.1" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="815.55" y="175.5" ></text>
+</g>
+<g >
+<title>/36a1e8a7fd435c3ac73e34109f9465af4958f95fa58b7d6ff0f5cd70b9a1bf7e (103 samples, 0.01%)</title><rect x="234.7" y="101" width="0.1" height="15.0" fill="rgb(249,119,48)" rx="2" ry="2" />
+<text x="237.69" y="111.5" ></text>
+</g>
+<g >
+<title>/paul (182 samples, 0.02%)</title><rect x="862.0" y="197" width="0.2" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="865.00" y="207.5" ></text>
+</g>
+<g >
+<title>/fc (95 samples, 0.01%)</title><rect x="1069.1" y="149" width="0.1" height="15.0" fill="rgb(228,149,25)" rx="2" ry="2" />
+<text x="1072.09" y="159.5" ></text>
+</g>
+<g >
+<title>/x86_64 (161 samples, 0.02%)</title><rect x="305.3" y="181" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="308.27" y="191.5" ></text>
+</g>
+<g >
+<title>/icons (326 samples, 0.03%)</title><rect x="795.6" y="165" width="0.4" height="15.0" fill="rgb(244,134,43)" rx="2" ry="2" />
+<text x="798.58" y="175.5" ></text>
+</g>
+<g >
+<title>/share (1,514 samples, 0.16%)</title><rect x="1170.6" y="197" width="1.8" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="1173.55" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="764.5" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="767.50" y="95.5" ></text>
+</g>
+<g >
+<title> (2,525 samples, 0.26%)</title><rect x="778.1" y="229" width="3.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="781.11" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (1,594 samples, 0.16%)</title><rect x="881.9" y="149" width="2.0" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="884.95" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.low (270 samples, 0.03%)</title><rect x="749.2" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="752.16" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="729.9" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="732.91" y="79.5" ></text>
+</g>
+<g >
+<title>/dev (99 samples, 0.01%)</title><rect x="774.7" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="777.67" y="223.5" ></text>
+</g>
+<g >
+<title>/23.08 (120 samples, 0.01%)</title><rect x="239.9" y="117" width="0.1" height="15.0" fill="rgb(233,134,30)" rx="2" ry="2" />
+<text x="242.90" y="127.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="479.2" y="165" width="0.2" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="482.22" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="731.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="734.06" y="79.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (92 samples, 0.01%)</title><rect x="717.4" y="69" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="720.44" y="79.5" ></text>
+</g>
+<g >
+<title> (192 samples, 0.02%)</title><rect x="784.0" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="786.98" y="239.5" ></text>
+</g>
+<g >
+<title> (29,613 samples, 3.06%)</title><rect x="1038.6" y="229" width="36.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1041.61" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (162 samples, 0.02%)</title><rect x="331.6" y="181" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="334.60" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="731.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="734.78" y="79.5" ></text>
+</g>
+<g >
+<title>10829 (13,821 samples, 1.43%)</title><rect x="99.0" y="245" width="16.9" height="15.0" fill="rgb(230,112,28)" rx="2" ry="2" />
+<text x="101.99" y="255.5" ></text>
+</g>
+<g >
+<title>/libc.so.6 (97 samples, 0.01%)</title><rect x="1083.2" y="197" width="0.1" height="15.0" fill="rgb(243,99,42)" rx="2" ry="2" />
+<text x="1086.21" y="207.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (156 samples, 0.02%)</title><rect x="391.1" y="165" width="0.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="394.12" y="175.5" ></text>
+</g>
+<g >
+<title>org.gnome.Screenshot (100 samples, 0.01%)</title><rect x="312.6" y="229" width="0.1" height="15.0" fill="rgb(237,179,36)" rx="2" ry="2" />
+<text x="315.56" y="239.5" ></text>
+</g>
+<g >
+<title>enter_mmap (92 samples, 0.01%)</title><rect x="777.0" y="181" width="0.2" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="780.05" y="191.5" ></text>
+</g>
+<g >
+<title>/lib64 (156 samples, 0.02%)</title><rect x="391.1" y="197" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="394.12" y="207.5" ></text>
+</g>
+<g >
+<title>/15 (690 samples, 0.07%)</title><rect x="1087.9" y="149" width="0.9" height="15.0" fill="rgb(236,132,34)" rx="2" ry="2" />
+<text x="1090.94" y="159.5" ></text>
+</g>
+<g >
+<title>/null (92 samples, 0.01%)</title><rect x="777.0" y="197" width="0.2" height="15.0" fill="rgb(224,145,21)" rx="2" ry="2" />
+<text x="780.05" y="207.5" ></text>
+</g>
+<g >
+<title>enter_write (1,620 samples, 0.17%)</title><rect x="146.0" y="37" width="2.0" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="148.98" y="47.5" ></text>
+</g>
+<g >
+<title>/libgcc_s.so.1 (106 samples, 0.01%)</title><rect x="1089.7" y="197" width="0.1" height="15.0" fill="rgb(235,99,33)" rx="2" ry="2" />
+<text x="1092.65" y="207.5" ></text>
+</g>
+<g >
+<title>/622015 (304 samples, 0.03%)</title><rect x="799.2" y="197" width="0.4" height="15.0" fill="rgb(244,117,43)" rx="2" ry="2" />
+<text x="802.19" y="207.5" ></text>
+</g>
+<g >
+<title>/renderD128 (414 samples, 0.04%)</title><rect x="781.4" y="181" width="0.5" height="15.0" fill="rgb(237,137,35)" rx="2" ry="2" />
+<text x="784.37" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="715.8" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="718.79" y="79.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (607 samples, 0.06%)</title><rect x="680.0" y="229" width="0.8" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="683.04" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (116 samples, 0.01%)</title><rect x="483.0" y="165" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="485.98" y="175.5" ></text>
+</g>
+<g >
+<title>/aa (87 samples, 0.01%)</title><rect x="1059.1" y="149" width="0.1" height="15.0" fill="rgb(225,125,22)" rx="2" ry="2" />
+<text x="1062.11" y="159.5" ></text>
+</g>
+<g >
+<title> (150 samples, 0.02%)</title><rect x="1087.1" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1090.13" y="239.5" ></text>
+</g>
+<g >
+<title>/35 (89 samples, 0.01%)</title><rect x="1045.1" y="149" width="0.2" height="15.0" fill="rgb(234,122,32)" rx="2" ry="2" />
+<text x="1048.15" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="698.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="701.85" y="79.5" ></text>
+</g>
+<g >
+<title>enter_lseek (196 samples, 0.02%)</title><rect x="1088.5" y="117" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1091.50" y="127.5" ></text>
+</g>
+<g >
+<title>/x86_64 (123 samples, 0.01%)</title><rect x="241.4" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="244.38" y="143.5" ></text>
+</g>
+<g >
+<title>/system@d62e597f0e2949bda5784759a1e3ccf2-000000000076c008-000630537d852534.journal (85 samples, 0.01%)</title><rect x="1181.4" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1184.35" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1181.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.56" y="143.5" ></text>
+</g>
+<g >
+<title> (903 samples, 0.09%)</title><rect x="782.6" y="229" width="1.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="785.56" y="239.5" ></text>
+</g>
+<g >
+<title>/fontconfig (165 samples, 0.02%)</title><rect x="862.0" y="165" width="0.2" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="865.00" y="175.5" ></text>
+</g>
+<g >
+<title>/games (1,884 samples, 0.19%)</title><rect x="39.9" y="181" width="2.3" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="42.88" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="686.4" y="85" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="689.45" y="95.5" ></text>
+</g>
+<g >
+<title>/git (2,461 samples, 0.25%)</title><rect x="1093.7" y="181" width="3.0" height="15.0" fill="rgb(233,124,30)" rx="2" ry="2" />
+<text x="1096.73" y="191.5" ></text>
+</g>
+<g >
+<title>enter_mmap (214 samples, 0.02%)</title><rect x="1037.4" y="213" width="0.2" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1040.36" y="223.5" ></text>
+</g>
+<g >
+<title>/cmdline (140 samples, 0.01%)</title><rect x="447.9" y="181" width="0.1" height="15.0" fill="rgb(246,170,46)" rx="2" ry="2" />
+<text x="450.88" y="191.5" ></text>
+</g>
+<g >
+<title>/451c975916dc4536919a44482a914925 (97 samples, 0.01%)</title><rect x="776.9" y="165" width="0.1" height="15.0" fill="rgb(236,117,35)" rx="2" ry="2" />
+<text x="779.88" y="175.5" ></text>
+</g>
+<g >
+<title>anon_inode:[eventfd] (84 samples, 0.01%)</title><rect x="331.3" y="229" width="0.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="334.34" y="239.5" ></text>
+</g>
+<g >
+<title>enter_write (194 samples, 0.02%)</title><rect x="488.4" y="213" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="491.45" y="223.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (38,691 samples, 4.00%)</title><rect x="343.6" y="165" width="47.2" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="346.58" y="175.5" >ente..</text>
+</g>
+<g >
+<title>10494 (92 samples, 0.01%)</title><rect x="10.0" y="245" width="0.1" height="15.0" fill="rgb(246,124,45)" rx="2" ry="2" />
+<text x="13.01" y="255.5" ></text>
+</g>
+<g >
+<title>enter_write (294 samples, 0.03%)</title><rect x="1144.8" y="117" width="0.3" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="1147.76" y="127.5" ></text>
+</g>
+<g >
+<title>16733 (82,662 samples, 8.55%)</title><rect x="343.6" y="245" width="100.9" height="15.0" fill="rgb(240,84,39)" rx="2" ry="2" />
+<text x="346.58" y="255.5" >16733</text>
+</g>
+<g >
+<title>/self (536 samples, 0.06%)</title><rect x="800.0" y="197" width="0.7" height="15.0" fill="rgb(238,132,36)" rx="2" ry="2" />
+<text x="803.04" y="207.5" ></text>
+</g>
+<g >
+<title>/scripts (558 samples, 0.06%)</title><rect x="142.1" y="181" width="0.7" height="15.0" fill="rgb(236,139,35)" rx="2" ry="2" />
+<text x="145.14" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="718.1" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="721.11" y="95.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1176.6" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1179.61" y="143.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="728.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="731.73" y="79.5" ></text>
+</g>
+<g >
+<title>/smaps (114 samples, 0.01%)</title><rect x="802.3" y="181" width="0.2" height="15.0" fill="rgb(243,145,42)" rx="2" ry="2" />
+<text x="805.33" y="191.5" ></text>
+</g>
+<g >
+<title>/__pycache__ (99 samples, 0.01%)</title><rect x="1037.0" y="133" width="0.1" height="15.0" fill="rgb(235,103,33)" rx="2" ry="2" />
+<text x="1040.01" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.pressure (308 samples, 0.03%)</title><rect x="699.0" y="85" width="0.3" height="15.0" fill="rgb(242,107,41)" rx="2" ry="2" />
+<text x="701.96" y="95.5" ></text>
+</g>
+<g >
+<title>/memory.low (276 samples, 0.03%)</title><rect x="759.4" y="101" width="0.4" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="762.44" y="111.5" ></text>
+</g>
+<g >
+<title>301270 (247 samples, 0.03%)</title><rect x="617.6" y="245" width="0.3" height="15.0" fill="rgb(239,198,38)" rx="2" ry="2" />
+<text x="620.64" y="255.5" ></text>
+</g>
+<g >
+<title>/c7 (111 samples, 0.01%)</title><rect x="1062.7" y="149" width="0.1" height="15.0" fill="rgb(238,151,36)" rx="2" ry="2" />
+<text x="1065.71" y="159.5" ></text>
+</g>
+<g >
+<title>/rpmdb.sqlite-shm (1,166 samples, 0.12%)</title><rect x="809.1" y="149" width="1.4" height="15.0" fill="rgb(228,140,26)" rx="2" ry="2" />
+<text x="812.06" y="159.5" ></text>
+</g>
+<g >
+<title>/kvm (245 samples, 0.03%)</title><rect x="1189.7" y="165" width="0.3" height="15.0" fill="rgb(222,101,19)" rx="2" ry="2" />
+<text x="1192.68" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="725.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="728.30" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (86 samples, 0.01%)</title><rect x="461.6" y="149" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="464.60" y="159.5" ></text>
+</g>
+<g >
+<title>enter_write (128 samples, 0.01%)</title><rect x="343.4" y="213" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="346.42" y="223.5" ></text>
+</g>
+<g >
+<title>/0c (103 samples, 0.01%)</title><rect x="1040.2" y="149" width="0.1" height="15.0" fill="rgb(227,144,24)" rx="2" ry="2" />
+<text x="1043.18" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="707.3" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="710.34" y="79.5" ></text>
+</g>
+<g >
+<title>/app-gnome\x2dsession\x2dmanager.slice (1,671 samples, 0.17%)</title><rect x="755.0" y="101" width="2.0" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="757.99" y="111.5" ></text>
+</g>
+<g >
+<title>/app-ghostty-transient-297925.scope (1,671 samples, 0.17%)</title><rect x="750.9" y="101" width="2.0" height="15.0" fill="rgb(248,115,48)" rx="2" ry="2" />
+<text x="753.89" y="111.5" ></text>
+</g>
+<g >
+<title>enter_read (94 samples, 0.01%)</title><rect x="764.8" y="85" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="767.85" y="95.5" ></text>
+</g>
+<g >
+<title>/.local (754 samples, 0.08%)</title><rect x="674.8" y="181" width="0.9" height="15.0" fill="rgb(229,163,26)" rx="2" ry="2" />
+<text x="677.77" y="191.5" ></text>
+</g>
+<g >
+<title>/x86_64 (124 samples, 0.01%)</title><rect x="246.8" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="249.77" y="143.5" ></text>
+</g>
+<g >
+<title>/libpcre2-8.so.0 (111 samples, 0.01%)</title><rect x="37.5" y="197" width="0.1" height="15.0" fill="rgb(236,99,34)" rx="2" ry="2" />
+<text x="40.50" y="207.5" ></text>
+</g>
+<g >
+<title>/75 (111 samples, 0.01%)</title><rect x="1052.7" y="149" width="0.1" height="15.0" fill="rgb(242,157,40)" rx="2" ry="2" />
+<text x="1055.66" y="159.5" ></text>
+</g>
+<g >
+<title>enter_lseek (98 samples, 0.01%)</title><rect x="1083.9" y="37" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1086.91" y="47.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="699.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="702.87" y="79.5" ></text>
+</g>
+<g >
+<title> (91 samples, 0.01%)</title><rect x="98.8" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="101.84" y="239.5" ></text>
+</g>
+<g >
+<title>627338 (351 samples, 0.04%)</title><rect x="872.7" y="245" width="0.5" height="15.0" fill="rgb(234,145,32)" rx="2" ry="2" />
+<text x="875.73" y="255.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.21\x2dorg.a11y.atspi.Registry.slice (1,665 samples, 0.17%)</title><rect x="687.9" y="101" width="2.1" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="690.95" y="111.5" ></text>
+</g>
+<g >
+<title>/zstd@v1.5.7 (815 samples, 0.08%)</title><rect x="1069.9" y="101" width="0.9" height="15.0" fill="rgb(240,146,39)" rx="2" ry="2" />
+<text x="1072.85" y="111.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="742.0" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="745.04" y="79.5" ></text>
+</g>
+<g >
+<title>/lib (1,510 samples, 0.16%)</title><rect x="547.8" y="197" width="1.8" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="550.80" y="207.5" ></text>
+</g>
+<g >
+<title>enter_lseek (116 samples, 0.01%)</title><rect x="478.4" y="165" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="481.37" y="175.5" ></text>
+</g>
+<g >
+<title>/fontconfig (205 samples, 0.02%)</title><rect x="1166.6" y="165" width="0.3" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1169.63" y="175.5" ></text>
+</g>
+<g >
+<title>/log (94 samples, 0.01%)</title><rect x="776.6" y="197" width="0.1" height="15.0" fill="rgb(248,118,48)" rx="2" ry="2" />
+<text x="779.57" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (86 samples, 0.01%)</title><rect x="1178.8" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1181.77" y="143.5" ></text>
+</g>
+<g >
+<title>/system@c32c65e2f14f4168bb0fe59124681a98-00000000004ac636-00061c98220a7fa0.journal (91 samples, 0.01%)</title><rect x="1180.2" y="149" width="0.1" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="1183.21" y="159.5" ></text>
+</g>
+<g >
+<title>/fontconfig (1,359 samples, 0.14%)</title><rect x="866.0" y="181" width="1.7" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="869.04" y="191.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (90 samples, 0.01%)</title><rect x="703.0" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="706.01" y="79.5" ></text>
+</g>
+<g >
+<title>anon_inode:[timerfd] (881 samples, 0.09%)</title><rect x="93.7" y="229" width="1.1" height="15.0" fill="rgb(244,164,43)" rx="2" ry="2" />
+<text x="96.72" y="239.5" ></text>
+</g>
+<g >
+<title>/history.sqlite-shm (366 samples, 0.04%)</title><rect x="396.4" y="165" width="0.5" height="15.0" fill="rgb(228,119,26)" rx="2" ry="2" />
+<text x="399.44" y="175.5" ></text>
+</g>
+<g >
+<title>/extension (5,694 samples, 0.59%)</title><rect x="223.3" y="165" width="7.0" height="15.0" fill="rgb(247,163,46)" rx="2" ry="2" />
+<text x="226.32" y="175.5" ></text>
+</g>
+<g >
+<title>/go.o (103 samples, 0.01%)</title><rect x="541.7" y="181" width="0.1" height="15.0" fill="rgb(248,144,48)" rx="2" ry="2" />
+<text x="544.72" y="191.5" ></text>
+</g>
+<g >
+<title>/app-dbus\x2d:1.2\x2dorg.gnome.Epiphany.WebAppProvider.slice (1,733 samples, 0.18%)</title><rect x="712.2" y="101" width="2.2" height="15.0" fill="rgb(246,115,46)" rx="2" ry="2" />
+<text x="715.25" y="111.5" ></text>
+</g>
+<g >
+<title>enter_write (139 samples, 0.01%)</title><rect x="765.9" y="213" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="768.89" y="223.5" ></text>
+</g>
+<g >
+<title>/fortune (726 samples, 0.08%)</title><rect x="796.2" y="165" width="0.9" height="15.0" fill="rgb(246,149,46)" rx="2" ry="2" />
+<text x="799.17" y="175.5" ></text>
+</g>
+<g >
+<title>622015 (301 samples, 0.03%)</title><rect x="803.5" y="245" width="0.4" height="15.0" fill="rgb(244,161,43)" rx="2" ry="2" />
+<text x="806.53" y="255.5" ></text>
+</g>
+<g >
+<title>/tmp (191 samples, 0.02%)</title><rect x="1083.5" y="213" width="0.2" height="15.0" fill="rgb(234,140,32)" rx="2" ry="2" />
+<text x="1086.48" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="699.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="702.23" y="79.5" ></text>
+</g>
+<g >
+<title> (869 samples, 0.09%)</title><rect x="774.7" y="229" width="1.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="777.67" y="239.5" ></text>
+</g>
+<g >
+<title>/gcc (698 samples, 0.07%)</title><rect x="1085.9" y="181" width="0.8" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="1088.89" y="191.5" ></text>
+</g>
+<g >
+<title>/libc.so.6 (97 samples, 0.01%)</title><rect x="1089.5" y="197" width="0.1" height="15.0" fill="rgb(243,99,42)" rx="2" ry="2" />
+<text x="1092.53" y="207.5" ></text>
+</g>
+<g >
+<title>/com.discordapp.Discord (104 samples, 0.01%)</title><rect x="216.3" y="149" width="0.1" height="15.0" fill="rgb(248,164,47)" rx="2" ry="2" />
+<text x="219.29" y="159.5" ></text>
+</g>
+<g >
+<title>/memory.low (264 samples, 0.03%)</title><rect x="698.3" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="701.32" y="95.5" ></text>
+</g>
+<g >
+<title>/32 (106 samples, 0.01%)</title><rect x="1044.8" y="149" width="0.1" height="15.0" fill="rgb(239,132,38)" rx="2" ry="2" />
+<text x="1047.79" y="159.5" ></text>
+</g>
+<g >
+<title>/home (26,513 samples, 2.74%)</title><rect x="1038.7" y="213" width="32.4" height="15.0" fill="rgb(240,139,38)" rx="2" ry="2" />
+<text x="1041.73" y="223.5" >/h..</text>
+</g>
+<g >
+<title>627623 (300 samples, 0.03%)</title><rect x="1173.3" y="245" width="0.4" height="15.0" fill="rgb(242,145,41)" rx="2" ry="2" />
+<text x="1176.32" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="695.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="698.57" y="79.5" ></text>
+</g>
+<g >
+<title>net.sourceforge.osmo (84 samples, 0.01%)</title><rect x="309.4" y="229" width="0.1" height="15.0" fill="rgb(237,194,35)" rx="2" ry="2" />
+<text x="312.36" y="239.5" ></text>
+</g>
+<g >
+<title>/variety (2,146 samples, 0.22%)</title><rect x="837.6" y="165" width="2.6" height="15.0" fill="rgb(243,130,42)" rx="2" ry="2" />
+<text x="840.61" y="175.5" ></text>
+</g>
+<g >
+<title>/1 (228 samples, 0.02%)</title><rect x="808.6" y="197" width="0.3" height="15.0" fill="rgb(232,133,30)" rx="2" ry="2" />
+<text x="811.60" y="207.5" ></text>
+</g>
+<g >
+<title>/dev (83 samples, 0.01%)</title><rect x="1169.4" y="213" width="0.1" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="1172.38" y="223.5" ></text>
+</g>
+<g >
+<title>/bin (105 samples, 0.01%)</title><rect x="1035.0" y="197" width="0.1" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="1037.96" y="207.5" ></text>
+</g>
+<g >
+<title>/bf (133 samples, 0.01%)</title><rect x="1061.7" y="149" width="0.1" height="15.0" fill="rgb(232,104,30)" rx="2" ry="2" />
+<text x="1064.66" y="159.5" ></text>
+</g>
+<g >
+<title>627550 (1,323 samples, 0.14%)</title><rect x="1089.4" y="245" width="1.6" height="15.0" fill="rgb(227,145,24)" rx="2" ry="2" />
+<text x="1092.37" y="255.5" ></text>
+</g>
+<g >
+<title>/memory.current (285 samples, 0.03%)</title><rect x="752.9" y="85" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="755.93" y="95.5" ></text>
+</g>
+<g >
+<title>org.kde.PlatformTheme.QtSNI (110 samples, 0.01%)</title><rect x="313.7" y="229" width="0.1" height="15.0" fill="rgb(240,179,39)" rx="2" ry="2" />
+<text x="316.70" y="239.5" ></text>
+</g>
+<g >
+<title>enter_lseek (116 samples, 0.01%)</title><rect x="476.6" y="165" width="0.1" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="479.60" y="175.5" ></text>
+</g>
+<g >
+<title>/user-1001.slice (63,345 samples, 6.56%)</title><rect x="687.9" y="149" width="77.4" height="15.0" fill="rgb(246,116,46)" rx="2" ry="2" />
+<text x="690.95" y="159.5" >/user-10..</text>
+</g>
+<g >
+<title>/fonts (292 samples, 0.03%)</title><rect x="797.4" y="197" width="0.3" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="800.39" y="207.5" ></text>
+</g>
+<g >
+<title>/sbin (215 samples, 0.02%)</title><rect x="39.5" y="197" width="0.2" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="42.46" y="207.5" ></text>
+</g>
+<g >
+<title>/x86_64 (165 samples, 0.02%)</title><rect x="239.5" y="133" width="0.2" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="242.51" y="143.5" ></text>
+</g>
+<g >
+<title>/ptmx (888 samples, 0.09%)</title><rect x="445.8" y="197" width="1.0" height="15.0" fill="rgb(238,138,36)" rx="2" ry="2" />
+<text x="448.76" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="746.1" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="749.12" y="79.5" ></text>
+</g>
+<g >
+<title>/user-1001@00062efc1a6346f5-3b16b0ffba37ad57.journal~ (88 samples, 0.01%)</title><rect x="1183.7" y="149" width="0.1" height="15.0" fill="rgb(233,116,31)" rx="2" ry="2" />
+<text x="1186.73" y="159.5" ></text>
+</g>
+<g >
+<title>/org.gnome.Platform.Locale (161 samples, 0.02%)</title><rect x="305.3" y="197" width="0.2" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="308.27" y="207.5" ></text>
+</g>
+<g >
+<title>/ior (442 samples, 0.05%)</title><rect x="99.0" y="165" width="0.5" height="15.0" fill="rgb(240,134,39)" rx="2" ry="2" />
+<text x="101.99" y="175.5" ></text>
+</g>
+<g >
+<title>/etc (435 samples, 0.05%)</title><rect x="878.3" y="213" width="0.5" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="881.28" y="223.5" ></text>
+</g>
+<g >
+<title>/omf (296 samples, 0.03%)</title><rect x="681.6" y="149" width="0.4" height="15.0" fill="rgb(238,165,36)" rx="2" ry="2" />
+<text x="684.64" y="159.5" ></text>
+</g>
+<g >
+<title> (164 samples, 0.02%)</title><rect x="875.0" y="229" width="0.2" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="878.02" y="239.5" ></text>
+</g>
+<g >
+<title>627443 (84 samples, 0.01%)</title><rect x="1038.4" y="245" width="0.1" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="1041.43" y="255.5" ></text>
+</g>
+<g >
+<title>org.telegram.desktop.webview.Locale (107 samples, 0.01%)</title><rect x="314.5" y="229" width="0.2" height="15.0" fill="rgb(242,179,41)" rx="2" ry="2" />
+<text x="317.54" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="755.5" y="69" width="0.2" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="758.54" y="79.5" ></text>
+</g>
+<g >
+<title>/5a (116 samples, 0.01%)</title><rect x="1049.5" y="149" width="0.1" height="15.0" fill="rgb(225,125,22)" rx="2" ry="2" />
+<text x="1052.45" y="159.5" ></text>
+</g>
+<g >
+<title> (404 samples, 0.04%)</title><rect x="342.0" y="229" width="0.5" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="345.05" y="239.5" ></text>
+</g>
+<g >
+<title>/games (582 samples, 0.06%)</title><rect x="462.3" y="181" width="0.8" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="465.34" y="191.5" ></text>
+</g>
+<g >
+<title>/dev (157 samples, 0.02%)</title><rect x="1076.3" y="213" width="0.2" height="15.0" fill="rgb(236,152,34)" rx="2" ry="2" />
+<text x="1079.31" y="223.5" ></text>
+</g>
+<g >
+<title>net.werwolv.ImHex (94 samples, 0.01%)</title><rect x="309.5" y="229" width="0.1" height="15.0" fill="rgb(252,194,52)" rx="2" ry="2" />
+<text x="312.46" y="239.5" ></text>
+</g>
+<g >
+<title>enter_writev (281 samples, 0.03%)</title><rect x="447.2" y="165" width="0.3" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="450.16" y="175.5" ></text>
+</g>
+<g >
+<title> (760 samples, 0.08%)</title><rect x="1142.8" y="229" width="1.0" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="1145.83" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="711.1" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="714.06" y="79.5" ></text>
+</g>
+<g >
+<title>/share (195 samples, 0.02%)</title><rect x="117.0" y="197" width="0.3" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="120.02" y="207.5" ></text>
+</g>
+<g >
+<title>/share (1,135 samples, 0.12%)</title><rect x="221.9" y="149" width="1.4" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="224.93" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="714.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="717.91" y="79.5" ></text>
+</g>
+<g >
+<title>5230 (235 samples, 0.02%)</title><rect x="765.8" y="245" width="0.3" height="15.0" fill="rgb(231,166,29)" rx="2" ry="2" />
+<text x="768.78" y="255.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (85 samples, 0.01%)</title><rect x="1180.9" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1183.93" y="143.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="717.8" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="720.83" y="79.5" ></text>
+</g>
+<g >
+<title>enter_openat (401 samples, 0.04%)</title><rect x="833.3" y="197" width="0.5" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="836.30" y="207.5" ></text>
+</g>
+<g >
+<title>io.gitlab.librewolf-community (156 samples, 0.02%)</title><rect x="308.7" y="229" width="0.2" height="15.0" fill="rgb(240,152,38)" rx="2" ry="2" />
+<text x="311.67" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="737.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="740.45" y="79.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="802.5" y="213" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="805.51" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (870 samples, 0.09%)</title><rect x="487.1" y="181" width="1.0" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="490.08" y="191.5" ></text>
+</g>
+<g >
+<title>/77 (97 samples, 0.01%)</title><rect x="1052.9" y="149" width="0.1" height="15.0" fill="rgb(238,151,36)" rx="2" ry="2" />
+<text x="1055.92" y="159.5" ></text>
+</g>
+<g >
+<title>/596085 (196 samples, 0.02%)</title><rect x="778.5" y="197" width="0.3" height="15.0" fill="rgb(248,99,48)" rx="2" ry="2" />
+<text x="781.53" y="207.5" ></text>
+</g>
+<g >
+<title>/db (381 samples, 0.04%)</title><rect x="804.1" y="165" width="0.5" height="15.0" fill="rgb(232,162,30)" rx="2" ry="2" />
+<text x="807.11" y="175.5" ></text>
+</g>
+<g >
+<title>/git (128 samples, 0.01%)</title><rect x="331.4" y="181" width="0.2" height="15.0" fill="rgb(233,124,30)" rx="2" ry="2" />
+<text x="334.45" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="707.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="710.67" y="79.5" ></text>
+</g>
+<g >
+<title>/system@000633084abc4c31-f3da7132076b7570.journal~ (87 samples, 0.01%)</title><rect x="1177.4" y="149" width="0.1" height="15.0" fill="rgb(233,145,31)" rx="2" ry="2" />
+<text x="1180.37" y="159.5" ></text>
+</g>
+<g >
+<title>/repo (881 samples, 0.09%)</title><rect x="230.3" y="165" width="1.1" height="15.0" fill="rgb(247,137,46)" rx="2" ry="2" />
+<text x="233.28" y="175.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="702.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="705.19" y="79.5" ></text>
+</g>
+<g >
+<title>5253 (1,911 samples, 0.20%)</title><rect x="766.3" y="245" width="2.3" height="15.0" fill="rgb(241,159,40)" rx="2" ry="2" />
+<text x="769.31" y="255.5" ></text>
+</g>
+<g >
+<title>/lib (96 samples, 0.01%)</title><rect x="462.2" y="197" width="0.1" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="465.20" y="207.5" ></text>
+</g>
+<g >
+<title>/flathub (256 samples, 0.03%)</title><rect x="231.0" y="117" width="0.3" height="15.0" fill="rgb(227,158,25)" rx="2" ry="2" />
+<text x="233.99" y="127.5" ></text>
+</g>
+<g >
+<title>/fonts (212 samples, 0.02%)</title><rect x="1169.0" y="181" width="0.3" height="15.0" fill="rgb(238,149,36)" rx="2" ry="2" />
+<text x="1172.03" y="191.5" ></text>
+</g>
+<g >
+<title>/pack (152 samples, 0.02%)</title><rect x="873.7" y="197" width="0.2" height="15.0" fill="rgb(242,160,40)" rx="2" ry="2" />
+<text x="876.74" y="207.5" ></text>
+</g>
+<g >
+<title>socket:[72210] (570 samples, 0.06%)</title><rect x="444.6" y="229" width="0.7" height="15.0" fill="rgb(244,175,43)" rx="2" ry="2" />
+<text x="447.63" y="239.5" ></text>
+</g>
+<g >
+<title>/share (120 samples, 0.01%)</title><rect x="1175.2" y="197" width="0.2" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="1178.24" y="207.5" ></text>
+</g>
+<g >
+<title>/libc.so.6 (97 samples, 0.01%)</title><rect x="1091.7" y="197" width="0.1" height="15.0" fill="rgb(243,99,42)" rx="2" ry="2" />
+<text x="1094.69" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="751.5" y="85" width="0.4" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="754.55" y="95.5" ></text>
+</g>
+<g >
+<title>/com.bitwarden.desktop.Locale (213 samples, 0.02%)</title><rect x="231.6" y="149" width="0.3" height="15.0" fill="rgb(242,164,41)" rx="2" ry="2" />
+<text x="234.61" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="717.7" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="720.67" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="686.6" y="101" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="689.56" y="111.5" ></text>
+</g>
+<g >
+<title>/conf.d (464 samples, 0.05%)</title><rect x="1169.5" y="181" width="0.5" height="15.0" fill="rgb(248,164,47)" rx="2" ry="2" />
+<text x="1172.48" y="191.5" ></text>
+</g>
+<g >
+<title>/games (726 samples, 0.08%)</title><rect x="796.2" y="181" width="0.9" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="799.17" y="191.5" ></text>
+</g>
+<g >
+<title>/rpm (105 samples, 0.01%)</title><rect x="796.0" y="165" width="0.2" height="15.0" fill="rgb(232,140,30)" rx="2" ry="2" />
+<text x="799.04" y="175.5" ></text>
+</g>
+<g >
+<title>/lib (35,345 samples, 3.66%)</title><rect x="145.3" y="197" width="43.2" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="148.33" y="207.5" >/lib</text>
+</g>
+<g >
+<title>/share (1,422 samples, 0.15%)</title><rect x="862.7" y="197" width="1.7" height="15.0" fill="rgb(248,122,47)" rx="2" ry="2" />
+<text x="865.67" y="207.5" ></text>
+</g>
+<g >
+<title>enter_write (290 samples, 0.03%)</title><rect x="805.3" y="213" width="0.4" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="808.34" y="223.5" ></text>
+</g>
+<g >
+<title>/ad (110 samples, 0.01%)</title><rect x="1059.5" y="149" width="0.1" height="15.0" fill="rgb(237,115,35)" rx="2" ry="2" />
+<text x="1062.46" y="159.5" ></text>
+</g>
+<g >
+<title>enter_newfstatat (134 samples, 0.01%)</title><rect x="823.9" y="149" width="0.2" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="826.91" y="159.5" ></text>
+</g>
+<g >
+<title>6919 (1,874 samples, 0.19%)</title><rect x="1186.6" y="245" width="2.3" height="15.0" fill="rgb(231,184,28)" rx="2" ry="2" />
+<text x="1189.64" y="255.5" ></text>
+</g>
+<g >
+<title>enter_lseek (196 samples, 0.02%)</title><rect x="1090.7" y="117" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="1093.66" y="127.5" ></text>
+</g>
+<g >
+<title>/x86_64 (97 samples, 0.01%)</title><rect x="247.6" y="133" width="0.1" height="15.0" fill="rgb(232,97,30)" rx="2" ry="2" />
+<text x="250.60" y="143.5" ></text>
+</g>
+<g >
+<title>/paul (213 samples, 0.02%)</title><rect x="680.9" y="197" width="0.2" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="683.89" y="207.5" ></text>
+</g>
+<g >
+<title>/f42 (86 samples, 0.01%)</title><rect x="233.6" y="117" width="0.1" height="15.0" fill="rgb(242,145,40)" rx="2" ry="2" />
+<text x="236.59" y="127.5" ></text>
+</g>
+<g >
+<title>/journal (8,178 samples, 0.85%)</title><rect x="1176.2" y="181" width="10.0" height="15.0" fill="rgb(229,128,27)" rx="2" ry="2" />
+<text x="1179.19" y="191.5" ></text>
+</g>
+<g >
+<title>/etc (168 samples, 0.02%)</title><rect x="447.5" y="213" width="0.2" height="15.0" fill="rgb(229,138,26)" rx="2" ry="2" />
+<text x="450.50" y="223.5" ></text>
+</g>
+<g >
+<title>enter_close (116 samples, 0.01%)</title><rect x="481.8" y="165" width="0.1" height="15.0" fill="rgb(245,196,44)" rx="2" ry="2" />
+<text x="484.77" y="175.5" ></text>
+</g>
+<g >
+<title>/icons (83 samples, 0.01%)</title><rect x="221.0" y="117" width="0.1" height="15.0" fill="rgb(244,134,43)" rx="2" ry="2" />
+<text x="224.03" y="127.5" ></text>
+</g>
+<g >
+<title>/games (4,693 samples, 0.49%)</title><rect x="542.1" y="181" width="5.7" height="15.0" fill="rgb(243,150,42)" rx="2" ry="2" />
+<text x="545.06" y="191.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (92 samples, 0.01%)</title><rect x="687.3" y="85" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="690.33" y="95.5" ></text>
+</g>
+<g >
+<title>enter_read (88 samples, 0.01%)</title><rect x="722.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="725.64" y="79.5" ></text>
+</g>
+<g >
+<title>/memory.min (264 samples, 0.03%)</title><rect x="729.2" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="732.16" y="95.5" ></text>
+</g>
+<g >
+<title> (86 samples, 0.01%)</title><rect x="10.0" y="229" width="0.1" height="15.0" fill="rgb(255,230,55)" rx="2" ry="2" />
+<text x="13.01" y="239.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="752.2" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="755.16" y="79.5" ></text>
+</g>
+<g >
+<title>/6a (83 samples, 0.01%)</title><rect x="1051.4" y="149" width="0.1" height="15.0" fill="rgb(224,120,21)" rx="2" ry="2" />
+<text x="1054.40" y="159.5" ></text>
+</g>
+<g >
+<title>627351 (130 samples, 0.01%)</title><rect x="874.4" y="245" width="0.2" height="15.0" fill="rgb(227,145,24)" rx="2" ry="2" />
+<text x="877.42" y="255.5" ></text>
+</g>
+<g >
+<title>enter_ioctl (91 samples, 0.01%)</title><rect x="733.6" y="69" width="0.1" height="15.0" fill="rgb(232,196,30)" rx="2" ry="2" />
+<text x="736.60" y="79.5" ></text>
+</g>
+<g >
+<title>/usr (89 samples, 0.01%)</title><rect x="879.2" y="213" width="0.1" height="15.0" fill="rgb(236,116,34)" rx="2" ry="2" />
+<text x="882.20" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="714.4" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="717.36" y="95.5" ></text>
+</g>
+<g >
+<title>enter_mmap (83 samples, 0.01%)</title><rect x="1038.3" y="213" width="0.1" height="15.0" fill="rgb(240,196,39)" rx="2" ry="2" />
+<text x="1041.30" y="223.5" ></text>
+</g>
+<g >
+<title>/git (140 samples, 0.01%)</title><rect x="1069.6" y="181" width="0.2" height="15.0" fill="rgb(233,124,30)" rx="2" ry="2" />
+<text x="1072.64" y="191.5" ></text>
+</g>
+<g >
+<title>/.. (186 samples, 0.02%)</title><rect x="38.7" y="133" width="0.2" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="41.67" y="143.5" ></text>
+</g>
+<g >
+<title>/5 (1,044 samples, 0.11%)</title><rect x="483.5" y="197" width="1.3" height="15.0" fill="rgb(244,110,43)" rx="2" ry="2" />
+<text x="486.54" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="741.5" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="744.48" y="79.5" ></text>
+</g>
+<g >
+<title>/background.slice (1,677 samples, 0.17%)</title><rect x="761.2" y="117" width="2.0" height="15.0" fill="rgb(246,120,46)" rx="2" ry="2" />
+<text x="764.16" y="127.5" ></text>
+</g>
+<g >
+<title>/.. (252 samples, 0.03%)</title><rect x="1090.1" y="101" width="0.3" height="15.0" fill="rgb(234,131,32)" rx="2" ry="2" />
+<text x="1093.10" y="111.5" ></text>
+</g>
+<g >
+<title>627337 (131 samples, 0.01%)</title><rect x="872.6" y="245" width="0.1" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2" />
+<text x="875.57" y="255.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="754.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="757.55" y="79.5" ></text>
+</g>
+<g >
+<title>/b001 (4,989 samples, 0.52%)</title><rect x="1096.8" y="181" width="6.1" height="15.0" fill="rgb(234,123,32)" rx="2" ry="2" />
+<text x="1099.78" y="191.5" ></text>
+</g>
+<g >
+<title>enter_writev (682 samples, 0.07%)</title><rect x="395.6" y="133" width="0.8" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="398.58" y="143.5" ></text>
+</g>
+<g >
+<title>/org.kde.Platform.Locale (265 samples, 0.03%)</title><rect x="246.5" y="149" width="0.3" height="15.0" fill="rgb(242,149,41)" rx="2" ry="2" />
+<text x="249.45" y="159.5" ></text>
+</g>
+<g >
+<title>enter_read (90 samples, 0.01%)</title><rect x="688.8" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="691.83" y="79.5" ></text>
+</g>
+<g >
+<title>627444 (30,122 samples, 3.12%)</title><rect x="1038.5" y="245" width="36.8" height="15.0" fill="rgb(239,145,38)" rx="2" ry="2" />
+<text x="1041.54" y="255.5" >627..</text>
+</g>
+<g >
+<title>/lib64 (252 samples, 0.03%)</title><rect x="1083.7" y="69" width="0.3" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="1086.74" y="79.5" ></text>
+</g>
+<g >
+<title>/maps (148 samples, 0.02%)</title><rect x="778.2" y="181" width="0.2" height="15.0" fill="rgb(243,120,42)" rx="2" ry="2" />
+<text x="781.25" y="191.5" ></text>
+</g>
+<g >
+<title>/fontconfig (265 samples, 0.03%)</title><rect x="1167.0" y="181" width="0.3" height="15.0" fill="rgb(239,149,37)" rx="2" ry="2" />
+<text x="1170.00" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.current (270 samples, 0.03%)</title><rect x="683.8" y="149" width="0.4" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="686.84" y="159.5" ></text>
+</g>
+<g >
+<title>enter_openat (290 samples, 0.03%)</title><rect x="486.7" y="181" width="0.4" height="15.0" fill="rgb(233,196,31)" rx="2" ry="2" />
+<text x="489.73" y="191.5" ></text>
+</g>
+<g >
+<title>/memory.min (270 samples, 0.03%)</title><rect x="717.1" y="85" width="0.3" height="15.0" fill="rgb(247,107,46)" rx="2" ry="2" />
+<text x="720.06" y="95.5" ></text>
+</g>
+<g >
+<title>/nsswitch.conf (117 samples, 0.01%)</title><rect x="335.2" y="197" width="0.1" height="15.0" fill="rgb(249,151,48)" rx="2" ry="2" />
+<text x="338.20" y="207.5" ></text>
+</g>
+<g >
+<title>/libbpfgo@v0.6.0-libbpf-1.3.0.20240111220235-90dbffffbdab (193 samples, 0.02%)</title><rect x="1070.8" y="101" width="0.3" height="15.0" fill="rgb(228,99,25)" rx="2" ry="2" />
+<text x="1073.85" y="111.5" ></text>
+</g>
+<g >
+<title>enter_pread64 (116 samples, 0.01%)</title><rect x="806.8" y="165" width="0.1" height="15.0" fill="rgb(237,196,36)" rx="2" ry="2" />
+<text x="809.80" y="175.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (90 samples, 0.01%)</title><rect x="691.4" y="69" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="694.40" y="79.5" ></text>
+</g>
+<g >
+<title>enter_pwrite64 (152 samples, 0.02%)</title><rect x="817.8" y="149" width="0.2" height="15.0" fill="rgb(237,196,35)" rx="2" ry="2" />
+<text x="820.79" y="159.5" ></text>
+</g>
+<g >
+<title>627552 (150 samples, 0.02%)</title><rect x="1091.3" y="245" width="0.2" height="15.0" fill="rgb(241,145,40)" rx="2" ry="2" />
+<text x="1094.34" y="255.5" ></text>
+</g>
+<g >
+<title>/gcc (697 samples, 0.07%)</title><rect x="1092.3" y="181" width="0.8" height="15.0" fill="rgb(234,144,32)" rx="2" ry="2" />
+<text x="1095.26" y="191.5" ></text>
+</g>
+<g >
+<title>enter_read (136 samples, 0.01%)</title><rect x="803.6" y="213" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="806.58" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (91 samples, 0.01%)</title><rect x="706.6" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="709.61" y="79.5" ></text>
+</g>
+<g >
+<title>/PackageKit (344 samples, 0.04%)</title><rect x="463.1" y="181" width="0.4" height="15.0" fill="rgb(235,155,33)" rx="2" ry="2" />
+<text x="466.05" y="191.5" ></text>
+</g>
+<g >
+<title>627369 (129 samples, 0.01%)</title><rect x="875.6" y="245" width="0.2" height="15.0" fill="rgb(229,145,27)" rx="2" ry="2" />
+<text x="878.63" y="255.5" ></text>
+</g>
+<g >
+<title>/lib64 (166 samples, 0.02%)</title><rect x="840.2" y="213" width="0.2" height="15.0" fill="rgb(239,99,37)" rx="2" ry="2" />
+<text x="843.24" y="223.5" ></text>
+</g>
+<g >
+<title>/memory.low (268 samples, 0.03%)</title><rect x="690.3" y="85" width="0.3" height="15.0" fill="rgb(238,107,36)" rx="2" ry="2" />
+<text x="693.31" y="95.5" ></text>
+</g>
+<g >
+<title>/bin (585 samples, 0.06%)</title><rect x="37.9" y="197" width="0.8" height="15.0" fill="rgb(247,94,46)" rx="2" ry="2" />
+<text x="40.95" y="207.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="765.2" y="85" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="768.19" y="95.5" ></text>
+</g>
+<g >
+<title>/db (347 samples, 0.04%)</title><rect x="782.6" y="117" width="0.5" height="15.0" fill="rgb(232,162,30)" rx="2" ry="2" />
+<text x="785.64" y="127.5" ></text>
+</g>
+<g >
+<title>runtime (971 samples, 0.10%)</title><rect x="316.6" y="229" width="1.2" height="15.0" fill="rgb(236,156,34)" rx="2" ry="2" />
+<text x="319.56" y="239.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (89 samples, 0.01%)</title><rect x="1185.4" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1188.39" y="143.5" ></text>
+</g>
+<g >
+<title>627553 (1,323 samples, 0.14%)</title><rect x="1091.5" y="245" width="1.6" height="15.0" fill="rgb(239,145,38)" rx="2" ry="2" />
+<text x="1094.52" y="255.5" ></text>
+</g>
+<g >
+<title>enter_write (134 samples, 0.01%)</title><rect x="861.1" y="213" width="0.2" height="15.0" fill="rgb(240,196,38)" rx="2" ry="2" />
+<text x="864.13" y="223.5" ></text>
+</g>
+<g >
+<title>enter_read (92 samples, 0.01%)</title><rect x="757.9" y="69" width="0.1" height="15.0" fill="rgb(241,196,40)" rx="2" ry="2" />
+<text x="760.93" y="79.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1181.1" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1184.14" y="143.5" ></text>
+</g>
+<g >
+<title>/memory.swap.current (270 samples, 0.03%)</title><rect x="716.1" y="85" width="0.3" height="15.0" fill="rgb(241,107,39)" rx="2" ry="2" />
+<text x="719.07" y="95.5" ></text>
+</g>
+<g >
+<title>/paul (758 samples, 0.08%)</title><rect x="869.4" y="197" width="1.0" height="15.0" fill="rgb(232,160,30)" rx="2" ry="2" />
+<text x="872.43" y="207.5" ></text>
+</g>
+<g >
+<title>enter_newfstat (88 samples, 0.01%)</title><rect x="1183.5" y="133" width="0.1" height="15.0" fill="rgb(229,196,26)" rx="2" ry="2" />
+<text x="1186.51" y="143.5" ></text>
+</g>
+<g >
+<title>/lib (356 samples, 0.04%)</title><rect x="463.1" y="197" width="0.4" height="15.0" fill="rgb(234,99,32)" rx="2" ry="2" />
+<text x="466.05" y="207.5" ></text>
+</g>
+<g >
+<title>/memory.stat (264 samples, 0.03%)</title><rect x="739.9" y="85" width="0.4" height="15.0" fill="rgb(229,107,26)" rx="2" ry="2" />
+<text x="742.94" y="95.5" ></text>
+</g>
+<g >
+<title>enter_statx (231 samples, 0.02%)</title><rect x="831.2" y="213" width="0.3" height="15.0" fill="rgb(247,196,46)" rx="2" ry="2" />
+<text x="834.19" y="223.5" ></text>
+</g>
+<g >
+<title>/sbin (124 samples, 0.01%)</title><rect x="674.4" y="165" width="0.1" height="15.0" fill="rgb(247,142,46)" rx="2" ry="2" />
+<text x="677.40" y="175.5" ></text>
+</g>
+</g>
+</svg>
diff --git a/about/showcase/ioriot/image-1.png b/about/showcase/ioriot/image-1.png
new file mode 100644
index 00000000..818b14f8
--- /dev/null
+++ b/about/showcase/ioriot/image-1.png
Binary files differ
diff --git a/about/showcase/jsmstrade/image-1.png b/about/showcase/jsmstrade/image-1.png
new file mode 100644
index 00000000..ce5276f8
--- /dev/null
+++ b/about/showcase/jsmstrade/image-1.png
Binary files differ
diff --git a/about/showcase/netcalendar/image-1.png b/about/showcase/netcalendar/image-1.png
new file mode 100644
index 00000000..1f766920
--- /dev/null
+++ b/about/showcase/netcalendar/image-1.png
Binary files differ
diff --git a/about/showcase/netcalendar/image-2.png b/about/showcase/netcalendar/image-2.png
new file mode 100644
index 00000000..c239a28a
--- /dev/null
+++ b/about/showcase/netcalendar/image-2.png
Binary files differ
diff --git a/about/showcase/quicklogger/image-1.png b/about/showcase/quicklogger/image-1.png
new file mode 100644
index 00000000..dc29011c
--- /dev/null
+++ b/about/showcase/quicklogger/image-1.png
Binary files differ
diff --git a/about/showcase/quicklogger/image-2.png b/about/showcase/quicklogger/image-2.png
new file mode 100644
index 00000000..c5cc8c0c
--- /dev/null
+++ b/about/showcase/quicklogger/image-2.png
Binary files differ
diff --git a/about/showcase/tasksamurai/image-1.png b/about/showcase/tasksamurai/image-1.png
new file mode 100644
index 00000000..bc04189b
--- /dev/null
+++ b/about/showcase/tasksamurai/image-1.png
Binary files differ
diff --git a/about/showcase/tasksamurai/image-2.png b/about/showcase/tasksamurai/image-2.png
new file mode 100644
index 00000000..cd27a66b
--- /dev/null
+++ b/about/showcase/tasksamurai/image-2.png
Binary files differ
diff --git a/about/showcase/vs-sim/image-1.jpg b/about/showcase/vs-sim/image-1.jpg
new file mode 100644
index 00000000..fab524ad
--- /dev/null
+++ b/about/showcase/vs-sim/image-1.jpg
Binary files differ
diff --git a/gemfeed/2025-01-01-posts-from-october-to-december-2024.md b/gemfeed/2025-01-01-posts-from-october-to-december-2024.md
index 0bdc34d7..a44041ee 100644
--- a/gemfeed/2025-01-01-posts-from-october-to-december-2024.md
+++ b/gemfeed/2025-01-01-posts-from-october-to-december-2024.md
@@ -327,6 +327,7 @@ My New Year's resolution is not to start any new non-fiction books (or only very
Other related posts:
+[2025-07-01 Posts from January to June 2025](./2025-07-01-posts-from-january-to-june-2025.md)
[2025-01-01 Posts from October to December 2024 (You are currently reading this)](./2025-01-01-posts-from-october-to-december-2024.md)
E-Mail your comments to `paul@nospam.buetow.org` :-)
diff --git a/gemfeed/2025-06-22-task-samurai.md b/gemfeed/2025-06-22-task-samurai.md
index a647ef81..b6483478 100644
--- a/gemfeed/2025-06-22-task-samurai.md
+++ b/gemfeed/2025-06-22-task-samurai.md
@@ -29,7 +29,7 @@ Task Samurai is a fast terminal interface for Taskwarrior written in Go using th
### Why does this exist?
-* I wanted to tinker with agentic coding. This project was entirely implemented using OpenAI Codex.
+I wanted to tinker with agentic coding. This project was implemented entirely using OpenAI Codex. (After this blog post was published, I also used the Claude Code CLI.)
* I wanted a faster UI for Taskwarrior than other options, like Vit, which is Python-based.
* I wanted something built with Bubble Tea, but I never had time to dive deep into it.
* I wanted to build a toy project (like Task Samurai) first, before tackling the big ones, to get started with agentic coding.
diff --git a/gemfeed/2025-07-01-posts-from-january-to-june-2025.md b/gemfeed/2025-07-01-posts-from-january-to-june-2025.md
new file mode 100644
index 00000000..0620a68b
--- /dev/null
+++ b/gemfeed/2025-07-01-posts-from-january-to-june-2025.md
@@ -0,0 +1,731 @@
+# Posts from January to June 2025
+
+> Published at 2025-07-01T22:39:29+03:00
+
+These are my social media posts from the last six months. I keep them here to reflect on them and also to not lose them. Social media networks come and go and are not under my control, but my domain is here to stay.
+
+These are from Mastodon and LinkedIn. Have a look at my about page for my social media profiles. This list is generated with Gos, my social media platform sharing tool.
+
+[My about page](../about/index.md)
+[https://codeberg.org/snonux/gos](https://codeberg.org/snonux/gos)
+
+## Table of Contents
+
+* [⇢ Posts from January to June 2025](#posts-from-january-to-june-2025)
+* [⇢ ⇢ January 2025](#january-2025)
+* [⇢ ⇢ ⇢ I am currently binge-listening to the Google ...](#i-am-currently-binge-listening-to-the-google-)
+* [⇢ ⇢ ⇢ Recently, there was a >5000 LOC `#bash` ...](#recently-there-was-a-5000-loc-bash-)
+* [⇢ ⇢ ⇢ Ghostty is a terminal emulator that was ...](#ghostty-is-a-terminal-emulator-that-was-)
+* [⇢ ⇢ ⇢ Go is not an easy programming language. Don't ...](#go-is-not-an-easy-programming-language-don-t-)
+* [⇢ ⇢ ⇢ How will AI change software engineering (or has ...](#how-will-ai-change-software-engineering-or-has-)
+* [⇢ ⇢ ⇢ Eliminating toil - Toil is not always a bad ...](#eliminating-toil---toil-is-not-always-a-bad-)
+* [⇢ ⇢ ⇢ Fun read. How about using the character ...](#fun-read-how-about-using-the-character-)
+* [⇢ ⇢ ⇢ Thats unexpected, you cant remove a NaN key ...](#thats-unexpected-you-cant-remove-a-nan-key-)
+* [⇢ ⇢ ⇢ Nice refresher for `#shell` `#bash` `#zsh` ...](#nice-refresher-for-shell-bash-zsh-)
+* [⇢ ⇢ ⇢ I think discussing action items in incident ...](#i-think-discussing-action-items-in-incident-)
+* [⇢ ⇢ ⇢ At first, functional options add a bit of ...](#at-first-functional-options-add-a-bit-of-)
+* [⇢ ⇢ ⇢ In the "Working with an SRE Interview" I have ...](#in-the-working-with-an-sre-interview-i-have-)
+* [⇢ ⇢ ⇢ Small introduction to the `#Android` ...](#small-introduction-to-the-android-)
+* [⇢ ⇢ ⇢ Helix 2025.01 has been released. The completion ...](#helix-202501-has-been-released-the-completion-)
+* [⇢ ⇢ ⇢ I found these are excellent examples of how ...](#i-found-these-are-excellent-examples-of-how-)
+* [⇢ ⇢ ⇢ LLMs for Ops? Summaries of logs, probabilities ...](#llms-for-ops-summaries-of-logs-probabilities-)
+* [⇢ ⇢ ⇢ Enjoying an APC Power-UPS BX750MI in my ...](#enjoying-an-apc-power-ups-bx750mi-in-my-)
+* [⇢ ⇢ ⇢ "Even in the projects where I'm the only ...](#even-in-the-projects-where-i-m-the-only-)
+* [⇢ ⇢ ⇢ Connecting an `#UPS` to my `#FreeBSD` cluster ...](#connecting-an-ups-to-my-freebsd-cluster-)
+* [⇢ ⇢ ⇢ So, the Co-founder and CTO of honeycomb.io and ...](#so-the-co-founder-and-cto-of-honeycombio-and-)
+* [⇢ ⇢ February 2025](#february-2025)
+* [⇢ ⇢ ⇢ I don't know about you, but at work, I usually ...](#i-don-t-know-about-you-but-at-work-i-usually-)
+* [⇢ ⇢ ⇢ Great proposal (got accepted by the Goteam) for ...](#great-proposal-got-accepted-by-the-goteam-for-)
+* [⇢ ⇢ ⇢ My Gemtexter has only 1320 LOC.... The Biggest ...](#my-gemtexter-has-only-1320-loc-the-biggest-)
+* [⇢ ⇢ ⇢ Against /tmp - He is making a point `#unix` ...](#against-tmp---he-is-making-a-point-unix-)
+* [⇢ ⇢ ⇢ Random Weird Things Part 2: `#blog` ...](#random-weird-things-part-2-blog-)
+* [⇢ ⇢ ⇢ As a former `#Pebble` user and fan, thats ...](#as-a-former-pebble-user-and-fan-thats-)
+* [⇢ ⇢ ⇢ I think I am slowly getting the point of Cue. ...](#i-think-i-am-slowly-getting-the-point-of-cue-)
+* [⇢ ⇢ ⇢ Jonathan's reflection of 10 years of ...](#jonathan-s-reflection-of-10-years-of-)
+* [⇢ ⇢ ⇢ Really enjoyed reading this. Easily digestible ...](#really-enjoyed-reading-this-easily-digestible-)
+* [⇢ ⇢ ⇢ Some great advice from 40 years of experience ...](#some-great-advice-from-40-years-of-experience-)
+* [⇢ ⇢ ⇢ I enjoyed this talk, some recipes I knew ...](#i-enjoyed-this-talk-some-recipes-i-knew-)
+* [⇢ ⇢ ⇢ A way of how to add the version info to the Go ...](#a-way-of-how-to-add-the-version-info-to-the-go-)
+* [⇢ ⇢ ⇢ In other words, using t.Parallel() for ...](#in-other-words-using-tparallel-for-)
+* [⇢ ⇢ ⇢ Neat little blog post, showcasing various ...](#neat-little-blog-post-showcasing-various-)
+* [⇢ ⇢ ⇢ The smallest thing in Go `#golang` ...](#the-smallest-thing-in-go-golang-)
+* [⇢ ⇢ ⇢ Fun with defer in `#golang`, I did't know, that ...](#fun-with-defer-in-golang-i-did-t-know-that-)
+* [⇢ ⇢ ⇢ What I like about Go is that it is still ...](#what-i-like-about-go-is-that-it-is-still-)
+* [⇢ ⇢ March 2025](#march-2025)
+* [⇢ ⇢ ⇢ Television has somewhat transformed how I work ...](#television-has-somewhat-transformed-how-i-work-)
+* [⇢ ⇢ ⇢ Once in a while, I like to read a book about a ...](#once-in-a-while-i-like-to-read-a-book-about-a-)
+* [⇢ ⇢ ⇢ As you may have noticed, I like to share on ...](#as-you-may-have-noticed-i-like-to-share-on-)
+* [⇢ ⇢ ⇢ Personally, I think AI (LLMs) are pretty ...](#personally-i-think-ai-llms-are-pretty-)
+* [⇢ ⇢ ⇢ Type aliases in `#golang`, soon also work with ...](#type-aliases-in-golang-soon-also-work-with-)
+* [⇢ ⇢ ⇢ `#Perl`, my "first love" of programming ...](#perl-my-first-love-of-programming-)
+* [⇢ ⇢ ⇢ I guess there are valid reasons for phttpdget, ...](#i-guess-there-are-valid-reasons-for-phttpdget-)
+* [⇢ ⇢ ⇢ This is one of the reasons why I like ...](#this-is-one-of-the-reasons-why-i-like-)
+* [⇢ ⇢ ⇢ Advanced Concurrency Patterns with `#Golang` ...](#advanced-concurrency-patterns-with-golang-)
+* [⇢ ⇢ ⇢ `#SQLite` was designed as an `#TCL` extension. ...](#sqlite-was-designed-as-an-tcl-extension-)
+* [⇢ ⇢ ⇢ Git provides automatic rendering of Markdown ...](#git-provides-automatic-rendering-of-markdown-)
+* [⇢ ⇢ ⇢ These are some neat little Go tips. Linters ...](#these-are-some-neat-little-go-tips-linters-)
+* [⇢ ⇢ ⇢ This is a great introductory blog post about ...](#this-is-a-great-introductory-blog-post-about-)
+* [⇢ ⇢ ⇢ Maps in Go under the hood `#golang` ...](#maps-in-go-under-the-hood-golang-)
+* [⇢ ⇢ ⇢ I found that working on multiple side projects ...](#i-found-that-working-on-multiple-side-projects-)
+* [⇢ ⇢ ⇢ I have been in incidents. Understandably, ...](#i-have-been-in-incidents-understandably-)
+* [⇢ ⇢ ⇢ I dont understand what it is. Certificates are ...](#i-dont-understand-what-it-is-certificates-are-)
+* [⇢ ⇢ ⇢ Don't just blindly trust LLMs. I recently ...](#don-t-just-blindly-trust-llms-i-recently-)
+* [⇢ ⇢ April 2025](#april-2025)
+* [⇢ ⇢ ⇢ I knew about any being equivalent to ...](#i-knew-about-any-being-equivalent-to-)
+* [⇢ ⇢ ⇢ Neat summary of new `#Perl` features per ...](#neat-summary-of-new-perl-features-per-)
+* [⇢ ⇢ ⇢ errors.As() checks for the error type, whereas ...](#errorsas-checks-for-the-error-type-whereas-)
+* [⇢ ⇢ ⇢ Good stuff: 10 years of functional options and ...](#good-stuff-10-years-of-functional-options-and-)
+* [⇢ ⇢ ⇢ I had some fun with `#FreeBSD`, `#Bhyve` and ...](#i-had-some-fun-with-freebsd-bhyve-and-)
+* [⇢ ⇢ ⇢ The moment your blog receives PRs for typo ...](#the-moment-your-blog-receives-prs-for-typo-)
+* [⇢ ⇢ ⇢ One thing not mentioned is that `#OpenRsync`'s ...](#one-thing-not-mentioned-is-that-openrsync-s-)
+* [⇢ ⇢ ⇢ This is an interesting `#Elixir` pipes operator ...](#this-is-an-interesting-elixir-pipes-operator-)
+* [⇢ ⇢ ⇢ The story of how my favorite `#Golang` book was ...](#the-story-of-how-my-favorite-golang-book-was-)
+* [⇢ ⇢ ⇢ These are my personal book notes from Daniel ...](#these-are-my-personal-book-notes-from-daniel-)
+* [⇢ ⇢ ⇢ I certainly learned a lot reading this `#llm` ...](#i-certainly-learned-a-lot-reading-this-llm-)
+* [⇢ ⇢ ⇢ Writing indempotent `#Bash` scripts ...](#writing-indempotent-bash-scripts-)
+* [⇢ ⇢ ⇢ Regarding `#AI` for code generation. You should ...](#regarding-ai-for-code-generation-you-should-)
+* [⇢ ⇢ ⇢ I like the Rocky metaphor. And this post also ...](#i-like-the-rocky-metaphor-and-this-post-also-)
+* [⇢ ⇢ May 2025](#may-2025)
+* [⇢ ⇢ ⇢ There's now also a `#Fish` shell edition of my ...](#there-s-now-also-a-fish-shell-edition-of-my-)
+* [⇢ ⇢ ⇢ I loved this talk. It's about how you can ...](#i-loved-this-talk-it-s-about-how-you-can-)
+* [⇢ ⇢ ⇢ Some unexpected `#golang` stuff, ppl say, that ...](#some-unexpected-golang-stuff-ppl-say-that-)
+* [⇢ ⇢ ⇢ With the advent of AI and LLMs, I have observed ...](#with-the-advent-of-ai-and-llms-i-have-observed-)
+* [⇢ ⇢ ⇢ For science, fun and profit, I set up a ...](#for-science-fun-and-profit-i-set-up-a-)
+* [⇢ ⇢ ⇢ Ever wondered about the hung task Linux ...](#ever-wondered-about-the-hung-task-linux-)
+* [⇢ ⇢ ⇢ A bit of `#fun`: The FORTRAN hating gateway ― ...](#a-bit-of-fun-the-fortran-hating-gateway--)
+* [⇢ ⇢ ⇢ So, Golang was invented while engineers at ...](#so-golang-was-invented-while-engineers-at-)
+* [⇢ ⇢ ⇢ I couldn't do without here-docs. If they did ...](#i-couldn-t-do-without-here-docs-if-they-did-)
+* [⇢ ⇢ ⇢ I started using computers as a kid on MS-DOS ...](#i-started-using-computers-as-a-kid-on-ms-dos-)
+* [⇢ ⇢ ⇢ Thats interesting, running `#Android` in ...](#thats-interesting-running-android-in-)
+* [⇢ ⇢ ⇢ Before wiping the pre-installed `#Windows` 11 ...](#before-wiping-the-pre-installed-windows-11-)
+* [⇢ ⇢ ⇢ Some might hate me saying this, but didnt ...](#some-might-hate-me-saying-this-but-didnt-)
+* [⇢ ⇢ ⇢ Wouldn't still do that, even with 100% test ...](#wouldn-t-still-do-that-even-with-100-test-)
+* [⇢ ⇢ ⇢ Some neat slice tricks for Go: `#golang` ...](#some-neat-slice-tricks-for-go-golang-)
+* [⇢ ⇢ ⇢ I understand that Kubernetes is not for ...](#i-understand-that-kubernetes-is-not-for-)
+* [⇢ ⇢ June 2025](#june-2025)
+* [⇢ ⇢ ⇢ Some great advices, will try out some of them! ...](#some-great-advices-will-try-out-some-of-them-)
+* [⇢ ⇢ ⇢ In `#Golang`, values are actually copied when ...](#in-golang-values-are-actually-copied-when-)
+* [⇢ ⇢ ⇢ This is a great little tutorial for searching ...](#this-is-a-great-little-tutorial-for-searching-)
+* [⇢ ⇢ ⇢ The mov instruction of a CPU is turing ...](#the-mov-instruction-of-a-cpu-is-turing-)
+* [⇢ ⇢ ⇢ I removed the social media profile from my ...](#i-removed-the-social-media-profile-from-my-)
+* [⇢ ⇢ ⇢ So want a "real" recent UNIX? Use AIX! `#macos` ...](#so-want-a-real-recent-unix-use-aix-macos-)
+* [⇢ ⇢ ⇢ This episode, I think, is kind of an eye-opener ...](#this-episode-i-think-is-kind-of-an-eye-opener-)
+* [⇢ ⇢ ⇢ My `#OpenBSD` blog setup got mentioned in the ...](#my-openbsd-blog-setup-got-mentioned-in-the-)
+* [⇢ ⇢ ⇢ `#Golang` is the best when it comes to agentic ...](#golang-is-the-best-when-it-comes-to-agentic-)
+* [⇢ ⇢ ⇢ Where `#zsh` is better than `#bash` ...](#where-zsh-is-better-than-bash-)
+* [⇢ ⇢ ⇢ I really enjoyed this talk about obscure Go ...](#i-really-enjoyed-this-talk-about-obscure-go-)
+* [⇢ ⇢ ⇢ Commenting your regular expression is generally ...](#commenting-your-regular-expression-is-generally-)
+* [⇢ ⇢ ⇢ You have to make a decision for yourself, but ...](#you-have-to-make-a-decision-for-yourself-but-)
+* [⇢ ⇢ ⇢ "100 Go Mistakes and How to Avoid Them" is one ...](#100-go-mistakes-and-how-to-avoid-them-is-one-)
+* [⇢ ⇢ ⇢ The `#Ruby` Data class seems quite helpful ...](#the-ruby-data-class-seems-quite-helpful-)
+
+## January 2025
+
+### I am currently binge-listening to the Google ...
+
+I am currently binge-listening to the Google `#SRE` ProdCast. It's really great to learn about the stories of individual SREs and their journeys. It is not just about SREs at Google; there are also external guests.
+
+[sre.google/prodcast/](https://sre.google/prodcast/)
+
+### Recently, there was a >5000 LOC `#bash` ...
+
+Recently, there was a >5000 LOC `#bash` codebase at work that reported the progress of a migration, nobody understood it and it was wonky (sometimes it would not return the desired results). On top of that, the coding style was very bad as well (I could rant forever here). The engineer who wrote it left the company. I rewrote it in `#Perl` in about 300 LOC. Colleagues asked why not Python. Perl is the perfect choice here—it's even in its name: Practical Extraction and Report Language!
+
+### Ghostty is a terminal emulator that was ...
+
+Ghostty is a terminal emulator that was recently released publicly as open-source. I love that it works natively on both Linux and macOS; it looks great (font rendering) and is fast and customizable via a config file (which I manage with a config mng system). Ghostty is a passion project written in Zig, the author loved the community so much while working on it that he donated $300k to the Zig Foundation. `#terminal` `#emulator`
+
+[ghostty.org](https://ghostty.org)
+
+### Go is not an easy programming language. Don't ...
+
+Go is not an easy programming language. Don't confuse easy with simple syntax. I'd agree to this. With the recent addition of Generics to the language I also feel that even the syntax stops being simple.. Also, simplicity is complex (especially under the hood how the language works - there are many mechanics you need to know if you really want to master the language). `#golang`
+
+[www.arp242.net/go-easy.html](https://www.arp242.net/go-easy.html)
+
+### How will AI change software engineering (or has ...
+
+How will AI change software engineering (or has it already)? The bottom line is that less experienced engineers may have problems (accepting incomplete or incorrect programs, only reaching 70 percent solutions), while experienced engineers can leverage AI to boost their performance as they know how to fix the remaining 30 percent of the generated code. `#ai` `#engineering` `#software`
+
+[newsletter.pragmaticengineer.com/p/how-ai-will-change-software-engineering](https://newsletter.pragmaticengineer.com/p/how-ai-will-change-software-engineering)
+
+### Eliminating toil - Toil is not always a bad ...
+
+Eliminating toil - Toil is not always a bad thing - some even enjoy toil - it is calming in small amounts - but it becomes toxic in large amounts - `#SRE`
+
+[sre.google/sre-book/eliminating-toil/](https://sre.google/sre-book/eliminating-toil/)
+
+### Fun read. How about using the character ...
+
+Fun read. How about using the character sequence :-) as a statement separator in a programming language?
+
+[ntietz.com/blog/researching-why-we-use-semicolons-as-statement-terminators/](https://ntietz.com/blog/researching-why-we-use-semicolons-as-statement-terminators/)
+
+### Thats unexpected, you cant remove a NaN key ...
+
+Thats unexpected, you cant remove a NaN key from a map without clearing it! `#golang` via @wallabagapp
+
+[unexpected-go.com/you-cant-remove-a-nan-key-from-a-map-without-clearing-it.html](https://unexpected-go.com/you-cant-remove-a-nan-key-from-a-map-without-clearing-it.html)
+
+### Nice refresher for `#shell` `#bash` `#zsh` ...
+
+Nice refresher for `#shell` `#bash` `#zsh` redirection rules
+
+[rednafi.com/misc/shell_redirection/](https://rednafi.com/misc/shell_redirection/)
+
+### I think discussing action items in incident ...
+
+I think discussing action items in incident reviews is important. At least the obvious should be captured and noted down. It does not mean that the action items need to be fully refined in the review meeting; that would be out of scope, in my opinion.
+
+[surfingcomplexity.blog/2024/09/28/why-..-..-action-items-during-incident-reviews/](https://surfingcomplexity.blog/2024/09/28/why-i-dont-like-discussing-action-items-during-incident-reviews/)
+
+### At first, functional options add a bit of ...
+
+At first, functional options add a bit of boilerplate, but they turn out to be quite neat, especially when you have very long parameter lists that need to be made neat and tidy. `#golang`
+
+[www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/](https://www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/)
+
+### In the "Working with an SRE Interview" I have ...
+
+In the "Working with an SRE Interview" I have been askd about what it's like working with an SRE! We'd covered much more in depth, but we decided not to make it too long in the final version! `#sre` `#interview`
+
+[foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi)
+[foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html](https://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html)
+
+### Small introduction to the `#Android` ...
+
+Small introduction to the `#Android` distribution called `#GrapheneOS` For myself, I am using a Pixel 7 Pro, which comes with "only" 5 years of support (not yet 7 years like the Pixel 8 and 9 series). I also wrote about GrapheneOS here once:
+
+[dataswamp.org/~solene/2025-01-12-intro-to-grapheneos.html](https://dataswamp.org/~solene/2025-01-12-intro-to-grapheneos.html)
+[foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.gmi (Gemini)](gemini://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.gmi)
+[foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html](https://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html)
+
+### Helix 2025.01 has been released. The completion ...
+
+Helix 2025.01 has been released. The completion of path names and the snippet functionality will be particularly useful for me. Overall, it's a great release. The release notes cover only some highlights, but there are many more changes in this version so also have a look at the Changelog! `#HelixEditor`
+
+[helix-editor.com/news/release-25-01-highlights/](https://helix-editor.com/news/release-25-01-highlights/)
+
+### I found these are excellent examples of how ...
+
+I found these are excellent examples of how `#OpenBSD`'s `#relayd` can be used.
+
+[www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/](https://www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/)
+
+### LLMs for Ops? Summaries of logs, probabilities ...
+
+LLMs for Ops? Summaries of logs, probabilities about correctness, auto-generating Ansible, some uses cases are there. Wouldn't trust it fully, though.
+
+[youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI](https://youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI)
+
+### Enjoying an APC Power-UPS BX750MI in my ...
+
+Enjoying an APC Power-UPS BX750MI in my `#homelab` with `#FreeBSD` and apcupsd. I can easily use the UPS status to auto-shutdown a cluster of FreeBSD machines on a power cut. One FreeBSD machine acts as the apcupsd master, connected via USB to the APC, while the remaining machines read the status remotely via the apcupsd network port from the master. However, it won't work when the master is down. `#APC` `#UPS`
+
+### "Even in the projects where I'm the only ...
+
+"Even in the projects where I'm the only person, there are at least three people involved: past me, present me, and future me." - Quote from `#software` `#programming`
+
+[liw.fi/40/#index1h1](https://liw.fi/40/#index1h1)
+
+### Connecting an `#UPS` to my `#FreeBSD` cluster ...
+
+Connecting an `#UPS` to my `#FreeBSD` cluster in my `#homelab`, protecting it from power cuts!
+
+[foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi)
+[foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html](https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html)
+
+### So, the Co-founder and CTO of honeycomb.io and ...
+
+So, the Co-founder and CTO of honeycomb.io and author of the book Observability Engineering always hated observability. And Distinguished Software Engineer and The Pragmatic Engineer host can't pronounce the word Observability. :-) No, jokes aside, I liked this podcast episode of The Pragmatic Engineer: Observability: the present and future, with Charity Majors `#sre` `#observability`
+
+[newsletter.pragmaticengineer.com/p/observability-the-present-and-future](https://newsletter.pragmaticengineer.com/p/observability-the-present-and-future)
+
+## February 2025
+
+### I don't know about you, but at work, I usually ...
+
+I don't know about you, but at work, I usually deal with complex setups involving thousands of servers and work in a complex hybrid microservices-based environment (cloud and on-prem), where homelabbing (as simple as described in my blog post) is really relaxing and recreative. So, I was homelabbing a bit again, securing my `#FreeBSD` cluster from power cuts. `#UPS` `#recreative`
+
+[foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi)
+[foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html](https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html)
+
+### Great proposal (got accepted by the Goteam) for ...
+
+Great proposal (got accepted by the Goteam) for safer file system open functions `#golang`
+
+[github.com/golang/go/issues/67002](https://github.com/golang/go/issues/67002)
+
+### My Gemtexter has only 1320 LOC.... The Biggest ...
+
+My Gemtexter has only 1320 LOC.... The Biggest Shell Programs in the World are huuuge... `#shell` `#sh`
+
+[github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World](https://github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World)
+
+### Against /tmp - He is making a point `#unix` ...
+
+Against /tmp - He is making a point `#unix` `#linux` `#bsd` `#filesystem` via @wallabagapp
+
+[dotat.at/@/2024-10-22-tmp.html](https://dotat.at/@/2024-10-22-tmp.html)
+
+### Random Weird Things Part 2: `#blog` ...
+
+Random Weird Things Part 2: `#blog` `#computing`
+
+[foo.zone/gemfeed/2025-02-08-random-weird-things-ii.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-02-08-random-weird-things-ii.gmi)
+[foo.zone/gemfeed/2025-02-08-random-weird-things-ii.html](https://foo.zone/gemfeed/2025-02-08-random-weird-things-ii.html)
+
+### As a former `#Pebble` user and fan, thats ...
+
+As a former `#Pebble` user and fan, thats aweaome news. PebbleOS is now open source and there will aoon be a new watch. I don't know about you, but I will be the first getting one :-) `#foss`
+
+[ericmigi.com/blog/why-were-bringing-pebble-back](https://ericmigi.com/blog/why-were-bringing-pebble-back)
+
+### I think I am slowly getting the point of Cue. ...
+
+I think I am slowly getting the point of Cue. For example, it can replace both a JSON file and a JSON Schema. Furthermore, you can convert it from and into different formats (Cue, JSON, YAML, Go data types, ...), and you can nicely embed this into a Go project as well. `#cue` `#cuelang` `#golang` `#configuration`
+
+[cuelang.org](https://cuelang.org)
+
+### Jonathan's reflection of 10 years of ...
+
+Jonathan's reflection of 10 years of programming!
+
+[jonathan-frere.com/posts/10-years-of-programming/](https://jonathan-frere.com/posts/10-years-of-programming/)
+
+### Really enjoyed reading this. Easily digestible ...
+
+Really enjoyed reading this. Easily digestible summary of what's new in Go 1.24. `#golang`
+
+[antonz.org/go-1-24/](https://antonz.org/go-1-24/)
+
+### Some great advice from 40 years of experience ...
+
+Some great advice from 40 years of experience as a software developer. `#software` `#development`
+
+[liw.fi/40/#index1h1](https://liw.fi/40/#index1h1)
+
+### I enjoyed this talk, some recipes I knew ...
+
+I enjoyed this talk, some recipes I knew already, others were new to me. The "line of sight" is my favourite, which I always tend to follow. I also liked the example where the speaker simplified a "complex" nested functions into two not-nested-if-statements. `#golang`
+
+[www.youtube.com/watch?v=zdKHq9Xo4OY&list=WL&index=5](https://www.youtube.com/watch?v=zdKHq9Xo4OY&list=WL&index=5)
+
+### A way of how to add the version info to the Go ...
+
+A way of how to add the version info to the Go binary. ... I personally just hardcode the version number in version.go and update it there manually for each release. But with Go 1.24, I will try embedding it! `#golang`
+
+[jerrynsh.com/3-easy-ways-to-add-version-flag-in-go/](https://jerrynsh.com/3-easy-ways-to-add-version-flag-in-go/)
+
+### In other words, using t.Parallel() for ...
+
+In other words, using t.Parallel() for lightweight unit tests will likely make them slower.... `#golang`
+
+[threedots.tech/post/go-test-parallelism/](https://threedots.tech/post/go-test-parallelism/)
+
+### Neat little blog post, showcasing various ...
+
+Neat little blog post, showcasing various methods unsed for generic programming before of the introduction of generics. Only reflection wasn't listed. `#golang`
+
+[bitfieldconsulting.com/posts/generics](https://bitfieldconsulting.com/posts/generics)
+
+### The smallest thing in Go `#golang` ...
+
+The smallest thing in Go `#golang`
+
+[bitfieldconsulting.com/posts/iota](https://bitfieldconsulting.com/posts/iota)
+
+### Fun with defer in `#golang`, I did't know, that ...
+
+Fun with defer in `#golang`, I did't know, that a defer object can either be heap or stack allocated. And there are some rules for inlining, too.
+
+[victoriametrics.com/blog/defer-in-go/](https://victoriametrics.com/blog/defer-in-go/)
+
+### What I like about Go is that it is still ...
+
+What I like about Go is that it is still possible to understand what's going on under the hood, whereas in JVM-based languages (for example) or dynamic languages, there are too many optimizations and abstractions. However, you don't need to know too much about how it works under the hood in Go (like memory management in C). It's just the fact that you can—you have a choice. `#golang`
+
+[blog.devtrovert.com/p/goroutine-scheduler-revealed-youll](https://blog.devtrovert.com/p/goroutine-scheduler-revealed-youll)
+
+## March 2025
+
+### Television has somewhat transformed how I work ...
+
+Television has somewhat transformed how I work in the shell on a day-to-day basis. It is especially useful for me in navigating all the local Git repositories on my laptop. I have bound Ctrl+G in my shell for that now. `#television` `#tv` `#tool` `#shell`
+
+[github.com/alexpasmantier/television](https://github.com/alexpasmantier/television)
+
+### Once in a while, I like to read a book about a ...
+
+Once in a while, I like to read a book about a programming language I have been using for a while to find new tricks or to refresh and sharpen my knowledge about it. I just finished reading "Programming Ruby 3.3," and I must say this is my favorite Ruby book now. What makes this one so special is that it is quite recent and covers all the new features. `#ruby` `#programming` `#coding`
+
+[pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/](https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/)
+
+### As you may have noticed, I like to share on ...
+
+As you may have noticed, I like to share on Mastodon and LinkedIn all the technical things I find interesting, and this blog post is technically all about that. Having said that, I love these tiny side projects. They are so relaxing to work on! `#gos` `#golang` `#tool` `#programming` `#fun`
+
+[foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.gmi)
+[foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.html](https://foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.html)
+
+### Personally, I think AI (LLMs) are pretty ...
+
+Personally, I think AI (LLMs) are pretty useful. But there's really some Hype around that. However, AI is about to stay - its not all hype
+
+[unixdigest.com/articles/i-passionately-hate-hype-especially-the-ai-hype.html](https://unixdigest.com/articles/i-passionately-hate-hype-especially-the-ai-hype.html)
+
+### Type aliases in `#golang`, soon also work with ...
+
+Type aliases in `#golang`, soon also work with generics. It's an interesting feature, useful for refactorings and simplifications
+
+[go.dev/blog/alias-names](https://go.dev/blog/alias-names)
+
+### `#Perl`, my "first love" of programming ...
+
+`#Perl`, my "first love" of programming languages. Still there, still use it here and then (but not as my primary language at the moment). And others do so as well, apparently. Which makes me happy! :-)
+
+[dev.to/fa5tworm/why-perl-remains-indis..-..e-of-modern-programming-languages-2io0](https://dev.to/fa5tworm/why-perl-remains-indispensable-in-the-age-of-modern-programming-languages-2io0)
+
+### I guess there are valid reasons for phttpdget, ...
+
+I guess there are valid reasons for phttpdget, which I also don't know about? Maybe complexity and/or licensing of other tools. `#FreeBSD`
+
+[l33t.codes/2024/12/05/Updating-FreeBSD-and-Re-Inventing-the-Wheel/](https://l33t.codes/2024/12/05/Updating-FreeBSD-and-Re-Inventing-the-Wheel/)
+
+### This is one of the reasons why I like ...
+
+This is one of the reasons why I like terminal-based applications so much—they are usually more lightweight than GUI-based ones (and also more flexible).
+
+[www.arp242.net/stupid-light.html](https://www.arp242.net/stupid-light.html)
+
+### Advanced Concurrency Patterns with `#Golang` ...
+
+Advanced Concurrency Patterns with `#Golang`
+
+[blogtitle.github.io/go-advanced-concurrency-patterns-part-1/](https://blogtitle.github.io/go-advanced-concurrency-patterns-part-1/)
+
+### `#SQLite` was designed as an `#TCL` extension. ...
+
+`#SQLite` was designed as an `#TCL` extension. There are ~trillion SQLite databases in active use. SQLite heavily relies on `#TCL`: C code generation via mksqlite3c.tcl, C code isn't edited directly by the SQLite developers, and for testing , and for doc generation). The devs use a custom editor written in Tcl/Tk called "e" to edit the source! There's a custom versioning system Fossil, a custom chat-room written in Tcl/Tk!
+
+[www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html](https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html)
+
+### Git provides automatic rendering of Markdown ...
+
+Git provides automatic rendering of Markdown files, including README.md, in a repository’s root directory" .... so much junk now in LLM powered search engines.... `#llm` `#ai`
+
+### These are some neat little Go tips. Linters ...
+
+These are some neat little Go tips. Linters already tell you when you silently omit a function return value, though. The slice filter without allocation trick is nice and simple. And I agree that switch statements are preferable to if-else statements. `#golang`
+
+[blog.devtrovert.com/p/go-ep5-avoid-contextbackground-make](https://blog.devtrovert.com/p/go-ep5-avoid-contextbackground-make)
+
+### This is a great introductory blog post about ...
+
+This is a great introductory blog post about the Helix modal editor. It's also been my first choice for over a year now. I am really looking forward to the Steel plugin system, though. I don't think I need a lot of plugins, but one or two would certainly be on my wish list. `#HelixEditor` `#Helix`
+
+[felix-knorr.net/posts/2025-03-16-helix-review.html](https://felix-knorr.net/posts/2025-03-16-helix-review.html)
+
+### Maps in Go under the hood `#golang` ...
+
+Maps in Go under the hood `#golang`
+
+[victoriametrics.com/blog/go-map/](https://victoriametrics.com/blog/go-map/)
+
+### I found that working on multiple side projects ...
+
+I found that working on multiple side projects concurrently is better than concentrating on just one. This seems inefficient, but if you to lose motivation, you can temporarily switch to another one with full élan. Remember to stop starting and start finishing. This doesn't mean you should be working on 10+ side projects concurrently! Select your projects and commit to finishing them before starting the next thing. For example, my current limit of concurrent side projects is around five.
+
+### I have been in incidents. Understandably, ...
+
+I have been in incidents. Understandably, everyone wants the issue to be resolved as quickly and others want to know how long TTR will be. IMHO, providing no estimates at all is no solution either. So maybe give a rough estimate but clearly communicate that the estimate is rough and that X, Y, and Z can interfere, meaning there is a chance it will take longer to resolve the incident. Just my thought. What's yours?
+
+[firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/](https://firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/)
+
+### I dont understand what it is. Certificates are ...
+
+I dont understand what it is. Certificates are so easy to monitor but still, expirations cause so many incidents. `#sre`
+
+[securityboulevard.com/2024/10/dont-let..-..time-prevent-outages-with-a-smart-clm/](https://securityboulevard.com/2024/10/dont-let-an-expired-certificate-cause-critical-downtime-prevent-outages-with-a-smart-clm/)
+
+### Don't just blindly trust LLMs. I recently ...
+
+Don't just blindly trust LLMs. I recently trusted an LLM, spent 1 hour debugging, and ultimately had to verify my assumption about `fcntl` behavior regarding inherited file descriptors in child processes manually with a C program, as the manual page wasn't clear to me. I could have done that immediately and I would have been done within 10 minutes. `#productivity` `#loss` `#llm` `#programming` `#C`
+
+## April 2025
+
+### I knew about any being equivalent to ...
+
+I knew about any being equivalent to interface{} in `#Golang`, but wasn't aware, that it was introduced to Go because of the generics.
+
+### Neat summary of new `#Perl` features per ...
+
+Neat summary of new `#Perl` features per release
+
+[sheet.shiar.nl/perl](https://sheet.shiar.nl/perl)
+
+### errors.As() checks for the error type, whereas ...
+
+errors.As() checks for the error type, whereas errors.Is() checks for the exact error value. Interesting read about Errors in `#golang` - and there is also a cat meme in the middle of the blog post! And then, it continues with pointers to pointers to error values or how about a pointer to an empty interface?
+
+[adrianlarion.com/golang-error-handling..-..-errors-unwrap-custom-errors-and-more/](https://adrianlarion.com/golang-error-handling-demystified-errors-is-errors-as-errors-unwrap-custom-errors-and-more/)
+
+### Good stuff: 10 years of functional options and ...
+
+Good stuff: 10 years of functional options and key lessons Learned along the way `#golang`
+
+[www.bytesizego.com/blog/10-years-functional-options-golang](https://www.bytesizego.com/blog/10-years-functional-options-golang)
+
+### I had some fun with `#FreeBSD`, `#Bhyve` and ...
+
+I had some fun with `#FreeBSD`, `#Bhyve` and `#Rocky` `#Linux`. Not just for fun, also for science and profit! `#homelab` `#selfhosting` `#self`-hosting
+
+[foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi)
+[foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html](https://foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html)
+
+### The moment your blog receives PRs for typo ...
+
+The moment your blog receives PRs for typo corrections, you notice, that people are actually reading and care about your stuff :-) `#blog` `#personal` `#tech`
+
+### One thing not mentioned is that `#OpenRsync`'s ...
+
+One thing not mentioned is that `#OpenRsync`'s origin is the `#OpenBSD` project (at least as far as I am aware! Correct me if I am wrong :-) )! `#openbsd` `#rsync` `#macos` `#openrsync`
+
+[derflounder.wordpress.com/2025/04/06/r..-..laced-with-openrsync-on-macos-sequoia/](https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/)
+
+### This is an interesting `#Elixir` pipes operator ...
+
+This is an interesting `#Elixir` pipes operator experiment in `#Ruby`. `#Python` has also been experimenting with such an operator. Raku (not mentioned in the linked article) already has the `==>` sequence operator, of course (which can also can be used backwards `<==` - who has doubted? :-) ). `#syntax` `#codegolf` `#fun` `#coding` `#RakuLang`
+
+[zverok.space/blog/2024-11-16-elixir-pipes.html](https://zverok.space/blog/2024-11-16-elixir-pipes.html)
+
+### The story of how my favorite `#Golang` book was ...
+
+The story of how my favorite `#Golang` book was written:
+
+[www.thecoder.cafe/p/100-go-mistakes](https://www.thecoder.cafe/p/100-go-mistakes)
+
+### These are my personal book notes from Daniel ...
+
+These are my personal book notes from Daniel Pink's "When: The Scientific Secrets of Perfect Timing." The notes are for me (to improve happiness and productivity). You still need to read the whole book to get your own insights, but maybe the notes will be useful for you as well. `#blog` `#book` `#booknotes` `#productivity`
+
+[foo.zone/gemfeed/2025-04-19-when-book-notes.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-04-19-when-book-notes.gmi)
+[foo.zone/gemfeed/2025-04-19-when-book-notes.html](https://foo.zone/gemfeed/2025-04-19-when-book-notes.html)
+
+### I certainly learned a lot reading this `#llm` ...
+
+I certainly learned a lot reading this `#llm` `#coding` `#programming`
+
+[simonwillison.net/2025/Mar/11/using-llms-for-code/](https://simonwillison.net/2025/Mar/11/using-llms-for-code/)
+
+### Writing indempotent `#Bash` scripts ...
+
+Writing indempotent `#Bash` scripts
+
+[arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/](https://arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/)
+
+### Regarding `#AI` for code generation. You should ...
+
+Regarding `#AI` for code generation. You should be at least a bit curious and exleriement a bit. You don't have to use it if you don't see fit purpose.
+
+[registerspill.thorstenball.com/p/they-..-..email=true&r=2n9ive&triedRedirect=true](https://registerspill.thorstenball.com/p/they-all-use-it?publication_id=1543843&post_id=151910861&isFreemail=true&r=2n9ive&triedRedirect=true)
+
+### I like the Rocky metaphor. And this post also ...
+
+I like the Rocky metaphor. And this post also reflects my thoughts on coding. `#llm` `#ai` `#software`
+
+[cekrem.github.io/posts/coding-as-craft-going-back-to-the-old-gym/](https://cekrem.github.io/posts/coding-as-craft-going-back-to-the-old-gym/)
+
+## May 2025
+
+### There's now also a `#Fish` shell edition of my ...
+
+There's now also a `#Fish` shell edition of my `#tmux` helper scripts: `#fishshell`
+
+[foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.gmi)
+[foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.html](https://foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.html)
+
+### I loved this talk. It's about how you can ...
+
+I loved this talk. It's about how you can create your own `#Linux` `#container` without Docker, using less than 100 lines of shell code without Docker or Podman and co. - Why is this talk useful? If you understand how `#containers` work "under the hood," it becomes easier to make design decisions, write your own tools, or debug production systems. I also recommend his training courses, of which I visited one once.
+
+[www.youtube.com/watch?v=4RUiVAlJE2w](https://www.youtube.com/watch?v=4RUiVAlJE2w)
+
+### Some unexpected `#golang` stuff, ppl say, that ...
+
+Some unexpected `#golang` stuff, ppl say, that Go is a simple language. IMHO the devil is in the details.
+
+[unexpected-go.com/](https://unexpected-go.com/)
+
+### With the advent of AI and LLMs, I have observed ...
+
+With the advent of AI and LLMs, I have observed that being able to type quickly has become even more important for engineers. Previously, fast typing wasn't as crucial when coding, as most of the time was spent thinking or navigating through the code. However, with LLMs, you find yourself typing much more frequently. That's an unexpected personal win for me, as I recently learned fast touch typing: `#llm` `#coding` `#programming`
+
+[foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.gmi (Gemini)](gemini://foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.gmi)
+[foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.html](https://foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.html)
+
+### For science, fun and profit, I set up a ...
+
+For science, fun and profit, I set up a `#WireGuard` mesh network for my `#FreeBSD`, `#OpenBSD`, `#RockyLinux` and `#Kubernetes` `#homelab`: There's also a mesh generator, which I wrote in `#Ruby`. `#k3s` `#linux` `#k8s` `#k3s`
+
+[foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi (Gemini)](gemini://foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi)
+[foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html](https://foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html)
+
+### Ever wondered about the hung task Linux ...
+
+Ever wondered about the hung task Linux messages on a busy server? Every case is unique, and there is no standard approach to debug them, but here it gets a bit demystified: `#linux` `#kernel`
+
+[blog.cloudflare.com/searching-for-the-cause-of-hung-tasks-in-the-linux-kernel/](https://blog.cloudflare.com/searching-for-the-cause-of-hung-tasks-in-the-linux-kernel/)
+
+### A bit of `#fun`: The FORTRAN hating gateway ― ...
+
+A bit of `#fun`: The FORTRAN hating gateway ― Andreas Zwinkau
+
+[beza1e1.tuxen.de/lore/fortran_hating_gateway.html](https://beza1e1.tuxen.de/lore/fortran_hating_gateway.html)
+
+### So, Golang was invented while engineers at ...
+
+So, Golang was invented while engineers at Google waited for C++ to compile. Here I am, waiting a long time for Java to compile...
+
+### I couldn't do without here-docs. If they did ...
+
+I couldn't do without here-docs. If they did not exist, I would need to find another field and pursue a career there. `#bash` `#sh` `#shell`
+
+[rednafi.com/misc/heredoc_headache/](https://rednafi.com/misc/heredoc_headache/)
+
+### I started using computers as a kid on MS-DOS ...
+
+I started using computers as a kid on MS-DOS and mainly used Norton Commander to navigate the file system in order to start games. Later, I became more interested in computing in general and switched to Linux, but there was no NC. However, there was GNU Midnight Commander, which I still use regularly to this day. It's absolutely worth checking out, even in the modern day. `#tools` `#opensource`
+
+[en.wikipedia.org/wiki/Midnight_Commander](https://en.wikipedia.org/wiki/Midnight_Commander)
+
+### Thats interesting, running `#Android` in ...
+
+Thats interesting, running `#Android` in `#Kubernetes`
+
+[ku.bz/Gs4-wpK5h](https://ku.bz/Gs4-wpK5h)
+
+### Before wiping the pre-installed `#Windows` 11 ...
+
+Before wiping the pre-installed `#Windows` 11 Pro on my new Beelink mini PC, I tested `#WSL2` with `#Fedora` `#Linux`. I compiled my pet project, I/O Riot NG (ior), which requires many system libraries, including `#BPF`. I’m impressed—everything works just like on native Fedora, and my tool runs and traces I/O syscalls with BPF out of the box. I might would prefer now Windows over MacOS if I had to chose between those two for work.
+
+[codeberg.org/snonux/ior](https://codeberg.org/snonux/ior)
+
+### Some might hate me saying this, but didnt ...
+
+Some might hate me saying this, but didnt `#systemd` solve the problem of a shared /tmp directory by introducing PrivateTmp?? but yes why did it have to go that way...
+
+[www.osnews.com/story/140968/tmp-should-not-exist/](https://www.osnews.com/story/140968/tmp-should-not-exist/)
+
+### Wouldn't still do that, even with 100% test ...
+
+Wouldn't still do that, even with 100% test coverage, LT and integration tests, unless theres an exception the business relies on `#sre`
+
+[medium.com/openclassrooms-product-desi..-..g/do-not-deploy-on-friday-92b1b46ebfe6](https://medium.com/openclassrooms-product-design-and-engineering/do-not-deploy-on-friday-92b1b46ebfe6)
+
+### Some neat slice tricks for Go: `#golang` ...
+
+Some neat slice tricks for Go: `#golang`
+
+[blog.devtrovert.com/p/12-slice-tricks-to-enhance-your-go](https://blog.devtrovert.com/p/12-slice-tricks-to-enhance-your-go)
+
+### I understand that Kubernetes is not for ...
+
+I understand that Kubernetes is not for everyone, but it still seems to be the new default for everything newly built. Despite the fact that Kubernetes is complex to maintain and use, there is still a lot of SRE/DevOps talent out there who have it on their CVs, which contributes significantly to the supportability of the infrastructure and the applications running on it. This way, you don't have to teach every new engineer your "own way" infrastructure. It's like a standard language of infrastructure that many people speak. However, Kubernetes should not be the default solution for everything, in my opinion. `#kubernetes` `#k8s`
+
+[www.gitpod.io/blog/we-are-leaving-kubernetes](https://www.gitpod.io/blog/we-are-leaving-kubernetes)
+
+## June 2025
+
+### Some great advices, will try out some of them! ...
+
+Some great advices, will try out some of them! `#programming`
+
+[endler.dev/2025/best-programmers/](https://endler.dev/2025/best-programmers/)
+
+### In `#Golang`, values are actually copied when ...
+
+In `#Golang`, values are actually copied when assigned (boxed) into an interface. That can have performance impact.
+
+[goperf.dev/01-common-patterns/interface-boxing/](https://goperf.dev/01-common-patterns/interface-boxing/)
+
+### This is a great little tutorial for searching ...
+
+This is a great little tutorial for searching in the `#HelixEditor` `#editor` `#coding`
+
+[helix-editor-tutorials.com/tutorials/using-helix-global-search/](https://helix-editor-tutorials.com/tutorials/using-helix-global-search/)
+
+### The mov instruction of a CPU is turing ...
+
+The mov instruction of a CPU is turing complete. And theres an implementation of `#Doom` only using mov, it renders one frame per 7 hours! `#fun`
+
+[beza1e1.tuxen.de/articles/accidentally_turing_complete.html](https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html)
+
+### I removed the social media profile from my ...
+
+I removed the social media profile from my GrapheneOS phone. Originally, I created a separate profile just for social media to avoid using it too often. But I noticed that I switched to it too frequently. Not having social media within reach is probably the best option. `#socialmedia` `#sm` `#distractions`
+
+### So want a "real" recent UNIX? Use AIX! `#macos` ...
+
+So want a "real" recent UNIX? Use AIX! `#macos` `#unix` `#aix`
+
+[www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/](https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/)
+
+### This episode, I think, is kind of an eye-opener ...
+
+This episode, I think, is kind of an eye-opener for me personally. I knew, that AI is there to stay, but you better should now start playing with your pet projects, otherwise your performance reviews will be awkward in a year or two from now, when you are expected to use AI for your daily work. `#ai` `#llm` `#coding` `#programming`
+
+[changelog.com/friends/96](https://changelog.com/friends/96)
+
+### My `#OpenBSD` blog setup got mentioned in the ...
+
+My `#OpenBSD` blog setup got mentioned in the BSDNow.tv Podcast (In the Feedback section) :-) `#BSD` `#podcast` `#runbsd`
+
+[www.bsdnow.tv/614](https://www.bsdnow.tv/614)
+
+### `#Golang` is the best when it comes to agentic ...
+
+`#Golang` is the best when it comes to agentic coding: `#llm`
+
+[lucumr.pocoo.org/2025/6/12/agentic-coding/](https://lucumr.pocoo.org/2025/6/12/agentic-coding/)
+
+### Where `#zsh` is better than `#bash` ...
+
+Where `#zsh` is better than `#bash`
+
+[www.arp242.net/why-zsh.html](https://www.arp242.net/why-zsh.html)
+
+### I really enjoyed this talk about obscure Go ...
+
+I really enjoyed this talk about obscure Go optimizations. None of it is really standard and can change from one version of Go to another, though. `#golang` `#talk`
+
+[www.youtube.com/watch?v=rRtihWOcaLI](https://www.youtube.com/watch?v=rRtihWOcaLI)
+
+### Commenting your regular expression is generally ...
+
+Commenting your regular expression is generally a good advice! Works pretty well as described in the article not just in `#Ruby`, but also in `#Perl` (@Perl), `#RakuLang`, ...
+
+[thoughtbot.com/blog/comment-your-regular-expressions](https://thoughtbot.com/blog/comment-your-regular-expressions)
+
+### You have to make a decision for yourself, but ...
+
+You have to make a decision for yourself, but generally, work smarter (and faster—but keep the quality)! About 40 hours `#productivity` `#work` `#workload`
+
+[thesquareplanet.com/blog/about-40-hours/](https://thesquareplanet.com/blog/about-40-hours/)
+
+### "100 Go Mistakes and How to Avoid Them" is one ...
+
+"100 Go Mistakes and How to Avoid Them" is one of my favorite `#Golang` books. Julia Evans also stumbled across some issues she'd learned from this book. The book itself is an absolute must for every Gopher (or someone who wants to become one!)
+
+[jvns.ca/blog/2024/08/06/go-structs-copied-on-assignment/](https://jvns.ca/blog/2024/08/06/go-structs-copied-on-assignment/)
+
+### The `#Ruby` Data class seems quite helpful ...
+
+The `#Ruby` Data class seems quite helpful
+
+[allaboutcoding.ghinda.com/example-of-value-objects-using-rubys-data-class](https://allaboutcoding.ghinda.com/example-of-value-objects-using-rubys-data-class)
+
+Other related posts:
+
+[2025-01-01 Posts from October to December 2024](./2025-01-01-posts-from-october-to-december-2024.md)
+[2025-07-01 Posts from January to June 2025 (You are currently reading this)](./2025-07-01-posts-from-january-to-june-2025.md)
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md
index 0aa6d893..03577472 100644
--- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md
+++ b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md
@@ -21,18 +21,146 @@ This is the sixth blog post about the f3s series for self-hosting demands in a h
* [⇢ ⇢ ⇢ Generating encryption keys](#generating-encryption-keys)
* [⇢ ⇢ ⇢ Configuring `zdata` ZFS pool and encryption](#configuring-zdata-zfs-pool-and-encryption)
* [⇢ ⇢ ⇢ Migrating Bhyve VMs to encrypted `bhyve` ZFS volume](#migrating-bhyve-vms-to-encrypted-bhyve-zfs-volume)
-* [⇢ ⇢ CARP](#carp)
+* [⇢ ⇢ CARP (Common Address Redundancy Protocol)](#carp-common-address-redundancy-protocol)
+* [⇢ ⇢ ⇢ How CARP Works](#how-carp-works)
+* [⇢ ⇢ ⇢ Configuring CARP](#configuring-carp)
+* [⇢ ⇢ ⇢ CARP State Change Notifications](#carp-state-change-notifications)
+* [⇢ ⇢ ZFS Replication with zrepl](#zfs-replication-with-zrepl)
+* [⇢ ⇢ ⇢ Understanding Replication Requirements](#understanding-replication-requirements)
+* [⇢ ⇢ ⇢ Why zrepl instead of HAST?](#why-zrepl-instead-of-hast)
+* [⇢ ⇢ ⇢ Installing zrepl](#installing-zrepl)
+* [⇢ ⇢ ⇢ Checking ZFS pools](#checking-zfs-pools)
+* [⇢ ⇢ ⇢ Configuring zrepl with WireGuard tunnel](#configuring-zrepl-with-wireguard-tunnel)
+* [⇢ ⇢ ⇢ Configuring zrepl on f0 (source)](#configuring-zrepl-on-f0-source)
+* [⇢ ⇢ ⇢ Configuring zrepl on f1 (sink)](#configuring-zrepl-on-f1-sink)
+* [⇢ ⇢ ⇢ Enabling and starting zrepl services](#enabling-and-starting-zrepl-services)
+* [⇢ ⇢ ⇢ Verifying replication](#verifying-replication)
+* [⇢ ⇢ ⇢ Monitoring replication](#monitoring-replication)
+* [⇢ ⇢ ⇢ A note about the Bhyve VM replication](#a-note-about-the-bhyve-vm-replication)
+* [⇢ ⇢ ⇢ Quick status check commands](#quick-status-check-commands)
+* [⇢ ⇢ ⇢ Verifying replication after reboot](#verifying-replication-after-reboot)
+* [⇢ ⇢ ⇢ Understanding Failover Limitations and Design Decisions](#understanding-failover-limitations-and-design-decisions)
+* [⇢ ⇢ ⇢# Why Manual Failover?](#-why-manual-failover)
+* [⇢ ⇢ ⇢# Current Failover Process](#-current-failover-process)
+* [⇢ ⇢ ⇢ Mounting the NFS datasets](#mounting-the-nfs-datasets)
+* [⇢ ⇢ ⇢ Failback scenario: Syncing changes from f1 back to f0](#failback-scenario-syncing-changes-from-f1-back-to-f0)
+* [⇢ ⇢ ⇢ Testing the failback scenario](#testing-the-failback-scenario)
+* [⇢ ⇢ ⇢ Troubleshooting: Files not appearing in replication](#troubleshooting-files-not-appearing-in-replication)
+* [⇢ ⇢ ⇢ Configuring automatic key loading on boot](#configuring-automatic-key-loading-on-boot)
+* [⇢ ⇢ ⇢ Troubleshooting: Replication broken due to modified destination](#troubleshooting-replication-broken-due-to-modified-destination)
+* [⇢ ⇢ ⇢ Forcing a full resync](#forcing-a-full-resync)
+* [⇢ ⇢ Future Storage Explorations](#future-storage-explorations)
+* [⇢ ⇢ ⇢ MinIO for S3-Compatible Object Storage](#minio-for-s3-compatible-object-storage)
+* [⇢ ⇢ ⇢ MooseFS for Distributed High Availability](#moosefs-for-distributed-high-availability)
+* [⇢ ⇢ NFS Server Configuration](#nfs-server-configuration)
+* [⇢ ⇢ ⇢ Setting up NFS on f0 (Primary)](#setting-up-nfs-on-f0-primary)
+* [⇢ ⇢ ⇢ Configuring Stunnel for NFS Encryption with CARP Failover](#configuring-stunnel-for-nfs-encryption-with-carp-failover)
+* [⇢ ⇢ ⇢# Why Not Native NFS over TLS?](#-why-not-native-nfs-over-tls)
+* [⇢ ⇢ ⇢# Stunnel Architecture with CARP](#-stunnel-architecture-with-carp)
+* [⇢ ⇢ ⇢# Creating a Certificate Authority for Client Authentication](#-creating-a-certificate-authority-for-client-authentication)
+* [⇢ ⇢ ⇢# Install and Configure Stunnel on f0](#-install-and-configure-stunnel-on-f0)
+* [⇢ ⇢ ⇢ Setting up NFS on f1 (Standby)](#setting-up-nfs-on-f1-standby)
+* [⇢ ⇢ ⇢ How Stunnel Works with CARP](#how-stunnel-works-with-carp)
+* [⇢ ⇢ ⇢ CARP Control Script for Clean Failover](#carp-control-script-for-clean-failover)
+* [⇢ ⇢ ⇢ CARP Management Script](#carp-management-script)
+* [⇢ ⇢ ⇢ Automatic Failback After Reboot](#automatic-failback-after-reboot)
+* [⇢ ⇢ ⇢# Why Automatic Failback?](#-why-automatic-failback)
+* [⇢ ⇢ ⇢# The Auto-Failback Script](#-the-auto-failback-script)
+* [⇢ ⇢ ⇢# Setting Up the Marker File](#-setting-up-the-marker-file)
+* [⇢ ⇢ ⇢# Configuring Cron](#-configuring-cron)
+* [⇢ ⇢ ⇢# Managing Automatic Failback](#-managing-automatic-failback)
+* [⇢ ⇢ ⇢# How It Works](#-how-it-works)
+* [⇢ ⇢ ⇢ Verifying Stunnel and CARP Status](#verifying-stunnel-and-carp-status)
+* [⇢ ⇢ ⇢ Verifying NFS Exports](#verifying-nfs-exports)
+* [⇢ ⇢ ⇢ Client Configuration for Stunnel](#client-configuration-for-stunnel)
+* [⇢ ⇢ ⇢# Preparing Client Certificates](#-preparing-client-certificates)
+* [⇢ ⇢ ⇢# Configuring Rocky Linux Clients (r0, r1, r2)](#-configuring-rocky-linux-clients-r0-r1-r2)
+* [⇢ ⇢ ⇢ Testing NFS Mount with Stunnel](#testing-nfs-mount-with-stunnel)
+* [⇢ ⇢ ⇢ Important: Encryption Keys for Replicated Datasets](#important-encryption-keys-for-replicated-datasets)
+* [⇢ ⇢ ⇢ NFS Failover with CARP and Stunnel](#nfs-failover-with-carp-and-stunnel)
+* [⇢ ⇢ ⇢ Testing CARP Failover](#testing-carp-failover)
+* [⇢ ⇢ ⇢ Handling Stale File Handles After Failover](#handling-stale-file-handles-after-failover)
+* [⇢ ⇢ ⇢ Complete Failover Test](#complete-failover-test)
+* [⇢ ⇢ ⇢ Verifying Replication Status](#verifying-replication-status)
+* [⇢ ⇢ ⇢ Post-Reboot Verification](#post-reboot-verification)
+* [⇢ ⇢ ⇢ Integration with Kubernetes](#integration-with-kubernetes)
+* [⇢ ⇢ ⇢ Security Benefits of Stunnel with Client Certificates](#security-benefits-of-stunnel-with-client-certificates)
+* [⇢ ⇢ ⇢ Laptop/Workstation Access](#laptopworkstation-access)
+* [⇢ ⇢ ⇢# Important: NFSv4 and Stunnel on Newer Linux Clients](#-important-nfsv4-and-stunnel-on-newer-linux-clients)
+* [⇢ ⇢ Mounting NFS on Rocky Linux 9](#mounting-nfs-on-rocky-linux-9)
+* [⇢ ⇢ ⇢ Installing and Configuring NFS Clients on r0, r1, and r2](#installing-and-configuring-nfs-clients-on-r0-r1-and-r2)
+* [⇢ ⇢ ⇢ Configuring Stunnel Client on All Nodes](#configuring-stunnel-client-on-all-nodes)
+* [⇢ ⇢ ⇢ Setting Up NFS Mounts](#setting-up-nfs-mounts)
+* [⇢ ⇢ ⇢ Comprehensive NFS Mount Testing](#comprehensive-nfs-mount-testing)
+* [⇢ ⇢ ⇢# Test 1: Verify Mount Status on All Nodes](#-test-1-verify-mount-status-on-all-nodes)
+* [⇢ ⇢ ⇢# Test 2: Verify Stunnel Connectivity](#-test-2-verify-stunnel-connectivity)
+* [⇢ ⇢ ⇢# Test 3: File Creation and Visibility Test](#-test-3-file-creation-and-visibility-test)
+* [⇢ ⇢ ⇢# Test 4: Verify Files on Storage Servers](#-test-4-verify-files-on-storage-servers)
+* [⇢ ⇢ ⇢# Test 5: Performance and Concurrent Access Test](#-test-5-performance-and-concurrent-access-test)
+* [⇢ ⇢ ⇢# Test 6: Directory Operations Test](#-test-6-directory-operations-test)
+* [⇢ ⇢ ⇢# Test 7: Permission and Ownership Test](#-test-7-permission-and-ownership-test)
+* [⇢ ⇢ ⇢# Test 8: Failover Test (Optional but Recommended)](#-test-8-failover-test-optional-but-recommended)
+* [⇢ ⇢ ⇢ Troubleshooting Common Issues](#troubleshooting-common-issues)
+* [⇢ ⇢ ⇢# Mount Hangs or Times Out](#-mount-hangs-or-times-out)
+* [⇢ ⇢ ⇢# Permission Denied Errors](#-permission-denied-errors)
+* [⇢ ⇢ ⇢# Files Not Visible Across Nodes](#-files-not-visible-across-nodes)
+* [⇢ ⇢ ⇢# I/O Errors When Accessing NFS Mount](#-io-errors-when-accessing-nfs-mount)
+* [⇢ ⇢ ⇢ Comprehensive Production Test Results](#comprehensive-production-test-results)
+* [⇢ ⇢ ⇢# Test Scenario: Full System Reboot and Failover](#-test-scenario-full-system-reboot-and-failover)
+* [⇢ ⇢ ⇢# Key Findings](#-key-findings)
+* [⇢ ⇢ Performance Considerations](#performance-considerations)
+* [⇢ ⇢ ⇢ Encryption Overhead](#encryption-overhead)
+* [⇢ ⇢ ⇢ Replication Bandwidth](#replication-bandwidth)
+* [⇢ ⇢ ⇢ NFS Tuning](#nfs-tuning)
+* [⇢ ⇢ ⇢ ZFS Tuning](#zfs-tuning)
+* [⇢ ⇢ ⇢ Monitoring](#monitoring)
+* [⇢ ⇢ ⇢ Cleanup After Testing](#cleanup-after-testing)
+* [⇢ ⇢ Conclusion](#conclusion)
+* [⇢ ⇢ ⇢ What We Achieved](#what-we-achieved)
+* [⇢ ⇢ ⇢ Architecture Benefits](#architecture-benefits)
+* [⇢ ⇢ ⇢ Lessons Learned](#lessons-learned)
+* [⇢ ⇢ ⇢ Next Steps](#next-steps)
+* [⇢ ⇢ ⇢ References](#references)
## Introduction
-In this blog post, we are going to extend the Beelinks with some additional storage.
+In the previous posts, we set up a FreeBSD-based Kubernetes cluster using k3s. While the base system works well, Kubernetes workloads often require persistent storage for databases, configuration files, and application data. Local storage on each node has significant limitations:
-Some photos here, describe why there are 2 different models of SSD drives (replication etc)
+* No data sharing: Pods on different nodes can't access the same data
+* Pod mobility: If a pod moves to another node, it loses access to its data
+* No redundancy: Hardware failure means data loss
+* Limited capacity: Individual nodes have finite storage
+
+This post implements a robust storage solution using:
+
+* ZFS: For data integrity, encryption, and efficient snapshots
+* CARP: For high availability with automatic IP failover
+* NFS over stunnel: For secure, encrypted network storage
+ zrepl: For continuous replication between nodes
+
+The end result is a highly available, encrypted storage system that survives node failures while providing shared storage to all Kubernetes pods. We're using two different SSD models (Samsung 870 EVO and Crucial BX500) to avoid simultaneous failures from the same manufacturing batch.
## ZFS encryption keys
+ZFS native encryption requires encryption keys to unlock datasets. We need a secure method to store these keys that balances security with operational needs:
+
+* Security: Keys must not be stored on the same disks they encrypt
+* Availability: Keys must be available at boot for automatic mounting
+* Portability: Keys should be easily moved between systems for recovery
+
+Using USB flash drives as hardware key storage provides an elegant solution. The encrypted data is unreadable without physical access to the USB key, protecting against disk theft or improper disposal. In production environments, you might use enterprise key management systems, but for a home lab, USB keys offer good security with minimal complexity.
+
### UFS on USB keys
+We'll format the USB drives with UFS (Unix File System) rather than ZFS for several reasons:
+
+* Simplicity: UFS has less overhead for small, removable media
+* Reliability: No ZFS pool import/export issues with removable devices
+
+Let's see the USB keys:
+
+TODO: Insert photos here
+
```
paul@f0:/ % doas camcontrol devlist
<512GB SSD D910R170> at scbus0 target 0 lun 0 (pass0,ada0)
@@ -49,6 +177,8 @@ paul@f1:/ % doas camcontrol devlist
paul@f1:/ %
```
+Let's create the UFS file system and mount it (done on all 3 nodes `f0`, `f1` and `f2`):
+
```sh
paul@f0:/ % doas newfs /dev/da0
/dev/da0: 15000.0MB (30720000 sectors) block size 32768, fragment size 4096
@@ -69,6 +199,9 @@ paul@f0:/ % df | grep keys
### Generating encryption keys
+The following keys will later be used to encrypt the ZFS file systems:
+
+```
paul@f0:/keys % doas openssl rand -out /keys/f0.lan.buetow.org:bhyve.key 32
paul@f0:/keys % doas openssl rand -out /keys/f1.lan.buetow.org:bhyve.key 32
paul@f0:/keys % doas openssl rand -out /keys/f2.lan.buetow.org:bhyve.key 32
@@ -80,14 +213,15 @@ paul@f0:/keys % doas chmod 400 *
paul@f0:/keys % ls -l
total 20
--r-------- 1 root wheel 32 May 25 13:07 f0.lan.buetow.org:bhyve.key
--r-------- 1 root wheel 32 May 25 13:07 f1.lan.buetow.org:bhyve.key
--r-------- 1 root wheel 32 May 25 13:07 f2.lan.buetow.org:bhyve.key
--r-------- 1 root wheel 32 May 25 13:07 f0.lan.buetow.org:zdata.key
--r-------- 1 root wheel 32 May 25 13:07 f1.lan.buetow.org:zdata.key
--r-------- 1 root wheel 32 May 25 13:07 f2.lan.buetow.org:zdata.key
+*r-------- 1 root wheel 32 May 25 13:07 f0.lan.buetow.org:bhyve.key
+*r-------- 1 root wheel 32 May 25 13:07 f1.lan.buetow.org:bhyve.key
+*r-------- 1 root wheel 32 May 25 13:07 f2.lan.buetow.org:bhyve.key
+*r-------- 1 root wheel 32 May 25 13:07 f0.lan.buetow.org:zdata.key
+*r-------- 1 root wheel 32 May 25 13:07 f1.lan.buetow.org:zdata.key
+*r-------- 1 root wheel 32 May 25 13:07 f2.lan.buetow.org:zdata.key
+````
-Copy those to all 3 nodes to /keys
+After creation, those are copied to the other two nodes `f1` and `f2` to the `/keys` partition.
### Configuring `zdata` ZFS pool and encryption
@@ -163,16 +297,48 @@ zroot/bhyve/rocky encryptionroot zroot/bhyve -
zroot/bhyve/rocky keystatus available -
```
-## CARP
+## CARP (Common Address Redundancy Protocol)
+
+High availability is crucial for storage systems. If the NFS server goes down, all pods lose access to their persistent data. CARP provides a solution by creating a virtual IP address that automatically moves between servers during failures.
+
+### How CARP Works
+
+CARP allows multiple hosts to share a virtual IP address (VIP). The hosts communicate using multicast to elect a MASTER, while others remain as BACKUP. When the MASTER fails, a BACKUP automatically promotes itself, and the VIP moves to the new MASTER. This happens within seconds, minimizing downtime.
+
+Key benefits for our storage system:
+* Automatic failover: No manual intervention required for basic failures
+* Transparent to clients: Pods continue using the same IP address
+* Works with stunnel: The VIP ensures encrypted connections follow the active server
+* Simple configuration: Just a single line in rc.conf
-adding to /etc/rc.conf on f0 and f1:
+### Configuring CARP
+
+First, add the CARP configuration to `/etc/rc.conf` on both f0 and f1:
+
+```sh
+# The virtual IP 192.168.1.138 will float between f0 and f1
ifconfig_re0_alias0="inet vhid 1 pass testpass alias 192.168.1.138/32"
+```
+
+Parameters explained:
+* `vhid 1`: Virtual Host ID - must match on all CARP members
+* `pass testpass`: Password for CARP authentication (use a stronger password in production)
+* `alias 192.168.1.138/32`: The virtual IP address with a /32 netmask
-adding to /etc/hosts:
+Next, update `/etc/hosts` on all nodes (n0, n1, n2, r0, r1, r2) to resolve the VIP hostname:
+```
192.168.1.138 f3s-storage-ha f3s-storage-ha.lan f3s-storage-ha.lan.buetow.org
+192.168.2.138 f3s-storage-ha f3s-storage-ha.wg0 f3s-storage-ha.wg0.wan.buetow.org
+```
+
+This allows clients to connect to `f3s-storage-ha` regardless of which physical server is currently the MASTER.
+
+### CARP State Change Notifications
-Adding on f0 and f1:
+To properly manage services during failover, we need to detect CARP state changes. FreeBSD's devd system can notify us when CARP transitions between MASTER and BACKUP states.
+
+Add this to `/etc/devd.conf` on both f0 and f1:
paul@f0:~ % cat <<END | doas tee -a /etc/devd.conf
notify 0 {
@@ -183,16 +349,2345 @@ notify 0 {
};
END
-next, copied that script /usr/local/bin/carpcontrol.sh and adjusted the disk to storage
+Next, create the CARP control script that will restart stunnel when CARP state changes:
+
+```sh
+paul@f0:~ % doas tee /usr/local/bin/carpcontrol.sh <<'EOF'
+#!/bin/sh
+# CARP state change handler for storage failover
+
+subsystem=$1
+state=$2
+
+logger "CARP state change: $subsystem is now $state"
+
+case "$state" in
+ MASTER)
+ # Restart stunnel to bind to the VIP
+ service stunnel restart
+ logger "Restarted stunnel for MASTER state"
+ ;;
+ BACKUP)
+ # Stop stunnel since we can't bind to VIP as BACKUP
+ service stunnel stop
+ logger "Stopped stunnel for BACKUP state"
+ ;;
+esac
+EOF
+
+paul@f0:~ % doas chmod +x /usr/local/bin/carpcontrol.sh
+
+# Copy the same script to f1
+paul@f0:~ % scp /usr/local/bin/carpcontrol.sh f1:/tmp/
+paul@f1:~ % doas mv /tmp/carpcontrol.sh /usr/local/bin/
+paul@f1:~ % doas chmod +x /usr/local/bin/carpcontrol.sh
+```
+
+Enable CARP in /boot/loader.conf:
+
+```sh
+paul@f0:~ % echo 'carp_load="YES"' | doas tee -a /boot/loader.conf
+carp_load="YES"
+paul@f1:~ % echo 'carp_load="YES"' | doas tee -a /boot/loader.conf
+carp_load="YES"
+```
+
+Then reboot both hosts or run `doas kldload carp` to load the module immediately.
+
+
+## ZFS Replication with zrepl
+
+Data replication is the cornerstone of high availability. While CARP handles IP failover, we need continuous data replication to ensure the backup server has current data when it becomes active. Without replication, failover would result in data loss or require shared storage (like iSCSI), which introduces a single point of failure.
+
+### Understanding Replication Requirements
+
+Our storage system has different replication needs:
+
+* NFS data (`/data/nfs/k3svolumes`): Contains active Kubernetes persistent volumes. Needs frequent replication (every minute) to minimize data loss during failover.
+* VM data (`/zroot/bhyve/fedora`): Contains VM images that change less frequently. Can tolerate longer replication intervals (every 10 minutes).
+
+The replication frequency determines your Recovery Point Objective (RPO) - the maximum acceptable data loss. With 1-minute replication, you lose at most 1 minute of changes during an unplanned failover.
+
+### Why zrepl instead of HAST?
+
+While HAST (Highly Available Storage) is FreeBSD's native solution for high-availability storage, I've chosen zrepl for several important reasons:
+
+1. HAST can cause ZFS corruption: HAST operates at the block level and doesn't understand ZFS's transactional semantics. During failover, in-flight transactions can lead to corrupted zpools. I've experienced this firsthand - the automatic failover would trigger while ZFS was still writing, resulting in an unmountable pool.
+
+2. ZFS-aware replication: zrepl understands ZFS datasets and snapshots. It replicates at the dataset level, ensuring each snapshot is a consistent point-in-time copy. This is fundamentally safer than block-level replication.
+
+3. Snapshot history: With zrepl, you get multiple recovery points (every minute for NFS data in our setup). If corruption occurs, you can roll back to any previous snapshot. HAST only gives you the current state.
+
+4. Easier recovery: When something goes wrong with zrepl, you still have intact snapshots on both sides. With HAST, a corrupted primary often means a corrupted secondary too.
+
+5. Network flexibility: zrepl works over any TCP connection (in our case, WireGuard), while HAST requires dedicated network configuration.
+
+The 5-minute replication window is perfectly acceptable for my personal use cases. This isn't a high-frequency trading system or a real-time database - it's storage for personal projects, development work, and home lab experiments. Losing at most 5 minutes of work in a disaster scenario is a reasonable trade-off for the reliability and simplicity of snapshot-based replication.
+
+### Installing zrepl
+
+First, install zrepl on both hosts:
+
+```
+# On f0
+paul@f0:~ % doas pkg install -y zrepl
+
+# On f1
+paul@f1:~ % doas pkg install -y zrepl
+```
+
+### Checking ZFS pools
+
+Verify the pools and datasets on both hosts:
+
+```sh
+# On f0
+paul@f0:~ % doas zpool list
+NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
+zdata 928G 1.03M 928G - - 0% 0% 1.00x ONLINE -
+zroot 472G 26.7G 445G - - 0% 5% 1.00x ONLINE -
+
+paul@f0:~ % doas zfs list -r zdata/enc
+NAME USED AVAIL REFER MOUNTPOINT
+zdata/enc 200K 899G 200K /data/enc
+
+# On f1
+paul@f1:~ % doas zpool list
+NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
+zdata 928G 956K 928G - - 0% 0% 1.00x ONLINE -
+zroot 472G 11.7G 460G - - 0% 2% 1.00x ONLINE -
+
+paul@f1:~ % doas zfs list -r zdata/enc
+NAME USED AVAIL REFER MOUNTPOINT
+zdata/enc 200K 899G 200K /data/enc
+```
+
+### Configuring zrepl with WireGuard tunnel
+
+Since we have a WireGuard tunnel between f0 and f1, we'll use TCP transport over the secure tunnel instead of SSH. First, check the WireGuard IP addresses:
+
+```sh
+# Check WireGuard interface IPs
+paul@f0:~ % ifconfig wg0 | grep inet
+ inet 192.168.2.130 netmask 0xffffff00
+
+paul@f1:~ % ifconfig wg0 | grep inet
+ inet 192.168.2.131 netmask 0xffffff00
+```
+
+### Configuring zrepl on f0 (source)
+
+First, create a dedicated dataset for NFS data that will be replicated:
+
+```sh
+# Create the nfsdata dataset that will hold all data exposed via NFS
+paul@f0:~ % doas zfs create zdata/enc/nfsdata
+```
+
+Create the zrepl configuration on f0:
+
+```sh
+paul@f0:~ % doas tee /usr/local/etc/zrepl/zrepl.yml <<'EOF'
+global:
+ logging:
+ - type: stdout
+ level: info
+ format: human
+
+jobs:
+ - name: f0_to_f1_nfsdata
+ type: push
+ connect:
+ type: tcp
+ address: "192.168.2.131:8888"
+ filesystems:
+ "zdata/enc/nfsdata": true
+ send:
+ encrypted: false
+ snapshotting:
+ type: periodic
+ prefix: zrepl_
+ interval: 1m
+ pruning:
+ keep_sender:
+ - type: last_n
+ count: 10
+ keep_receiver:
+ - type: last_n
+ count: 10
+
+ - name: f0_to_f1_fedora
+ type: push
+ connect:
+ type: tcp
+ address: "192.168.2.131:8888"
+ filesystems:
+ "zroot/bhyve/fedora": true
+ send:
+ encrypted: false
+ snapshotting:
+ type: periodic
+ prefix: zrepl_
+ interval: 10m
+ pruning:
+ keep_sender:
+ - type: last_n
+ count: 10
+ keep_receiver:
+ - type: last_n
+ count: 10
+EOF
+```
+
+Key configuration notes:
+* We're using two separate replication jobs with different intervals:
+ - `f0_to_f1_nfsdata`: Replicates NFS data every minute for faster failover recovery
+ - `f0_to_f1_fedora`: Replicates Fedora VM every 10 minutes (less critical for NFS operations)
+* We're specifically replicating `zdata/enc/nfsdata` instead of the entire `zdata/enc` dataset. This dedicated dataset will contain all the data we later want to expose via NFS, keeping a clear separation between replicated NFS data and other local encrypted data.
+* The `send: encrypted: false` option disables ZFS native encryption for the replication stream. Since we're using a WireGuard tunnel between f0 and f1, the data is already encrypted in transit. Disabling ZFS stream encryption reduces CPU overhead and improves replication performance.
+
+### Configuring zrepl on f1 (sink)
+
+Create the zrepl configuration on f1:
+
+```sh
+# First create a dedicated sink dataset
+paul@f1:~ % doas zfs create zdata/sink
+
+paul@f1:~ % doas tee /usr/local/etc/zrepl/zrepl.yml <<'EOF'
+global:
+ logging:
+ - type: stdout
+ level: info
+ format: human
+
+jobs:
+ - name: "sink"
+ type: sink
+ serve:
+ type: tcp
+ listen: "192.168.2.131:8888"
+ clients:
+ "192.168.2.130": "f0"
+ recv:
+ placeholder:
+ encryption: inherit
+ root_fs: "zdata/sink"
+EOF
+```
+
+### Enabling and starting zrepl services
+
+Enable and start zrepl on both hosts:
+
+```sh
+# On f0
+paul@f0:~ % doas sysrc zrepl_enable=YES
+zrepl_enable: -> YES
+paul@f0:~ % doas service zrepl start
+Starting zrepl.
+
+# On f1
+paul@f1:~ % doas sysrc zrepl_enable=YES
+zrepl_enable: -> YES
+paul@f1:~ % doas service zrepl start
+Starting zrepl.
+```
+
+### Verifying replication
+
+Check the replication status:
+
+```sh
+# On f0, check zrepl status (use raw mode for non-tty)
+paul@f0:~ % doas zrepl status --mode raw | grep -A2 "Replication"
+"Replication":{"StartAt":"2025-07-01T22:31:48.712143123+03:00"...
+
+# Check if services are running
+paul@f0:~ % doas service zrepl status
+zrepl is running as pid 2649.
+
+paul@f1:~ % doas service zrepl status
+zrepl is running as pid 2574.
+
+# Check for zrepl snapshots on source
+paul@f0:~ % doas zfs list -t snapshot -r zdata/enc | grep zrepl
+zdata/enc@zrepl_20250701_193148_000 0B - 176K -
+
+# On f1, verify the replicated datasets
+paul@f1:~ % doas zfs list -r zdata | grep f0
+zdata/f0 576K 899G 200K none
+zdata/f0/zdata 376K 899G 200K none
+zdata/f0/zdata/enc 176K 899G 176K none
+
+# Check replicated snapshots on f1
+paul@f1:~ % doas zfs list -t snapshot -r zdata | grep zrepl
+zdata/f0/zdata/enc@zrepl_20250701_193148_000 0B - 176K -
+zdata/f0/zdata/enc@zrepl_20250701_194148_000 0B - 176K -
+```
+
+### Monitoring replication
+
+You can monitor the replication progress with:
+
+```sh
+# Real-time status
+paul@f0:~ % doas zrepl status --mode interactive
+
+# Check specific job details
+paul@f0:~ % doas zrepl status --job f0_to_f1
+```
+
+With this setup, both `zdata/enc/nfsdata` and `zroot/bhyve/fedora` on f0 will be automatically replicated to f1 every 5 minutes, with encrypted snapshots preserved on both sides. The pruning policy ensures that we keep the last 10 snapshots while managing disk space efficiently.
+
+The replicated data appears on f1 under `zdata/sink/` with the source host and dataset hierarchy preserved:
+
+* `zdata/enc/nfsdata` → `zdata/sink/f0/zdata/enc/nfsdata`
+* `zroot/bhyve/fedora` → `zdata/sink/f0/zroot/bhyve/fedora`
+
+This is by design - zrepl preserves the complete path from the source to ensure there are no conflicts when replicating from multiple sources. The replication uses the WireGuard tunnel for secure, encrypted transport between nodes.
+
+### A note about the Bhyve VM replication
+
+While replicating a Bhyve VM (Fedora in this case) is slightly off-topic for the f3s series, I've included it here as it demonstrates zrepl's flexibility. This is a development VM I use occasionally to log in remotely for certain development tasks. Having it replicated ensures I have a backup copy available on f1 if needed.
+
+### Quick status check commands
+
+Here are the essential commands to monitor replication status:
+
+```sh
+# On the source node (f0) - check if replication is active
+paul@f0:~ % doas zrepl status --job f0_to_f1 | grep -E '(State|Last)'
+State: done
+LastError:
+
+# List all zrepl snapshots on source
+paul@f0:~ % doas zfs list -t snapshot | grep zrepl
+zdata/enc/nfsdata@zrepl_20250701_202530_000 0B - 200K -
+zroot/bhyve/fedora@zrepl_20250701_202530_000 0B - 2.97G -
+
+# On the sink node (f1) - verify received datasets
+paul@f1:~ % doas zfs list -r zdata/sink
+NAME USED AVAIL REFER MOUNTPOINT
+zdata/sink 3.0G 896G 200K /data/sink
+zdata/sink/f0 3.0G 896G 200K none
+zdata/sink/f0/zdata 472K 896G 200K none
+zdata/sink/f0/zdata/enc 272K 896G 200K none
+zdata/sink/f0/zdata/enc/nfsdata 176K 896G 176K none
+zdata/sink/f0/zroot 2.9G 896G 200K none
+zdata/sink/f0/zroot/bhyve 2.9G 896G 200K none
+zdata/sink/f0/zroot/bhyve/fedora 2.9G 896G 2.97G none
+
+# Check received snapshots on sink
+paul@f1:~ % doas zfs list -t snapshot -r zdata/sink | grep zrepl | wc -l
+ 3
+
+# Monitor replication progress in real-time (on source)
+paul@f0:~ % doas zrepl status --mode interactive
+
+# Check last replication time (on source)
+paul@f0:~ % doas zrepl status --job f0_to_f1 | grep -A1 "Replication"
+Replication:
+ Status: Idle (last run: 2025-07-01T22:41:48)
+
+# View zrepl logs for troubleshooting
+paul@f0:~ % doas tail -20 /var/log/zrepl.log | grep -E '(error|warn|replication)'
+```
+
+These commands provide a quick way to verify that:
+
+* Replication jobs are running without errors
+* Snapshots are being created on the source
+* Data is being received on the sink
+* The replication schedule is being followed
+
+### Verifying replication after reboot
+
+The zrepl service is configured to start automatically at boot. After rebooting both hosts:
+
+```sh
+paul@f0:~ % uptime
+11:17PM up 1 min, 0 users, load averages: 0.16, 0.06, 0.02
+
+paul@f0:~ % doas service zrepl status
+zrepl is running as pid 2366.
+
+paul@f1:~ % doas service zrepl status
+zrepl is running as pid 2309.
+
+# Check that new snapshots are being created and replicated
+paul@f0:~ % doas zfs list -t snapshot | grep zrepl | tail -2
+zdata/enc/nfsdata@zrepl_20250701_202530_000 0B - 200K -
+zroot/bhyve/fedora@zrepl_20250701_202530_000 0B - 2.97G -
+
+paul@f1:~ % doas zfs list -t snapshot -r zdata/sink | grep 202530
+zdata/sink/f0/zdata/enc/nfsdata@zrepl_20250701_202530_000 0B - 176K -
+zdata/sink/f0/zroot/bhyve/fedora@zrepl_20250701_202530_000 0B - 2.97G -
+```
+
+The timestamps confirm that replication resumed automatically after the reboot, ensuring continuous data protection.
+
+### Understanding Failover Limitations and Design Decisions
+
+#### Why Manual Failover?
+
+This storage system intentionally uses manual failover rather than automatic failover. This might seem counterintuitive for a "high availability" system, but it's a deliberate design choice based on real-world experience:
+
+1. Split-brain prevention: Automatic failover can cause both nodes to become active simultaneously if network communication fails. This leads to data divergence that's extremely difficult to resolve.
+
+2. False positive protection: Temporary network issues or high load can trigger unwanted failovers. Manual intervention ensures failovers only occur when truly necessary.
+
+3. Data integrity over availability: For storage systems, data consistency is paramount. A few minutes of downtime is preferable to data corruption or loss.
+
+4. Simplified recovery: With manual failover, you always know which dataset is authoritative, making recovery straightforward.
+
+#### Current Failover Process
+
+The replicated datasets on f1 are intentionally not mounted (`mountpoint=none`). In case f0 fails:
+
+```sh
+# Manual steps needed on f1 to activate the replicated data:
+paul@f1:~ % doas zfs set mountpoint=/data/nfsdata zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs mount zdata/sink/f0/zdata/enc/nfsdata
+```
+
+However, this creates a split-brain problem: when f0 comes back online, both systems would have diverged data. Resolving this requires careful manual intervention to:
+
+1. Stop the original replication
+2. Sync changes from f1 back to f0
+3. Re-establish normal replication
+
+For true high-availability NFS, you might consider:
+
+* Shared storage (like iSCSI) with proper clustering
+* GlusterFS or similar distributed filesystems
+* Manual failover with ZFS replication (as we have here)
+
+Note: While HAST+CARP is often suggested for HA storage, it can cause filesystem corruption in practice, especially with ZFS. The block-level replication of HAST doesn't understand ZFS's transactional model, leading to inconsistent states during failover.
+
+The current zrepl setup, despite requiring manual intervention, is actually safer because:
+
+* ZFS snapshots are always consistent
+* Replication is ZFS-aware (not just block-level)
+* You have full control over the failover process
+* No risk of split-brain corruption
+
+### Mounting the NFS datasets
+
+To make the nfsdata accessible on both nodes, we need to mount them. On f0, this is straightforward:
+
+```sh
+# On f0 - set mountpoint for the primary nfsdata
+paul@f0:~ % doas zfs set mountpoint=/data/nfs zdata/enc/nfsdata
+paul@f0:~ % doas mkdir -p /data/nfs
+
+# Verify it's mounted
+paul@f0:~ % df -h /data/nfs
+Filesystem Size Used Avail Capacity Mounted on
+zdata/enc/nfsdata 899G 204K 899G 0% /data/nfs
+```
+
+On f1, we need to handle the encryption key and mount the standby copy:
+
+```sh
+# On f1 - first check encryption status
+paul@f1:~ % doas zfs get keystatus zdata/sink/f0/zdata/enc/nfsdata
+NAME PROPERTY VALUE SOURCE
+zdata/sink/f0/zdata/enc/nfsdata keystatus unavailable -
+
+# Load the encryption key (using f0's key stored on the USB)
+paul@f1:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key \
+ zdata/sink/f0/zdata/enc/nfsdata
+
+# Set mountpoint and mount (same path as f0 for easier failover)
+paul@f1:~ % doas mkdir -p /data/nfs
+paul@f1:~ % doas zfs set mountpoint=/data/nfs zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs mount zdata/sink/f0/zdata/enc/nfsdata
+
+# Make it read-only to prevent accidental writes that would break replication
+paul@f1:~ % doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata
+
+# Verify
+paul@f1:~ % df -h /data/nfs
+Filesystem Size Used Avail Capacity Mounted on
+zdata/sink/f0/zdata/enc/nfsdata 896G 204K 896G 0% /data/nfs
+```
+
+Note: The dataset is mounted at the same path (`/data/nfs`) on both hosts to simplify failover procedures. The dataset on f1 is set to `readonly=on` to prevent accidental modifications that would break replication.
+
+CRITICAL WARNING: Do NOT write to `/data/nfs/` on f1! Any modifications will break the replication. If you accidentally write to it, you'll see this error:
+
+```
+cannot receive incremental stream: destination zdata/sink/f0/zdata/enc/nfsdata has been modified
+since most recent snapshot
+```
+
+To fix a broken replication after accidental writes:
+```sh
+# Option 1: Rollback to the last common snapshot (loses local changes)
+paul@f1:~ % doas zfs rollback zdata/sink/f0/zdata/enc/nfsdata@zrepl_20250701_204054_000
+
+# Option 2: Make it read-only to prevent accidents
+paul@f1:~ % doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata
+```
+
+### Failback scenario: Syncing changes from f1 back to f0
+
+In a disaster recovery scenario where f0 has failed and f1 has taken over, you'll need to sync changes back when f0 returns. Here's how to failback:
+
+```sh
+# On f1: First, make the dataset writable (if it was readonly)
+paul@f1:~ % doas zfs set readonly=off zdata/sink/f0/zdata/enc/nfsdata
-/boot/loader.conf add carp_load="YES"
-reboot or run doas kldload carp0
+# Create a snapshot of the current state
+paul@f1:~ % doas zfs snapshot zdata/sink/f0/zdata/enc/nfsdata@failback
+# On f0: Stop any services using the dataset
+paul@f0:~ % doas service nfsd stop # If NFS is running
+
+# Send the snapshot from f1 to f0, forcing a rollback
+# This WILL DESTROY any data on f0 that's not on f1!
+paul@f1:~ % doas zfs send -R zdata/sink/f0/zdata/enc/nfsdata@failback | \
+ ssh f0 "doas zfs recv -F zdata/enc/nfsdata"
+
+# Alternative: If you want to see what would be received first
+paul@f1:~ % doas zfs send -R zdata/sink/f0/zdata/enc/nfsdata@failback | \
+ ssh f0 "doas zfs recv -nv -F zdata/enc/nfsdata"
+
+# After successful sync, on f0:
+paul@f0:~ % doas zfs destroy zdata/enc/nfsdata@failback
+
+# On f1: Make it readonly again and destroy the failback snapshot
+paul@f1:~ % doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs destroy zdata/sink/f0/zdata/enc/nfsdata@failback
+
+# Stop zrepl services first - CRITICAL!
+paul@f0:~ % doas service zrepl stop
+paul@f1:~ % doas service zrepl stop
+
+# Clean up any zrepl snapshots on f0
+paul@f0:~ % doas zfs list -t snapshot -r zdata/enc/nfsdata | grep zrepl | \
+ awk '{print $1}' | xargs -I {} doas zfs destroy {}
+
+# Clean up and destroy the entire replicated structure on f1
+# First release any holds
+paul@f1:~ % doas zfs holds -r zdata/sink/f0 | grep -v NAME | \
+ awk '{print $2, $1}' | while read tag snap; do
+ doas zfs release "$tag" "$snap"
+ done
+
+# Then destroy the entire f0 tree
+paul@f1:~ % doas zfs destroy -rf zdata/sink/f0
+
+# Create parent dataset structure on f1
+paul@f1:~ % doas zfs create -p zdata/sink/f0/zdata/enc
+
+# Create a fresh manual snapshot to establish baseline
+paul@f0:~ % doas zfs snapshot zdata/enc/nfsdata@manual_baseline
+
+# Send this snapshot to f1
+paul@f0:~ % doas zfs send -w zdata/enc/nfsdata@manual_baseline | \
+ ssh f1 "doas zfs recv zdata/sink/f0/zdata/enc/nfsdata"
+
+# Clean up the manual snapshot
+paul@f0:~ % doas zfs destroy zdata/enc/nfsdata@manual_baseline
+paul@f1:~ % doas zfs destroy zdata/sink/f0/zdata/enc/nfsdata@manual_baseline
+
+# Set mountpoint and make readonly on f1
+paul@f1:~ % doas zfs set mountpoint=/data/nfs zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata
+
+# Load encryption key and mount on f1
+paul@f1:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key \
+ zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs mount zdata/sink/f0/zdata/enc/nfsdata
+
+# Now restart zrepl services
+paul@f0:~ % doas service zrepl start
+paul@f1:~ % doas service zrepl start
+
+# Verify replication is working
+paul@f0:~ % doas zrepl status --job f0_to_f1
+```
+
+Important notes about failback:
+
+* The `-F` flag forces a rollback on f0, destroying any local changes
+* Replication often won't resume automatically after a forced receive
+* You must clean up old zrepl snapshots on both sides
+* Creating a manual snapshot helps re-establish the replication relationship
+* Always verify replication status after the failback procedure
+* The first replication after failback will be a full send of the current state
+
+### Testing the failback scenario
+
+Here's a real test of the failback procedure:
+
+```sh
+# Simulate failure: Stop replication on f0
+paul@f0:~ % doas service zrepl stop
+
+# On f1: Take over by making the dataset writable
+paul@f1:~ % doas zfs set readonly=off zdata/sink/f0/zdata/enc/nfsdata
+
+# Write some data on f1 during the "outage"
+paul@f1:~ % echo 'Data written on f1 during failover' | doas tee /data/nfs/failover-data.txt
+Data written on f1 during failover
+
+# Now perform failback when f0 comes back online
+# Create snapshot on f1
+paul@f1:~ % doas zfs snapshot zdata/sink/f0/zdata/enc/nfsdata@failback
+
+# Send data back to f0 (note: we had to send to a temporary dataset due to holds)
+paul@f1:~ % doas zfs send -Rw zdata/sink/f0/zdata/enc/nfsdata@failback | \
+ ssh f0 "doas zfs recv -F zdata/enc/nfsdata_temp"
+
+# On f0: Rename datasets to complete failback
+paul@f0:~ % doas zfs set mountpoint=none zdata/enc/nfsdata
+paul@f0:~ % doas zfs rename zdata/enc/nfsdata zdata/enc/nfsdata_old
+paul@f0:~ % doas zfs rename zdata/enc/nfsdata_temp zdata/enc/nfsdata
+
+# Load encryption key and mount
+paul@f0:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/enc/nfsdata
+paul@f0:~ % doas zfs mount zdata/enc/nfsdata
+
+# Verify the data from f1 is now on f0
+paul@f0:~ % ls -la /data/nfs/
+total 18
+drwxr-xr-x 2 root wheel 4 Jul 2 00:01 .
+drwxr-xr-x 4 root wheel 4 Jul 1 23:41 ..
+*rw-r--r-- 1 root wheel 35 Jul 2 00:01 failover-data.txt
+*rw-r--r-- 1 root wheel 12 Jul 1 23:34 hello.txt
+```
+
+Success! The failover data from f1 is now on f0. To resume normal replication, you would need to:
+
+1. Clean up old snapshots on both sides
+2. Create a new manual baseline snapshot
+3. Restart zrepl services
+
+Key learnings from the test:
+
+* The `-w` flag is essential for encrypted datasets
+* Dataset holds can complicate the process (consider sending to a temporary dataset)
+* The encryption key must be loaded after receiving the dataset
+* Always verify data integrity before resuming normal operations
+
+### Troubleshooting: Files not appearing in replication
+
+If you write files to `/data/nfs/` on f0 but they don't appear on f1, check:
+
+```sh
+# 1. Is the dataset actually mounted on f0?
+paul@f0:~ % doas zfs list -o name,mountpoint,mounted | grep nfsdata
+zdata/enc/nfsdata /data/nfs yes
+
+# If it shows "no", the dataset isn't mounted!
+# This means files are being written to the root filesystem, not ZFS
+
+# 2. Check if encryption key is loaded
+paul@f0:~ % doas zfs get keystatus zdata/enc/nfsdata
+NAME PROPERTY VALUE SOURCE
+zdata/enc/nfsdata keystatus available -
+
+# If "unavailable", load the key:
+paul@f0:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/enc/nfsdata
+paul@f0:~ % doas zfs mount zdata/enc/nfsdata
+
+# 3. Verify files are in the snapshot (not just the directory)
+paul@f0:~ % ls -la /data/nfs/.zfs/snapshot/zrepl_*/
+```
+
+This issue commonly occurs after reboot if the encryption keys aren't configured to load automatically.
+
+### Configuring automatic key loading on boot
+
+To ensure all encrypted datasets are mounted automatically after reboot:
+
+```sh
+# On f0 - configure all encrypted datasets
+paul@f0:~ % doas sysrc zfskeys_enable=YES
+zfskeys_enable: NO -> YES
+paul@f0:~ % doas sysrc zfskeys_datasets="zdata/enc zdata/enc/nfsdata zroot/bhyve"
+zfskeys_datasets: -> zdata/enc zdata/enc/nfsdata zroot/bhyve
+
+# Set correct key locations for all datasets
+paul@f0:~ % doas zfs set keylocation=file:///keys/f0.lan.buetow.org:zdata.key zdata/enc/nfsdata
+
+# On f1 - include the replicated dataset
+paul@f1:~ % doas sysrc zfskeys_enable=YES
+zfskeys_enable: NO -> YES
+paul@f1:~ % doas sysrc zfskeys_datasets="zdata/enc zroot/bhyve zdata/sink/f0/zdata/enc/nfsdata"
+zfskeys_datasets: -> zdata/enc zroot/bhyve zdata/sink/f0/zdata/enc/nfsdata
+
+# Set key location for replicated dataset
+paul@f1:~ % doas zfs set keylocation=file:///keys/f0.lan.buetow.org:zdata.key zdata/sink/f0/zdata/enc/nfsdata
+```
+
+Important notes:
+* Each encryption root needs its own key load entry - child datasets don't inherit key loading
+* The replicated dataset on f1 uses the same encryption key as the source on f0
+* Always verify datasets are mounted after reboot with `zfs list -o name,mounted`
+* Critical: Always ensure the replicated dataset on f1 remains read-only with `doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata`
+
+### Troubleshooting: Replication broken due to modified destination
+
+If you see the error "cannot receive incremental stream: destination has been modified since most recent snapshot", it means the read-only flag was accidentally removed on f1. To fix without a full resync:
+
+```sh
+# Stop zrepl on both servers
+paul@f0:~ % doas service zrepl stop
+paul@f1:~ % doas service zrepl stop
+
+# Find the last common snapshot
+paul@f0:~ % doas zfs list -t snapshot -o name,creation zdata/enc/nfsdata
+paul@f1:~ % doas zfs list -t snapshot -o name,creation zdata/sink/f0/zdata/enc/nfsdata
+
+# Rollback f1 to the last common snapshot (example: @zrepl_20250705_000007_000)
+paul@f1:~ % doas zfs rollback -r zdata/sink/f0/zdata/enc/nfsdata@zrepl_20250705_000007_000
+
+# Ensure the dataset is read-only
+paul@f1:~ % doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata
+
+# Restart zrepl
+paul@f0:~ % doas service zrepl start
+paul@f1:~ % doas service zrepl start
+```
+
+### Forcing a full resync
+
+If replication gets out of sync and incremental updates fail:
+
+```sh
+# Stop services
+paul@f0:~ % doas service zrepl stop
+paul@f1:~ % doas service zrepl stop
+
+# On f1: Release holds and destroy the dataset
+paul@f1:~ % doas zfs holds -r zdata/sink/f0/zdata/enc/nfsdata | \
+ grep -v NAME | awk '{print $2, $1}' | \
+ while read tag snap; do doas zfs release "$tag" "$snap"; done
+paul@f1:~ % doas zfs destroy -rf zdata/sink/f0/zdata/enc/nfsdata
+
+# On f0: Create fresh snapshot
+paul@f0:~ % doas zfs snapshot zdata/enc/nfsdata@resync
+
+# Send full dataset
+paul@f0:~ % doas zfs send -Rw zdata/enc/nfsdata@resync | \
+ ssh f1 "doas zfs recv zdata/sink/f0/zdata/enc/nfsdata"
+
+# Configure f1
+paul@f1:~ % doas zfs set mountpoint=/data/nfs zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs set readonly=on zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key \
+ zdata/sink/f0/zdata/enc/nfsdata
+paul@f1:~ % doas zfs mount zdata/sink/f0/zdata/enc/nfsdata
+
+# Clean up and restart
+paul@f0:~ % doas zfs destroy zdata/enc/nfsdata@resync
+paul@f1:~ % doas zfs destroy zdata/sink/f0/zdata/enc/nfsdata@resync
+paul@f0:~ % doas service zrepl start
+paul@f1:~ % doas service zrepl start
+```
ZFS auto scrubbing....~?
Backup of the keys on the key locations (all keys on all 3 USB keys)
+## Future Storage Explorations
+
+While zrepl provides excellent snapshot-based replication for disaster recovery, there are other storage technologies worth exploring for the f3s project:
+
+### MinIO for S3-Compatible Object Storage
+
+MinIO is a high-performance, S3-compatible object storage system that could complement our ZFS-based storage. Some potential use cases:
+
+* S3 API compatibility: Many modern applications expect S3-style object storage APIs. MinIO could provide this interface while using our ZFS storage as the backend.
+* Multi-site replication: MinIO supports active-active replication across multiple sites, which could work well with our f0/f1/f2 node setup.
+* Kubernetes native: MinIO has excellent Kubernetes integration with operators and CSI drivers, making it ideal for the f3s k3s environment.
+
+### MooseFS for Distributed High Availability
+
+MooseFS is a fault-tolerant, distributed file system that could provide true high-availability storage:
+
+* True HA: Unlike our current setup which requires manual failover, MooseFS provides automatic failover with no single point of failure.
+* POSIX compliance: Applications can use MooseFS like any regular filesystem, no code changes needed.
+* Flexible redundancy: Configure different replication levels per directory or file, optimizing storage efficiency.
+* FreeBSD support: MooseFS has native FreeBSD support, making it a natural fit for the f3s project.
+
+Both technologies could potentially run on top of our encrypted ZFS volumes, combining ZFS's data integrity and encryption features with distributed storage capabilities. This would be particularly interesting for workloads that need either S3-compatible APIs (MinIO) or transparent distributed POSIX storage (MooseFS).
+
+## NFS Server Configuration
+
+With ZFS replication in place, we can now set up NFS servers on both f0 and f1 to export the replicated data. Since native NFS over TLS (RFC 9289) has compatibility issues between Linux and FreeBSD, we'll use stunnel to provide encryption.
+
+### Setting up NFS on f0 (Primary)
+
+First, enable the NFS services in rc.conf:
+
+```sh
+paul@f0:~ % doas sysrc nfs_server_enable=YES
+nfs_server_enable: YES -> YES
+paul@f0:~ % doas sysrc nfsv4_server_enable=YES
+nfsv4_server_enable: YES -> YES
+paul@f0:~ % doas sysrc nfsuserd_enable=YES
+nfsuserd_enable: YES -> YES
+paul@f0:~ % doas sysrc mountd_enable=YES
+mountd_enable: NO -> YES
+paul@f0:~ % doas sysrc rpcbind_enable=YES
+rpcbind_enable: NO -> YES
+```
+
+Create a dedicated directory for Kubernetes volumes:
+
+```sh
+# First ensure the dataset is mounted
+paul@f0:~ % doas zfs get mounted zdata/enc/nfsdata
+NAME PROPERTY VALUE SOURCE
+zdata/enc/nfsdata mounted yes -
+
+# Create the k3svolumes directory
+paul@f0:~ % doas mkdir -p /data/nfs/k3svolumes
+paul@f0:~ % doas chmod 755 /data/nfs/k3svolumes
+
+# This directory will be replicated to f1 automatically
+```
+
+Create the /etc/exports file. Since we're using stunnel for encryption, ALL clients must connect through stunnel, which appears as localhost (127.0.0.1) to the NFS server:
+
+```sh
+paul@f0:~ % doas tee /etc/exports <<'EOF'
+V4: /data/nfs -sec=sys
+/data/nfs -alldirs -maproot=root -network 127.0.0.1 -mask 255.255.255.255
+EOF
+```
+
+The exports configuration:
+
+* `V4: /data/nfs -sec=sys`: Sets the NFSv4 root directory to /data/nfs
+* `/data/nfs -alldirs`: Allows mounting any subdirectory under /data/nfs
+* `-maproot=root`: Maps root user from client to root on server (needed for Kubernetes and ownership changes)
+* `-network 127.0.0.1`: Only accepts connections from localhost (stunnel)
+
+Note:
+* ALL clients (r0, r1, r2, laptop) must connect through stunnel for encryption
+* Stunnel proxies connections through localhost, so only 127.0.0.1 needs access
+* With NFSv4, clients mount using relative paths (e.g., `/k3svolumes` instead of `/data/nfs/k3svolumes`)
+
+Start the NFS services:
+
+```sh
+paul@f0:~ % doas service rpcbind start
+Starting rpcbind.
+paul@f0:~ % doas service mountd start
+Starting mountd.
+paul@f0:~ % doas service nfsd start
+Starting nfsd.
+paul@f0:~ % doas service nfsuserd start
+Starting nfsuserd.
+```
+
+### Configuring Stunnel for NFS Encryption with CARP Failover
+
+#### Why Not Native NFS over TLS?
+
+FreeBSD 13+ supports native NFS over TLS (RFC 9289), which would be the ideal solution. However, there are significant compatibility challenges:
+
+* Linux client support is incomplete: Most Linux distributions don't fully support NFS over TLS yet
+* Certificate management differs: FreeBSD and Linux handle TLS certificates differently for NFS
+* Kernel module requirements: Requires specific kernel modules that may not be available
+
+Stunnel provides a more compatible solution that works reliably across all operating systems while offering equivalent security.
+
+#### Stunnel Architecture with CARP
+
+Stunnel integrates seamlessly with our CARP setup:
+
+```
+ CARP VIP (192.168.1.138)
+ |
+ f0 (MASTER) ←---------→|←---------→ f1 (BACKUP)
+ stunnel:2323 | stunnel:stopped
+ nfsd:2049 | nfsd:stopped
+ |
+ Clients connect here
+```
+
+The key insight is that stunnel binds to the CARP VIP. When CARP fails over, the VIP moves to the new MASTER, and stunnel starts there automatically. Clients maintain their connection to the same IP throughout.
+
+#### Creating a Certificate Authority for Client Authentication
+
+First, create a CA to sign both server and client certificates:
+
+```sh
+# On f0 - Create CA
+paul@f0:~ % doas mkdir -p /usr/local/etc/stunnel/ca
+paul@f0:~ % cd /usr/local/etc/stunnel/ca
+paul@f0:~ % doas openssl genrsa -out ca-key.pem 4096
+paul@f0:~ % doas openssl req -new -x509 -days 3650 -key ca-key.pem -out ca-cert.pem \
+ -subj '/C=US/ST=State/L=City/O=F3S Storage/CN=F3S Stunnel CA'
+
+# Create server certificate
+paul@f0:~ % cd /usr/local/etc/stunnel
+paul@f0:~ % doas openssl genrsa -out server-key.pem 4096
+paul@f0:~ % doas openssl req -new -key server-key.pem -out server.csr \
+ -subj '/C=US/ST=State/L=City/O=F3S Storage/CN=f3s-storage-ha.lan'
+paul@f0:~ % doas openssl x509 -req -days 3650 -in server.csr -CA ca/ca-cert.pem \
+ -CAkey ca/ca-key.pem -CAcreateserial -out server-cert.pem
+
+# Create client certificates for authorized clients
+paul@f0:~ % cd /usr/local/etc/stunnel/ca
+paul@f0:~ % doas sh -c 'for client in r0 r1 r2 earth; do
+ openssl genrsa -out ${client}-key.pem 4096
+ openssl req -new -key ${client}-key.pem -out ${client}.csr \
+ -subj "/C=US/ST=State/L=City/O=F3S Storage/CN=${client}.lan.buetow.org"
+ openssl x509 -req -days 3650 -in ${client}.csr -CA ca-cert.pem \
+ -CAkey ca-key.pem -CAcreateserial -out ${client}-cert.pem
+done'
+```
+
+#### Install and Configure Stunnel on f0
+
+```sh
+# Install stunnel
+paul@f0:~ % doas pkg install -y stunnel
+
+# Configure stunnel server with client certificate authentication
+paul@f0:~ % doas tee /usr/local/etc/stunnel/stunnel.conf <<'EOF'
+cert = /usr/local/etc/stunnel/server-cert.pem
+key = /usr/local/etc/stunnel/server-key.pem
+
+setuid = stunnel
+setgid = stunnel
+
+[nfs-tls]
+accept = 192.168.1.138:2323
+connect = 127.0.0.1:2049
+CAfile = /usr/local/etc/stunnel/ca/ca-cert.pem
+verify = 2
+requireCert = yes
+EOF
+
+# Enable and start stunnel
+paul@f0:~ % doas sysrc stunnel_enable=YES
+stunnel_enable: -> YES
+paul@f0:~ % doas service stunnel start
+Starting stunnel.
+
+# Restart stunnel to apply the CARP VIP binding
+paul@f0:~ % doas service stunnel restart
+Stopping stunnel.
+Starting stunnel.
+```
+
+The configuration includes:
+* `verify = 2`: Verify client certificate and fail if not provided
+* `requireCert = yes`: Client must present a valid certificate
+* `CAfile`: Path to the CA certificate that signed the client certificates
+
+### Setting up NFS on f1 (Standby)
+
+Repeat the same configuration on f1:
+
+```sh
+paul@f1:~ % doas sysrc nfs_server_enable=YES
+nfs_server_enable: NO -> YES
+paul@f1:~ % doas sysrc nfsv4_server_enable=YES
+nfsv4_server_enable: NO -> YES
+paul@f1:~ % doas sysrc nfsuserd_enable=YES
+nfsuserd_enable: NO -> YES
+paul@f1:~ % doas sysrc mountd_enable=YES
+mountd_enable: NO -> YES
+paul@f1:~ % doas sysrc rpcbind_enable=YES
+rpcbind_enable: NO -> YES
+
+paul@f1:~ % doas tee /etc/exports <<'EOF'
+V4: /data/nfs -sec=sys
+/data/nfs -alldirs -maproot=root -network 127.0.0.1 -mask 255.255.255.255
+EOF
+
+paul@f1:~ % doas service rpcbind start
+Starting rpcbind.
+paul@f1:~ % doas service mountd start
+Starting mountd.
+paul@f1:~ % doas service nfsd start
+Starting nfsd.
+paul@f1:~ % doas service nfsuserd start
+Starting nfsuserd.
+```
+
+Configure stunnel on f1:
+
+```sh
+# Install stunnel
+paul@f1:~ % doas pkg install -y stunnel
+
+# Copy certificates from f0
+paul@f0:~ % doas tar -cf /tmp/stunnel-certs.tar -C /usr/local/etc/stunnel server-cert.pem server-key.pem ca
+paul@f0:~ % scp /tmp/stunnel-certs.tar f1:/tmp/
+paul@f1:~ % cd /usr/local/etc/stunnel && doas tar -xf /tmp/stunnel-certs.tar
+
+# Configure stunnel server on f1 with client certificate authentication
+paul@f1:~ % doas tee /usr/local/etc/stunnel/stunnel.conf <<'EOF'
+cert = /usr/local/etc/stunnel/server-cert.pem
+key = /usr/local/etc/stunnel/server-key.pem
+
+setuid = stunnel
+setgid = stunnel
+
+[nfs-tls]
+accept = 192.168.1.138:2323
+connect = 127.0.0.1:2049
+CAfile = /usr/local/etc/stunnel/ca/ca-cert.pem
+verify = 2
+requireCert = yes
+EOF
+
+# Enable and start stunnel
+paul@f1:~ % doas sysrc stunnel_enable=YES
+stunnel_enable: -> YES
+paul@f1:~ % doas service stunnel start
+Starting stunnel.
+
+# Restart stunnel to apply the CARP VIP binding
+paul@f1:~ % doas service stunnel restart
+Stopping stunnel.
+Starting stunnel.
+```
+
+### How Stunnel Works with CARP
+
+With stunnel configured to bind to the CARP VIP (192.168.1.138), only the server that is currently the CARP MASTER will accept stunnel connections. This provides automatic failover for encrypted NFS:
+
+* When f0 is CARP MASTER: stunnel on f0 accepts connections on 192.168.1.138:2323
+* When f1 becomes CARP MASTER: stunnel on f1 starts accepting connections on 192.168.1.138:2323
+* The backup server's stunnel process will fail to bind to the VIP and won't accept connections
+
+This ensures that clients always connect to the active NFS server through the CARP VIP.
+
+### CARP Control Script for Clean Failover
+
+To ensure clean failover behavior and prevent stale file handles, we'll create a control script that:
+* Stops NFS services on BACKUP nodes (preventing split-brain scenarios)
+* Starts NFS services only on the MASTER node
+* Manages stunnel binding to the CARP VIP
+
+This approach ensures clients can only connect to the active server, eliminating stale handles from the inactive server:
+
+```sh
+# Create CARP control script on both f0 and f1
+paul@f0:~ % doas tee /usr/local/bin/carpcontrol.sh <<'EOF'
+#!/bin/sh
+# CARP state change control script
+
+case "$1" in
+ MASTER)
+ logger "CARP state changed to MASTER, starting services"
+ service rpcbind start >/dev/null 2>&1
+ service mountd start >/dev/null 2>&1
+ service nfsd start >/dev/null 2>&1
+ service nfsuserd start >/dev/null 2>&1
+ service stunnel restart >/dev/null 2>&1
+ logger "CARP MASTER: NFS and stunnel services started"
+ ;;
+ BACKUP)
+ logger "CARP state changed to BACKUP, stopping services"
+ service stunnel stop >/dev/null 2>&1
+ service nfsd stop >/dev/null 2>&1
+ service mountd stop >/dev/null 2>&1
+ service nfsuserd stop >/dev/null 2>&1
+ logger "CARP BACKUP: NFS and stunnel services stopped"
+ ;;
+ *)
+ logger "CARP state changed to $1 (unhandled)"
+ ;;
+esac
+EOF
+
+paul@f0:~ % doas chmod +x /usr/local/bin/carpcontrol.sh
+
+# Add to devd configuration
+paul@f0:~ % doas tee -a /etc/devd.conf <<'EOF'
+
+# CARP state change notifications
+notify 0 {
+ match "system" "CARP";
+ match "subsystem" "[0-9]+@[a-z]+[0-9]+";
+ match "type" "(MASTER|BACKUP)";
+ action "/usr/local/bin/carpcontrol.sh $type";
+};
+EOF
+
+# Restart devd to apply changes
+paul@f0:~ % doas service devd restart
+```
+
+This enhanced script ensures that:
+* Only the MASTER node runs NFS and stunnel services
+* BACKUP nodes have all services stopped, preventing any client connections
+* Failovers are clean with no possibility of accessing the wrong server
+* Stale file handles are minimized because the old server immediately stops responding
+
+### CARP Management Script
+
+To simplify CARP state management and failover testing, create this helper script on both f0 and f1:
+
+```sh
+# Create the CARP management script
+paul@f0:~ % doas tee /usr/local/bin/carp <<'EOF'
+#!/bin/sh
+# CARP state management script
+# Usage: carp [master|backup|auto-failback enable|auto-failback disable]
+# Without arguments: shows current state
+
+# Find the interface with CARP configured
+CARP_IF=$(ifconfig -l | xargs -n1 | while read if; do
+ ifconfig "$if" 2>/dev/null | grep -q "carp:" && echo "$if" && break
+done)
+
+if [ -z "$CARP_IF" ]; then
+ echo "Error: No CARP interface found"
+ exit 1
+fi
+
+# Get CARP VHID
+VHID=$(ifconfig "$CARP_IF" | grep "carp:" | sed -n 's/.*vhid \([0-9]*\).*/\1/p')
+
+if [ -z "$VHID" ]; then
+ echo "Error: Could not determine CARP VHID"
+ exit 1
+fi
+
+# Function to get current state
+get_state() {
+ ifconfig "$CARP_IF" | grep "carp:" | awk '{print $2}'
+}
+
+# Check for auto-failback block file
+BLOCK_FILE="/data/nfs/nfs.NO_AUTO_FAILBACK"
+check_auto_failback() {
+ if [ -f "$BLOCK_FILE" ]; then
+ echo "WARNING: Auto-failback is DISABLED (file exists: $BLOCK_FILE)"
+ fi
+}
+
+# Main logic
+case "$1" in
+ "")
+ # No argument - show current state
+ STATE=$(get_state)
+ echo "CARP state on $CARP_IF (vhid $VHID): $STATE"
+ check_auto_failback
+ ;;
+ master)
+ # Force to MASTER state
+ echo "Setting CARP to MASTER state..."
+ ifconfig "$CARP_IF" vhid "$VHID" state master
+ sleep 1
+ STATE=$(get_state)
+ echo "CARP state on $CARP_IF (vhid $VHID): $STATE"
+ check_auto_failback
+ ;;
+ backup)
+ # Force to BACKUP state
+ echo "Setting CARP to BACKUP state..."
+ ifconfig "$CARP_IF" vhid "$VHID" state backup
+ sleep 1
+ STATE=$(get_state)
+ echo "CARP state on $CARP_IF (vhid $VHID): $STATE"
+ check_auto_failback
+ ;;
+ auto-failback)
+ case "$2" in
+ enable)
+ if [ -f "$BLOCK_FILE" ]; then
+ rm "$BLOCK_FILE"
+ echo "Auto-failback ENABLED (removed $BLOCK_FILE)"
+ else
+ echo "Auto-failback was already enabled"
+ fi
+ ;;
+ disable)
+ if [ ! -f "$BLOCK_FILE" ]; then
+ touch "$BLOCK_FILE"
+ echo "Auto-failback DISABLED (created $BLOCK_FILE)"
+ else
+ echo "Auto-failback was already disabled"
+ fi
+ ;;
+ *)
+ echo "Usage: $0 auto-failback [enable|disable]"
+ echo " enable: Remove block file to allow automatic failback"
+ echo " disable: Create block file to prevent automatic failback"
+ exit 1
+ ;;
+ esac
+ ;;
+ *)
+ echo "Usage: $0 [master|backup|auto-failback enable|auto-failback disable]"
+ echo " Without arguments: show current CARP state"
+ echo " master: force this node to become CARP MASTER"
+ echo " backup: force this node to become CARP BACKUP"
+ echo " auto-failback enable: allow automatic failback to f0"
+ echo " auto-failback disable: prevent automatic failback to f0"
+ exit 1
+ ;;
+esac
+EOF
+
+paul@f0:~ % doas chmod +x /usr/local/bin/carp
+
+# Copy to f1 as well
+paul@f0:~ % scp /usr/local/bin/carp f1:/tmp/
+paul@f1:~ % doas cp /tmp/carp /usr/local/bin/carp && doas chmod +x /usr/local/bin/carp
+```
+
+Now you can easily manage CARP states and auto-failback:
+
+```sh
+# Check current CARP state
+paul@f0:~ % doas carp
+CARP state on re0 (vhid 1): MASTER
+
+# If auto-failback is disabled, you'll see a warning
+paul@f0:~ % doas carp
+CARP state on re0 (vhid 1): MASTER
+WARNING: Auto-failback is DISABLED (file exists: /data/nfs/nfs.NO_AUTO_FAILBACK)
+
+# Force f0 to become BACKUP (triggers failover to f1)
+paul@f0:~ % doas carp backup
+Setting CARP to BACKUP state...
+CARP state on re0 (vhid 1): BACKUP
+
+# Disable auto-failback (useful for maintenance)
+paul@f0:~ % doas carp auto-failback disable
+Auto-failback DISABLED (created /data/nfs/nfs.NO_AUTO_FAILBACK)
+
+# Enable auto-failback
+paul@f0:~ % doas carp auto-failback enable
+Auto-failback ENABLED (removed /data/nfs/nfs.NO_AUTO_FAILBACK)
+```
+
+This enhanced script:
+- Shows warnings when auto-failback is disabled
+- Provides easy control over the auto-failback feature
+- Makes failover testing and maintenance simpler
+
+### Automatic Failback After Reboot
+
+When f0 reboots (planned or unplanned), f1 takes over as CARP MASTER. To ensure f0 automatically reclaims its primary role once it's fully operational, we'll implement an automatic failback mechanism.
+
+#### Why Automatic Failback?
+
+- **Primary node preference**: f0 has the primary storage; it should be MASTER when available
+- **Post-reboot automation**: Eliminates manual intervention after every f0 reboot
+- **Maintenance flexibility**: Can be disabled when you want f1 to remain MASTER
+
+#### The Auto-Failback Script
+
+Create this script on f0 only (not on f1):
+
+```sh
+paul@f0:~ % doas tee /usr/local/bin/carp-auto-failback.sh <<'EOF'
+#!/bin/sh
+# CARP automatic failback script for f0
+# Ensures f0 reclaims MASTER role after reboot when storage is ready
+
+LOGFILE="/var/log/carp-auto-failback.log"
+MARKER_FILE="/data/nfs/nfs.DO_NOT_REMOVE"
+BLOCK_FILE="/data/nfs/nfs.NO_AUTO_FAILBACK"
+
+log_message() {
+ echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOGFILE"
+}
+
+# Check if we're already MASTER
+CURRENT_STATE=$(/usr/local/bin/carp | awk '{print $NF}')
+if [ "$CURRENT_STATE" = "MASTER" ]; then
+ exit 0
+fi
+
+# Check if /data/nfs is mounted
+if ! mount | grep -q "on /data/nfs "; then
+ log_message "SKIP: /data/nfs not mounted"
+ exit 0
+fi
+
+# Check if marker file exists (identifies this as primary storage)
+if [ ! -f "$MARKER_FILE" ]; then
+ log_message "SKIP: Marker file $MARKER_FILE not found"
+ exit 0
+fi
+
+# Check if failback is blocked (for maintenance)
+if [ -f "$BLOCK_FILE" ]; then
+ log_message "SKIP: Failback blocked by $BLOCK_FILE"
+ exit 0
+fi
+
+# Check if NFS services are running (ensure we're fully ready)
+if ! service nfsd status >/dev/null 2>&1; then
+ log_message "SKIP: NFS services not yet running"
+ exit 0
+fi
+
+# All conditions met - promote to MASTER
+log_message "CONDITIONS MET: Promoting to MASTER (was $CURRENT_STATE)"
+/usr/local/bin/carp master
+
+# Log result
+sleep 2
+NEW_STATE=$(/usr/local/bin/carp | awk '{print $NF}')
+log_message "Failback complete: State is now $NEW_STATE"
+
+# If successful, log to system log too
+if [ "$NEW_STATE" = "MASTER" ]; then
+ logger "CARP: f0 automatically reclaimed MASTER role"
+fi
+EOF
+
+paul@f0:~ % doas chmod +x /usr/local/bin/carp-auto-failback.sh
+```
+
+#### Setting Up the Marker File
+
+The marker file identifies f0's primary storage. Create it once:
+
+```sh
+paul@f0:~ % doas touch /data/nfs/nfs.DO_NOT_REMOVE
+```
+
+This file will be replicated to f1, but since f1 mounts the dataset at a different path, it won't trigger failback there.
+
+#### Configuring Cron
+
+Add a cron job to check every minute:
+
+```sh
+paul@f0:~ % echo "* * * * * /usr/local/bin/carp-auto-failback.sh" | doas crontab -
+```
+
+#### Managing Automatic Failback
+
+The enhanced CARP script provides integrated control over auto-failback:
+
+**To temporarily disable automatic failback** (e.g., for f0 maintenance):
+```sh
+paul@f0:~ % doas carp auto-failback disable
+Auto-failback DISABLED (created /data/nfs/nfs.NO_AUTO_FAILBACK)
+```
+
+**To re-enable automatic failback**:
+```sh
+paul@f0:~ % doas carp auto-failback enable
+Auto-failback ENABLED (removed /data/nfs/nfs.NO_AUTO_FAILBACK)
+```
+
+**To check if auto-failback is enabled**:
+```sh
+paul@f0:~ % doas carp
+CARP state on re0 (vhid 1): MASTER
+# If disabled, you'll see: WARNING: Auto-failback is DISABLED
+```
+
+**To monitor failback attempts**:
+```sh
+paul@f0:~ % tail -f /var/log/carp-auto-failback.log
+```
+
+#### How It Works
+
+1. **After f0 reboots**: f1 is MASTER, f0 boots as BACKUP
+2. **Cron runs every minute**: Checks if conditions are met
+3. **Safety checks**:
+ - Is f0 currently BACKUP? (don't run if already MASTER)
+ - Is /data/nfs mounted? (ZFS datasets are ready)
+ - Does marker file exist? (confirms this is primary storage)
+ - Is failback blocked? (admin can prevent failback)
+ - Are NFS services running? (system is fully ready)
+4. **Failback occurs**: Typically 2-3 minutes after boot completes
+5. **Logging**: All attempts logged for troubleshooting
+
+This ensures f0 automatically resumes its role as primary storage server after any reboot, while providing administrative control when needed.
+
+### Verifying Stunnel and CARP Status
+
+First, check which host is currently CARP MASTER:
+
+```sh
+# On f0 - check CARP status
+paul@f0:~ % ifconfig re0 | grep carp
+ inet 192.168.1.130 netmask 0xffffff00 broadcast 192.168.1.255
+ inet 192.168.1.138 netmask 0xffffffff broadcast 192.168.1.138 vhid 1
+
+# If f0 is MASTER, verify stunnel is listening on the VIP
+paul@f0:~ % doas sockstat -l | grep 2323
+stunnel stunnel 1234 3 tcp4 192.168.1.138:2323 *:*
+
+# On f1 - check CARP status
+paul@f1:~ % ifconfig re0 | grep carp
+ inet 192.168.1.131 netmask 0xffffff00 broadcast 192.168.1.255
+
+# If f1 is BACKUP, stunnel won't be able to bind to the VIP
+paul@f1:~ % doas tail /var/log/messages | grep stunnel
+Jul 4 12:34:56 f1 stunnel: [!] bind: 192.168.1.138:2323: Can't assign requested address (49)
+```
+
+### Verifying NFS Exports
+
+Check that the exports are active on both servers:
+
+```sh
+# On f0
+paul@f0:~ % doas showmount -e localhost
+Exports list on localhost:
+/data/nfs 127.0.0.1
+
+# On f1
+paul@f1:~ % doas showmount -e localhost
+Exports list on localhost:
+/data/nfs 127.0.0.1
+```
+
+### Client Configuration for Stunnel
+
+To mount NFS shares with stunnel encryption, clients need to install and configure stunnel with their client certificates.
+
+#### Preparing Client Certificates
+
+On f0, prepare the client certificate packages:
+
+```sh
+# Create combined certificate/key files for each client
+paul@f0:~ % cd /usr/local/etc/stunnel/ca
+paul@f0:~ % doas sh -c 'for client in r0 r1 r2 earth; do
+ cat ${client}-cert.pem ${client}-key.pem > /tmp/${client}-stunnel.pem
+done'
+```
+
+#### Configuring Rocky Linux Clients (r0, r1, r2)
+
+```sh
+# Install stunnel on client (example for r0)
+[root@r0 ~]# dnf install -y stunnel
+
+# Copy client certificate and CA certificate from f0
+[root@r0 ~]# scp f0:/tmp/r0-stunnel.pem /etc/stunnel/
+[root@r0 ~]# scp f0:/usr/local/etc/stunnel/ca/ca-cert.pem /etc/stunnel/
+
+# Configure stunnel client with certificate authentication
+[root@r0 ~]# tee /etc/stunnel/stunnel.conf <<'EOF'
+cert = /etc/stunnel/r0-stunnel.pem
+CAfile = /etc/stunnel/ca-cert.pem
+client = yes
+verify = 2
+
+[nfs-ha]
+accept = 127.0.0.1:2323
+connect = 192.168.1.138:2323
+EOF
+
+# Enable and start stunnel
+[root@r0 ~]# systemctl enable --now stunnel
+
+# Repeat for r1 and r2 with their respective certificates
+```
+
+Note: Each client must use its own certificate file (r0-stunnel.pem, r1-stunnel.pem, r2-stunnel.pem, or earth-stunnel.pem).
+
+### Testing NFS Mount with Stunnel
+
+Mount NFS through the stunnel encrypted tunnel:
+
+```sh
+# Create mount point
+[root@r0 ~]# mkdir -p /data/nfs/k3svolumes
+
+# Mount through stunnel (using localhost and NFSv4)
+[root@r0 ~]# mount -t nfs4 -o port=2323 127.0.0.1:/data/nfs/k3svolumes /data/nfs/k3svolumes
+
+# Verify mount
+[root@r0 ~]# mount | grep k3svolumes
+127.0.0.1:/data/nfs/k3svolumes on /data/nfs/k3svolumes type nfs4 (rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=2323,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)
+
+# For persistent mount, add to /etc/fstab:
+127.0.0.1:/data/nfs/k3svolumes /data/nfs/k3svolumes nfs4 port=2323,_netdev 0 0
+```
+
+Note: The mount uses localhost (127.0.0.1) because stunnel is listening locally and forwarding the encrypted traffic to the remote server.
+
+Verify the file was written and replicated:
+
+```sh
+# Check on f0
+paul@f0:~ % cat /data/nfs/test-r0.txt
+Test from r0
+
+# After replication interval (5 minutes), check on f1
+paul@f1:~ % cat /data/nfs/test-r0.txt
+Test from r0
+```
+
+### Important: Encryption Keys for Replicated Datasets
+
+When using encrypted ZFS datasets with raw sends (send -w), the replicated datasets on f1 need the encryption keys loaded to access the data:
+
+```sh
+# Check encryption status on f1
+paul@f1:~ % doas zfs get keystatus zdata/sink/f0/zdata/enc/nfsdata
+NAME PROPERTY VALUE SOURCE
+zdata/sink/f0/zdata/enc/nfsdata keystatus unavailable -
+
+# Load the encryption key (uses the same key as f0)
+paul@f1:~ % doas zfs load-key -L file:///keys/f0.lan.buetow.org:zdata.key zdata/sink/f0/zdata/enc/nfsdata
+
+# Mount the dataset
+paul@f1:~ % doas zfs mount zdata/sink/f0/zdata/enc/nfsdata
+
+# Configure automatic key loading on boot
+paul@f1:~ % doas sysrc zfskeys_datasets="zdata/enc zroot/bhyve zdata/sink/f0/zdata/enc/nfsdata"
+zfskeys_datasets: -> zdata/enc zroot/bhyve zdata/sink/f0/zdata/enc/nfsdata
+```
+
+This ensures that after a reboot, f1 will automatically load the encryption keys and mount all encrypted datasets, including the replicated ones.
+
+### NFS Failover with CARP and Stunnel
+
+With NFS servers running on both f0 and f1 and stunnel bound to the CARP VIP:
+
+* Automatic failover: When f0 fails, CARP automatically promotes f1 to MASTER
+* Stunnel failover: The carpcontrol.sh script automatically starts stunnel on the new MASTER
+* Client transparency: Clients always connect to 192.168.1.138:2323, which routes to the active server
+* No connection disruption: Existing NFS mounts continue working through the same VIP
+* Data consistency: ZFS replication ensures f1 has recent data (within 5-minute window)
+* Read-only replica: The replicated dataset on f1 is always mounted read-only to prevent breaking replication
+* Manual intervention required for full RW failover: When f1 becomes MASTER, you must:
+ 1. Stop zrepl to prevent conflicts: `doas service zrepl stop`
+ 2. Make the replicated dataset writable: `doas zfs set readonly=off zdata/sink/f0/zdata/enc/nfsdata`
+ 3. Ensure encryption keys are loaded (should be automatic with zfskeys_enable)
+ 4. NFS will automatically start serving read/write requests through the VIP
+
+Important: The `/data/nfs` mount on f1 remains read-only during normal operation to ensure replication integrity. In case of a failover, clients can still read data immediately, but write operations require the manual steps above to promote f1 to full read-write mode.
+
+### Testing CARP Failover
+
+To test the failover process:
+
+```sh
+# On f0 (current MASTER) - trigger failover
+paul@f0:~ % doas ifconfig re0 vhid 1 state backup
+
+# On f1 - verify it becomes MASTER
+paul@f1:~ % ifconfig re0 | grep carp
+ inet 192.168.1.138 netmask 0xffffffff broadcast 192.168.1.138 vhid 1
+
+# Check stunnel is now listening on f1
+paul@f1:~ % doas sockstat -l | grep 2323
+stunnel stunnel 4567 3 tcp4 192.168.1.138:2323 *:*
+
+# On client - verify NFS mount still works
+[root@r0 ~]# ls /data/nfs/k3svolumes/
+[root@r0 ~]# echo "Test after failover" > /data/nfs/k3svolumes/failover-test.txt
+```
+
+### Handling Stale File Handles After Failover
+
+After a CARP failover, NFS clients may experience "Stale file handle" errors because they cached file handles from the previous server. To resolve this:
+
+Manual recovery (immediate fix):
+```sh
+# Force unmount and remount
+[root@r0 ~]# umount -f /data/nfs/k3svolumes
+[root@r0 ~]# mount /data/nfs/k3svolumes
+```
+
+Automatic recovery options:
+
+1. Use soft mounts with shorter timeouts in `/etc/fstab`:
+```
+127.0.0.1:/k3svolumes /data/nfs/k3svolumes nfs4 port=2323,_netdev,soft,timeo=10,retrans=2,intr 0 0
+```
+
+2. Create an automatic recovery system using systemd timers (checks every 10 seconds):
+
+First, create the monitoring script:
+```sh
+[root@r0 ~]# cat > /usr/local/bin/check-nfs-mount.sh << 'EOF'
+#!/bin/bash
+# Fast NFS mount health monitor - runs every 10 seconds via systemd timer
+
+MOUNT_POINT="/data/nfs/k3svolumes"
+LOCK_FILE="/var/run/nfs-mount-check.lock"
+STATE_FILE="/var/run/nfs-mount.state"
+
+# Use a lock file to prevent concurrent runs
+if [ -f "$LOCK_FILE" ]; then
+ exit 0
+fi
+touch "$LOCK_FILE"
+trap "rm -f $LOCK_FILE" EXIT
+
+# Quick check - try to stat a directory with very short timeout
+if timeout 2s stat "$MOUNT_POINT" >/dev/null 2>&1; then
+ # Mount appears healthy
+ if [ -f "$STATE_FILE" ]; then
+ # Was previously unhealthy, log recovery
+ echo "NFS mount recovered at $(date)" | systemd-cat -t nfs-monitor -p info
+ rm -f "$STATE_FILE"
+ fi
+ exit 0
+fi
+
+# Mount is unhealthy
+if [ ! -f "$STATE_FILE" ]; then
+ # First detection of unhealthy state
+ echo "NFS mount unhealthy detected at $(date)" | systemd-cat -t nfs-monitor -p warning
+ touch "$STATE_FILE"
+fi
+
+# Try to fix
+echo "Attempting to fix stale NFS mount at $(date)" | systemd-cat -t nfs-monitor -p notice
+umount -f "$MOUNT_POINT" 2>/dev/null
+sleep 1
+
+if mount "$MOUNT_POINT"; then
+ echo "NFS mount fixed at $(date)" | systemd-cat -t nfs-monitor -p info
+ rm -f "$STATE_FILE"
+else
+ echo "Failed to fix NFS mount at $(date)" | systemd-cat -t nfs-monitor -p err
+fi
+EOF
+[root@r0 ~]# chmod +x /usr/local/bin/check-nfs-mount.sh
+```
+
+Create the systemd service:
+```sh
+[root@r0 ~]# cat > /etc/systemd/system/nfs-mount-monitor.service << 'EOF'
+[Unit]
+Description=NFS Mount Health Monitor
+After=network-online.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/local/bin/check-nfs-mount.sh
+StandardOutput=journal
+StandardError=journal
+EOF
+```
+
+Create the systemd timer (runs every 10 seconds):
+```sh
+[root@r0 ~]# cat > /etc/systemd/system/nfs-mount-monitor.timer << 'EOF'
+[Unit]
+Description=Run NFS Mount Health Monitor every 10 seconds
+Requires=nfs-mount-monitor.service
+
+[Timer]
+OnBootSec=30s
+OnUnitActiveSec=10s
+AccuracySec=1s
+
+[Install]
+WantedBy=timers.target
+EOF
+```
+
+Enable and start the timer:
+```sh
+[root@r0 ~]# systemctl daemon-reload
+[root@r0 ~]# systemctl enable nfs-mount-monitor.timer
+[root@r0 ~]# systemctl start nfs-mount-monitor.timer
+
+# Check status
+[root@r0 ~]# systemctl status nfs-mount-monitor.timer
+● nfs-mount-monitor.timer - Run NFS Mount Health Monitor every 10 seconds
+ Loaded: loaded (/etc/systemd/system/nfs-mount-monitor.timer; enabled)
+ Active: active (waiting) since Sat 2025-07-06 10:00:00 EEST
+ Trigger: Sat 2025-07-06 10:00:10 EEST; 8s left
+
+# Monitor logs
+[root@r0 ~]# journalctl -u nfs-mount-monitor -f
+```
+
+3. For Kubernetes, use liveness probes that restart pods when NFS becomes stale
+
+Note: Stale file handles are inherent to NFS failover because file handles are server-specific. The best approach depends on your application's tolerance for brief disruptions.
+
+### Complete Failover Test
+
+Here's a comprehensive test of the failover behavior with all optimizations in place:
+
+```sh
+# 1. Check initial state
+paul@f0:~ % ifconfig re0 | grep carp
+ carp: MASTER vhid 1 advbase 1 advskew 0
+paul@f1:~ % ifconfig re0 | grep carp
+ carp: BACKUP vhid 1 advbase 1 advskew 0
+
+# 2. Create a test file from a client
+[root@r0 ~]# echo "test before failover" > /data/nfs/k3svolumes/test-before.txt
+
+# 3. Trigger failover (f0 → f1)
+paul@f0:~ % doas ifconfig re0 vhid 1 state backup
+
+# 4. Monitor client behavior
+[root@r0 ~]# ls /data/nfs/k3svolumes/
+ls: cannot access '/data/nfs/k3svolumes/': Stale file handle
+
+# 5. Check automatic recovery (within 10 seconds)
+[root@r0 ~]# journalctl -u nfs-mount-monitor -f
+Jul 06 10:15:32 r0 nfs-monitor[1234]: NFS mount unhealthy detected at Sun Jul 6 10:15:32 EEST 2025
+Jul 06 10:15:32 r0 nfs-monitor[1234]: Attempting to fix stale NFS mount at Sun Jul 6 10:15:32 EEST 2025
+Jul 06 10:15:33 r0 nfs-monitor[1234]: NFS mount fixed at Sun Jul 6 10:15:33 EEST 2025
+```
+
+Failover Timeline:
+* 0 seconds: CARP failover triggered
+* 0-2 seconds: Clients get "Stale file handle" errors (not hanging)
+* 3-10 seconds: Soft mounts ensure quick failure of operations
+* Within 10 seconds: Automatic recovery via systemd timer
+
+Benefits of the Optimized Setup:
+1. No hanging processes - Soft mounts fail quickly
+2. Clean failover - Old server stops serving immediately
+3. Fast automatic recovery - No manual intervention needed
+4. Predictable timing - Recovery within 10 seconds with systemd timer
+5. Better visibility - systemd journal provides detailed logs
+
+Important Considerations:
+* Recent writes (within 5 minutes) may not be visible after failover due to replication lag
+* Applications should handle brief NFS errors gracefully
+* For zero-downtime requirements, consider synchronous replication or distributed storage
+
+### Verifying Replication Status
+
+To check if replication is working correctly:
+
+```sh
+# Check replication status
+paul@f0:~ % doas zrepl status
+
+# Check recent snapshots on source
+paul@f0:~ % doas zfs list -t snapshot -o name,creation zdata/enc/nfsdata | tail -5
+
+# Check recent snapshots on destination
+paul@f1:~ % doas zfs list -t snapshot -o name,creation zdata/sink/f0/zdata/enc/nfsdata | tail -5
+
+# Verify data appears on f1 (should be read-only)
+paul@f1:~ % ls -la /data/nfs/k3svolumes/
+```
+
+Important: If you see "connection refused" errors in zrepl logs, ensure:
+* Both servers have zrepl running (`doas service zrepl status`)
+* No firewall or hosts.allow rules are blocking port 8888
+* WireGuard is up if using WireGuard IPs for replication
+
+### Post-Reboot Verification
+
+After rebooting the FreeBSD servers, verify the complete stack:
+
+```sh
+# Check CARP status on all servers
+paul@f0:~ % ifconfig re0 | grep carp
+paul@f1:~ % ifconfig re0 | grep carp
+
+# Verify stunnel is running on the MASTER
+paul@f0:~ % doas sockstat -l | grep 2323
+
+# Check NFS is exported
+paul@f0:~ % doas showmount -e localhost
+
+# Verify all r servers have NFS mounted
+[root@r0 ~]# mount | grep nfs
+[root@r1 ~]# mount | grep nfs
+[root@r2 ~]# mount | grep nfs
+
+# Test write access
+[root@r0 ~]# echo "Test after reboot $(date)" > /data/nfs/k3svolumes/test-reboot.txt
+
+# Verify zrepl is running and replicating
+paul@f0:~ % doas service zrepl status
+paul@f1:~ % doas service zrepl status
+```
+
+### Integration with Kubernetes
+
+In your Kubernetes manifests, you can now create PersistentVolumes using the NFS servers:
+
+```yaml
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: nfs-pv
+spec:
+ capacity:
+ storage: 100Gi
+ accessModes:
+ - ReadWriteMany
+ nfs:
+ server: 192.168.1.138 # f3s-storage-ha.lan (CARP virtual IP)
+ path: /data/nfs/k3svolumes
+ mountOptions:
+ - nfsvers=4
+ - tcp
+ - hard
+ - intr
+```
+
+Using the CARP virtual IP (192.168.1.138) instead of direct server IPs ensures that Kubernetes workloads continue to access storage even if the primary NFS server fails. For encryption, configure stunnel on the Kubernetes nodes.
+
+### Security Benefits of Stunnel with Client Certificates
+
+Using stunnel with client certificate authentication for NFS encryption provides several advantages:
+
+* Compatibility: Works with any NFS version and between different operating systems
+* Strong encryption: Uses TLS/SSL with configurable cipher suites
+* Transparent: Applications don't need modification, encryption happens at transport layer
+* Performance: Minimal overhead (~2% in benchmarks)
+* Flexibility: Can encrypt any TCP-based protocol, not just NFS
+* Strong Authentication: Client certificates provide cryptographic proof of identity
+* Access Control: Only clients with valid certificates signed by your CA can connect
+* Certificate Revocation: You can revoke access by removing certificates from the CA
+
+### Laptop/Workstation Access
+
+For development workstations like "earth" (laptop), the same stunnel configuration works, but there's an important caveat with NFSv4:
+
+```sh
+# Install stunnel
+sudo dnf install stunnel
+
+# Configure stunnel (/etc/stunnel/stunnel.conf)
+cert = /etc/stunnel/earth-stunnel.pem
+CAfile = /etc/stunnel/ca-cert.pem
+client = yes
+verify = 2
+
+[nfs-ha]
+accept = 127.0.0.1:2323
+connect = 192.168.1.138:2323
+
+# Enable and start stunnel
+sudo systemctl enable --now stunnel
+
+# Mount NFS through stunnel
+sudo mount -t nfs4 -o port=2323 127.0.0.1:/ /data/nfs
+
+# Make persistent in /etc/fstab
+127.0.0.1:/ /data/nfs nfs4 port=2323,hard,intr,_netdev 0 0
+```
+
+#### Important: NFSv4 and Stunnel on Newer Linux Clients
+
+On newer Linux distributions (like Fedora 42+), NFSv4 only uses the specified port for initial mount negotiation, but then establishes data connections directly to port 2049, bypassing stunnel. This doesn't occur on Rocky Linux 9 VMs, which properly route all traffic through the specified port.
+
+To ensure all NFS traffic goes through the encrypted tunnel on affected systems, you need to use iptables:
+
+```sh
+# Redirect all NFS traffic to the CARP VIP through stunnel
+sudo iptables -t nat -A OUTPUT -d 192.168.1.138 -p tcp --dport 2049 -j DNAT --to-destination 127.0.0.1:2323
+
+# Make it persistent (example for Fedora)
+sudo dnf install iptables-services
+sudo service iptables save
+sudo systemctl enable iptables
+
+# Or create a startup script
+cat > ~/setup-nfs-stunnel.sh << 'EOF'
+#!/bin/bash
+# Ensure NFSv4 data connections go through stunnel
+sudo iptables -t nat -D OUTPUT -d 192.168.1.138 -p tcp --dport 2049 -j DNAT --to-destination 127.0.0.1:2323 2>/dev/null
+sudo iptables -t nat -A OUTPUT -d 192.168.1.138 -p tcp --dport 2049 -j DNAT --to-destination 127.0.0.1:2323
+EOF
+chmod +x ~/setup-nfs-stunnel.sh
+```
+
+To verify all traffic is encrypted:
+```sh
+# Check active connections
+sudo ss -tnp | grep -E ":2049|:2323"
+# You should see connections to localhost:2323 (stunnel), not direct to the CARP VIP
+
+# Monitor stunnel logs
+journalctl -u stunnel -f
+# You should see connection logs for all NFS operations
+```
+
+Note: The laptop has full access to `/data/nfs` with the `-alldirs` export option, while Kubernetes nodes are restricted to `/data/nfs/k3svolumes`.
+
+The client certificate requirement ensures that:
+* Only authorized clients (r0, r1, r2, and earth) can establish stunnel connections
+* Each client has a unique identity that can be individually managed
+* Stolen IP addresses alone cannot grant access without the corresponding certificate
+* Access can be revoked without changing the server configuration
+
+The combination of ZFS encryption at rest and stunnel in transit ensures data is protected throughout its lifecycle.
+
+This configuration provides a solid foundation for shared storage in the f3s Kubernetes cluster, with automatic replication and encrypted transport.
+
+## Mounting NFS on Rocky Linux 9
+
+### Installing and Configuring NFS Clients on r0, r1, and r2
+
+First, install the necessary packages on all three Rocky Linux nodes:
+
+```sh
+# On r0, r1, and r2
+dnf install -y nfs-utils stunnel
+```
+
+### Configuring Stunnel Client on All Nodes
+
+Copy the certificate and configure stunnel on each Rocky Linux node:
+
+```sh
+# On r0
+scp f0:/usr/local/etc/stunnel/stunnel.pem /etc/stunnel/
+tee /etc/stunnel/stunnel.conf <<'EOF'
+cert = /etc/stunnel/stunnel.pem
+client = yes
+
+[nfs-ha]
+accept = 127.0.0.1:2323
+connect = 192.168.1.138:2323
+EOF
+
+systemctl enable --now stunnel
+
+# Repeat the same configuration on r1 and r2
+```
+
+### Setting Up NFS Mounts
+
+Create mount points and configure persistent mounts on all nodes:
+
+```sh
+# On r0, r1, and r2
+mkdir -p /data/nfs/k3svolumes
+
+# Add to /etc/fstab for persistent mount (note the NFSv4 relative path)
+echo '127.0.0.1:/k3svolumes /data/nfs/k3svolumes nfs4 port=2323,hard,intr,_netdev 0 0' >> /etc/fstab
+
+# Mount the share
+mount /data/nfs/k3svolumes
+```
+
+### Comprehensive NFS Mount Testing
+
+Here's a detailed test plan to verify NFS mounts are working correctly on all nodes:
+
+#### Test 1: Verify Mount Status on All Nodes
+
+```sh
+# On r0
+[root@r0 ~]# mount | grep k3svolumes
+# Expected output:
+# 127.0.0.1:/data/nfs/k3svolumes on /data/nfs/k3svolumes type nfs4 (rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=2323,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)
+
+# On r1
+[root@r1 ~]# mount | grep k3svolumes
+# Should show similar output
+
+# On r2
+[root@r2 ~]# mount | grep k3svolumes
+# Should show similar output
+```
+
+#### Test 2: Verify Stunnel Connectivity
+
+```sh
+# On r0
+[root@r0 ~]# systemctl status stunnel
+# Should show: Active: active (running)
+
+[root@r0 ~]# ss -tnl | grep 2323
+# Should show: LISTEN 0 128 127.0.0.1:2323 0.0.0.0:*
+
+# Test connection to CARP VIP
+[root@r0 ~]# nc -zv 192.168.1.138 2323
+# Should show: Connection to 192.168.1.138 2323 port [tcp/*] succeeded!
+
+# Repeat on r1 and r2
+```
+
+#### Test 3: File Creation and Visibility Test
+
+```sh
+# On r0 - Create test file
+[root@r0 ~]# echo "Test from r0 - $(date)" > /data/nfs/k3svolumes/test-r0.txt
+[root@r0 ~]# ls -la /data/nfs/k3svolumes/test-r0.txt
+# Should show the file with timestamp
+
+# On r1 - Create test file and check r0's file
+[root@r1 ~]# echo "Test from r1 - $(date)" > /data/nfs/k3svolumes/test-r1.txt
+[root@r1 ~]# ls -la /data/nfs/k3svolumes/
+# Should show both test-r0.txt and test-r1.txt
+
+# On r2 - Create test file and check all files
+[root@r2 ~]# echo "Test from r2 - $(date)" > /data/nfs/k3svolumes/test-r2.txt
+[root@r2 ~]# ls -la /data/nfs/k3svolumes/
+# Should show all three files: test-r0.txt, test-r1.txt, test-r2.txt
+```
+
+#### Test 4: Verify Files on Storage Servers
+
+```sh
+# On f0 (primary storage)
+paul@f0:~ % ls -la /data/nfs/k3svolumes/
+# Should show all three test files
+
+# Wait 5 minutes for replication, then check on f1
+paul@f1:~ % ls -la /data/nfs/k3svolumes/
+# Should show all three test files (after replication)
+```
+
+#### Test 5: Performance and Concurrent Access Test
+
+```sh
+# On r0 - Write large file
+[root@r0 ~]# dd if=/dev/zero of=/data/nfs/k3svolumes/test-large-r0.dat bs=1M count=100
+# Should complete without errors
+
+# On r1 - Read the file while r2 writes
+[root@r1 ~]# dd if=/data/nfs/k3svolumes/test-large-r0.dat of=/dev/null bs=1M &
+# Simultaneously on r2
+[root@r2 ~]# dd if=/dev/zero of=/data/nfs/k3svolumes/test-large-r2.dat bs=1M count=100
+
+# Check for any errors or performance issues
+```
+
+#### Test 6: Directory Operations Test
+
+```sh
+# On r0 - Create directory structure
+[root@r0 ~]# mkdir -p /data/nfs/k3svolumes/test-dir/subdir1/subdir2
+[root@r0 ~]# echo "Deep file" > /data/nfs/k3svolumes/test-dir/subdir1/subdir2/deep.txt
+
+# On r1 - Verify and add files
+[root@r1 ~]# ls -la /data/nfs/k3svolumes/test-dir/subdir1/subdir2/
+[root@r1 ~]# echo "Another file from r1" > /data/nfs/k3svolumes/test-dir/subdir1/file-r1.txt
+
+# On r2 - Verify complete structure
+[root@r2 ~]# find /data/nfs/k3svolumes/test-dir -type f
+# Should show both files
+```
+
+#### Test 7: Permission and Ownership Test
+
+```sh
+# On r0 - Create files with different permissions
+[root@r0 ~]# touch /data/nfs/k3svolumes/test-perms-644.txt
+[root@r0 ~]# chmod 644 /data/nfs/k3svolumes/test-perms-644.txt
+[root@r0 ~]# touch /data/nfs/k3svolumes/test-perms-755.txt
+[root@r0 ~]# chmod 755 /data/nfs/k3svolumes/test-perms-755.txt
+
+# On r1 and r2 - Verify permissions are preserved
+[root@r1 ~]# ls -l /data/nfs/k3svolumes/test-perms-*.txt
+[root@r2 ~]# ls -l /data/nfs/k3svolumes/test-perms-*.txt
+# Permissions should match what was set on r0
+```
+
+#### Test 8: Failover Test (Optional but Recommended)
+
+```sh
+# On f0 - Trigger CARP failover
+paul@f0:~ % doas ifconfig re0 vhid 1 state backup
+
+# On all Rocky nodes - Verify mounts still work
+[root@r0 ~]# echo "Test during failover from r0 - $(date)" > /data/nfs/k3svolumes/failover-test-r0.txt
+[root@r1 ~]# echo "Test during failover from r1 - $(date)" > /data/nfs/k3svolumes/failover-test-r1.txt
+[root@r2 ~]# echo "Test during failover from r2 - $(date)" > /data/nfs/k3svolumes/failover-test-r2.txt
+
+# Verify all files are accessible
+[root@r0 ~]# ls -la /data/nfs/k3svolumes/failover-test-*.txt
+
+# On f1 - Verify it's now MASTER
+paul@f1:~ % ifconfig re0 | grep carp
+# Should show the VIP 192.168.1.138
+
+# Restore f0 as MASTER
+paul@f0:~ % doas ifconfig re0 vhid 1 state master
+```
+
+### Troubleshooting Common Issues
+
+#### Mount Hangs or Times Out
+
+```sh
+# Check stunnel connectivity
+systemctl status stunnel
+ss -tnl | grep 2323
+telnet 127.0.0.1 2323
+
+# Check if you can reach the CARP VIP
+ping 192.168.1.138
+nc -zv 192.168.1.138 2323
+
+# Check for firewall issues
+iptables -L -n | grep 2323
+```
+
+#### Permission Denied Errors
+
+```sh
+# Verify the export allows your IP
+# On f0 or f1
+doas showmount -e localhost
+
+# Check if SELinux is blocking (on Rocky Linux)
+getenforce
+# If enforcing, try:
+setenforce 0 # Temporary for testing
+# Or add proper SELinux context:
+setsebool -P use_nfs_home_dirs 1
+```
+
+#### Files Not Visible Across Nodes
+
+```sh
+# Force NFS cache refresh
+# On the affected node
+umount /data/nfs/k3svolumes
+mount /data/nfs/k3svolumes
+
+# Check NFS version
+nfsstat -m
+# Should show NFSv4
+```
+
+#### I/O Errors When Accessing NFS Mount
+
+I/O errors can have several causes:
+
+1. Missing localhost in exports (most common with stunnel):
+ - Since stunnel proxies connections, the NFS server sees requests from 127.0.0.1
+ - Ensure your exports include localhost access:
+ ```
+ /data/nfs/k3svolumes -maproot=root -network 127.0.0.1 -mask 255.255.255.255
+ ```
+
+2. Stunnel connection issues or CARP failover:
+
+```sh
+# On the affected node (e.g., r0)
+# Check stunnel is running
+systemctl status stunnel
+
+# Restart stunnel to re-establish connection
+systemctl restart stunnel
+
+# Force remount
+umount -f -l /data/nfs/k3svolumes
+mount -t nfs4 -o port=2323,hard,intr 127.0.0.1:/data/nfs/k3svolumes /data/nfs/k3svolumes
+
+# Check which FreeBSD host is CARP MASTER
+# On f0
+ssh f0 "ifconfig re0 | grep carp"
+# On f1
+ssh f1 "ifconfig re0 | grep carp"
+
+# Verify stunnel on MASTER is bound to VIP
+# On the MASTER host
+ssh <master-host> "sockstat -l | grep 2323"
+
+# Debug stunnel connection
+openssl s_client -connect 192.168.1.138:2323 </dev/null
+
+# If persistent I/O errors, check logs
+journalctl -u stunnel -n 50
+dmesg | tail -20 | grep -i nfs
+```
+
+### Comprehensive Production Test Results
+
+After implementing all the improvements (enhanced CARP control script, soft mounts, and automatic recovery), here's a complete test of the setup including reboots and failovers:
+
+#### Test Scenario: Full System Reboot and Failover
+
+```
+1. Initial state: Rebooted all servers (f0, f1, f2)
+ - Result: f1 became CARP MASTER after reboot (not always f0)
+ - NFS accessible and writable from all clients
+
+2. Created test file from laptop:
+ paul@earth:~ % echo "Post-reboot test at $(date)" > /data/nfs/k3svolumes/reboot-test.txt
+
+3. Verified 1-minute replication to f1:
+ - File appeared on f1 within 70 seconds
+ - Content identical on both servers
+
+4. Performed failover from f0 to f1:
+ paul@f0:~ % doas ifconfig re0 vhid 1 state backup
+ - f1 immediately became MASTER
+ - Clients experienced "Stale file handle" errors
+ - With soft mounts: No hanging, immediate error response
+
+5. Recovery time:
+ - Manual recovery: Immediate with umount/mount
+ - Automatic recovery: Within 10 seconds via systemd timer
+ - No data loss during failover
+
+6. Failback to f0:
+ paul@f1:~ % doas ifconfig re0 vhid 1 state backup
+ - f0 reclaimed MASTER status
+ - Similar stale handle behavior
+ - Recovery within 10 seconds
+```
+
+#### Key Findings
+
+1. CARP Master Selection: After reboot, either f0 or f1 can become MASTER. This is normal CARP behavior and doesn't affect functionality.
+
+2. Stale File Handles: Despite all optimizations, NFS clients still experience stale file handles during failover. This is inherent to NFS protocol design. However:
+ - Soft mounts prevent hanging
+ - Automatic recovery works reliably
+ - No data loss occurs
+
+3. Replication Timing: The 1-minute replication interval for NFS data ensures minimal data loss window during unplanned failovers. The Fedora VM replication runs every 10 minutes, which is sufficient for less critical VM data.
+
+4. Service Management: The enhanced carpcontrol.sh script successfully stops services on BACKUP nodes, preventing split-brain scenarios.
+
+## Performance Considerations
+
+### Encryption Overhead
+
+Stunnel adds CPU overhead for TLS encryption/decryption. On modern hardware, the impact is minimal:
+
+* Beelink Mini PCs: With hardware AES acceleration, expect 5-10% CPU overhead
+* Network throughput: Gigabit Ethernet is usually the bottleneck, not TLS
+* Latency: Adds <1ms in LAN environments
+
+For reference, with AES-256-GCM on a typical mini PC:
+* Sequential reads: ~110 MB/s (near line-speed for gigabit)
+* Sequential writes: ~105 MB/s
+* Random 4K IOPS: ~15% reduction compared to unencrypted
+
+### Replication Bandwidth
+
+ZFS replication with zrepl is efficient, only sending changed blocks:
+
+* Initial sync: Full dataset size (can be large)
+* Incremental: Typically <1% of dataset size per snapshot
+* Network usage: With 1-minute intervals and moderate changes, expect 10-50 MB/minute
+
+To monitor replication bandwidth:
+```sh
+# On f0, check network usage on WireGuard interface
+doas systat -ifstat 1
+# Look for wg0 traffic during replication
+```
+
+### NFS Tuning
+
+For optimal performance with Kubernetes workloads:
+
+```sh
+# On NFS server (f0/f1) - /etc/sysctl.conf
+vfs.nfsd.async=1 # Enable async writes (careful with data integrity)
+vfs.nfsd.cachetcp=1 # Cache TCP connections
+vfs.nfsd.tcphighwater=64 # Increase TCP connection limit
+
+# On NFS clients - mount options
+rsize=131072,wsize=131072 # Larger read/write buffers
+hard,intr # Hard mount with interruption
+vers=4.2 # Use latest NFSv4.2 for best performance
+```
+
+### ZFS Tuning
+
+Key ZFS settings for NFS storage:
+
+```sh
+# Set on the NFS dataset
+zfs set compression=lz4 zdata/enc/nfsdata # Fast compression
+zfs set atime=off zdata/enc/nfsdata # Disable access time updates
+zfs set redundant_metadata=most zdata/enc/nfsdata # Protect metadata
+```
+
+### Monitoring
+
+Monitor system performance to identify bottlenecks:
+
+```sh
+# CPU and memory
+doas top -P
+
+# Disk I/O
+doas gstat -p
+
+# Network traffic
+doas netstat -w 1 -h
+
+# ZFS statistics
+doas zpool iostat -v 1
+
+# NFS statistics
+doas nfsstat -s -w 1
+```
+
+### Cleanup After Testing
+
+```sh
+# Remove test files (run on any node)
+rm -f /data/nfs/k3svolumes/test-*.txt
+rm -f /data/nfs/k3svolumes/test-large-*.dat
+rm -f /data/nfs/k3svolumes/failover-test-*.txt
+rm -f /data/nfs/k3svolumes/test-perms-*.txt
+rm -rf /data/nfs/k3svolumes/test-dir
+```
+
+This comprehensive testing ensures that:
+* All nodes can mount the NFS share
+* Files created on one node are visible on all others
+* The encrypted stunnel connection is working
+* Permissions and ownership are preserved
+* The setup can handle concurrent access
+* Failover works correctly (if tested)
+
+## Conclusion
+
+We've built a robust, encrypted storage system for our FreeBSD-based Kubernetes cluster that provides:
+
+### What We Achieved
+
+* High Availability: CARP ensures the storage VIP moves automatically during failures
+* Data Protection: ZFS encryption protects data at rest, stunnel protects data in transit
+* Continuous Replication: 1-minute RPO for critical data, automated via zrepl
+* Secure Access: Client certificate authentication prevents unauthorized access
+* Kubernetes Integration: Shared storage accessible from all cluster nodes
+
+### Architecture Benefits
+
+This design prioritizes data integrity over pure availability:
+* Manual failover prevents split-brain scenarios
+* Certificate-based authentication provides strong security
+* Encrypted replication protects data even over untrusted networks
+* ZFS snapshots enable point-in-time recovery
+
+### Lessons Learned
+
+1. Stunnel vs Native NFS/TLS: While native encryption would be ideal, stunnel provides better cross-platform compatibility
+2. Manual vs Automatic Failover: For storage systems, controlled failover often prevents more problems than it causes
+3. Replication Frequency: Balance between data protection (RPO) and system load
+4. Client Compatibility: Different NFS implementations behave differently - test thoroughly
+
+### Next Steps
+
+With reliable storage in place, we can now:
+* Deploy stateful applications on Kubernetes
+* Set up databases with persistent volumes
+* Create shared configuration stores
+* Implement backup strategies using ZFS snapshots
+
+The storage layer is the foundation for any serious Kubernetes deployment. By building it on FreeBSD with ZFS, CARP, and stunnel, we get enterprise-grade features on commodity hardware.
+
+### References
+
+* FreeBSD CARP documentation: https://docs.freebsd.org/en/books/handbook/advanced-networking/#carp
+* ZFS encryption guide: https://docs.freebsd.org/en/books/handbook/zfs/#zfs-encryption
+* Stunnel documentation: https://www.stunnel.org/docs.html
+* zrepl documentation: https://zrepl.github.io/
+
Other *BSD-related posts:
[2025-05-11 f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network](./2025-05-11-f3s-kubernetes-with-freebsd-part-5.md)
@@ -209,10 +2704,3 @@ Other *BSD-related posts:
E-Mail your comments to `paul@nospam.buetow.org`
[Back to the main site](../)
-
-https://forums.freebsd.org/threads/hast-and-zfs-with-carp-failover.29639/
-
-
-E-Mail your comments to `paul@nospam.buetow.org`
-
-[Back to the main site](../)
diff --git a/gemfeed/configure-stunnel-nfs-r1-r2.sh b/gemfeed/configure-stunnel-nfs-r1-r2.sh
new file mode 100755
index 00000000..58431744
--- /dev/null
+++ b/gemfeed/configure-stunnel-nfs-r1-r2.sh
@@ -0,0 +1,163 @@
+#!/bin/sh
+# Configure stunnel and NFS mounts on r1 and r2 for f3s storage
+# This script should be run on both r1 and r2 Rocky Linux systems
+
+set -e
+
+# Function to print colored status messages
+print_status() {
+ echo -e "\n\033[1;34m>>> $1\033[0m"
+}
+
+print_error() {
+ echo -e "\033[1;31mERROR: $1\033[0m"
+ exit 1
+}
+
+print_success() {
+ echo -e "\033[1;32m✓ $1\033[0m"
+}
+
+# Check if running as root
+if [ "$EUID" -ne 0 ]; then
+ print_error "Please run as root"
+fi
+
+# Detect hostname
+HOSTNAME=$(hostname -s)
+if [ "$HOSTNAME" != "r1" ] && [ "$HOSTNAME" != "r2" ]; then
+ print_error "This script should only be run on r1 or r2"
+fi
+
+print_status "Configuring stunnel and NFS on $HOSTNAME"
+
+# Step 1: Install stunnel package
+print_status "Installing stunnel package..."
+dnf install -y stunnel || print_error "Failed to install stunnel"
+print_success "stunnel installed"
+
+# Step 2: Create stunnel directory
+print_status "Creating stunnel configuration directory..."
+mkdir -p /etc/stunnel
+print_success "Directory created"
+
+# Step 3: Copy stunnel certificate from f0
+print_status "Copying stunnel certificate from f0..."
+echo "Please copy the certificate manually:"
+echo "On f0, run: scp /usr/local/etc/stunnel/stunnel.pem root@$HOSTNAME:/etc/stunnel/"
+echo ""
+echo "Press Enter when the certificate has been copied..."
+read -r
+
+# Verify certificate exists
+if [ ! -f /etc/stunnel/stunnel.pem ]; then
+ print_error "Certificate not found at /etc/stunnel/stunnel.pem"
+fi
+print_success "Certificate found"
+
+# Step 4: Create stunnel client configuration
+print_status "Creating stunnel client configuration..."
+cat > /etc/stunnel/stunnel.conf <<'EOF'
+cert = /etc/stunnel/stunnel.pem
+client = yes
+
+[nfs-ha]
+accept = 127.0.0.1:2323
+connect = 192.168.1.138:2323
+EOF
+print_success "Stunnel configuration created"
+
+# Step 5: Create systemd service for stunnel
+print_status "Creating stunnel systemd service..."
+cat > /etc/systemd/system/stunnel.service <<'EOF'
+[Unit]
+Description=SSL tunnel for network daemons
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/stunnel /etc/stunnel/stunnel.conf
+ExecStop=/usr/bin/killall stunnel
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
+EOF
+print_success "Systemd service created"
+
+# Step 6: Enable and start stunnel service
+print_status "Enabling and starting stunnel service..."
+systemctl daemon-reload
+systemctl enable stunnel
+systemctl start stunnel
+systemctl status stunnel --no-pager || print_error "Stunnel failed to start"
+print_success "Stunnel service is running"
+
+# Step 7: Create mount point for NFS
+print_status "Creating NFS mount point..."
+mkdir -p /data/nfs/k3svolumes
+print_success "Mount point created"
+
+# Step 8: Test mount NFS through stunnel
+print_status "Testing NFS mount through stunnel..."
+mount -t nfs4 -o port=2323 127.0.0.1:/data/nfs/k3svolumes /data/nfs/k3svolumes || print_error "Failed to mount NFS"
+print_success "NFS mounted successfully"
+
+# Step 9: Verify the mount
+print_status "Verifying NFS mount..."
+mount | grep k3svolumes || print_error "NFS mount not found"
+df -h /data/nfs/k3svolumes
+print_success "NFS mount verified"
+
+# Step 10: Unmount for fstab configuration
+print_status "Unmounting NFS to configure fstab..."
+umount /data/nfs/k3svolumes
+print_success "Unmounted"
+
+# Step 11: Add entry to /etc/fstab for persistent mount
+print_status "Adding NFS mount to /etc/fstab..."
+# Check if entry already exists
+if grep -q "127.0.0.1:/data/nfs/k3svolumes" /etc/fstab; then
+ print_status "Entry already exists in /etc/fstab"
+else
+ echo "127.0.0.1:/data/nfs/k3svolumes /data/nfs/k3svolumes nfs4 port=2323,_netdev 0 0" >> /etc/fstab
+ print_success "Added to /etc/fstab"
+fi
+
+# Step 12: Mount using fstab
+print_status "Mounting NFS using fstab entry..."
+mount /data/nfs/k3svolumes || print_error "Failed to mount from fstab"
+print_success "Mounted from fstab"
+
+# Step 13: Final verification
+print_status "Final verification..."
+echo ""
+echo "Stunnel status:"
+systemctl is-active stunnel || print_error "Stunnel is not active"
+echo ""
+echo "NFS mount status:"
+mount | grep k3svolumes
+echo ""
+echo "Disk usage:"
+df -h /data/nfs/k3svolumes
+echo ""
+
+# Step 14: Test write access
+print_status "Testing write access..."
+TEST_FILE="/data/nfs/k3svolumes/test-$HOSTNAME-$(date +%s).txt"
+echo "Test from $HOSTNAME at $(date)" > "$TEST_FILE" || print_error "Failed to write test file"
+cat "$TEST_FILE"
+print_success "Write test successful"
+
+print_success "Configuration complete on $HOSTNAME!"
+echo ""
+echo "Summary:"
+echo "- Stunnel is configured as a client connecting to 192.168.1.138:2323 (CARP VIP)"
+echo "- NFS is mounted through stunnel at /data/nfs/k3svolumes"
+echo "- Mount is persistent across reboots (configured in /etc/fstab)"
+echo "- All traffic between this host and the NFS server is encrypted"
+echo ""
+echo "To verify everything after reboot:"
+echo " systemctl status stunnel"
+echo " mount | grep k3svolumes"
+echo " ls -la /data/nfs/k3svolumes/" \ No newline at end of file
diff --git a/gemfeed/index.md b/gemfeed/index.md
index d8b338a2..e1fa7994 100644
--- a/gemfeed/index.md
+++ b/gemfeed/index.md
@@ -2,6 +2,7 @@
## To be in the .zone!
+[2025-07-01 - Posts from January to June 2025](./2025-07-01-posts-from-january-to-june-2025.md)
[2025-06-22 - Task Samurai: An agentic coding learning experiment](./2025-06-22-task-samurai.md)
[2025-06-07 - 'A Monk's Guide to Happiness' book notes](./2025-06-07-a-monks-guide-to-happiness-book-notes.md)
[2025-05-11 - f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network](./2025-05-11-f3s-kubernetes-with-freebsd-part-5.md)
diff --git a/gemfeed/stunnel-nfs-quick-reference.txt b/gemfeed/stunnel-nfs-quick-reference.txt
new file mode 100644
index 00000000..ca7f577a
--- /dev/null
+++ b/gemfeed/stunnel-nfs-quick-reference.txt
@@ -0,0 +1,78 @@
+STUNNEL + NFS QUICK REFERENCE FOR r1 AND r2
+===========================================
+
+COMPLETE SETUP (run as root on r1 and r2):
+------------------------------------------
+
+# 1. Install stunnel
+dnf install -y stunnel
+
+# 2. Copy certificate from f0 (run on f0)
+scp /usr/local/etc/stunnel/stunnel.pem root@r1:/etc/stunnel/
+scp /usr/local/etc/stunnel/stunnel.pem root@r2:/etc/stunnel/
+
+# 3. Create stunnel config on r1/r2
+mkdir -p /etc/stunnel
+cat > /etc/stunnel/stunnel.conf <<'EOF'
+cert = /etc/stunnel/stunnel.pem
+client = yes
+
+[nfs-ha]
+accept = 127.0.0.1:2323
+connect = 192.168.1.138:2323
+EOF
+
+# 4. Create systemd service
+cat > /etc/systemd/system/stunnel.service <<'EOF'
+[Unit]
+Description=SSL tunnel for network daemons
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/stunnel /etc/stunnel/stunnel.conf
+ExecStop=/usr/bin/killall stunnel
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
+EOF
+
+# 5. Enable and start stunnel
+systemctl daemon-reload
+systemctl enable --now stunnel
+
+# 6. Create mount point
+mkdir -p /data/nfs/k3svolumes
+
+# 7. Test mount
+mount -t nfs4 -o port=2323 127.0.0.1:/data/nfs/k3svolumes /data/nfs/k3svolumes
+
+# 8. Verify mount works
+ls -la /data/nfs/k3svolumes/
+
+# 9. Add to fstab for persistence
+echo "127.0.0.1:/data/nfs/k3svolumes /data/nfs/k3svolumes nfs4 port=2323,_netdev 0 0" >> /etc/fstab
+
+# 10. Test fstab mount
+umount /data/nfs/k3svolumes
+mount /data/nfs/k3svolumes
+
+VERIFICATION COMMANDS:
+----------------------
+systemctl status stunnel
+mount | grep k3svolumes
+df -h /data/nfs/k3svolumes
+echo "test" > /data/nfs/k3svolumes/test-$(hostname).txt
+
+TROUBLESHOOTING:
+----------------
+# Check stunnel logs
+journalctl -u stunnel -f
+
+# Test connectivity
+telnet 127.0.0.1 2323
+
+# Restart services
+systemctl restart stunnel
+umount /data/nfs/k3svolumes && mount /data/nfs/k3svolumes \ No newline at end of file
diff --git a/index.md b/index.md
index 6815ead7..c1f77e23 100644
--- a/index.md
+++ b/index.md
@@ -1,6 +1,6 @@
# Hello!
-> This site was generated at 2025-06-23T07:57:21+03:00 by `Gemtexter`
+> This site was generated at 2025-07-09T00:53:51+03:00 by `Gemtexter`
Welcome to the foo.zone!
@@ -30,6 +30,7 @@ Everything you read on this site is my personal opinion and experience. You can
### Posts
+[2025-07-01 - Posts from January to June 2025](./gemfeed/2025-07-01-posts-from-january-to-june-2025.md)
[2025-06-22 - Task Samurai: An agentic coding learning experiment](./gemfeed/2025-06-22-task-samurai.md)
[2025-06-07 - 'A Monk's Guide to Happiness' book notes](./gemfeed/2025-06-07-a-monks-guide-to-happiness-book-notes.md)
[2025-05-11 - f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network](./gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.md)
diff --git a/notes/index.md b/notes/index.md
index 1781236a..70e7529d 100644
--- a/notes/index.md
+++ b/notes/index.md
@@ -15,6 +15,7 @@
['Never split the difference' book notes](./never-split-the-difference.md)
['Mind Management' book notes](./mind-management.md)
['Mental Combat' book notes](./mental-combat.md)
+['Meditation for Mortals' book notes](./meditation-for-mortals.md)
['Love People, Use Things' book notes](./love-people-use-things.md)
['Joy On Domand' book notes](./joy-on-demand.md)
['Influence without Authority' book notes](./influence-wihout-authority.md)
diff --git a/notes/meditation-for-mortals.md b/notes/meditation-for-mortals.md
new file mode 100644
index 00000000..e94b9a54
--- /dev/null
+++ b/notes/meditation-for-mortals.md
@@ -0,0 +1,136 @@
+# "Meditation for Mortals" book notes
+
+## Table of Contents
+
+* [⇢ "Meditation for Mortals" book notes](#meditation-for-mortals-book-notes)
+* [⇢ ⇢ Self-Acceptance and Embracing Imperfection](#self-acceptance-and-embracing-imperfection)
+* [⇢ ⇢ Productivity, Accomplishment, and Focus](#productivity-accomplishment-and-focus)
+* [⇢ ⇢ Information and Media Consumption](#information-and-media-consumption)
+* [⇢ ⇢ Dealing with Worry and Uncertainty](#dealing-with-worry-and-uncertainty)
+* [⇢ ⇢ Action and Completion](#action-and-completion)
+* [⇢ ⇢ Work, Focus, and Limits](#work-focus-and-limits)
+* [⇢ ⇢ Attitude Toward Problems and Challenges](#attitude-toward-problems-and-challenges)
+* [⇢ ⇢ Simplicity and Overcomplication](#simplicity-and-overcomplication)
+* [⇢ ⇢ Interactions with Others and Emotional Boundaries](#interactions-with-others-and-emotional-boundaries)
+* [⇢ ⇢ Dealing With Interruptions](#dealing-with-interruptions)
+* [⇢ ⇢ Living in the Present and Deferred Gratification](#living-in-the-present-and-deferred-gratification)
+* [⇢ ⇢ Operating from Sanity and Mentoring](#operating-from-sanity-and-mentoring)
+* [⇢ ⇢ Letting Go](#letting-go)
+
+## Self-Acceptance and Embracing Imperfection
+
+* It is easier to try to be a better version of who you are than to try to be someone else.
+* Liberating yourself from wanting to resolve the most difficult things may be impossible; instead, accept who you are, with all your flaws.
+* Embrace imperfectionism.
+* Imperfectionism is good news. Accept life with its tough choices and non-perfect standards. Give up the unwinnable struggle to do everything perfectly.
+* Start to enjoy life now, which is the only time there is.
+* Real wisdom is not about having figured out everything; it is knowing that you never will.
+* If you stop trying to figure out and think about everything, you will have more time and energy to do what you are capable of.
+* Accepting that some parts of you or your surroundings will never change can be extremely liberating. Put down that burden, and embrace reality with a peaceful mind.
+* You do not have to try to get even more out of every event or thing. Live them fully rather than trying to collect memories.
+* Nothing ever done required superhuman capabilities. The difference between people who accomplish great things and those who don't is that the former don't care about not knowing everything. They are not less finite or limited.
+
+## Productivity, Accomplishment, and Focus
+
+* The productivity trap: Responding to emails quickly, for example, just causes you to receive even more emails, as people consider it worthwhile to email you. This takes away time from what really matters.
+* We always try to optimize ourselves in every aspect. The hyper-competitive economy makes us feel like we have to.
+* We think we need to get to a "better life," but this place will never actually be reached.
+* You will never be in full control or get on top of everything. There is no magic trick.
+* The day will never come when all obstacles are gone; that's when true, meaningful life can begin.
+* Life as a human being is limited, with finite time and finite possibilities.
+* If you just follow systems and only do what you feel like in the moment, you will get stuck in a never-ending cycle of productivity and accomplishment. For example, don't postpone becoming a meditator—just start now with five minutes and meditate. Don't turn it into a long-term project, and be certain that doing it imperfectly is good enough.
+* You don't have to hit every deadline. You are pretty much free to do what you want; you just have to accept the consequences. Nothing stops you from doing anything, as long as you are willing to pay the price—even quitting your job without a backup plan.
+* There are no solutions, only choices. There are always trade-offs, and you have to choose the best one.
+* Many feel the need to achieve something in order to have the right to be where they are—the "productivity debt" mindset: having to work through an artificial debt every day. You have permission not to care. You don't have to be an insecure overachiever.
+* Some people only feel valued if they overachieve.
+* The endless feeling of "falling behind"… You won't be able to relax until the end of life if you live like this.
+* Do more of what matters to you.
+
+## Information and Media Consumption
+
+* Too much information—information overload. There's far too much to read. Speed-reading, fast-forwarding, and filling every nanosecond won't help. You will only feel more stressed.
+* Treat your reading backlog as a river, not as an unending bucket.
+* You don't have a moral obligation to deal with all the magazines or books you have.
+* Reading books and magazines is not just about retaining facts, but about how they change you. Every book claims benefits, even if you don't remember what was inside. You don't have to take notes all the time.
+* Read not only to gather facts or knowledge but also for fun and interest.
+* You can't care about everything. Don't live inside the news.
+
+## Dealing with Worry and Uncertainty
+
+* Anything can happen at any time. For example, someone could die unexpectedly. We cross that bridge when we come to it. Never rule out the possibility of awful things happening.
+* Worry is the only way to resist, but it won't help. We can't possibly think about everything that may happen in the future, and we strip the present of its calm when we worry about the future.
+* Worrying was useful in the Stone Age but is less so now.
+* Marcus Aurelius: "Never let the future disturb you."
+* Save energy by not worrying about the future; use that energy when the time comes to act.
+* You can still plan for the future; do it, but then don't dwell on it.
+* Our desire for controllability backfires in our quest for happiness. The more we try to make life controllable, the more we delude ourselves. If everything were controlled, life would be cold and uninteresting.
+* Life is semi-controllable, not fully controllable. Meaning only exists because not everything can be controlled. Sometimes, getting what you didn't want will make your life better.
+* The upsides of unpredictability: Either things turn out right, or they don't. Even wrong things become good experiences or good stories—wonderful things may happen, or you'll at least have good anecdotes.
+
+## Action and Completion
+
+* The art of imperfect action: Your time is limited, and you can't choose all possible paths. Acknowledge your position in the kayak and not the superyacht. Baby steps and decisions are fine, but they must be real.
+* Finishing things means working through the messy reality. Most people like starting things but find finishing them torturous due to the imperfect mess.
+* We may think a new endeavor will be better, but we just haven't seen its mess yet. Every project will be a mess.
+* If you never finish things, you never feel a sense of accomplishment. Leaving things unfinished leaves you feeling sluggish. Finishing things gives you energy and makes you feel better.
+* Do it and then be done with it. If you're writing a difficult email, sit down and finish it; don't let it linger. Add it to your "done" list so you can move on. Completion is only a temporary stressful event, freeing up the rest of your time.
+* If you want to be good at something, do it often—e.g., daily, where one mistake won't ruin everything. Make constant (imperfect) progress; don't be a self-punishing perfectionist.
+
+## Work, Focus, and Limits
+
+* Think about whether all those checkboxes in your productivity system actually help you accomplish what you want in life. What is your purpose?
+* Limit yourself to 3–4 hours of intense focus as a knowledge worker. Break it into two 90-minute and one 1-hour period daily. Intense focus consumes more energy; limiting this time keeps it manageable and less intimidating. Accept that the remaining hours will be full of life's normal chaos. You won't have enough energy for more focused work, and you'll save the rest of your day for other things.
+* Rest and mood are essential for good work.
+* The person with the most sustainable work habits gets more done in the long run than the one who overworks and forces intense focus for too many hours each day.
+* The work is never done, so you have to stop anyway—not because everything is finished, but because you must stop. Despite knowing there's still work, you need to stop.
+
+## Attitude Toward Problems and Challenges
+
+* Develop a taste for problems. We will never reach a trouble-free life; there is always something. Don't resign yourself, but remember that new problems will always arise.
+* Would you really want a life with no problems? Obstacles make life worth living. The greatest obstacles can be devastating, but the small and medium ones are like the little battles that make life interesting.
+* Aim not for a life with no problems, but for a life with more interesting ones. Beyond every mountain, there will always be more mountains.
+
+## Simplicity and Overcomplication
+
+* Don't overcomplicate things, like planning a child's birthday party. It's not that difficult; get pizza, ice cream, and balloons. The real challenge would be screwing it up.
+
+## Interactions with Others and Emotional Boundaries
+
+* Get things done by not being mean to yourself. How would you like to spend your day today?
+* Other people's negative emotions belong to them. Allow others to have them, even if they're disappointed by your work (into which you put so much effort).
+* Other people have their own problems; they aren't constantly thinking bad thoughts about you.
+* If others are angry at you, it's their problem, not yours. However, don't adopt an "I don't care" mentality to the extent that you become a jerk.
+* If someone is upset because you're not behaving as they wish, that's not your problem. While they are angry, you're free to feel otherwise. Whether or not you react is a separate matter. Every decision carries trade-offs.
+* Often, people act on a sense of urgency. But you can decide not to respond solely for their sake; they must deal with their own emotional weather. Some items are urgent, but are they really as urgent as they seem? Sometimes, we act just to avoid others getting angry.
+* People-pleasing is not an effective way to actually please people. Focus on your own priorities.
+* The sense of urgency—that if you don't hurry, someone may get angry—might not be in your best interest. Their feelings don't have the magic power to force you to react. Sympathy is fine, but there's no reason to constantly please others.
+* Saying no to something may be the best thing you can do for everyone involved.
+
+## Dealing With Interruptions
+
+* Free writing: If you don't know what to write, just write about that, with no standards.
+* During deep focus, interruptions can be especially frustrating—especially if you meditate beforehand to get in the groove. On a larger scale, your whole life can be seen as a series of interruptions. Treat these not as distractions, but as open opportunities for awareness and creativity. Deep focus is not the default human state; monks spend years training for it. You should still have boundaries, but deal with interruptions naturally. If a child storms in—deal with the new reality. It will be much more pleasant for everyone.
+
+## Living in the Present and Deferred Gratification
+
+* There's always the perception that the "real thing" is coming in the future, but the real thing is now. This is it—the real thing is not in the future but in the present. The past is gone, and the future does not exist yet. Show up as fully as possible now.
+* Of course, make plans for the future, but don't live there all the time.
+* Don't take your life too seriously, always preparing for the future (the "provisional life"). Don't defer gratification to the extreme. It's not that concern for your future self is bad; setting goals is a way to become more immersed in the present moment and have an absorbing life.
+* Sabbatical: Take it now, not in the future, because you may not be there later.
+* Learn to defer gratification less.
+* Spend time on what matters to you most, immediately. Thirty minutes well spent now is more valuable than hundreds of hours theorizing about spending time.
+
+## Operating from Sanity and Mentoring
+
+* Renegotiate commitments (e.g., extend deadlines, pull out of projects, or avoid new commitments) to restore sanity and rebalance your time.
+* A to-do list is a menu to pick tasks from, not something you must complete entirely before allowing yourself to rest.
+* Mentoring includes making the mentor's flaws visible so that the mentee realizes they are not alone with their imperfections. Otherwise, mentees may become anxious by comparing their insides to the mentor's outsides.
+
+## Letting Go
+
+* We make ourselves more miserable than necessary by holding onto how we want things to be.
+* It's nice to collect memories, but the way to do it is by fully living experiences—rather than forcing the effort to collect them.
+
+E-Mail your comments to `paul@nospam.buetow.org` :-)
+
+[Back to the main site](../)
diff --git a/uptime-stats.md b/uptime-stats.md
index 0ffbd7f1..52f34052 100644
--- a/uptime-stats.md
+++ b/uptime-stats.md
@@ -1,6 +1,6 @@
# My machine uptime stats
-> This site was last updated at 2025-06-23T07:57:21+03:00
+> This site was last updated at 2025-07-09T00:50:25+03:00
The following stats were collected via `uptimed` on all of my personal computers over many years and the output was generated by `guprecords`, the global uptime records stats analyser of mine.
@@ -23,7 +23,7 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+------------------------------+
| 1. | alphacentauri | 671 | FreeBSD 11.4-RELEASE-p7 |
| 2. | mars | 207 | Linux 3.2.0-4-amd64 |
-| 3. | *earth | 188 | Linux 6.14.6-300.fc42.x86_64 |
+| 3. | *earth | 190 | Linux 6.15.4-200.fc42.x86_64 |
| 4. | callisto | 153 | Linux 4.0.4-303.fc22.x86_64 |
| 5. | dionysus | 136 | FreeBSD 13.0-RELEASE-p11 |
| 6. | tauceti-e | 120 | Linux 3.2.0-4-amd64 |
@@ -31,16 +31,16 @@ Boots is the total number of host boots over the entire lifespan.
| 8. | *uranus | 59 | NetBSD 10.1 |
| 9. | pluto | 51 | Linux 3.2.0-4-amd64 |
| 10. | mega15289 | 50 | Darwin 23.4.0 |
-| 11. | *mega-m3-pro | 49 | Darwin 24.5.0 |
-| 12. | *t450 | 43 | FreeBSD 14.2-RELEASE |
-| 13. | *fishfinger | 43 | OpenBSD 7.6 |
-| 14. | mega8477 | 40 | Darwin 13.4.0 |
-| 15. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
+| 11. | *mega-m3-pro | 50 | Darwin 24.5.0 |
+| 12. | *fishfinger | 43 | OpenBSD 7.6 |
+| 13. | *t450 | 43 | FreeBSD 14.2-RELEASE |
+| 14. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
+| 15. | mega8477 | 40 | Darwin 13.4.0 |
| 16. | *blowfish | 38 | OpenBSD 7.6 |
| 17. | sun | 33 | FreeBSD 10.3-RELEASE-p24 |
-| 18. | *f2 | 25 | FreeBSD 14.2-RELEASE-p1 |
-| 19. | moon | 20 | FreeBSD 14.0-RELEASE-p3 |
-| 20. | *f1 | 20 | FreeBSD 14.2-RELEASE-p1 |
+| 18. | f2 | 25 | FreeBSD 14.2-RELEASE-p1 |
+| 19. | f1 | 20 | FreeBSD 14.2-RELEASE-p1 |
+| 20. | moon | 20 | FreeBSD 14.0-RELEASE-p3 |
+-----+----------------+-------+------------------------------+
```
@@ -55,7 +55,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 1. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 2. | sun | 3 years, 9 months, 26 days | FreeBSD 10.3-RELEASE-p24 |
| 3. | *uranus | 3 years, 9 months, 5 days | NetBSD 10.1 |
-| 4. | *earth | 3 years, 6 months, 11 days | Linux 6.14.6-300.fc42.x86_64 |
+| 4. | *earth | 3 years, 6 months, 26 days | Linux 6.15.4-200.fc42.x86_64 |
| 5. | *blowfish | 3 years, 5 months, 16 days | OpenBSD 7.6 |
| 6. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
| 7. | deltavega | 3 years, 1 months, 21 days | Linux 3.10.0-1160.11.1.el7.x86_64 |
@@ -69,7 +69,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 15. | host0 | 1 years, 3 months, 9 days | FreeBSD 6.2-RELEASE-p5 |
| 16. | *makemake | 1 years, 3 months, 5 days | Linux 6.9.9-200.fc40.x86_64 |
| 17. | tauceti-e | 1 years, 2 months, 20 days | Linux 3.2.0-4-amd64 |
-| 18. | *mega-m3-pro | 1 years, 1 months, 17 days | Darwin 24.5.0 |
+| 18. | *mega-m3-pro | 1 years, 1 months, 26 days | Darwin 24.5.0 |
| 19. | callisto | 0 years, 10 months, 31 days | Linux 4.0.4-303.fc22.x86_64 |
| 20. | alphacentauri | 0 years, 10 months, 28 days | FreeBSD 11.4-RELEASE-p7 |
+-----+----------------+-----------------------------+-----------------------------------+
@@ -85,7 +85,7 @@ Score is calculated by combining all other metrics.
+-----+----------------+-------+-----------------------------------+
| 1. | *uranus | 342 | NetBSD 10.1 |
| 2. | vulcan | 275 | Linux 3.10.0-1160.81.1.el7.x86_64 |
-| 3. | *earth | 243 | Linux 6.14.6-300.fc42.x86_64 |
+| 3. | *earth | 245 | Linux 6.15.4-200.fc42.x86_64 |
| 4. | sun | 238 | FreeBSD 10.3-RELEASE-p24 |
| 5. | *blowfish | 218 | OpenBSD 7.6 |
| 6. | uugrn | 211 | FreeBSD 11.2-RELEASE-p4 |
@@ -125,11 +125,11 @@ Downtime is the total downtime of a host over the entire lifespan.
| 9. | mars | 1 years, 2 months, 10 days | Linux 3.2.0-4-amd64 |
| 10. | tauceti-e | 0 years, 12 months, 9 days | Linux 3.2.0-4-amd64 |
| 11. | sirius | 0 years, 8 months, 20 days | Linux 2.6.32-042stab111.12 |
-| 12. | *earth | 0 years, 6 months, 20 days | Linux 6.14.6-300.fc42.x86_64 |
+| 12. | *earth | 0 years, 6 months, 20 days | Linux 6.15.4-200.fc42.x86_64 |
| 13. | deimos | 0 years, 5 months, 15 days | Linux 4.4.5-300.fc23.x86_64 |
-| 14. | *f0 | 0 years, 4 months, 20 days | FreeBSD 14.2-RELEASE-p1 |
-| 15. | *f2 | 0 years, 4 months, 19 days | FreeBSD 14.2-RELEASE-p1 |
-| 16. | *f1 | 0 years, 4 months, 18 days | FreeBSD 14.2-RELEASE-p1 |
+| 14. | f0 | 0 years, 4 months, 20 days | FreeBSD 14.2-RELEASE-p1 |
+| 15. | f2 | 0 years, 4 months, 19 days | FreeBSD 14.2-RELEASE-p1 |
+| 16. | f1 | 0 years, 4 months, 18 days | FreeBSD 14.2-RELEASE-p1 |
| 17. | joghurt | 0 years, 2 months, 9 days | FreeBSD 7.0-PRERELEASE |
| 18. | host0 | 0 years, 2 months, 1 days | FreeBSD 6.2-RELEASE-p5 |
| 19. | fibonacci | 0 years, 1 months, 11 days | FreeBSD 5.3-RELEASE-p15 |
@@ -150,7 +150,7 @@ Lifespan is the total uptime + the total downtime of a host.
| 3. | alphacentauri | 6 years, 9 months, 13 days | FreeBSD 11.4-RELEASE-p7 |
| 4. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 5. | *makemake | 4 years, 4 months, 7 days | Linux 6.9.9-200.fc40.x86_64 |
-| 6. | *earth | 3 years, 11 months, 28 days | Linux 6.14.6-300.fc42.x86_64 |
+| 6. | *earth | 3 years, 12 months, 13 days | Linux 6.15.4-200.fc42.x86_64 |
| 7. | sun | 3 years, 10 months, 2 days | FreeBSD 10.3-RELEASE-p24 |
| 8. | *blowfish | 3 years, 5 months, 17 days | OpenBSD 7.6 |
| 9. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
@@ -178,7 +178,7 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+
| 1. | FreeBSD 10... | 551 |
| 2. | Linux 3... | 550 |
-| 3. | *Linux 6... | 168 |
+| 3. | *Linux 6... | 170 |
| 4. | Linux 5... | 162 |
| 5. | Linux 4... | 161 |
| 6. | FreeBSD 11... | 153 |
@@ -188,14 +188,14 @@ Boots is the total number of host boots over the entire lifespan.
| 10. | Darwin 13... | 40 |
| 11. | Darwin 23... | 33 |
| 12. | FreeBSD 5... | 25 |
-| 13. | Linux 2... | 22 |
-| 14. | *Darwin 24... | 21 |
+| 13. | *Darwin 24... | 22 |
+| 14. | Linux 2... | 22 |
| 15. | Darwin 21... | 17 |
| 16. | Darwin 15... | 15 |
| 17. | Darwin 22... | 12 |
| 18. | Darwin 18... | 11 |
-| 19. | FreeBSD 7... | 10 |
-| 20. | OpenBSD 4... | 10 |
+| 19. | FreeBSD 6... | 10 |
+| 20. | FreeBSD 7... | 10 |
+-----+----------------+-------+
```
@@ -211,7 +211,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 2. | *OpenBSD 7... | 6 years, 9 months, 24 days |
| 3. | FreeBSD 10... | 5 years, 9 months, 9 days |
| 4. | Linux 5... | 4 years, 10 months, 21 days |
-| 5. | *Linux 6... | 2 years, 9 months, 7 days |
+| 5. | *Linux 6... | 2 years, 9 months, 22 days |
| 6. | Linux 4... | 2 years, 7 months, 22 days |
| 7. | FreeBSD 11... | 2 years, 4 months, 28 days |
| 8. | Linux 2... | 1 years, 11 months, 21 days |
@@ -224,7 +224,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 15. | Darwin 18... | 0 years, 7 months, 5 days |
| 16. | Darwin 22... | 0 years, 6 months, 22 days |
| 17. | Darwin 15... | 0 years, 6 months, 15 days |
-| 18. | *Darwin 24... | 0 years, 5 months, 20 days |
+| 18. | *Darwin 24... | 0 years, 5 months, 30 days |
| 19. | FreeBSD 5... | 0 years, 5 months, 18 days |
| 20. | FreeBSD 13... | 0 years, 4 months, 2 days |
+-----+----------------+------------------------------+
@@ -242,7 +242,7 @@ Score is calculated by combining all other metrics.
| 2. | *OpenBSD 7... | 435 |
| 3. | FreeBSD 10... | 406 |
| 4. | Linux 5... | 317 |
-| 5. | *Linux 6... | 186 |
+| 5. | *Linux 6... | 189 |
| 6. | Linux 4... | 175 |
| 7. | FreeBSD 11... | 159 |
| 8. | Linux 2... | 121 |
@@ -253,9 +253,9 @@ Score is calculated by combining all other metrics.
| 13. | OpenBSD 4... | 39 |
| 14. | Darwin 21... | 38 |
| 15. | Darwin 18... | 32 |
-| 16. | Darwin 22... | 30 |
-| 17. | Darwin 15... | 29 |
-| 18. | *Darwin 24... | 28 |
+| 16. | *Darwin 24... | 30 |
+| 17. | Darwin 22... | 30 |
+| 18. | Darwin 15... | 29 |
| 19. | FreeBSD 5... | 25 |
| 20. | FreeBSD 13... | 25 |
+-----+----------------+-------+
@@ -269,9 +269,9 @@ Boots is the total number of host boots over the entire lifespan.
+-----+------------+-------+
| Pos | KernelName | Boots |
+-----+------------+-------+
-| 1. | *Linux | 1063 |
+| 1. | *Linux | 1065 |
| 2. | *FreeBSD | 944 |
-| 3. | *Darwin | 154 |
+| 3. | *Darwin | 155 |
| 4. | *OpenBSD | 101 |
| 5. | *NetBSD | 1 |
+-----+------------+-------+
@@ -282,15 +282,15 @@ Boots is the total number of host boots over the entire lifespan.
Uptime is the total uptime of a host over the entire lifespan.
```
-+-----+------------+-----------------------------+
-| Pos | KernelName | Uptime |
-+-----+------------+-----------------------------+
-| 1. | *Linux | 27 years, 9 months, 30 days |
-| 2. | *FreeBSD | 11 years, 5 months, 3 days |
-| 3. | *OpenBSD | 7 years, 5 months, 5 days |
-| 4. | *Darwin | 4 years, 9 months, 7 days |
-| 5. | *NetBSD | 0 years, 1 months, 1 days |
-+-----+------------+-----------------------------+
++-----+------------+------------------------------+
+| Pos | KernelName | Uptime |
++-----+------------+------------------------------+
+| 1. | *Linux | 27 years, 10 months, 15 days |
+| 2. | *FreeBSD | 11 years, 5 months, 3 days |
+| 3. | *OpenBSD | 7 years, 5 months, 5 days |
+| 4. | *Darwin | 4 years, 9 months, 17 days |
+| 5. | *NetBSD | 0 years, 1 months, 1 days |
++-----+------------+------------------------------+
```
## Top 20 Score's by KernelName
@@ -301,10 +301,10 @@ Score is calculated by combining all other metrics.
+-----+------------+-------+
| Pos | KernelName | Score |
+-----+------------+-------+
-| 1. | *Linux | 1845 |
+| 1. | *Linux | 1848 |
| 2. | *FreeBSD | 799 |
| 3. | *OpenBSD | 474 |
-| 4. | *Darwin | 311 |
+| 4. | *Darwin | 313 |
| 5. | *NetBSD | 2 |
+-----+------------+-------+
```