From 6409892add251ea6163fa91307512269054cecbd Mon Sep 17 00:00:00 2001 From: ericlikedis Date: Sat, 26 Aug 2023 22:38:57 -0500 Subject: [PATCH] changes --- .gitignore | 1 - _site/404.html | 1704 +++++++ _site/about/index.html | 1701 +++++++ _site/app.js | 43 + _site/archives/index.html | 1799 +++++++ _site/assets/css/style.css | 7 + _site/assets/css/style.css.map | 1 + _site/assets/images/20230823-1.png | Bin 0 -> 13784 bytes _site/assets/images/20230823-2.png | Bin 0 -> 13784 bytes _site/assets/images/20230823-3.png | Bin 0 -> 13784 bytes _site/assets/images/20230823-4.png | Bin 0 -> 13784 bytes _site/assets/images/devices-mockup.png | Bin 0 -> 76121 bytes _site/assets/images/devtools-dark.png | Bin 0 -> 32934 bytes _site/assets/images/devtools-light.png | Bin 0 -> 33604 bytes .../img/favicons/android-chrome-192x192.png | Bin 0 -> 19952 bytes .../img/favicons/android-chrome-512x512.png | Bin 0 -> 62557 bytes .../assets/img/favicons/apple-touch-icon.png | Bin 0 -> 13867 bytes _site/assets/img/favicons/browserconfig.xml | 10 + _site/assets/img/favicons/favicon-16x16.png | Bin 0 -> 1247 bytes _site/assets/img/favicons/favicon-32x32.png | Bin 0 -> 2312 bytes _site/assets/img/favicons/favicon.ico | Bin 0 -> 318 bytes _site/assets/img/favicons/mstile-150x150.png | Bin 0 -> 12172 bytes _site/assets/img/favicons/site.webmanifest | 23 + _site/assets/index.html | 11 + _site/assets/js/data/search.json | 157 + _site/assets/js/data/swcache.js | 57 + _site/assets/js/dist/categories.min.js | 6 + _site/assets/js/dist/commons.min.js | 6 + _site/assets/js/dist/home.min.js | 6 + _site/assets/js/dist/misc.min.js | 6 + _site/assets/js/dist/page.min.js | 6 + _site/assets/js/dist/post.min.js | 6 + _site/categories/blogging/index.html | 1673 ++++++ _site/categories/demo/index.html | 1671 ++++++ _site/categories/index.html | 1710 +++++++ _site/feed.xml | 227 + _site/index.html | 2392 +++++++++ _site/norobots/index.html | 11 + .../Admonitions-Documentation/index.html | 4493 +++++++++++++++++ .../index.html | 4074 +++++++++++++++ .../posts/Diablo-4-Helltide-Events/index.html | 2337 +++++++++ .../Diablo-4-Shadow-Rogue-Build/index.html | 3640 +++++++++++++ _site/posts/Flaws.cloud-AWS/index.html | 2418 +++++++++ .../index.html | 2743 ++++++++++ _site/posts/Mac-M1-Run-Diablo-4/index.html | 2323 +++++++++ _site/posts/SANS-SEC-504-Resources/index.html | 2604 ++++++++++ _site/posts/index.html | 11 + _site/posts/text-and-typography/index.html | 3684 ++++++++++++++ _site/redirects.json | 1 + _site/robots.txt | 5 + _site/sitemap.xml | 109 + _site/sw.js | 85 + _site/tags/apple-silicon/index.html | 1670 ++++++ _site/tags/cheatsheets/index.html | 1670 ++++++ _site/tags/cloud/index.html | 1670 ++++++ _site/tags/cybersecurity/index.html | 1716 +++++++ _site/tags/diablo-4/index.html | 1716 +++++++ _site/tags/diablo/index.html | 1693 +++++++ _site/tags/docs/index.html | 1716 +++++++ _site/tags/gcih/index.html | 1670 ++++++ _site/tags/index.html | 1703 +++++++ _site/tags/m1/index.html | 1693 +++++++ _site/tags/macos/index.html | 1670 ++++++ _site/tags/red-teaming/index.html | 1670 ++++++ _site/tags/sans/index.html | 1670 ++++++ _site/tags/sec504/index.html | 1670 ++++++ _site/tags/terminal/index.html | 1716 +++++++ _site/tags/typography/index.html | 1670 ++++++ _site/unregister.js | 8 + 69 files changed, 68751 insertions(+), 1 deletion(-) create mode 100644 _site/404.html create mode 100644 _site/about/index.html create mode 100644 _site/app.js create mode 100644 _site/archives/index.html create mode 100644 _site/assets/css/style.css create mode 100644 _site/assets/css/style.css.map create mode 100644 _site/assets/images/20230823-1.png create mode 100644 _site/assets/images/20230823-2.png create mode 100644 _site/assets/images/20230823-3.png create mode 100644 _site/assets/images/20230823-4.png create mode 100644 _site/assets/images/devices-mockup.png create mode 100644 _site/assets/images/devtools-dark.png create mode 100644 _site/assets/images/devtools-light.png create mode 100644 _site/assets/img/favicons/android-chrome-192x192.png create mode 100644 _site/assets/img/favicons/android-chrome-512x512.png create mode 100644 _site/assets/img/favicons/apple-touch-icon.png create mode 100644 _site/assets/img/favicons/browserconfig.xml create mode 100644 _site/assets/img/favicons/favicon-16x16.png create mode 100644 _site/assets/img/favicons/favicon-32x32.png create mode 100644 _site/assets/img/favicons/favicon.ico create mode 100644 _site/assets/img/favicons/mstile-150x150.png create mode 100644 _site/assets/img/favicons/site.webmanifest create mode 100644 _site/assets/index.html create mode 100644 _site/assets/js/data/search.json create mode 100644 _site/assets/js/data/swcache.js create mode 100644 _site/assets/js/dist/categories.min.js create mode 100644 _site/assets/js/dist/commons.min.js create mode 100644 _site/assets/js/dist/home.min.js create mode 100644 _site/assets/js/dist/misc.min.js create mode 100644 _site/assets/js/dist/page.min.js create mode 100644 _site/assets/js/dist/post.min.js create mode 100644 _site/categories/blogging/index.html create mode 100644 _site/categories/demo/index.html create mode 100644 _site/categories/index.html create mode 100644 _site/feed.xml create mode 100644 _site/index.html create mode 100644 _site/norobots/index.html create mode 100644 _site/posts/Admonitions-Documentation/index.html create mode 100644 _site/posts/Building-a-Custom-Malware-Analysis-Lab-Environment/index.html create mode 100644 _site/posts/Diablo-4-Helltide-Events/index.html create mode 100644 _site/posts/Diablo-4-Shadow-Rogue-Build/index.html create mode 100644 _site/posts/Flaws.cloud-AWS/index.html create mode 100644 _site/posts/M1-Mac-How-to-switch-the-Terminal-between-x86_64-and-arm64/index.html create mode 100644 _site/posts/Mac-M1-Run-Diablo-4/index.html create mode 100644 _site/posts/SANS-SEC-504-Resources/index.html create mode 100644 _site/posts/index.html create mode 100644 _site/posts/text-and-typography/index.html create mode 100644 _site/redirects.json create mode 100644 _site/robots.txt create mode 100644 _site/sitemap.xml create mode 100644 _site/sw.js create mode 100644 _site/tags/apple-silicon/index.html create mode 100644 _site/tags/cheatsheets/index.html create mode 100644 _site/tags/cloud/index.html create mode 100644 _site/tags/cybersecurity/index.html create mode 100644 _site/tags/diablo-4/index.html create mode 100644 _site/tags/diablo/index.html create mode 100644 _site/tags/docs/index.html create mode 100644 _site/tags/gcih/index.html create mode 100644 _site/tags/index.html create mode 100644 _site/tags/m1/index.html create mode 100644 _site/tags/macos/index.html create mode 100644 _site/tags/red-teaming/index.html create mode 100644 _site/tags/sans/index.html create mode 100644 _site/tags/sec504/index.html create mode 100644 _site/tags/terminal/index.html create mode 100644 _site/tags/typography/index.html create mode 100644 _site/unregister.js diff --git a/.gitignore b/.gitignore index 0124b68..383f10a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ Gemfile.lock # Jekyll cache .jekyll-cache -_site # RubyGems *.gem diff --git a/_site/404.html b/_site/404.html new file mode 100644 index 0000000..545db27 --- /dev/null +++ b/_site/404.html @@ -0,0 +1,1704 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 404: Page not found | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + 404: Page not found + + + + + + + + + + +
+ 404: Page not found +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + +

+ 404: Page not found +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.

+
+ + + + +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/about/index.html b/_site/about/index.html new file mode 100644 index 0000000..c9b673e --- /dev/null +++ b/_site/about/index.html @@ -0,0 +1,1701 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + About | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + About + + + + + + + + + + +
+ About +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + +

+ About +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Add Markdown syntax content to file _tabs/about.md and it will show up on this page.

+
+ + + + +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/app.js b/_site/app.js new file mode 100644 index 0000000..9e7442d --- /dev/null +++ b/_site/app.js @@ -0,0 +1,43 @@ +const $notification = $('#notification'); +const $btnRefresh = $('#notification .toast-body>button'); + +if ('serviceWorker' in navigator) { + /* Registering Service Worker */ + navigator.serviceWorker.register('/sw.js') + .then(registration => { + + /* in case the user ignores the notification */ + if (registration.waiting) { + $notification.toast('show'); + } + + registration.addEventListener('updatefound', () => { + registration.installing.addEventListener('statechange', () => { + if (registration.waiting) { + if (navigator.serviceWorker.controller) { + $notification.toast('show'); + } + } + }); + }); + + $btnRefresh.click(() => { + if (registration.waiting) { + registration.waiting.postMessage('SKIP_WAITING'); + } + $notification.toast('hide'); + }); + }); + + let refreshing = false; + + /* Detect controller change and refresh all the opened tabs */ + navigator.serviceWorker.addEventListener('controllerchange', () => { + if (!refreshing) { + window.location.reload(); + refreshing = true; + } + }); +} + + diff --git a/_site/archives/index.html b/_site/archives/index.html new file mode 100644 index 0000000..85f3e98 --- /dev/null +++ b/_site/archives/index.html @@ -0,0 +1,1799 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Archives | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + Archives + + + + + + + + + + +
+ Archives +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + +

+ Archives +

+
+ + + + + + + + + +
+ + + + + + +
2023
+ +
2019
+ + + + +
+ + + +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/assets/css/style.css b/_site/assets/css/style.css new file mode 100644 index 0000000..51a6135 --- /dev/null +++ b/_site/assets/css/style.css @@ -0,0 +1,7 @@ +/*! + * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy) + * © 2019 Cotes Chung + * MIT Licensed + */#search-results a,h5,h4,h3,h2,h1{color:var(--heading-color);font-weight:400;font-family:Lato,"Microsoft Yahei",sans-serif}#core-wrapper h5,#core-wrapper h4,#core-wrapper h3,#core-wrapper h2{margin-top:2.5rem;margin-bottom:1.25rem}#core-wrapper h5:focus,#core-wrapper h4:focus,#core-wrapper h3:focus,#core-wrapper h2:focus{outline:none}h5 .anchor,h4 .anchor,h3 .anchor,h2 .anchor{font-size:80%}@media(hover: hover){h5 .anchor,h4 .anchor,h3 .anchor,h2 .anchor{visibility:hidden;opacity:0;transition:opacity .25s ease-in,visibility 0s ease-in .25s}h5:hover .anchor,h4:hover .anchor,h3:hover .anchor,h2:hover .anchor{visibility:visible;opacity:1;transition:opacity .25s ease-in,visibility 0s ease-in 0s}}.post-tags .post-tag:hover,.tag:hover{background:var(--tag-hover);transition:background .35s ease-in-out}.table-wrapper>table tbody tr td,.table-wrapper>table thead th{padding:.4rem 1rem;font-size:95%;white-space:nowrap}#page-category a:hover,#page-tag a:hover,.post-tags .post-tag:hover,.post-tail-wrapper .license-wrapper>a:hover,#search-results a:hover,#topbar #breadcrumb a:hover,.post-content a:not(.img-link):hover,.post-meta a:not([class]):hover,#access-lastmod a:hover,footer a:hover{color:#d2603a !important;border-bottom:1px solid #d2603a;text-decoration:none}#search-results a,#search-hints .post-tag,a{color:var(--link-color)}.post-tail-wrapper .post-meta a:not(:hover),.post-content a:not(.img-link){border-bottom:1px solid var(--link-underline-color)}#sidebar .sidebar-bottom a,#sidebar .site-title a,#sidebar .profile-wrapper{transition:all .3s ease-in-out}#sidebar .sidebar-bottom .icon-border,.post-content a.popup,i.far,i.fas,.code-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#page-category ul>li>a,#page-tag ul>li>a,.post-tags .post-tag:hover,#core-wrapper .categories a:not(:hover),#core-wrapper #tags a:not(:hover),#core-wrapper #archives a:not(:hover),#search-results a,#access-lastmod a{border-bottom:none}.post-tail-wrapper .share-wrapper .share-icons>i,#search-cancel,.code-header button{cursor:pointer}#related-posts em,#post-list .card .card-body .post-meta em,.post-meta em{font-style:normal}.categories.card,.categories .list-group,.preview-img img,.preview-img,.embed-video,.post-preview::before,.post-preview,blockquote[class^=prompt-],.code-header button,div[class^=language-],.highlight{border-radius:.5rem}.post-content a.popup+em,img[data-src]+em{display:block;text-align:center;font-style:normal;font-size:80%;padding:0;color:#6d6c6c}#sidebar .sidebar-bottom .mode-toggle,#sidebar a{color:rgba(117,117,117,.9);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#related-posts .card h4,#post-list .card .card-body .card-text.post-content p,#post-list .card .card-body .card-title{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media(prefers-color-scheme: light){html:not([data-mode]),html[data-mode=light]{--language-border-color: rgba(172, 169, 169, 0.2);--highlight-bg-color: #f7f7f7;--highlighter-rouge-color: #3f596f;--highlight-lineno-color: #c2c6cc;--inline-code-bg: #f6f6f7;--code-header-text-color: #a3a3b1;--code-header-muted-color: #ebebeb;--code-header-icon-color: #d1d1d1;--clipboard-checked-color: #43c743}html:not([data-mode]) .highlight .hll,html[data-mode=light] .highlight .hll{background-color:#ffc}html:not([data-mode]) .highlight .c,html[data-mode=light] .highlight .c{color:#998;font-style:italic}html:not([data-mode]) .highlight .err,html[data-mode=light] .highlight .err{color:#a61717;background-color:#e3d2d2}html:not([data-mode]) .highlight .k,html[data-mode=light] .highlight .k{color:#000;font-weight:bold}html:not([data-mode]) .highlight .o,html[data-mode=light] .highlight .o{color:#000;font-weight:bold}html:not([data-mode]) .highlight .cm,html[data-mode=light] .highlight .cm{color:#998;font-style:italic}html:not([data-mode]) .highlight .cp,html[data-mode=light] .highlight .cp{color:#999;font-weight:bold;font-style:italic}html:not([data-mode]) .highlight .c1,html[data-mode=light] .highlight .c1{color:#998;font-style:italic}html:not([data-mode]) .highlight .cs,html[data-mode=light] .highlight .cs{color:#999;font-weight:bold;font-style:italic}html:not([data-mode]) .highlight .gd,html[data-mode=light] .highlight .gd{color:#d01040;background-color:#fdd}html:not([data-mode]) .highlight .ge,html[data-mode=light] .highlight .ge{color:#000;font-style:italic}html:not([data-mode]) .highlight .gr,html[data-mode=light] .highlight .gr{color:#a00}html:not([data-mode]) .highlight .gh,html[data-mode=light] .highlight .gh{color:#999}html:not([data-mode]) .highlight .gi,html[data-mode=light] .highlight .gi{color:teal;background-color:#dfd}html:not([data-mode]) .highlight .go,html[data-mode=light] .highlight .go{color:#888}html:not([data-mode]) .highlight .gp,html[data-mode=light] .highlight .gp{color:#555}html:not([data-mode]) .highlight .gs,html[data-mode=light] .highlight .gs{font-weight:bold}html:not([data-mode]) .highlight .gu,html[data-mode=light] .highlight .gu{color:#aaa}html:not([data-mode]) .highlight .gt,html[data-mode=light] .highlight .gt{color:#a00}html:not([data-mode]) .highlight .kc,html[data-mode=light] .highlight .kc{color:#000;font-weight:bold}html:not([data-mode]) .highlight .kd,html[data-mode=light] .highlight .kd{color:#000;font-weight:bold}html:not([data-mode]) .highlight .kn,html[data-mode=light] .highlight .kn{color:#000;font-weight:bold}html:not([data-mode]) .highlight .kp,html[data-mode=light] .highlight .kp{color:#000;font-weight:bold}html:not([data-mode]) .highlight .kr,html[data-mode=light] .highlight .kr{color:#000;font-weight:bold}html:not([data-mode]) .highlight .kt,html[data-mode=light] .highlight .kt{color:#458;font-weight:bold}html:not([data-mode]) .highlight .m,html[data-mode=light] .highlight .m{color:#099}html:not([data-mode]) .highlight .s,html[data-mode=light] .highlight .s{color:#d01040}html:not([data-mode]) .highlight .na,html[data-mode=light] .highlight .na{color:teal}html:not([data-mode]) .highlight .nb,html[data-mode=light] .highlight .nb{color:#0086b3}html:not([data-mode]) .highlight .nc,html[data-mode=light] .highlight .nc{color:#458;font-weight:bold}html:not([data-mode]) .highlight .no,html[data-mode=light] .highlight .no{color:teal}html:not([data-mode]) .highlight .nd,html[data-mode=light] .highlight .nd{color:#3c5d5d;font-weight:bold}html:not([data-mode]) .highlight .ni,html[data-mode=light] .highlight .ni{color:purple}html:not([data-mode]) .highlight .ne,html[data-mode=light] .highlight .ne{color:#900;font-weight:bold}html:not([data-mode]) .highlight .nf,html[data-mode=light] .highlight .nf{color:#900;font-weight:bold}html:not([data-mode]) .highlight .nl,html[data-mode=light] .highlight .nl{color:#900;font-weight:bold}html:not([data-mode]) .highlight .nn,html[data-mode=light] .highlight .nn{color:#555}html:not([data-mode]) .highlight .nt,html[data-mode=light] .highlight .nt{color:navy}html:not([data-mode]) .highlight .nv,html[data-mode=light] .highlight .nv{color:teal}html:not([data-mode]) .highlight .ow,html[data-mode=light] .highlight .ow{color:#000;font-weight:bold}html:not([data-mode]) .highlight .w,html[data-mode=light] .highlight .w{color:#bbb}html:not([data-mode]) .highlight .mf,html[data-mode=light] .highlight .mf{color:#099}html:not([data-mode]) .highlight .mh,html[data-mode=light] .highlight .mh{color:#099}html:not([data-mode]) .highlight .mi,html[data-mode=light] .highlight .mi{color:#099}html:not([data-mode]) .highlight .mo,html[data-mode=light] .highlight .mo{color:#099}html:not([data-mode]) .highlight .sb,html[data-mode=light] .highlight .sb{color:#d01040}html:not([data-mode]) .highlight .sc,html[data-mode=light] .highlight .sc{color:#d01040}html:not([data-mode]) .highlight .sd,html[data-mode=light] .highlight .sd{color:#d01040}html:not([data-mode]) .highlight .s2,html[data-mode=light] .highlight .s2{color:#d01040}html:not([data-mode]) .highlight .se,html[data-mode=light] .highlight .se{color:#d01040}html:not([data-mode]) .highlight .sh,html[data-mode=light] .highlight .sh{color:#d01040}html:not([data-mode]) .highlight .si,html[data-mode=light] .highlight .si{color:#d01040}html:not([data-mode]) .highlight .sx,html[data-mode=light] .highlight .sx{color:#d01040}html:not([data-mode]) .highlight .sr,html[data-mode=light] .highlight .sr{color:#009926}html:not([data-mode]) .highlight .s1,html[data-mode=light] .highlight .s1{color:#d01040}html:not([data-mode]) .highlight .ss,html[data-mode=light] .highlight .ss{color:#990073}html:not([data-mode]) .highlight .bp,html[data-mode=light] .highlight .bp{color:#999}html:not([data-mode]) .highlight .vc,html[data-mode=light] .highlight .vc{color:teal}html:not([data-mode]) .highlight .vg,html[data-mode=light] .highlight .vg{color:teal}html:not([data-mode]) .highlight .vi,html[data-mode=light] .highlight .vi{color:teal}html:not([data-mode]) .highlight .il,html[data-mode=light] .highlight .il{color:#099}html:not([data-mode]) [class^=prompt-],html[data-mode=light] [class^=prompt-]{--inline-code-bg: #fbfafa}html[data-mode=dark]{--language-border-color: rgba(84, 83, 83, 0.27);--highlight-bg-color: #252525;--highlighter-rouge-color: #de6b18;--highlight-lineno-color: #6c6c6d;--inline-code-bg: #272822;--code-header-text-color: #6a6a6a;--code-header-muted-color: rgb(60, 60, 60);--code-header-icon-color: rgb(86, 86, 86);--clipboard-checked-color: #2bcc2b;--filepath-text-color: #bdbdbd}html[data-mode=dark] pre{color:#bfbfbf}html[data-mode=dark] .highlight .gp{color:#818c96}html[data-mode=dark] .highlight pre{background-color:var(--highlight-bg-color)}html[data-mode=dark] .highlight .hll{background-color:var(--highlight-bg-color)}html[data-mode=dark] .highlight .c{color:#75715e}html[data-mode=dark] .highlight .err{color:#960050;background-color:#1e0010}html[data-mode=dark] .highlight .k{color:#66d9ef}html[data-mode=dark] .highlight .l{color:#ae81ff}html[data-mode=dark] .highlight .n{color:#f8f8f2}html[data-mode=dark] .highlight .o{color:#f92672}html[data-mode=dark] .highlight .p{color:#f8f8f2}html[data-mode=dark] .highlight .cm{color:#75715e}html[data-mode=dark] .highlight .cp{color:#75715e}html[data-mode=dark] .highlight .c1{color:#75715e}html[data-mode=dark] .highlight .cs{color:#75715e}html[data-mode=dark] .highlight .ge{color:inherit;font-style:italic}html[data-mode=dark] .highlight .gs{font-weight:bold}html[data-mode=dark] .highlight .kc{color:#66d9ef}html[data-mode=dark] .highlight .kd{color:#66d9ef}html[data-mode=dark] .highlight .kn{color:#f92672}html[data-mode=dark] .highlight .kp{color:#66d9ef}html[data-mode=dark] .highlight .kr{color:#66d9ef}html[data-mode=dark] .highlight .kt{color:#66d9ef}html[data-mode=dark] .highlight .ld{color:#e6db74}html[data-mode=dark] .highlight .m{color:#ae81ff}html[data-mode=dark] .highlight .s{color:#e6db74}html[data-mode=dark] .highlight .na{color:#a6e22e}html[data-mode=dark] .highlight .nb{color:#f8f8f2}html[data-mode=dark] .highlight .nc{color:#a6e22e}html[data-mode=dark] .highlight .no{color:#66d9ef}html[data-mode=dark] .highlight .nd{color:#a6e22e}html[data-mode=dark] .highlight .ni{color:#f8f8f2}html[data-mode=dark] .highlight .ne{color:#a6e22e}html[data-mode=dark] .highlight .nf{color:#a6e22e}html[data-mode=dark] .highlight .nl{color:#f8f8f2}html[data-mode=dark] .highlight .nn{color:#f8f8f2}html[data-mode=dark] .highlight .nx{color:#a6e22e}html[data-mode=dark] .highlight .py{color:#f8f8f2}html[data-mode=dark] .highlight .nt{color:#f92672}html[data-mode=dark] .highlight .nv{color:#f8f8f2}html[data-mode=dark] .highlight .ow{color:#f92672}html[data-mode=dark] .highlight .w{color:#f8f8f2}html[data-mode=dark] .highlight .mf{color:#ae81ff}html[data-mode=dark] .highlight .mh{color:#ae81ff}html[data-mode=dark] .highlight .mi{color:#ae81ff}html[data-mode=dark] .highlight .mo{color:#ae81ff}html[data-mode=dark] .highlight .sb{color:#e6db74}html[data-mode=dark] .highlight .sc{color:#e6db74}html[data-mode=dark] .highlight .sd{color:#e6db74}html[data-mode=dark] .highlight .s2{color:#e6db74}html[data-mode=dark] .highlight .se{color:#ae81ff}html[data-mode=dark] .highlight .sh{color:#e6db74}html[data-mode=dark] .highlight .si{color:#e6db74}html[data-mode=dark] .highlight .sx{color:#e6db74}html[data-mode=dark] .highlight .sr{color:#e6db74}html[data-mode=dark] .highlight .s1{color:#e6db74}html[data-mode=dark] .highlight .ss{color:#e6db74}html[data-mode=dark] .highlight .bp{color:#f8f8f2}html[data-mode=dark] .highlight .vc{color:#f8f8f2}html[data-mode=dark] .highlight .vg{color:#f8f8f2}html[data-mode=dark] .highlight .vi{color:#f8f8f2}html[data-mode=dark] .highlight .il{color:#ae81ff}html[data-mode=dark] .highlight .gu{color:#75715e}html[data-mode=dark] .highlight .gd{color:#f92672;background-color:#561c08}html[data-mode=dark] .highlight .gi{color:#a6e22e;background-color:#0b5858}}@media(prefers-color-scheme: dark){html:not([data-mode]),html[data-mode=dark]{--language-border-color: rgba(84, 83, 83, 0.27);--highlight-bg-color: #252525;--highlighter-rouge-color: #de6b18;--highlight-lineno-color: #6c6c6d;--inline-code-bg: #272822;--code-header-text-color: #6a6a6a;--code-header-muted-color: rgb(60, 60, 60);--code-header-icon-color: rgb(86, 86, 86);--clipboard-checked-color: #2bcc2b;--filepath-text-color: #bdbdbd}html:not([data-mode]) pre,html[data-mode=dark] pre{color:#bfbfbf}html:not([data-mode]) .highlight .gp,html[data-mode=dark] .highlight .gp{color:#818c96}html:not([data-mode]) .highlight pre,html[data-mode=dark] .highlight pre{background-color:var(--highlight-bg-color)}html:not([data-mode]) .highlight .hll,html[data-mode=dark] .highlight .hll{background-color:var(--highlight-bg-color)}html:not([data-mode]) .highlight .c,html[data-mode=dark] .highlight .c{color:#75715e}html:not([data-mode]) .highlight .err,html[data-mode=dark] .highlight .err{color:#960050;background-color:#1e0010}html:not([data-mode]) .highlight .k,html[data-mode=dark] .highlight .k{color:#66d9ef}html:not([data-mode]) .highlight .l,html[data-mode=dark] .highlight .l{color:#ae81ff}html:not([data-mode]) .highlight .n,html[data-mode=dark] .highlight .n{color:#f8f8f2}html:not([data-mode]) .highlight .o,html[data-mode=dark] .highlight .o{color:#f92672}html:not([data-mode]) .highlight .p,html[data-mode=dark] .highlight .p{color:#f8f8f2}html:not([data-mode]) .highlight .cm,html[data-mode=dark] .highlight .cm{color:#75715e}html:not([data-mode]) .highlight .cp,html[data-mode=dark] .highlight .cp{color:#75715e}html:not([data-mode]) .highlight .c1,html[data-mode=dark] .highlight .c1{color:#75715e}html:not([data-mode]) .highlight .cs,html[data-mode=dark] .highlight .cs{color:#75715e}html:not([data-mode]) .highlight .ge,html[data-mode=dark] .highlight .ge{color:inherit;font-style:italic}html:not([data-mode]) .highlight .gs,html[data-mode=dark] .highlight .gs{font-weight:bold}html:not([data-mode]) .highlight .kc,html[data-mode=dark] .highlight .kc{color:#66d9ef}html:not([data-mode]) .highlight .kd,html[data-mode=dark] .highlight .kd{color:#66d9ef}html:not([data-mode]) .highlight .kn,html[data-mode=dark] .highlight .kn{color:#f92672}html:not([data-mode]) .highlight .kp,html[data-mode=dark] .highlight .kp{color:#66d9ef}html:not([data-mode]) .highlight .kr,html[data-mode=dark] .highlight .kr{color:#66d9ef}html:not([data-mode]) .highlight .kt,html[data-mode=dark] .highlight .kt{color:#66d9ef}html:not([data-mode]) .highlight .ld,html[data-mode=dark] .highlight .ld{color:#e6db74}html:not([data-mode]) .highlight .m,html[data-mode=dark] .highlight .m{color:#ae81ff}html:not([data-mode]) .highlight .s,html[data-mode=dark] .highlight .s{color:#e6db74}html:not([data-mode]) .highlight .na,html[data-mode=dark] .highlight .na{color:#a6e22e}html:not([data-mode]) .highlight .nb,html[data-mode=dark] .highlight .nb{color:#f8f8f2}html:not([data-mode]) .highlight .nc,html[data-mode=dark] .highlight .nc{color:#a6e22e}html:not([data-mode]) .highlight .no,html[data-mode=dark] .highlight .no{color:#66d9ef}html:not([data-mode]) .highlight .nd,html[data-mode=dark] .highlight .nd{color:#a6e22e}html:not([data-mode]) .highlight .ni,html[data-mode=dark] .highlight .ni{color:#f8f8f2}html:not([data-mode]) .highlight .ne,html[data-mode=dark] .highlight .ne{color:#a6e22e}html:not([data-mode]) .highlight .nf,html[data-mode=dark] .highlight .nf{color:#a6e22e}html:not([data-mode]) .highlight .nl,html[data-mode=dark] .highlight .nl{color:#f8f8f2}html:not([data-mode]) .highlight .nn,html[data-mode=dark] .highlight .nn{color:#f8f8f2}html:not([data-mode]) .highlight .nx,html[data-mode=dark] .highlight .nx{color:#a6e22e}html:not([data-mode]) .highlight .py,html[data-mode=dark] .highlight .py{color:#f8f8f2}html:not([data-mode]) .highlight .nt,html[data-mode=dark] .highlight .nt{color:#f92672}html:not([data-mode]) .highlight .nv,html[data-mode=dark] .highlight .nv{color:#f8f8f2}html:not([data-mode]) .highlight .ow,html[data-mode=dark] .highlight .ow{color:#f92672}html:not([data-mode]) .highlight .w,html[data-mode=dark] .highlight .w{color:#f8f8f2}html:not([data-mode]) .highlight .mf,html[data-mode=dark] .highlight .mf{color:#ae81ff}html:not([data-mode]) .highlight .mh,html[data-mode=dark] .highlight .mh{color:#ae81ff}html:not([data-mode]) .highlight .mi,html[data-mode=dark] .highlight .mi{color:#ae81ff}html:not([data-mode]) .highlight .mo,html[data-mode=dark] .highlight .mo{color:#ae81ff}html:not([data-mode]) .highlight .sb,html[data-mode=dark] .highlight .sb{color:#e6db74}html:not([data-mode]) .highlight .sc,html[data-mode=dark] .highlight .sc{color:#e6db74}html:not([data-mode]) .highlight .sd,html[data-mode=dark] .highlight .sd{color:#e6db74}html:not([data-mode]) .highlight .s2,html[data-mode=dark] .highlight .s2{color:#e6db74}html:not([data-mode]) .highlight .se,html[data-mode=dark] .highlight .se{color:#ae81ff}html:not([data-mode]) .highlight .sh,html[data-mode=dark] .highlight .sh{color:#e6db74}html:not([data-mode]) .highlight .si,html[data-mode=dark] .highlight .si{color:#e6db74}html:not([data-mode]) .highlight .sx,html[data-mode=dark] .highlight .sx{color:#e6db74}html:not([data-mode]) .highlight .sr,html[data-mode=dark] .highlight .sr{color:#e6db74}html:not([data-mode]) .highlight .s1,html[data-mode=dark] .highlight .s1{color:#e6db74}html:not([data-mode]) .highlight .ss,html[data-mode=dark] .highlight .ss{color:#e6db74}html:not([data-mode]) .highlight .bp,html[data-mode=dark] .highlight .bp{color:#f8f8f2}html:not([data-mode]) .highlight .vc,html[data-mode=dark] .highlight .vc{color:#f8f8f2}html:not([data-mode]) .highlight .vg,html[data-mode=dark] .highlight .vg{color:#f8f8f2}html:not([data-mode]) .highlight .vi,html[data-mode=dark] .highlight .vi{color:#f8f8f2}html:not([data-mode]) .highlight .il,html[data-mode=dark] .highlight .il{color:#ae81ff}html:not([data-mode]) .highlight .gu,html[data-mode=dark] .highlight .gu{color:#75715e}html:not([data-mode]) .highlight .gd,html[data-mode=dark] .highlight .gd{color:#f92672;background-color:#561c08}html:not([data-mode]) .highlight .gi,html[data-mode=dark] .highlight .gi{color:#a6e22e;background-color:#0b5858}html[data-mode=light]{--language-border-color: rgba(172, 169, 169, 0.2);--highlight-bg-color: #f7f7f7;--highlighter-rouge-color: #3f596f;--highlight-lineno-color: #c2c6cc;--inline-code-bg: #f6f6f7;--code-header-text-color: #a3a3b1;--code-header-muted-color: #ebebeb;--code-header-icon-color: #d1d1d1;--clipboard-checked-color: #43c743}html[data-mode=light] .highlight .hll{background-color:#ffc}html[data-mode=light] .highlight .c{color:#998;font-style:italic}html[data-mode=light] .highlight .err{color:#a61717;background-color:#e3d2d2}html[data-mode=light] .highlight .k{color:#000;font-weight:bold}html[data-mode=light] .highlight .o{color:#000;font-weight:bold}html[data-mode=light] .highlight .cm{color:#998;font-style:italic}html[data-mode=light] .highlight .cp{color:#999;font-weight:bold;font-style:italic}html[data-mode=light] .highlight .c1{color:#998;font-style:italic}html[data-mode=light] .highlight .cs{color:#999;font-weight:bold;font-style:italic}html[data-mode=light] .highlight .gd{color:#d01040;background-color:#fdd}html[data-mode=light] .highlight .ge{color:#000;font-style:italic}html[data-mode=light] .highlight .gr{color:#a00}html[data-mode=light] .highlight .gh{color:#999}html[data-mode=light] .highlight .gi{color:teal;background-color:#dfd}html[data-mode=light] .highlight .go{color:#888}html[data-mode=light] .highlight .gp{color:#555}html[data-mode=light] .highlight .gs{font-weight:bold}html[data-mode=light] .highlight .gu{color:#aaa}html[data-mode=light] .highlight .gt{color:#a00}html[data-mode=light] .highlight .kc{color:#000;font-weight:bold}html[data-mode=light] .highlight .kd{color:#000;font-weight:bold}html[data-mode=light] .highlight .kn{color:#000;font-weight:bold}html[data-mode=light] .highlight .kp{color:#000;font-weight:bold}html[data-mode=light] .highlight .kr{color:#000;font-weight:bold}html[data-mode=light] .highlight .kt{color:#458;font-weight:bold}html[data-mode=light] .highlight .m{color:#099}html[data-mode=light] .highlight .s{color:#d01040}html[data-mode=light] .highlight .na{color:teal}html[data-mode=light] .highlight .nb{color:#0086b3}html[data-mode=light] .highlight .nc{color:#458;font-weight:bold}html[data-mode=light] .highlight .no{color:teal}html[data-mode=light] .highlight .nd{color:#3c5d5d;font-weight:bold}html[data-mode=light] .highlight .ni{color:purple}html[data-mode=light] .highlight .ne{color:#900;font-weight:bold}html[data-mode=light] .highlight .nf{color:#900;font-weight:bold}html[data-mode=light] .highlight .nl{color:#900;font-weight:bold}html[data-mode=light] .highlight .nn{color:#555}html[data-mode=light] .highlight .nt{color:navy}html[data-mode=light] .highlight .nv{color:teal}html[data-mode=light] .highlight .ow{color:#000;font-weight:bold}html[data-mode=light] .highlight .w{color:#bbb}html[data-mode=light] .highlight .mf{color:#099}html[data-mode=light] .highlight .mh{color:#099}html[data-mode=light] .highlight .mi{color:#099}html[data-mode=light] .highlight .mo{color:#099}html[data-mode=light] .highlight .sb{color:#d01040}html[data-mode=light] .highlight .sc{color:#d01040}html[data-mode=light] .highlight .sd{color:#d01040}html[data-mode=light] .highlight .s2{color:#d01040}html[data-mode=light] .highlight .se{color:#d01040}html[data-mode=light] .highlight .sh{color:#d01040}html[data-mode=light] .highlight .si{color:#d01040}html[data-mode=light] .highlight .sx{color:#d01040}html[data-mode=light] .highlight .sr{color:#009926}html[data-mode=light] .highlight .s1{color:#d01040}html[data-mode=light] .highlight .ss{color:#990073}html[data-mode=light] .highlight .bp{color:#999}html[data-mode=light] .highlight .vc{color:teal}html[data-mode=light] .highlight .vg{color:teal}html[data-mode=light] .highlight .vi{color:teal}html[data-mode=light] .highlight .il{color:#099}html[data-mode=light] [class^=prompt-]{--inline-code-bg: #fbfafa}}div[class^=language-],figure.highlight,.highlight{background-color:var(--highlight-bg-color)}td.rouge-code{padding-left:1rem;padding-right:1.5rem}.highlighter-rouge{color:var(--highlighter-rouge-color);margin-top:.5rem;margin-bottom:1.2em}.highlight{overflow:auto;padding-top:.5rem;padding-bottom:1rem}.highlight pre{margin-bottom:0;font-size:.85rem;line-height:1.4rem;word-wrap:normal}.highlight table td pre{overflow:visible;word-break:normal}.highlight .lineno{padding-right:.5rem;min-width:2.2rem;text-align:right;color:var(--highlight-lineno-color);-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}code{-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code.highlighter-rouge{font-size:.85rem;padding:3px 5px;word-break:break-word;border-radius:4px;background-color:var(--inline-code-bg)}code.filepath{background-color:inherit;color:var(--filepath-text-color);font-weight:600;padding:0}a>code.highlighter-rouge{padding-bottom:0;color:inherit}a:hover>code.highlighter-rouge{border-bottom:none}blockquote code{color:inherit}td.rouge-code a{color:inherit !important;border-bottom:none !important;pointer-events:none}div[class^=language-]{box-shadow:var(--language-border-color) 0 0 0 1px}.post-content>div[class^=language-]{margin-left:-1.25rem;margin-right:-1.25rem;border-radius:0}div.nolineno pre.lineno,div.language-plaintext pre.lineno,div.language-console pre.lineno,div.language-terminal pre.lineno{display:none}div.nolineno td.rouge-code,div.language-plaintext td.rouge-code,div.language-console td.rouge-code,div.language-terminal td.rouge-code{padding-left:1.5rem}.code-header{display:flex;justify-content:space-between;align-items:center;height:2.25rem;margin-left:1rem;margin-right:.5rem}.code-header span i{font-size:1rem;margin-right:.5rem;color:var(--code-header-icon-color)}.code-header span i.small{font-size:70%}[file] .code-header span>i{position:relative;top:1px}.code-header span::after{content:attr(data-label-text);font-size:.85rem;font-weight:600;color:var(--code-header-text-color)}.code-header button{border:1px solid rgba(0,0,0,0);height:2.25rem;width:2.25rem;padding:0;background-color:inherit}.code-header button i{color:var(--code-header-icon-color)}.code-header button[timeout]:hover{border-color:var(--clipboard-checked-color)}.code-header button[timeout] i{color:var(--clipboard-checked-color)}.code-header button:focus{outline:none}.code-header button:not([timeout]):hover{background-color:rgba(128,128,128,.37)}.code-header button:not([timeout]):hover i{color:#fff}@media all and (min-width: 576px){.post-content>div[class^=language-]{margin-left:0;margin-right:0;border-radius:.5rem}div[class^=language-] .code-header{margin-left:0;margin-right:0}div[class^=language-] .code-header::before{content:"";display:inline-block;margin-left:1rem;width:.75rem;height:.75rem;border-radius:50%;background-color:var(--code-header-muted-color);box-shadow:1.25rem 0 0 var(--code-header-muted-color),2.5rem 0 0 var(--code-header-muted-color)}}html{font-size:16px}@media(prefers-color-scheme: light){html:not([data-mode]),html[data-mode=light]{--main-bg: white;--mask-bg: #c1c3c5;--main-border-color: #f3f3f3;--text-color: #34343c;--text-muted-color: #8e8e8e;--heading-color: black;--blockquote-border-color: #eeeeee;--blockquote-text-color: #9a9a9a;--link-color: #0153ab;--link-underline-color: #dee2e6;--button-bg: #ffffff;--btn-border-color: #e9ecef;--btn-backtotop-color: #686868;--btn-backtotop-border-color: #f1f1f1;--btn-box-shadow: #eaeaea;--checkbox-color: #c5c5c5;--checkbox-checked-color: #07a8f7;--img-bg: radial-gradient( circle, rgb(255, 255, 255) 0%, rgb(239, 239, 239) 100% );--shimmer-bg: linear-gradient( 90deg, rgba(250, 250, 250, 0) 0%, rgba(232, 230, 230, 1) 50%, rgba(250, 250, 250, 0) 100% );--sidebar-bg: #f6f8fa;--sidebar-muted-color: #a2a19f;--sidebar-active-color: #1d1d1d;--sidebar-hover-bg: rgb(223, 233, 241, 0.64);--sidebar-btn-bg: white;--sidebar-btn-color: #8e8e8e;--avatar-border-color: white;--topbar-bg: rgb(255, 255, 255, 0.7);--topbar-text-color: rgb(78, 78, 78);--search-wrapper-border-color: rgb(240, 240, 240);--search-tag-bg: #f8f9fa;--search-icon-color: #c2c6cc;--input-focus-border-color: #b8b8b8;--post-list-text-color: dimgray;--btn-patinator-text-color: #555555;--btn-paginator-hover-color: var(--sidebar-bg);--btn-paginator-border-color: var(--sidebar-bg);--btn-text-color: #676666;--toc-highlight: #563d7c;--btn-share-hover-color: var(--link-color);--card-bg: white;--card-hovor-bg: #e2e2e2;--card-shadow: rgb(104, 104, 104, 0.05) 0 2px 6px 0, rgba(211, 209, 209, 0.15) 0 0 0 1px;--label-color: #616161;--relate-post-date: rgba(30, 55, 70, 0.4);--footnote-target-bg: lightcyan;--tag-bg: rgba(0, 0, 0, 0.075);--tag-border: #dee2e6;--tag-shadow: var(--btn-border-color);--tag-hover: rgb(222, 226, 230);--tb-odd-bg: #fbfcfd;--tb-border-color: #eaeaea;--dash-color: silver;--kbd-wrap-color: #bdbdbd;--kbd-text-color: var(--text-color);--kbd-bg-color: white;--prompt-text-color: rgb(46, 46, 46, 0.77);--prompt-tip-bg: rgb(123, 247, 144, 0.2);--prompt-tip-icon-color: #03b303;--prompt-info-bg: #e1f5fe;--prompt-info-icon-color: #0070cb;--prompt-warning-bg: rgb(255, 243, 205);--prompt-warning-icon-color: #ef9c03;--prompt-danger-bg: rgb(248, 215, 218, 0.56);--prompt-danger-icon-color: #df3c30;--categories-border: rgba(0, 0, 0, 0.125);--categories-hover-bg: var(--btn-border-color);--categories-icon-hover-color: darkslategray;--timeline-color: rgba(0, 0, 0, 0.075);--timeline-node-bg: #c2c6cc;--timeline-year-dot-color: #ffffff}html:not([data-mode]) [class^=prompt-],html[data-mode=light] [class^=prompt-]{--link-underline-color: rgb(219, 216, 216)}html:not([data-mode]) .dark,html[data-mode=light] .dark{display:none}html[data-mode=dark]{--main-bg: rgb(27, 27, 30);--mask-bg: rgb(68, 69, 70);--main-border-color: rgb(44, 45, 45);--text-color: rgb(175, 176, 177);--text-muted-color: rgb(107, 116, 124);--heading-color: #cccccc;--blockquote-border-color: rgb(66, 66, 66);--blockquote-text-color: rgb(117, 117, 117);--link-color: rgb(138, 180, 248);--link-underline-color: rgb(82, 108, 150);--button-bg: rgb(39, 40, 43);--btn-border-color: rgb(63, 65, 68);--btn-backtotop-color: var(--text-color);--btn-backtotop-border-color: var(--btn-border-color);--btn-box-shadow: var(--main-bg);--card-header-bg: rgb(48, 48, 48);--label-color: rgb(108, 117, 125);--checkbox-color: rgb(118, 120, 121);--checkbox-checked-color: var(--link-color);--img-bg: radial-gradient(circle, rgb(22, 22, 24) 0%, rgb(32, 32, 32) 100%);--shimmer-bg: linear-gradient( 90deg, rgba(255, 255, 255, 0) 0%, rgba(58, 55, 55, 0.4) 50%, rgba(255, 255, 255, 0) 100% );--sidebar-bg: radial-gradient(circle, #242424 0%, #1d1f27 100%);--sidebar-muted-color: #6d6c6b;--sidebar-active-color: rgb(255, 255, 255, 0.95);--sidebar-hover-bg: rgb(54, 54, 54, 0.33);--sidebar-btn-bg: rgb(84, 83, 83, 0.3);--sidebar-btn-color: #787878;--avatar-border-color: rgb(206, 206, 206, 0.9);--topbar-bg: rgb(27, 27, 30, 0.64);--topbar-text-color: var(--text-color);--search-wrapper-border-color: rgb(55, 55, 55);--search-icon-color: rgb(100, 102, 105);--input-focus-border-color: rgb(112, 114, 115);--post-list-text-color: rgb(175, 176, 177);--btn-patinator-text-color: var(--text-color);--btn-paginator-hover-color: rgb(64, 65, 66);--btn-paginator-border-color: var(--btn-border-color);--btn-text-color: var(--text-color);--toc-highlight: rgb(116, 178, 243);--tag-bg: rgb(41, 40, 40);--tag-hover: rgb(43, 56, 62);--tb-odd-bg: rgba(42, 47, 53, 0.52);--tb-even-bg: rgb(31, 31, 34);--tb-border-color: var(--tb-odd-bg);--footnote-target-bg: rgb(63, 81, 181);--btn-share-color: #6c757d;--btn-share-hover-color: #bfc1ca;--relate-post-date: var(--text-muted-color);--card-bg: #1e1e1e;--card-hovor-bg: #464d51;--card-shadow: rgb(21, 21, 21, 0.72) 0 6px 18px 0, rgb(137, 135, 135, 0.24) 0 0 0 1px;--kbd-wrap-color: #6a6a6a;--kbd-text-color: #d3d3d3;--kbd-bg-color: #242424;--prompt-text-color: rgb(216, 212, 212, 0.75);--prompt-tip-bg: rgb(22, 60, 36, 0.64);--prompt-tip-icon-color: rgb(15, 164, 15, 0.81);--prompt-info-bg: rgb(7, 59, 104, 0.8);--prompt-info-icon-color: #0075d1;--prompt-warning-bg: rgb(90, 69, 3, 0.88);--prompt-warning-icon-color: rgb(255, 165, 0, 0.8);--prompt-danger-bg: rgb(86, 28, 8, 0.8);--prompt-danger-icon-color: #cd0202;--tag-border: rgb(59, 79, 88);--tag-shadow: rgb(32, 33, 33);--search-tag-bg: var(--tag-bg);--dash-color: rgb(63, 65, 68);--categories-border: rgb(64, 66, 69, 0.5);--categories-hover-bg: rgb(73, 75, 76);--categories-icon-hover-color: white;--timeline-node-bg: rgb(150, 152, 156);--timeline-color: rgb(63, 65, 68);--timeline-year-dot-color: var(--timeline-color);color-scheme:dark}html[data-mode=dark] .light{display:none}html[data-mode=dark] hr{border-color:var(--main-border-color)}html[data-mode=dark] .categories.card,html[data-mode=dark] .list-group-item{background-color:var(--card-bg)}html[data-mode=dark] .categories .card-header{background-color:var(--card-header-bg)}html[data-mode=dark] .categories .list-group-item{border-left:none;border-right:none;padding-left:2rem;border-color:var(--categories-border)}html[data-mode=dark] .categories .list-group-item:last-child{border-bottom-color:var(--card-bg)}html[data-mode=dark] #archives li:nth-child(odd){background-image:linear-gradient(to left, rgb(26, 26, 30), rgb(39, 39, 45), rgb(39, 39, 45), rgb(39, 39, 45), rgb(26, 26, 30))}html[data-mode=dark] #disqus_thread{color-scheme:none}}@media(prefers-color-scheme: dark){html:not([data-mode]),html[data-mode=dark]{--main-bg: rgb(27, 27, 30);--mask-bg: rgb(68, 69, 70);--main-border-color: rgb(44, 45, 45);--text-color: rgb(175, 176, 177);--text-muted-color: rgb(107, 116, 124);--heading-color: #cccccc;--blockquote-border-color: rgb(66, 66, 66);--blockquote-text-color: rgb(117, 117, 117);--link-color: rgb(138, 180, 248);--link-underline-color: rgb(82, 108, 150);--button-bg: rgb(39, 40, 43);--btn-border-color: rgb(63, 65, 68);--btn-backtotop-color: var(--text-color);--btn-backtotop-border-color: var(--btn-border-color);--btn-box-shadow: var(--main-bg);--card-header-bg: rgb(48, 48, 48);--label-color: rgb(108, 117, 125);--checkbox-color: rgb(118, 120, 121);--checkbox-checked-color: var(--link-color);--img-bg: radial-gradient(circle, rgb(22, 22, 24) 0%, rgb(32, 32, 32) 100%);--shimmer-bg: linear-gradient( 90deg, rgba(255, 255, 255, 0) 0%, rgba(58, 55, 55, 0.4) 50%, rgba(255, 255, 255, 0) 100% );--sidebar-bg: radial-gradient(circle, #242424 0%, #1d1f27 100%);--sidebar-muted-color: #6d6c6b;--sidebar-active-color: rgb(255, 255, 255, 0.95);--sidebar-hover-bg: rgb(54, 54, 54, 0.33);--sidebar-btn-bg: rgb(84, 83, 83, 0.3);--sidebar-btn-color: #787878;--avatar-border-color: rgb(206, 206, 206, 0.9);--topbar-bg: rgb(27, 27, 30, 0.64);--topbar-text-color: var(--text-color);--search-wrapper-border-color: rgb(55, 55, 55);--search-icon-color: rgb(100, 102, 105);--input-focus-border-color: rgb(112, 114, 115);--post-list-text-color: rgb(175, 176, 177);--btn-patinator-text-color: var(--text-color);--btn-paginator-hover-color: rgb(64, 65, 66);--btn-paginator-border-color: var(--btn-border-color);--btn-text-color: var(--text-color);--toc-highlight: rgb(116, 178, 243);--tag-bg: rgb(41, 40, 40);--tag-hover: rgb(43, 56, 62);--tb-odd-bg: rgba(42, 47, 53, 0.52);--tb-even-bg: rgb(31, 31, 34);--tb-border-color: var(--tb-odd-bg);--footnote-target-bg: rgb(63, 81, 181);--btn-share-color: #6c757d;--btn-share-hover-color: #bfc1ca;--relate-post-date: var(--text-muted-color);--card-bg: #1e1e1e;--card-hovor-bg: #464d51;--card-shadow: rgb(21, 21, 21, 0.72) 0 6px 18px 0, rgb(137, 135, 135, 0.24) 0 0 0 1px;--kbd-wrap-color: #6a6a6a;--kbd-text-color: #d3d3d3;--kbd-bg-color: #242424;--prompt-text-color: rgb(216, 212, 212, 0.75);--prompt-tip-bg: rgb(22, 60, 36, 0.64);--prompt-tip-icon-color: rgb(15, 164, 15, 0.81);--prompt-info-bg: rgb(7, 59, 104, 0.8);--prompt-info-icon-color: #0075d1;--prompt-warning-bg: rgb(90, 69, 3, 0.88);--prompt-warning-icon-color: rgb(255, 165, 0, 0.8);--prompt-danger-bg: rgb(86, 28, 8, 0.8);--prompt-danger-icon-color: #cd0202;--tag-border: rgb(59, 79, 88);--tag-shadow: rgb(32, 33, 33);--search-tag-bg: var(--tag-bg);--dash-color: rgb(63, 65, 68);--categories-border: rgb(64, 66, 69, 0.5);--categories-hover-bg: rgb(73, 75, 76);--categories-icon-hover-color: white;--timeline-node-bg: rgb(150, 152, 156);--timeline-color: rgb(63, 65, 68);--timeline-year-dot-color: var(--timeline-color);color-scheme:dark}html:not([data-mode]) .light,html[data-mode=dark] .light{display:none}html:not([data-mode]) hr,html[data-mode=dark] hr{border-color:var(--main-border-color)}html:not([data-mode]) .categories.card,html:not([data-mode]) .list-group-item,html[data-mode=dark] .categories.card,html[data-mode=dark] .list-group-item{background-color:var(--card-bg)}html:not([data-mode]) .categories .card-header,html[data-mode=dark] .categories .card-header{background-color:var(--card-header-bg)}html:not([data-mode]) .categories .list-group-item,html[data-mode=dark] .categories .list-group-item{border-left:none;border-right:none;padding-left:2rem;border-color:var(--categories-border)}html:not([data-mode]) .categories .list-group-item:last-child,html[data-mode=dark] .categories .list-group-item:last-child{border-bottom-color:var(--card-bg)}html:not([data-mode]) #archives li:nth-child(odd),html[data-mode=dark] #archives li:nth-child(odd){background-image:linear-gradient(to left, rgb(26, 26, 30), rgb(39, 39, 45), rgb(39, 39, 45), rgb(39, 39, 45), rgb(26, 26, 30))}html:not([data-mode]) #disqus_thread,html[data-mode=dark] #disqus_thread{color-scheme:none}html[data-mode=light]{--main-bg: white;--mask-bg: #c1c3c5;--main-border-color: #f3f3f3;--text-color: #34343c;--text-muted-color: #8e8e8e;--heading-color: black;--blockquote-border-color: #eeeeee;--blockquote-text-color: #9a9a9a;--link-color: #0153ab;--link-underline-color: #dee2e6;--button-bg: #ffffff;--btn-border-color: #e9ecef;--btn-backtotop-color: #686868;--btn-backtotop-border-color: #f1f1f1;--btn-box-shadow: #eaeaea;--checkbox-color: #c5c5c5;--checkbox-checked-color: #07a8f7;--img-bg: radial-gradient( circle, rgb(255, 255, 255) 0%, rgb(239, 239, 239) 100% );--shimmer-bg: linear-gradient( 90deg, rgba(250, 250, 250, 0) 0%, rgba(232, 230, 230, 1) 50%, rgba(250, 250, 250, 0) 100% );--sidebar-bg: #f6f8fa;--sidebar-muted-color: #a2a19f;--sidebar-active-color: #1d1d1d;--sidebar-hover-bg: rgb(223, 233, 241, 0.64);--sidebar-btn-bg: white;--sidebar-btn-color: #8e8e8e;--avatar-border-color: white;--topbar-bg: rgb(255, 255, 255, 0.7);--topbar-text-color: rgb(78, 78, 78);--search-wrapper-border-color: rgb(240, 240, 240);--search-tag-bg: #f8f9fa;--search-icon-color: #c2c6cc;--input-focus-border-color: #b8b8b8;--post-list-text-color: dimgray;--btn-patinator-text-color: #555555;--btn-paginator-hover-color: var(--sidebar-bg);--btn-paginator-border-color: var(--sidebar-bg);--btn-text-color: #676666;--toc-highlight: #563d7c;--btn-share-hover-color: var(--link-color);--card-bg: white;--card-hovor-bg: #e2e2e2;--card-shadow: rgb(104, 104, 104, 0.05) 0 2px 6px 0, rgba(211, 209, 209, 0.15) 0 0 0 1px;--label-color: #616161;--relate-post-date: rgba(30, 55, 70, 0.4);--footnote-target-bg: lightcyan;--tag-bg: rgba(0, 0, 0, 0.075);--tag-border: #dee2e6;--tag-shadow: var(--btn-border-color);--tag-hover: rgb(222, 226, 230);--tb-odd-bg: #fbfcfd;--tb-border-color: #eaeaea;--dash-color: silver;--kbd-wrap-color: #bdbdbd;--kbd-text-color: var(--text-color);--kbd-bg-color: white;--prompt-text-color: rgb(46, 46, 46, 0.77);--prompt-tip-bg: rgb(123, 247, 144, 0.2);--prompt-tip-icon-color: #03b303;--prompt-info-bg: #e1f5fe;--prompt-info-icon-color: #0070cb;--prompt-warning-bg: rgb(255, 243, 205);--prompt-warning-icon-color: #ef9c03;--prompt-danger-bg: rgb(248, 215, 218, 0.56);--prompt-danger-icon-color: #df3c30;--categories-border: rgba(0, 0, 0, 0.125);--categories-hover-bg: var(--btn-border-color);--categories-icon-hover-color: darkslategray;--timeline-color: rgba(0, 0, 0, 0.075);--timeline-node-bg: #c2c6cc;--timeline-year-dot-color: #ffffff}html[data-mode=light] [class^=prompt-]{--link-underline-color: rgb(219, 216, 216)}html[data-mode=light] .dark{display:none}}body{background:var(--main-bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:var(--text-color);-webkit-font-smoothing:antialiased;font-family:"Source Sans Pro","Microsoft Yahei",sans-serif}h1{font-size:1.92rem}h2{font-size:1.54rem}h3{font-size:1.36rem}h4{font-size:1.18rem}h5{font-size:1rem}a{text-decoration:none}img{max-width:100%;height:auto;transition:all .35s ease-in-out}img[data-src][data-lqip=true].lazyload,img[data-src][data-lqip=true].lazyloading{-webkit-filter:blur(20px);filter:blur(20px)}img[data-src]:not([data-lqip=true]).lazyload,img[data-src]:not([data-lqip=true]).lazyloading{background:var(--img-bg)}img[data-src]:not([data-lqip=true]).lazyloaded{-webkit-animation:fade-in .35s ease-in;animation:fade-in .35s ease-in}img[data-src].shadow{-webkit-filter:drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));filter:drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));box-shadow:none !important}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}blockquote{border-left:5px solid var(--blockquote-border-color);padding-left:1rem;color:var(--blockquote-text-color)}blockquote[class^=prompt-]{border-left:0;position:relative;padding:1rem 1rem 1rem 3rem;color:var(--prompt-text-color)}blockquote[class^=prompt-]::before{text-align:center;width:3rem;position:absolute;left:.25rem;margin-top:.4rem;text-rendering:auto;-webkit-font-smoothing:antialiased}blockquote[class^=prompt-]>p:last-child{margin-bottom:0}blockquote.prompt-tip{background-color:var(--prompt-tip-bg)}blockquote.prompt-tip::before{content:"";color:var(--prompt-tip-icon-color);font:var(--fa-font-regular)}blockquote.prompt-info{background-color:var(--prompt-info-bg)}blockquote.prompt-info::before{content:"";color:var(--prompt-info-icon-color);font:var(--fa-font-solid)}blockquote.prompt-warning{background-color:var(--prompt-warning-bg)}blockquote.prompt-warning::before{content:"";color:var(--prompt-warning-icon-color);font:var(--fa-font-solid)}blockquote.prompt-danger{background-color:var(--prompt-danger-bg)}blockquote.prompt-danger::before{content:"";color:var(--prompt-danger-icon-color);font:var(--fa-font-solid)}kbd{font-family:inherit;display:inline-block;vertical-align:middle;line-height:1.3rem;min-width:1.75rem;text-align:center;margin:0 .3rem;padding-top:.1rem;color:var(--kbd-text-color);background-color:var(--kbd-bg-color);border-radius:.25rem;border:solid 1px var(--kbd-wrap-color);box-shadow:inset 0 -2px 0 var(--kbd-wrap-color)}footer{font-size:.8rem;background-color:var(--main-bg)}footer div.d-flex{height:5rem;line-height:1.2rem;padding-bottom:1rem;border-top:1px solid var(--main-border-color);flex-wrap:wrap}footer p{width:100%;text-align:center;margin-bottom:0}.access{top:2rem;transition:top .2s ease-in-out;margin-top:3rem;margin-bottom:4rem}.access:only-child{position:-webkit-sticky;position:sticky}.access>div{padding-left:1rem;border-left:1px solid var(--main-border-color)}.access>div:not(:last-child){margin-bottom:4rem}.access .post-content{font-size:.9rem}#panel-wrapper .panel-heading{color:var(--label-color);font-size:inherit;font-weight:600}#panel-wrapper .post-tag{line-height:1.05rem;font-size:.85rem;border:1px solid var(--btn-border-color);border-radius:.8rem;padding:.3rem .5rem;margin:0 .35rem .5rem 0}#panel-wrapper .post-tag:hover{transition:all .3s ease-in}#access-lastmod a{color:inherit}.footnotes>ol{padding-left:2rem;margin-top:.5rem}.footnotes>ol>li:not(:last-child){margin-bottom:.3rem}.footnotes>ol>li>p{margin-left:.25em;margin-top:0;margin-bottom:0}a.footnote{margin-left:1px;margin-right:1px;padding-left:2px;padding-right:2px;border-bottom-style:none !important;transition:background-color 1.5s ease-in-out}a.reversefootnote{font-size:.6rem;line-height:1;position:relative;bottom:.25em;margin-left:.25em;border-bottom-style:none !important}.table-wrapper{overflow-x:auto;margin-bottom:1.5rem}.table-wrapper>table{min-width:100%;overflow-x:auto;border-spacing:0}.table-wrapper>table thead{border-bottom:solid 2px rgba(210,215,217,.75)}.table-wrapper>table tbody tr{border-bottom:1px solid var(--tb-border-color)}.table-wrapper>table tbody tr:nth-child(2n){background-color:var(--tb-even-bg)}.table-wrapper>table tbody tr:nth-child(2n+1){background-color:var(--tb-odd-bg)}.post-preview{border:0;background:var(--card-bg);box-shadow:var(--card-shadow)}.post-preview::before{content:"";width:100%;height:100%;position:absolute;background-color:var(--card-hovor-bg);opacity:0;transition:opacity .35s ease-in-out}.post-preview:hover::before{opacity:.3}.post h1{margin-top:2rem;margin-bottom:1.5rem}.post p>img[data-src]:not(.normal):not(.left):not(.right),.post p>a.popup:not(.normal):not(.left):not(.right){position:relative;left:50%;transform:translateX(-50%)}.post-meta{font-size:.85rem}.post-content{font-size:1.08rem;margin-top:2rem;overflow-wrap:break-word}.post-content a.popup{margin-top:.5rem;margin-bottom:.5rem;cursor:zoom-in}.post-content ol:not([class]),.post-content ol.task-list,.post-content ul:not([class]),.post-content ul.task-list{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.post-content ol:not([class]) li,.post-content ol.task-list li,.post-content ul:not([class]) li,.post-content ul.task-list li{margin:.25rem 0;padding-left:.25rem}.post-content ol:not([class]) ol,.post-content ol:not([class]) ul,.post-content ol.task-list ol,.post-content ol.task-list ul,.post-content ul:not([class]) ol,.post-content ul:not([class]) ul,.post-content ul.task-list ol,.post-content ul.task-list ul{-webkit-padding-start:1.25rem;padding-inline-start:1.25rem;margin:.5rem 0}.post-content ul.task-list{-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}.post-content ul.task-list li{list-style-type:none;padding-left:0}.post-content ul.task-list li>i{width:2rem;margin-left:-1.25rem;color:var(--checkbox-color)}.post-content ul.task-list li>i.checked{color:var(--checkbox-checked-color)}.post-content ul.task-list li ul{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.post-content ul.task-list input[type=checkbox]{margin:0 .5rem .2rem -1.3rem;vertical-align:middle}.post-content dl>dd{margin-left:1rem}.post-content ::marker{color:var(--text-muted-color)}.post-tag{display:inline-block;min-width:2rem;text-align:center;border-radius:.3rem;padding:0 .4rem;color:inherit;line-height:1.3rem}.post-tag:not(:last-child){margin-right:.2rem}.rounded-10{border-radius:10px !important}.img-link{color:rgba(0,0,0,0);display:inline-flex}.shimmer{overflow:hidden;position:relative;background:var(--img-bg)}.shimmer::before{content:"";position:absolute;background:var(--shimmer-bg);height:100%;width:100%;-webkit-animation:shimmer 1s infinite;animation:shimmer 1s infinite}@-webkit-keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.embed-video{width:100%;height:100%;margin-bottom:1rem}.embed-video.youtube{aspect-ratio:16/9}.embed-video.twitch{aspect-ratio:310/189}.btn-lang{border:1px solid !important;padding:1px 3px;border-radius:3px;color:var(--link-color)}.btn-lang:focus{box-shadow:none}.loaded{display:block !important}.d-flex.loaded{display:flex !important}.unloaded{display:none !important}.visible{visibility:visible !important}.hidden{visibility:hidden !important}.flex-grow-1{flex-grow:1 !important}.btn-box-shadow{box-shadow:0 0 8px 0 var(--btn-box-shadow) !important}.text-muted{color:var(--text-muted-color) !important}.tooltip-inner{font-size:.7rem;max-width:220px;text-align:left}.btn.btn-outline-primary:not(.disabled):hover{border-color:#007bff !important}.disabled{color:#cec4c4;pointer-events:auto;cursor:not-allowed}.hide-border-bottom{border-bottom:none !important}.input-focus{box-shadow:none;border-color:var(--input-focus-border-color) !important;background:center !important;transition:background-color .15s ease-in-out,border-color .15s ease-in-out}.left{float:left;margin:.75rem 1rem 1rem 0 !important}.right{float:right;margin:.75rem 0 1rem 1rem !important}figure .mfp-title{text-align:center;padding-right:0;margin-top:.5rem}.mfp-img{transition:none}.mermaid{text-align:center}mjx-container{overflow-y:hidden;min-width:auto !important}#sidebar{padding-left:0;padding-right:0;position:fixed;top:0;left:0;height:100%;overflow-y:auto;width:260px;z-index:99;background:var(--sidebar-bg);-ms-overflow-style:none;scrollbar-width:none}#sidebar::-webkit-scrollbar{display:none}#sidebar .sidebar-bottom .mode-toggle:hover,#sidebar .sidebar-bottom a:hover,#sidebar .site-title a:hover{color:var(--sidebar-active-color)}#sidebar #avatar{display:block;width:7rem;height:7rem;overflow:hidden;box-shadow:var(--avatar-border-color) 0 0 0 2px;transform:translateZ(0)}#sidebar #avatar img{transition:transform .5s}#sidebar #avatar img:hover{transform:scale(1.2)}#sidebar .profile-wrapper{margin-top:2.5rem;margin-bottom:2.5rem;padding-left:2.5rem;padding-right:1.25rem;width:100%}#sidebar .site-title{font-weight:900;font-size:1.75rem;line-height:1.2;letter-spacing:.25px;color:rgba(134,133,133,.99);margin-top:1.25rem;margin-bottom:.5rem}#sidebar .site-subtitle{font-size:95%;color:var(--sidebar-muted-color);margin-top:.25rem;word-spacing:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#sidebar ul{margin-bottom:2rem}#sidebar ul li.nav-item{opacity:.9;width:100%;padding-left:1.5rem;padding-right:1.5rem}#sidebar ul li.nav-item a.nav-link{padding-top:.6rem;padding-bottom:.6rem;display:flex;align-items:center;border-radius:.75rem;font-weight:600}#sidebar ul li.nav-item a.nav-link:hover{background-color:var(--sidebar-hover-bg)}#sidebar ul li.nav-item a.nav-link i{font-size:95%;opacity:.8;margin-right:1.5rem}#sidebar ul li.nav-item a.nav-link span{font-size:90%;letter-spacing:.2px}#sidebar ul li.nav-item.active .nav-link{color:var(--sidebar-active-color);background-color:var(--sidebar-hover-bg)}#sidebar ul li.nav-item.active .nav-link span{opacity:1}#sidebar ul li.nav-item:not(:first-child){margin-top:.25rem}#sidebar .sidebar-bottom{padding-left:2rem;padding-right:2rem;margin-bottom:1.5rem}#sidebar .sidebar-bottom .mode-toggle,#sidebar .sidebar-bottom a{width:1.75rem;height:1.75rem;margin-bottom:.5rem;border-radius:50%;color:var(--sidebar-btn-color);background-color:var(--sidebar-btn-bg);text-align:center;display:flex;align-items:center;justify-content:center}#sidebar .sidebar-bottom .mode-toggle:hover,#sidebar .sidebar-bottom a:hover{background-color:var(--sidebar-hover-bg)}#sidebar .sidebar-bottom a:not(:last-child){margin-right:.8rem}#sidebar .sidebar-bottom i{line-height:1.75rem}#sidebar .sidebar-bottom .mode-toggle{padding:0;border:0}#sidebar .sidebar-bottom .icon-border{margin-left:calc((.8rem - 3px)/2);margin-right:calc((.8rem - 3px)/2);background-color:var(--sidebar-muted-color);content:"";width:3px;height:3px;border-radius:50%;margin-bottom:.5rem}@media(hover: hover){#sidebar ul>li:last-child::after{transition:top .5s ease}.nav-link{transition:background-color .3s ease-in-out}.post-preview{transition:background-color .35s ease-in-out}}#search-result-wrapper{display:none;height:100%;width:100%;overflow:auto}#search-result-wrapper .post-content{margin-top:2rem}#topbar-wrapper{height:3rem;background-color:var(--topbar-bg)}#topbar i{color:#999}#topbar #breadcrumb{font-size:1rem;color:gray;padding-left:.5rem}#topbar #breadcrumb span:not(:last-child)::after{content:"›";padding:0 .3rem}#sidebar-trigger,#search-trigger{display:none}#search-wrapper{display:flex;width:100%;border-radius:1rem;border:1px solid var(--search-wrapper-border-color);background:var(--main-bg);padding:0 .5rem}#search-wrapper i{z-index:2;font-size:.9rem;color:var(--search-icon-color)}#search-cancel{color:var(--link-color);margin-left:.75rem;display:none;white-space:nowrap}#search-input{background:center;border:0;border-radius:0;padding:.18rem .3rem;color:var(--text-color);height:auto}#search-input:focus{box-shadow:none}#search-input:focus.form-control::-moz-placeholder{opacity:.6}#search-input:focus.form-control::-webkit-input-placeholder{opacity:.6}#search-input:focus.form-control:-ms-input-placeholder{opacity:.6}#search-input:focus.form-control::-ms-input-placeholder{opacity:.6}#search-input:focus.form-control::placeholder{opacity:.6}#search-hints{padding:0 1rem}#search-hints h4{margin-bottom:1.5rem}#search-hints .post-tag{display:inline-block;line-height:1rem;font-size:1rem;background:var(--search-tag-bg);border:none;padding:.5rem;margin:0 1.25rem 1rem 0}#search-hints .post-tag::before{content:"#";color:var(--text-muted-color);padding-right:.2rem}#search-results{padding-bottom:3rem}#search-results a{font-size:1.4rem;line-height:2.5rem}#search-results>div{width:100%}#search-results>div:not(:last-child){margin-bottom:1rem}#search-results>div i{color:#818182;margin-right:.15rem;font-size:80%}#search-results>div>p{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}#topbar-title{display:none;font-size:1.1rem;font-weight:600;font-family:sans-serif;color:var(--topbar-text-color);text-align:center;width:70%;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;white-space:nowrap}#core-wrapper{line-height:1.75}#mask{display:none;position:fixed;inset:0 0 0 0;height:100%;width:100%;z-index:1}[sidebar-display] #mask{display:block !important}#main-wrapper{background-color:var(--main-bg);position:relative;min-height:calc(100vh - 6rem);padding-left:0;padding-right:0}#topbar-wrapper.row,#main>.row,#search-result-wrapper>.row{margin-left:0;margin-right:0}#back-to-top{display:none;z-index:1;cursor:pointer;position:fixed;right:1rem;bottom:2rem;background:var(--button-bg);color:var(--btn-backtotop-color);padding:0;width:3rem;height:3rem;border-radius:50%;border:1px solid var(--btn-backtotop-border-color);transition:transform .2s ease-out;-webkit-transition:transform .2s ease-out}#back-to-top:hover{transform:translate3d(0, -5px, 0);-webkit-transform:translate3d(0, -5px, 0)}#back-to-top i{line-height:3rem;position:relative;bottom:2px}@-webkit-keyframes popup{from{opacity:0;bottom:0}}@keyframes popup{from{opacity:0;bottom:0}}#notification .toast-header{background:none;border-bottom:none;color:inherit}#notification .toast-body{font-family:Lato,sans-serif;line-height:1.25rem}#notification .toast-body button{font-size:90%;min-width:4rem}#notification.toast.show{display:block;min-width:20rem;border-radius:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:rgba(255,255,255,.5);color:rgba(27,27,30,.7294117647);position:fixed;left:50%;bottom:20%;transform:translateX(-50%);-webkit-animation:popup .8s;animation:popup .8s}@media all and (max-width: 576px){#main-wrapper{min-height:calc(100vh - 6rem)}#core-wrapper .post-content>blockquote[class^=prompt-]{margin-left:-1.25rem;margin-right:-1.25rem;border-radius:0;max-width:none}#avatar{width:5rem;height:5rem}}@media all and (max-width: 768px){#main,#topbar{max-width:100%}#main{padding-left:0;padding-right:0}}@media all and (max-width: 849px){html,body{overflow-x:hidden}footer{transition:transform .4s ease;height:6rem}footer div.d-flex{padding:1.5rem 0;line-height:1.65;flex-wrap:wrap}[sidebar-display] #sidebar{transform:translateX(0)}[sidebar-display] #main-wrapper,[sidebar-display] footer{transform:translateX(260px)}[sidebar-display] #back-to-top{visibility:hidden}#sidebar{transition:transform .4s ease;transform:translateX(-260px);-webkit-transform:translateX(-260px)}#main-wrapper{transition:transform .4s ease}#topbar,#main,footer>.container{max-width:100%}#search-result-wrapper{width:100%}#breadcrumb,#search-wrapper{display:none}#topbar-wrapper{transition:transform .4s ease,top .2s ease;left:0}#core-wrapper,#panel-wrapper{margin-top:0}#topbar-title,#sidebar-trigger,#search-trigger{display:block}#search-result-wrapper .post-content{letter-spacing:0}#tags{justify-content:center !important}h1.dynamic-title{display:none}h1.dynamic-title~.post-content{margin-top:2.5rem}}@media all and (min-width: 577px)and (max-width: 1199px){footer .d-flex>div{width:312px}}@media all and (min-width: 850px){html{overflow-y:scroll}#main-wrapper,footer{margin-left:260px}#main-wrapper{min-height:calc(100vh - 5rem)}footer p{width:auto}footer p:last-child::before{content:"-";margin:0 .75rem;opacity:.8}#sidebar .profile-wrapper{margin-top:3rem}#search-hints{display:none}#search-wrapper{max-width:210px}#search-result-wrapper{max-width:1250px;justify-content:start !important}.post h1{margin-top:3rem}div.post-content .table-wrapper>table{min-width:70%}#back-to-top{bottom:5.5rem;right:5%}#topbar-title{text-align:left}}@media all and (min-width: 992px)and (max-width: 1199px){#main .col-lg-11{flex:0 0 96%;max-width:96%}}@media all and (min-width: 850px)and (max-width: 1199px){#search-results>div{max-width:700px}#breadcrumb{width:65%;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;white-space:nowrap}}@media all and (max-width: 1199px){#panel-wrapper{display:none}#main>div.row{justify-content:center !important}}@media all and (min-width: 1200px){#back-to-top{bottom:6.5rem}#search-wrapper{margin-right:4rem}#search-input{transition:all .3s ease-in-out}#search-results>div{width:46%}#search-results>div:nth-child(odd){margin-right:1.5rem}#search-results>div:nth-child(even){margin-left:1.5rem}#search-results>div:last-child:nth-child(odd){position:relative;right:24.3%}.post-content{font-size:1.03rem}footer div.d-felx{width:85%}}@media all and (min-width: 1400px){#back-to-top{right:calc((100vw - 260px - 1140px)/2 + 3rem)}}@media all and (min-width: 1650px){#main-wrapper,footer{margin-left:300px}#topbar-wrapper{left:300px}#search-wrapper{margin-right:calc( + 1250px * 0.25 - 210px - 0.75rem + )}#main,footer>.container{max-width:1250px;padding-left:1.75rem !important;padding-right:1.75rem !important}#core-wrapper,#tail-wrapper{padding-right:4.5rem !important}#back-to-top{right:calc((100vw - 300px - 1250px)/2 + 2rem)}#sidebar{width:300px}#sidebar .profile-wrapper{margin-top:3.5rem;margin-bottom:2.5rem;padding-left:3.5rem}#sidebar ul li.nav-item{padding-left:2.75rem;padding-right:2.75rem}#sidebar .sidebar-bottom{padding-left:2.75rem;margin-bottom:1.75rem}#sidebar .sidebar-bottom a:not(:last-child){margin-right:1rem}#sidebar .sidebar-bottom .icon-border{margin-left:calc((1rem - 3px)/2);margin-right:calc((1rem - 3px)/2)}}#post-list{margin-top:2rem}#post-list a.card-wrapper{display:block}#post-list a.card-wrapper:hover{text-decoration:none}#post-list a.card-wrapper:not(:last-child){margin-bottom:1.25rem}#post-list .card .preview-img img,#post-list .card .preview-img{border-radius:.5rem .5rem 0 0}#post-list .card .preview-img{height:10rem}#post-list .card .preview-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}#post-list .card .card-body{min-height:10.5rem;padding:1rem}#post-list .card .card-body .card-title{font-size:1.25rem}#post-list .card .card-body .post-meta,#post-list .card .card-body .card-text.post-content{color:var(--text-muted-color) !important}#post-list .card .card-body .card-text.post-content p{line-height:1.5;margin:0}#post-list .card .card-body .post-meta i:not(:first-child){margin-left:1.5rem}#post-list .card .card-body .post-meta em{color:inherit}#post-list .card .card-body .post-meta>div:first-child{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pagination{color:var(--btn-patinator-text-color);font-family:Lato,sans-serif}.pagination a:hover{text-decoration:none}.pagination .page-item .page-link{color:inherit;width:2.5rem;height:2.5rem;padding:0;display:-webkit-box;-webkit-box-pack:center;-webkit-box-align:center;border-radius:50%;border:1px solid var(--btn-paginator-border-color);background-color:var(--button-bg)}.pagination .page-item .page-link:hover{background-color:var(--btn-paginator-hover-color)}.pagination .page-item.active .page-link{background-color:var(--btn-paginator-hover-color);color:var(--btn-text-color)}.pagination .page-item.disabled{cursor:not-allowed}.pagination .page-item.disabled .page-link{color:rgba(108,117,125,.57);border-color:var(--btn-paginator-border-color);background-color:var(--button-bg)}.pagination .page-item:first-child .page-link,.pagination .page-item:last-child .page-link{border-radius:50%}@media all and (min-width: 768px){#post-list .card .preview-img,#post-list .card .preview-img img{border-radius:0 .5rem .5rem 0}#post-list .card .preview-img{width:20rem;height:11.55rem}#post-list .card .card-body{min-height:10.75rem;width:60%;padding:1.75rem 1.75rem 1.25rem 1.75rem}#post-list .card .card-body .card-text{display:inherit !important}#post-list .card .card-body .post-meta i:not(:first-child){margin-left:1.75rem}}@media all and (max-width: 830px){.pagination{justify-content:space-evenly}.pagination .page-item:not(:first-child):not(:last-child){display:none}}@media all and (min-width: 831px){#post-list{margin-top:2.5rem}.pagination{font-size:.85rem}.pagination .page-item:not(:last-child){margin-right:.7rem}.pagination .page-item .page-link{width:2rem;height:2rem}.pagination .page-index{display:none}}@media all and (min-width: 1200px){#post-list{padding-right:.5rem}}.post-navigation .btn.disabled,.post-navigation .btn{width:50%;position:relative;border-color:var(--btn-border-color)}#related-posts .card h4,h1+.post-meta em a,h1+.post-meta em,footer a{color:var(--text-color)}.preview-img{overflow:hidden;aspect-ratio:40/21}.preview-img:not(.no-bg) img.lazyloaded{background:var(--img-bg)}.preview-img img{-o-object-fit:cover;object-fit:cover}h1+.post-meta span+span::before{content:"•";padding-left:.25rem;padding-right:.25rem}.post-tail-wrapper{margin-top:6rem;border-bottom:1px double var(--main-border-color);font-size:.85rem}.post-tail-wrapper .post-tail-bottom a{color:inherit}.post-tail-wrapper .license-wrapper{line-height:1.2rem}.post-tail-wrapper .license-wrapper>a{color:var(--text-color)}.post-tail-wrapper .license-wrapper span:last-child{font-size:.85rem}.post-tail-wrapper .share-wrapper{vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.post-tail-wrapper .share-wrapper .share-icons{font-size:1.2rem}.post-tail-wrapper .share-wrapper .share-icons>i{position:relative;bottom:1px}.post-tail-wrapper .share-wrapper .share-icons a:not(:last-child){margin-right:.25rem}.post-tail-wrapper .share-wrapper .share-icons a:hover{text-decoration:none}.post-tail-wrapper .share-wrapper .share-icons .fab.fa-twitter{color:var(--btn-share-color, rgb(29, 161, 242))}.post-tail-wrapper .share-wrapper .share-icons .fab.fa-facebook-square{color:var(--btn-share-color, rgb(66, 95, 156))}.post-tail-wrapper .share-wrapper .share-icons .fab.fa-telegram{color:var(--btn-share-color, rgb(39, 159, 217))}.post-tail-wrapper .share-wrapper .share-icons .fab.fa-linkedin{color:var(--btn-share-color, rgb(0, 119, 181))}.post-tail-wrapper .share-wrapper .share-icons .fab.fa-weibo{color:var(--btn-share-color, rgb(229, 20, 43))}.post-tail-wrapper .share-wrapper .fas.fa-link{color:var(--btn-share-color, rgb(171, 171, 171))}.post-tags{line-height:2rem}.post-tags .post-tag{background:var(--tag-bg)}.post-navigation{padding-top:3rem;padding-bottom:4rem}.post-navigation .btn:not(:hover){color:var(--link-color)}.post-navigation .btn:hover:not(.disabled)::before{color:#f5f5f5}.post-navigation .btn.disabled{pointer-events:auto;cursor:not-allowed;background:none;color:gray}.post-navigation .btn.btn-outline-primary.disabled:focus{box-shadow:none}.post-navigation .btn::before{color:var(--text-muted-color);font-size:.65rem;text-transform:uppercase;content:attr(prompt)}.post-navigation .btn:first-child{border-radius:.5rem 0 0 .5rem;left:.5px}.post-navigation .btn:last-child{border-radius:0 .5rem .5rem 0;right:.5px}.post-navigation p{font-size:1.1rem;line-height:1.5rem;margin-top:.3rem;white-space:normal}@media(hover: hover){.post-navigation .btn,.post-navigation .btn::before{transition:all .35s ease-in-out}}@-webkit-keyframes fade-up{from{opacity:0;position:relative;top:2rem}to{opacity:1;position:relative;top:0}}@keyframes fade-up{from{opacity:0;position:relative;top:2rem}to{opacity:1;position:relative;top:0}}#toc-wrapper{border-left:1px solid rgba(158,158,158,.17);position:-webkit-sticky;position:sticky;top:4rem;transition:top .2s ease-in-out;-webkit-animation:fade-up .8s;animation:fade-up .8s}#toc-wrapper ul{list-style:none;font-size:.85rem;line-height:1.25;padding-left:0}#toc-wrapper ul li:not(:last-child){margin:.4rem 0}#toc-wrapper ul li a{padding:.2rem 0 .2rem 1.25rem}#toc-wrapper ul .toc-link{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#toc-wrapper ul .toc-link:hover{color:var(--toc-highlight);text-decoration:none}#toc-wrapper ul .toc-link::before{display:none}#toc-wrapper ul .is-active-link{color:var(--toc-highlight) !important;font-weight:600}#toc-wrapper ul .is-active-link::before{display:inline-block;width:1px;left:-1px;height:1.25rem;background-color:var(--toc-highlight) !important}#toc-wrapper ul ul a{padding-left:2rem}#related-posts>h3{color:var(--label-color);font-size:1.1rem;font-weight:600}#related-posts em{color:var(--relate-post-date)}#related-posts p{font-size:.9rem;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#tail-wrapper{min-height:2rem}#tail-wrapper>div:last-of-type{margin-bottom:2rem}#tail-wrapper #disqus_thread{min-height:8.5rem}.post-tail-wrapper .share-wrapper .share-icons>i:hover,.post-tail-wrapper .share-wrapper .share-icons a:hover>i{color:var(--btn-share-hover-color) !important}.share-label{color:inherit;font-size:inherit;font-weight:400}.share-label::after{content:":"}@media all and (max-width: 576px){.preview-img[data-src]{margin-top:2.2rem}.post-tail-bottom{flex-wrap:wrap-reverse !important}.post-tail-bottom>div:first-child{width:100%;margin-top:1rem}}@media all and (max-width: 768px){.post-content>p>img{max-width:calc(100% + 1rem)}}@media all and (max-width: 849px){.post-navigation{padding-left:0;padding-right:0;margin-left:-0.5rem;margin-right:-0.5rem}.preview-img[data-src]{max-width:100vw;border-radius:0}}.tag{border-radius:.7em;padding:6px 8px 7px;margin-right:.8rem;line-height:3rem;letter-spacing:0;border:1px solid var(--tag-border) !important;box-shadow:0 0 3px 0 var(--tag-shadow)}.tag span{margin-left:.6em;font-size:.7em;font-family:Oswald,sans-serif}#archives{letter-spacing:.03rem}#archives ul li::before,#archives .year:first-child::before,#archives .year::before{content:"";width:4px;position:relative;float:left;background-color:var(--timeline-color)}#archives .year{height:3.5rem;font-size:1.5rem;position:relative;left:2px;margin-left:-4px}#archives .year::before{height:72px;left:79px;bottom:16px}#archives .year:first-child::before{height:32px;top:24px}#archives .year::after{content:"";display:inline-block;position:relative;border-radius:50%;width:12px;height:12px;left:21.5px;border:3px solid;background-color:var(--timeline-year-dot-color);border-color:var(--timeline-node-bg);box-shadow:0 0 2px 0 #c2c6cc;z-index:1}#archives ul li{font-size:1.1rem;line-height:3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#archives ul li:nth-child(odd){background-color:var(--main-bg, #ffffff);background-image:linear-gradient(to left, #ffffff, #fbfbfb, #fbfbfb, #fbfbfb, #ffffff)}#archives ul li::before{top:0;left:77px;height:3.1rem}#archives ul:last-child li:last-child::before{height:1.5rem}#archives .date{white-space:nowrap;display:inline-block;position:relative;right:.5rem}#archives .date.month{width:1.4rem;text-align:center}#archives .date.day{font-size:85%;font-family:Lato,sans-serif}#archives a{margin-left:2.5rem;position:relative;top:.1rem}#archives a:hover{border-bottom:none}#archives a::before{content:"";display:inline-block;position:relative;border-radius:50%;width:8px;height:8px;float:left;top:1.35rem;left:71px;background-color:var(--timeline-node-bg);box-shadow:0 0 3px 0 #c2c6cc;z-index:1}@media all and (max-width: 576px){#archives{margin-top:-1rem}#archives ul{letter-spacing:0}}.categories i{color:gray}.categories{margin-bottom:2rem;border-color:var(--categories-border)}.categories .card-header{padding:.75rem;border-radius:calc(.5rem - 1px);border-bottom:0}.categories .card-header.hide-border-bottom{border-bottom-left-radius:0;border-bottom-right-radius:0}.categories i{font-size:86%}.categories .list-group-item{border-left:none;border-right:none;padding-left:2rem}.categories .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.categories .list-group-item:last-child{border-bottom:0}.category-trigger{width:1.7rem;height:1.7rem;border-radius:50%;text-align:center;color:#6c757d !important}.category-trigger i{position:relative;height:.7rem;width:1rem;transition:transform 300ms ease}.category-trigger:hover i{color:var(--categories-icon-hover-color)}@media(hover: hover){.category-trigger:hover{background-color:var(--categories-hover-bg)}}.rotate{transform:rotate(-90deg)}.dash{margin:0 .5rem .6rem .5rem;border-bottom:2px dotted var(--dash-color)}#page-category ul>li,#page-tag ul>li{line-height:1.5rem;padding:.6rem 0}#page-category ul>li::before,#page-tag ul>li::before{background:#999;width:5px;height:5px;border-radius:50%;display:block;content:"";position:relative;top:.6rem;margin-right:.5rem}#page-category ul>li>a,#page-tag ul>li>a{font-size:1.1rem}#page-category ul>li>span:last-child,#page-tag ul>li>span:last-child{white-space:nowrap}#page-tag h1>i{font-size:1.2rem}#page-category h1>i{font-size:1.25rem}#page-category a:hover,#page-tag a:hover,#access-lastmod a:hover{margin-bottom:-1px}@media all and (max-width: 576px){#page-category ul>li::before,#page-tag ul>li::before{margin:0 .5rem}#page-category ul>li>a,#page-tag ul>li>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/_site/assets/css/style.css.map b/_site/assets/css/style.css.map new file mode 100644 index 0000000..9dced86 --- /dev/null +++ b/_site/assets/css/style.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/jekyll-theme-chirpy.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/addon/module.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/addon/variables.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/addon/syntax.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/colors/light-syntax.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/colors/dark-syntax.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/addon/commons.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/colors/light-typography.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/colors/dark-typography.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/layout/home.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/layout/post.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/layout/tags.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/layout/archives.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/layout/categories.scss","../../../../../../../../Library/Ruby/Gems/2.6.0/gems/jekyll-theme-chirpy-6.1.0/_sass/layout/category-tag.scss"],"names":[],"mappings":"CAAA;AAAA;AAAA;AAAA;AAAA,GCMA,iCACE,2BACA,gBACA,YCiBoB,kCDbpB,oEACE,kBACA,sBAEA,4FACE,aAMJ,4CACE,cAGF,qBACE,4CACE,kBACA,UACA,2DAIA,oEACE,mBACA,UACA,0DAMR,sCACE,4BACA,uCAGF,+DACE,mBACA,cACA,mBAGF,gRACE,yBACA,gCACA,qBAGF,4CACE,wBAGF,2EACE,oDAGF,4EACE,+BAGF,qFACE,yBACA,sBACA,qBACA,iBAGF,wNACE,mBAGF,oFACE,eAGF,0EACE,kBAGF,wMACE,cC7EY,MDiFZ,0CACE,cACA,kBACA,kBACA,cACA,UACA,cAIJ,iDACE,2BACA,yBACA,sBACA,qBACA,iBAGF,sHACE,oBACA,gBACA,uBACA,qBACA,4BEjHA,oCACE,4CC4DF,kDACA,8BACA,mCACA,kCACA,0BACA,kCACA,mCACA,kCACA,mCAvEA,kGACA,qGACA,mHACA,oGACA,oGACA,uGACA,wHACA,uGACA,wHACA,8GACA,uGACA,qFACA,qFACA,2GACA,qFACA,qFACA,2FACA,qFACA,qFACA,sGACA,sGACA,sGACA,sGACA,sGACA,sGACA,mFACA,sFACA,qFACA,wFACA,sGACA,qFACA,yGACA,uFACA,sGACA,sGACA,sGACA,qFACA,qFACA,qFACA,sGACA,mFACA,qFACA,qFACA,qFACA,qFACA,wFACA,wFACA,wFACA,wFACA,wFACA,wFACA,wFACA,wFACA,wFACA,wFACA,wFACA,qFACA,qFACA,qFACA,qFACA,qFAaA,8EACE,0BDlEA,qBETF,gDACA,8BACA,mCACA,kCACA,0BACA,kCACA,2CACA,0CACA,mCACA,+BAGA,yBACE,cAGF,oCACE,cAKF,+EACA,gFACA,iDACA,4EACA,iDACA,iDACA,iDACA,iDACA,iDACA,kDACA,kDACA,kDACA,kDACA,oEACA,qDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,iDACA,iDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,iDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,kDACA,2EACA,4EFtEA,mCACE,2CEfF,gDACA,8BACA,mCACA,kCACA,0BACA,kCACA,2CACA,0CACA,mCACA,+BAGA,mDACE,cAGF,yEACE,cAKF,oHACA,sHACA,qFACA,kHACA,qFACA,qFACA,qFACA,qFACA,qFACA,uFACA,uFACA,uFACA,uFACA,yGACA,0FACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,qFACA,qFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,qFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,uFACA,gHACA,gHFhEE,sBC4CF,kDACA,8BACA,mCACA,kCACA,0BACA,kCACA,mCACA,kCACA,mCAvEA,4DACA,iEACA,6EACA,gEACA,gEACA,kEACA,mFACA,kEACA,mFACA,yEACA,kEACA,gDACA,gDACA,sEACA,gDACA,gDACA,sDACA,gDACA,gDACA,iEACA,iEACA,iEACA,iEACA,iEACA,iEACA,+CACA,kDACA,gDACA,mDACA,iEACA,gDACA,oEACA,kDACA,iEACA,iEACA,iEACA,gDACA,gDACA,gDACA,iEACA,+CACA,gDACA,gDACA,gDACA,gDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,mDACA,gDACA,gDACA,gDACA,gDACA,gDAaA,uCACE,2BD/CJ,kDACE,2CAGF,cACE,kBACA,qBAGF,mBACE,qCACA,iBACA,oBAGF,WAQE,cACA,kBACA,oBAEA,eACE,gBACA,UDzCa,OC0Cb,mBACA,iBAIA,wBACE,iBACA,kBAIJ,mBACE,oBACA,iBACA,iBACA,oCACA,yBACA,sBACA,oBACA,qBACA,iBAIJ,KACE,qBACA,iBACA,aAEA,uBACE,UDxEa,OCyEb,gBACA,sBACA,kBACA,uCAGF,cACE,yBACA,iCACA,gBACA,UAGF,yBACE,iBACA,cAGF,+BACE,mBAGF,gBACE,cAWF,gBACE,yBACA,8BACA,oBAIJ,sBAIE,kDAEA,oCFTA,YEUiB,SFTjB,aESiB,SAEf,gBAUA,2HACE,aAGF,uIACE,oBAKN,aAKE,aACA,8BACA,mBACA,OALqB,QAMrB,iBACA,mBAKE,oBACE,eACA,mBACA,oCAEA,0BACE,cAIK,2BACP,kBACA,QAIF,yBACE,8BACA,iBACA,gBACA,oCAKJ,oBAIE,+BACA,OA1CmB,QA2CnB,MA3CmB,QA4CnB,UACA,yBAEA,sBACE,oCAIA,mCACE,4CAGF,+BACE,qCAIJ,0BACE,aAGF,yCACE,uCAEA,2CACE,WAMR,kCAEI,oCFhHF,YEiHmB,EFhHnB,aEgHmB,EAEf,cDtOQ,MCyOV,mCFtHF,YEuHmB,EFtHnB,aEsHmB,EAEf,2CAIE,WACA,qBACA,iBACA,MANW,OAOX,OAPW,OAQX,kBACA,gDACA,iGGpQR,KAuBE,eAtBA,oCACE,6DCCF,mBACA,6BAGA,sBACA,4BACA,uBACA,mCACA,iCACA,sBACA,gCACA,qBACA,4BACA,+BACA,sCACA,0BACA,0BACA,kCACA,oFAKA,2HAQA,sBACA,+BACA,gCACA,6CACA,wBACA,6BACA,6BAGA,qCACA,qCACA,kDACA,yBACA,6BACA,oCAGA,gCACA,oCACA,+CACA,gDACA,0BAGA,yBACA,2CACA,iBACA,yBACA,yFAEA,uBACA,0CACA,gCACA,+BACA,sBACA,sCACA,gCACA,qBACA,2BACA,qBACA,0BACA,oCACA,sBACA,2CACA,yCACA,iCACA,0BACA,kCACA,wCACA,qCACA,6CACA,oCAWA,0CACA,+CACA,6CAGA,uCACA,4BACA,mCAhBA,8EACE,2CAGF,wDACE,aDrFA,qBELF,2BACA,2BACA,qCAGA,iCACA,uCACA,yBACA,2CACA,4CACA,iCACA,0CACA,6BACA,oCACA,yCACA,sDACA,iCACA,kCACA,kCACA,qCACA,4CACA,4EACA,0HAQA,gEACA,+BACA,iDACA,0CACA,uCACA,6BACA,+CAGA,mCACA,uCACA,+CACA,wCACA,+CAGA,2CACA,8CACA,6CACA,sDACA,oCAGA,oCACA,0BACA,6BACA,oCACA,8BACA,oCACA,uCACA,2BACA,iCACA,4CACA,mBACA,yBACA,sFAEA,0BACA,0BACA,wBACA,8CACA,uCACA,gDACA,uCACA,kCACA,0CACA,mDACA,wCACA,oCAGA,8BACA,8BACA,+BACA,8BAGA,0CACA,uCACA,qCAGA,uCACA,kCACA,iDA4CA,kBA1CA,4BACE,aAGF,wBACE,sCAIF,4EAEE,gCAIA,8CACE,uCAGF,kDACE,iBACA,kBACA,kBACA,sCAEA,6DACE,mCAKN,iDACE,+HAaF,oCACE,mBFpIF,mCACE,2CEXF,2BACA,2BACA,qCAGA,iCACA,uCACA,yBACA,2CACA,4CACA,iCACA,0CACA,6BACA,oCACA,yCACA,sDACA,iCACA,kCACA,kCACA,qCACA,4CACA,4EACA,0HAQA,gEACA,+BACA,iDACA,0CACA,uCACA,6BACA,+CAGA,mCACA,uCACA,+CACA,wCACA,+CAGA,2CACA,8CACA,6CACA,sDACA,oCAGA,oCACA,0BACA,6BACA,oCACA,8BACA,oCACA,uCACA,2BACA,iCACA,4CACA,mBACA,yBACA,sFAEA,0BACA,0BACA,wBACA,8CACA,uCACA,gDACA,uCACA,kCACA,0CACA,mDACA,wCACA,oCAGA,8BACA,8BACA,+BACA,8BAGA,0CACA,uCACA,qCAGA,uCACA,kCACA,iDA4CA,kBA1CA,yDACE,aAGF,iDACE,sCAIF,0JAEE,gCAIA,6FACE,uCAGF,qGACE,iBACA,kBACA,kBACA,sCAEA,2HACE,mCAKN,mGACE,+HAaF,yEACE,kBF9HA,sBChBF,iBACA,mBACA,6BAGA,sBACA,4BACA,uBACA,mCACA,iCACA,sBACA,gCACA,qBACA,4BACA,+BACA,sCACA,0BACA,0BACA,kCACA,oFAKA,2HAQA,sBACA,+BACA,gCACA,6CACA,wBACA,6BACA,6BAGA,qCACA,qCACA,kDACA,yBACA,6BACA,oCAGA,gCACA,oCACA,+CACA,gDACA,0BAGA,yBACA,2CACA,iBACA,yBACA,yFAEA,uBACA,0CACA,gCACA,+BACA,sBACA,sCACA,gCACA,qBACA,2BACA,qBACA,0BACA,oCACA,sBACA,2CACA,yCACA,iCACA,0BACA,kCACA,wCACA,qCACA,6CACA,oCAWA,0CACA,+CACA,6CAGA,uCACA,4BACA,mCAhBA,uCACE,2CAGF,4BACE,cDlEJ,KACE,0BACA,kHAEA,wBACA,mCACA,YJXiB,+CIiBjB,GAeI,kBAfJ,GAeI,kBAfJ,GAeI,kBAfJ,GAeI,kBAfJ,GAiBI,eAKN,EAGE,qBAGF,IACE,eACA,YACA,gCAII,iFAEE,0BACA,kBAKF,6FAEE,yBAGF,+CACE,uCACA,+BAIJ,qBACE,4DACA,oDACA,2BAMJ,2BACE,KACE,UAEF,GACE,WAIJ,mBACE,KACE,UAEF,GACE,WAKN,WACE,qDACA,kBACA,mCAEA,2BACE,cACA,kBACA,4BACA,+BAIA,mCACE,kBACA,WACA,kBACA,YACA,iBACA,oBACA,mCAGF,wCACE,gBLeJ,sBACE,sCAEA,8BACE,QKfmB,ILgBnB,mCACA,4BANJ,uBACE,uCAEA,+BACE,QKdoB,ILepB,oCACA,0BANJ,0BACE,0CAEA,kCACE,QKbuB,ILcvB,uCACA,0BANJ,yBACE,yCAEA,iCACE,QKZsB,ILatB,sCACA,0BKXN,IACE,oBACA,qBACA,sBACA,mBACA,kBACA,kBACA,eACA,kBACA,4BACA,qCACA,qBACA,uCACA,gDAGF,OACE,gBACA,gCAEA,kBACE,OJtKY,KIuKZ,mBACA,oBACA,8CACA,eAWF,SACE,WACA,kBACA,gBAcJ,QACE,SACA,+BACA,gBACA,mBAEA,mBACE,wBACA,gBAGF,YACE,kBACA,+CAEA,6BACE,mBAIJ,sBACE,gBAMF,8BLvFA,MADwD,mBAExD,UKuFiB,QLtFjB,YAH2C,IK4F3C,yBACE,oBACA,iBACA,yCACA,oBACA,oBACA,wBAEA,+BACE,2BAMJ,kBAOE,cAIJ,cACE,kBACA,iBAGE,kCACE,oBAGF,mBACE,kBACA,aACA,gBAMK,WL1JT,YK2JiB,IL1JjB,aK0JiB,ILjJjB,aKkJiB,ILjJjB,cKiJiB,IAEf,oCACA,6CAKO,kBACP,gBACA,cACA,kBACA,aACA,kBACA,oCAOJ,eACE,gBACA,qBAEA,qBACE,eACA,gBACA,iBAEA,2BACE,8CAQA,8BACE,+CAEA,4CACE,mCAGF,8CACE,kCAaV,cAGE,SACA,0BACA,8BAEA,sBAGE,WACA,WACA,YACA,kBACA,sCACA,UACA,oCAIA,4BACE,WAMJ,SACE,gBACA,qBAME,8GLlOJ,kBACA,SACA,2BKuOF,WACE,iBAaF,cACE,kBACA,gBACA,yBAGE,sBL3RF,WK8RmB,ML7RnB,cK6RmB,MAEf,eAcF,kHAEE,8BACA,6BAEA,8HACE,gBACA,oBAGF,4PAEE,8BACA,6BACA,eAKN,2BACE,8BACA,6BAEA,8BACE,qBACA,eAGA,gCACE,WACA,qBACA,4BAEA,wCACE,oCAIJ,iCACE,8BACA,6BAIJ,gDACE,6BACA,sBAIJ,oBACE,iBAGF,uBACE,8BAQJ,UACE,qBACA,eACA,kBACA,oBACA,gBACA,cACA,mBAEA,2BACE,mBAIJ,YACE,8BAGF,UACE,oBACA,oBAGF,SACE,gBACA,kBACA,yBAEA,iBACE,WACA,kBACA,6BACA,YACA,WACA,sCACA,8BAGF,2BACE,GACE,4BAEF,KACE,4BAIJ,mBACE,GACE,4BAEF,KACE,4BAKN,aACE,WACA,YACA,mBAIA,qBACE,kBAGF,oBACE,qBAKJ,UACE,4BACA,gBACA,kBACA,wBAEA,gBACE,gBAMJ,QACE,yBAES,eACP,wBAIJ,UACE,wBAGF,SACE,8BAGF,QACE,6BAGF,aACE,uBAGF,gBACE,sDAIF,YACE,yCAIF,eACE,gBACA,gBACA,gBAKA,8CACE,gCAIJ,UACE,cACA,oBACA,mBAGF,oBACE,8BAGF,aACE,gBACA,wDACA,6BACA,2EAGF,MACE,WACA,qCAGF,OACE,YACA,qCAOF,kBACE,kBACA,gBACA,iBAG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ACE,WACA,iBAKN,kCACE,oBACE,6BAKJ,kCACE,iBACE,eACA,gBACA,oBACA,qBAGF,uBACE,gBACA,iBC1ZJ,KACE,mBACA,oBACA,mBACA,iBACA,iBACA,8CACA,uCAEA,UACE,iBACA,eACA,8BCZJ,UACE,sBAIA,oFACE,WACA,MAJe,IAKf,kBACA,WACA,uCAGF,gBACE,cACA,iBACA,kBACA,SACA,iBAEA,wBAGE,YACA,UACA,YAGF,oCAGE,YACA,SAIF,uBACE,WACA,qBACA,kBACA,kBACA,WACA,YACA,YACA,iBACA,gDACA,qCACA,6BACA,UAKF,gBACE,iBACA,iBACA,mBACA,gBACA,uBAEA,+BACE,yCACA,uFAUF,wBAGE,MACA,UACA,cAIJ,8CACE,cAIJ,gBACE,mBACA,qBACA,kBACA,YAEA,sBACE,aACA,kBAGF,oBACE,cACA,4BAIJ,YAEE,mBACA,kBACA,UAEA,kBACE,mBAGF,oBAEE,WACA,qBACA,kBACA,kBACA,UACA,WACA,WACA,YACA,UACA,yCACA,6BACA,UAKN,kCACE,UACE,iBAEA,aACE,kBCxIN,cACE,WAGF,YACE,mBACA,sCAOA,yBAGE,eACA,cAHS,kBAIT,gBAEA,4CACE,4BACA,6BAIJ,cAGE,cAGF,6BACE,iBACA,kBACA,kBAEA,yCACE,yBACA,0BAGF,wCACE,gBAKN,kBACE,aACA,cACA,kBACA,kBACA,yBAEA,oBACE,kBACA,aACA,WACA,gCAIA,0BACE,yCAMN,qBACE,wBACE,6CAIJ,QACE,yBC7EF,MACE,2BACA,2CAKA,qCACE,mBACA,gBAGA,qDACE,gBACA,UACA,WACA,kBACA,cACA,WACA,kBACA,UACA,mBAIF,yCAGE,iBAIF,qEACE,mBAMN,eACE,iBAGF,oBACE,kBAMA,iEAGE,mBAIJ,kCAIM,qDACE,eAGF,yCACE,mBACA,gBACA","sourcesContent":["/*!\n * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy)\n * © 2019 Cotes Chung\n * MIT Licensed\n */\n\n@import 'colors/light-typography';\n@import 'colors/dark-typography';\n@import 'addon/variables';\n@import 'variables-hook';\n@import 'addon/module';\n@import 'addon/syntax';\n@import 'addon/commons';\n@import 'layout/home';\n@import 'layout/post';\n@import 'layout/tags';\n@import 'layout/archives';\n@import 'layout/categories';\n@import 'layout/category-tag';\n","/*\n* Mainly scss modules, only imported to `assets/css/main.scss`\n*/\n\n/* ---------- scss placeholder --------- */\n\n%heading {\n color: var(--heading-color);\n font-weight: 400;\n font-family: $font-family-heading;\n}\n\n%section {\n #core-wrapper & {\n margin-top: 2.5rem;\n margin-bottom: 1.25rem;\n\n &:focus {\n outline: none; /* avoid outline in Safari */\n }\n }\n}\n\n%anchor {\n .anchor {\n font-size: 80%;\n }\n\n @media (hover: hover) {\n .anchor {\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.25s ease-in, visibility 0s ease-in 0.25s;\n }\n\n &:hover {\n .anchor {\n visibility: visible;\n opacity: 1;\n transition: opacity 0.25s ease-in, visibility 0s ease-in 0s;\n }\n }\n }\n}\n\n%tag-hover {\n background: var(--tag-hover);\n transition: background 0.35s ease-in-out;\n}\n\n%table-cell {\n padding: 0.4rem 1rem;\n font-size: 95%;\n white-space: nowrap;\n}\n\n%link-hover {\n color: #d2603a !important;\n border-bottom: 1px solid #d2603a;\n text-decoration: none;\n}\n\n%link-color {\n color: var(--link-color);\n}\n\n%link-underline {\n border-bottom: 1px solid var(--link-underline-color);\n}\n\n%clickable-transition {\n transition: all 0.3s ease-in-out;\n}\n\n%no-cursor {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n%no-bottom-border {\n border-bottom: none;\n}\n\n%cursor-pointer {\n cursor: pointer;\n}\n\n%normal-font-style {\n font-style: normal;\n}\n\n%rounded {\n border-radius: $base-radius;\n}\n\n%img-caption {\n + em {\n display: block;\n text-align: center;\n font-style: normal;\n font-size: 80%;\n padding: 0;\n color: #6d6c6c;\n }\n}\n\n%sidebar-links {\n color: rgba(117, 117, 117, 0.9);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n%text-clip {\n display: -webkit-box;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n/* ---------- scss mixin --------- */\n\n@mixin mt-mb($value) {\n margin-top: $value;\n margin-bottom: $value;\n}\n\n@mixin ml-mr($value) {\n margin-left: $value;\n margin-right: $value;\n}\n\n@mixin pt-pb($val) {\n padding-top: $val;\n padding-bottom: $val;\n}\n\n@mixin pl-pr($val) {\n padding-left: $val;\n padding-right: $val;\n}\n\n@mixin input-placeholder {\n opacity: 0.6;\n}\n\n@mixin label($font-size: 1rem, $font-weight: 600, $color: var(--label-color)) {\n color: $color;\n font-size: $font-size;\n font-weight: $font-weight;\n}\n\n@mixin align-center {\n position: relative;\n left: 50%;\n transform: translateX(-50%);\n}\n\n@mixin prompt($type, $fa-content, $fa-style: 'solid') {\n &.prompt-#{$type} {\n background-color: var(--prompt-#{$type}-bg);\n\n &::before {\n content: $fa-content;\n color: var(--prompt-#{$type}-icon-color);\n font: var(--fa-font-#{$fa-style});\n }\n }\n}\n","/*\n * The SCSS variables\n */\n\n/* sidebar */\n\n$sidebar-width: 260px !default; /* the basic width */\n$sidebar-width-large: 300px !default; /* screen width: >= 1650px */\n\n/* other framework sizes */\n\n$topbar-height: 3rem !default;\n$search-max-width: 210px !default;\n$footer-height: 5rem !default;\n$footer-height-mobile: 6rem !default; /* screen width: < 850px */\n$main-content-max-width: 1250px !default;\n$bottom-min-height: 35rem !default;\n$base-radius: 0.5rem;\n\n/* syntax highlight */\n\n$code-font-size: 0.85rem !default;\n\n/* fonts */\n\n$font-family-base: 'Source Sans Pro', 'Microsoft Yahei', sans-serif;\n$font-family-heading: Lato, 'Microsoft Yahei', sans-serif;\n","/*\n* The syntax highlight.\n*/\n\n@import 'colors/light-syntax';\n@import 'colors/dark-syntax';\n\nhtml {\n @media (prefers-color-scheme: light) {\n &:not([data-mode]),\n &[data-mode='light'] {\n @include light-syntax;\n }\n\n &[data-mode='dark'] {\n @include dark-syntax;\n }\n }\n\n @media (prefers-color-scheme: dark) {\n &:not([data-mode]),\n &[data-mode='dark'] {\n @include dark-syntax;\n }\n\n &[data-mode='light'] {\n @include light-syntax;\n }\n }\n}\n\n/* -- code snippets -- */\n\n%code-snippet-bg {\n background-color: var(--highlight-bg-color);\n}\n\n%code-snippet-padding {\n padding-left: 1rem;\n padding-right: 1.5rem;\n}\n\n.highlighter-rouge {\n color: var(--highlighter-rouge-color);\n margin-top: 0.5rem;\n margin-bottom: 1.2em; /* Override BS Inline-code style */\n}\n\n.highlight {\n @extend %rounded;\n @extend %code-snippet-bg;\n\n @at-root figure#{&} {\n @extend %code-snippet-bg;\n }\n\n overflow: auto;\n padding-top: 0.5rem;\n padding-bottom: 1rem;\n\n pre {\n margin-bottom: 0;\n font-size: $code-font-size;\n line-height: 1.4rem;\n word-wrap: normal; /* Fixed Safari overflow-x */\n }\n\n table {\n td pre {\n overflow: visible; /* Fixed iOS safari overflow-x */\n word-break: normal; /* Fixed iOS safari linenos code break */\n }\n }\n\n .lineno {\n padding-right: 0.5rem;\n min-width: 2.2rem;\n text-align: right;\n color: var(--highlight-lineno-color);\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n} /* .highlight */\n\ncode {\n -webkit-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n\n &.highlighter-rouge {\n font-size: $code-font-size;\n padding: 3px 5px;\n word-break: break-word;\n border-radius: 4px;\n background-color: var(--inline-code-bg);\n }\n\n &.filepath {\n background-color: inherit;\n color: var(--filepath-text-color);\n font-weight: 600;\n padding: 0;\n }\n\n a > &.highlighter-rouge {\n padding-bottom: 0; /* show link's underlinke */\n color: inherit;\n }\n\n a:hover > &.highlighter-rouge {\n border-bottom: none;\n }\n\n blockquote & {\n color: inherit;\n }\n}\n\ntd.rouge-code {\n @extend %code-snippet-padding;\n\n /*\n Prevent some browser extends from\n changing the URL string of code block.\n */\n a {\n color: inherit !important;\n border-bottom: none !important;\n pointer-events: none;\n }\n}\n\ndiv[class^='language-'] {\n @extend %rounded;\n @extend %code-snippet-bg;\n\n box-shadow: var(--language-border-color) 0 0 0 1px;\n\n .post-content > & {\n @include ml-mr(-1.25rem);\n\n border-radius: 0;\n }\n}\n\n/* Hide line numbers for default, console, and terminal code snippets */\ndiv {\n &.nolineno,\n &.language-plaintext,\n &.language-console,\n &.language-terminal {\n pre.lineno {\n display: none;\n }\n\n td.rouge-code {\n padding-left: 1.5rem;\n }\n }\n}\n\n.code-header {\n @extend %no-cursor;\n\n $code-header-height: 2.25rem;\n\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: $code-header-height;\n margin-left: 1rem;\n margin-right: 0.5rem;\n\n /* the label block */\n span {\n /* label icon */\n i {\n font-size: 1rem;\n margin-right: 0.5rem;\n color: var(--code-header-icon-color);\n\n &.small {\n font-size: 70%;\n }\n }\n\n @at-root [file] #{&} > i {\n position: relative;\n top: 1px; /* center the file icon */\n }\n\n /* label text */\n &::after {\n content: attr(data-label-text);\n font-size: 0.85rem;\n font-weight: 600;\n color: var(--code-header-text-color);\n }\n }\n\n /* clipboard */\n button {\n @extend %cursor-pointer;\n @extend %rounded;\n\n border: 1px solid transparent;\n height: $code-header-height;\n width: $code-header-height;\n padding: 0;\n background-color: inherit;\n\n i {\n color: var(--code-header-icon-color);\n }\n\n &[timeout] {\n &:hover {\n border-color: var(--clipboard-checked-color);\n }\n\n i {\n color: var(--clipboard-checked-color);\n }\n }\n\n &:focus {\n outline: none;\n }\n\n &:not([timeout]):hover {\n background-color: rgba(128, 128, 128, 0.37);\n\n i {\n color: white;\n }\n }\n }\n}\n\n@media all and (min-width: 576px) {\n div[class^='language-'] {\n .post-content > & {\n @include ml-mr(0);\n\n border-radius: $base-radius;\n }\n\n .code-header {\n @include ml-mr(0);\n\n &::before {\n $dot-size: 0.75rem;\n $dot-margin: 0.5rem;\n\n content: '';\n display: inline-block;\n margin-left: 1rem;\n width: $dot-size;\n height: $dot-size;\n border-radius: 50%;\n background-color: var(--code-header-muted-color);\n box-shadow: ($dot-size + $dot-margin) 0 0 var(--code-header-muted-color),\n ($dot-size + $dot-margin) * 2 0 0 var(--code-header-muted-color);\n }\n }\n }\n}\n","/*\n * The syntax light mode code snippet colors.\n */\n\n@mixin light-syntax {\n /* see: */\n .highlight .hll { background-color: #ffffcc; }\n .highlight .c { color: #999988; font-style: italic; } /* Comment */\n .highlight .err { color: #a61717; background-color: #e3d2d2; } /* Error */\n .highlight .k { color: #000000; font-weight: bold; } /* Keyword */\n .highlight .o { color: #000000; font-weight: bold; } /* Operator */\n .highlight .cm { color: #999988; font-style: italic; } /* Comment.Multiline */\n .highlight .cp { color: #999999; font-weight: bold; font-style: italic; } /* Comment.Preproc */\n .highlight .c1 { color: #999988; font-style: italic; } /* Comment.Single */\n .highlight .cs { color: #999999; font-weight: bold; font-style: italic; } /* Comment.Special */\n .highlight .gd { color: #d01040; background-color: #ffdddd; } /* Generic.Deleted */\n .highlight .ge { color: #000000; font-style: italic; } /* Generic.Emph */\n .highlight .gr { color: #aa0000; } /* Generic.Error */\n .highlight .gh { color: #999999; } /* Generic.Heading */\n .highlight .gi { color: #008080; background-color: #ddffdd; } /* Generic.Inserted */\n .highlight .go { color: #888888; } /* Generic.Output */\n .highlight .gp { color: #555555; } /* Generic.Prompt */\n .highlight .gs { font-weight: bold; } /* Generic.Strong */\n .highlight .gu { color: #aaaaaa; } /* Generic.Subheading */\n .highlight .gt { color: #aa0000; } /* Generic.Traceback */\n .highlight .kc { color: #000000; font-weight: bold; } /* Keyword.Constant */\n .highlight .kd { color: #000000; font-weight: bold; } /* Keyword.Declaration */\n .highlight .kn { color: #000000; font-weight: bold; } /* Keyword.Namespace */\n .highlight .kp { color: #000000; font-weight: bold; } /* Keyword.Pseudo */\n .highlight .kr { color: #000000; font-weight: bold; } /* Keyword.Reserved */\n .highlight .kt { color: #445588; font-weight: bold; } /* Keyword.Type */\n .highlight .m { color: #009999; } /* Literal.Number */\n .highlight .s { color: #d01040; } /* Literal.String */\n .highlight .na { color: #008080; } /* Name.Attribute */\n .highlight .nb { color: #0086b3; } /* Name.Builtin */\n .highlight .nc { color: #445588; font-weight: bold; } /* Name.Class */\n .highlight .no { color: #008080; } /* Name.Constant */\n .highlight .nd { color: #3c5d5d; font-weight: bold; } /* Name.Decorator */\n .highlight .ni { color: #800080; } /* Name.Entity */\n .highlight .ne { color: #990000; font-weight: bold; } /* Name.Exception */\n .highlight .nf { color: #990000; font-weight: bold; } /* Name.Function */\n .highlight .nl { color: #990000; font-weight: bold; } /* Name.Label */\n .highlight .nn { color: #555555; } /* Name.Namespace */\n .highlight .nt { color: #000080; } /* Name.Tag */\n .highlight .nv { color: #008080; } /* Name.Variable */\n .highlight .ow { color: #000000; font-weight: bold; } /* Operator.Word */\n .highlight .w { color: #bbbbbb; } /* Text.Whitespace */\n .highlight .mf { color: #009999; } /* Literal.Number.Float */\n .highlight .mh { color: #009999; } /* Literal.Number.Hex */\n .highlight .mi { color: #009999; } /* Literal.Number.Integer */\n .highlight .mo { color: #009999; } /* Literal.Number.Oct */\n .highlight .sb { color: #d01040; } /* Literal.String.Backtick */\n .highlight .sc { color: #d01040; } /* Literal.String.Char */\n .highlight .sd { color: #d01040; } /* Literal.String.Doc */\n .highlight .s2 { color: #d01040; } /* Literal.String.Double */\n .highlight .se { color: #d01040; } /* Literal.String.Escape */\n .highlight .sh { color: #d01040; } /* Literal.String.Heredoc */\n .highlight .si { color: #d01040; } /* Literal.String.Interpol */\n .highlight .sx { color: #d01040; } /* Literal.String.Other */\n .highlight .sr { color: #009926; } /* Literal.String.Regex */\n .highlight .s1 { color: #d01040; } /* Literal.String.Single */\n .highlight .ss { color: #990073; } /* Literal.String.Symbol */\n .highlight .bp { color: #999999; } /* Name.Builtin.Pseudo */\n .highlight .vc { color: #008080; } /* Name.Variable.Class */\n .highlight .vg { color: #008080; } /* Name.Variable.Global */\n .highlight .vi { color: #008080; } /* Name.Variable.Instance */\n .highlight .il { color: #009999; } /* Literal.Number.Integer.Long */\n\n /* --- custom light colors --- */\n --language-border-color: rgba(172, 169, 169, 0.2);\n --highlight-bg-color: #f7f7f7;\n --highlighter-rouge-color: #3f596f;\n --highlight-lineno-color: #c2c6cc;\n --inline-code-bg: #f6f6f7;\n --code-header-text-color: #a3a3b1;\n --code-header-muted-color: #ebebeb;\n --code-header-icon-color: #d1d1d1;\n --clipboard-checked-color: #43c743;\n\n [class^='prompt-'] {\n --inline-code-bg: #fbfafa;\n }\n} /* light-syntax */\n","/*\n * The syntax dark mode styles.\n */\n\n@mixin dark-syntax {\n --language-border-color: rgba(84, 83, 83, 0.27);\n --highlight-bg-color: #252525;\n --highlighter-rouge-color: #de6b18;\n --highlight-lineno-color: #6c6c6d;\n --inline-code-bg: #272822;\n --code-header-text-color: #6a6a6a;\n --code-header-muted-color: rgb(60, 60, 60);\n --code-header-icon-color: rgb(86, 86, 86);\n --clipboard-checked-color: #2bcc2b;\n --filepath-text-color: #bdbdbd;\n\n /* override Bootstrap */\n pre {\n color: #bfbfbf;\n }\n\n .highlight .gp {\n color: #818c96;\n }\n\n /* syntax highlight colors from https://raw.githubusercontent.com/jwarby/pygments-css/master/monokai.css */\n\n .highlight pre { background-color: var(--highlight-bg-color); }\n .highlight .hll { background-color: var(--highlight-bg-color); }\n .highlight .c { color: #75715e; } /* Comment */\n .highlight .err { color: #960050; background-color: #1e0010; } /* Error */\n .highlight .k { color: #66d9ef; } /* Keyword */\n .highlight .l { color: #ae81ff; } /* Literal */\n .highlight .n { color: #f8f8f2; } /* Name */\n .highlight .o { color: #f92672; } /* Operator */\n .highlight .p { color: #f8f8f2; } /* Punctuation */\n .highlight .cm { color: #75715e; } /* Comment.Multiline */\n .highlight .cp { color: #75715e; } /* Comment.Preproc */\n .highlight .c1 { color: #75715e; } /* Comment.Single */\n .highlight .cs { color: #75715e; } /* Comment.Special */\n .highlight .ge { color: inherit; font-style: italic; } /* Generic.Emph */\n .highlight .gs { font-weight: bold; } /* Generic.Strong */\n .highlight .kc { color: #66d9ef; } /* Keyword.Constant */\n .highlight .kd { color: #66d9ef; } /* Keyword.Declaration */\n .highlight .kn { color: #f92672; } /* Keyword.Namespace */\n .highlight .kp { color: #66d9ef; } /* Keyword.Pseudo */\n .highlight .kr { color: #66d9ef; } /* Keyword.Reserved */\n .highlight .kt { color: #66d9ef; } /* Keyword.Type */\n .highlight .ld { color: #e6db74; } /* Literal.Date */\n .highlight .m { color: #ae81ff; } /* Literal.Number */\n .highlight .s { color: #e6db74; } /* Literal.String */\n .highlight .na { color: #a6e22e; } /* Name.Attribute */\n .highlight .nb { color: #f8f8f2; } /* Name.Builtin */\n .highlight .nc { color: #a6e22e; } /* Name.Class */\n .highlight .no { color: #66d9ef; } /* Name.Constant */\n .highlight .nd { color: #a6e22e; } /* Name.Decorator */\n .highlight .ni { color: #f8f8f2; } /* Name.Entity */\n .highlight .ne { color: #a6e22e; } /* Name.Exception */\n .highlight .nf { color: #a6e22e; } /* Name.Function */\n .highlight .nl { color: #f8f8f2; } /* Name.Label */\n .highlight .nn { color: #f8f8f2; } /* Name.Namespace */\n .highlight .nx { color: #a6e22e; } /* Name.Other */\n .highlight .py { color: #f8f8f2; } /* Name.Property */\n .highlight .nt { color: #f92672; } /* Name.Tag */\n .highlight .nv { color: #f8f8f2; } /* Name.Variable */\n .highlight .ow { color: #f92672; } /* Operator.Word */\n .highlight .w { color: #f8f8f2; } /* Text.Whitespace */\n .highlight .mf { color: #ae81ff; } /* Literal.Number.Float */\n .highlight .mh { color: #ae81ff; } /* Literal.Number.Hex */\n .highlight .mi { color: #ae81ff; } /* Literal.Number.Integer */\n .highlight .mo { color: #ae81ff; } /* Literal.Number.Oct */\n .highlight .sb { color: #e6db74; } /* Literal.String.Backtick */\n .highlight .sc { color: #e6db74; } /* Literal.String.Char */\n .highlight .sd { color: #e6db74; } /* Literal.String.Doc */\n .highlight .s2 { color: #e6db74; } /* Literal.String.Double */\n .highlight .se { color: #ae81ff; } /* Literal.String.Escape */\n .highlight .sh { color: #e6db74; } /* Literal.String.Heredoc */\n .highlight .si { color: #e6db74; } /* Literal.String.Interpol */\n .highlight .sx { color: #e6db74; } /* Literal.String.Other */\n .highlight .sr { color: #e6db74; } /* Literal.String.Regex */\n .highlight .s1 { color: #e6db74; } /* Literal.String.Single */\n .highlight .ss { color: #e6db74; } /* Literal.String.Symbol */\n .highlight .bp { color: #f8f8f2; } /* Name.Builtin.Pseudo */\n .highlight .vc { color: #f8f8f2; } /* Name.Variable.Class */\n .highlight .vg { color: #f8f8f2; } /* Name.Variable.Global */\n .highlight .vi { color: #f8f8f2; } /* Name.Variable.Instance */\n .highlight .il { color: #ae81ff; } /* Literal.Number.Integer.Long */\n .highlight .gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */\n .highlight .gd { color: #f92672; background-color: #561c08; } /* Generic.Deleted & Diff Deleted */\n .highlight .gi { color: #a6e22e; background-color: #0b5858; } /* Generic.Inserted & Diff Inserted */\n}\n","/*\n The common styles\n*/\n\nhtml {\n @media (prefers-color-scheme: light) {\n &:not([data-mode]),\n &[data-mode='light'] {\n @include light-scheme;\n }\n\n &[data-mode='dark'] {\n @include dark-scheme;\n }\n }\n\n @media (prefers-color-scheme: dark) {\n &:not([data-mode]),\n &[data-mode='dark'] {\n @include dark-scheme;\n }\n\n &[data-mode='light'] {\n @include light-scheme;\n }\n }\n\n font-size: 16px;\n}\n\nbody {\n background: var(--main-bg);\n padding: env(safe-area-inset-top) env(safe-area-inset-right)\n env(safe-area-inset-bottom) env(safe-area-inset-left);\n color: var(--text-color);\n -webkit-font-smoothing: antialiased;\n font-family: $font-family-base;\n}\n\n/* --- Typography --- */\n\n@for $i from 1 through 5 {\n h#{$i} {\n @extend %heading;\n\n @if $i > 1 {\n @extend %section;\n @extend %anchor;\n }\n\n @if $i < 5 {\n $factor: 0.18rem;\n\n @if $i == 1 {\n $factor: 0.23rem;\n }\n\n font-size: 1rem + (5 - $i) * $factor;\n } @else {\n font-size: 1rem;\n }\n }\n}\n\na {\n @extend %link-color;\n\n text-decoration: none;\n}\n\nimg {\n max-width: 100%;\n height: auto;\n transition: all 0.35s ease-in-out;\n\n &[data-src] {\n &[data-lqip='true'] {\n &.lazyload,\n &.lazyloading {\n -webkit-filter: blur(20px);\n filter: blur(20px);\n }\n }\n\n &:not([data-lqip='true']) {\n &.lazyload,\n &.lazyloading {\n background: var(--img-bg);\n }\n\n &.lazyloaded {\n -webkit-animation: fade-in 0.35s ease-in;\n animation: fade-in 0.35s ease-in;\n }\n }\n\n &.shadow {\n -webkit-filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));\n filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));\n box-shadow: none !important; /* cover the Bootstrap 4.6.1 styles */\n }\n\n @extend %img-caption;\n }\n\n @-webkit-keyframes fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n @keyframes fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n}\n\nblockquote {\n border-left: 5px solid var(--blockquote-border-color);\n padding-left: 1rem;\n color: var(--blockquote-text-color);\n\n &[class^='prompt-'] {\n border-left: 0;\n position: relative;\n padding: 1rem 1rem 1rem 3rem;\n color: var(--prompt-text-color);\n\n @extend %rounded;\n\n &::before {\n text-align: center;\n width: 3rem;\n position: absolute;\n left: 0.25rem;\n margin-top: 0.4rem;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n }\n\n > p:last-child {\n margin-bottom: 0;\n }\n }\n\n @include prompt('tip', '\\f0eb', 'regular');\n @include prompt('info', '\\f06a');\n @include prompt('warning', '\\f06a');\n @include prompt('danger', '\\f071');\n}\n\nkbd {\n font-family: inherit;\n display: inline-block;\n vertical-align: middle;\n line-height: 1.3rem;\n min-width: 1.75rem;\n text-align: center;\n margin: 0 0.3rem;\n padding-top: 0.1rem;\n color: var(--kbd-text-color);\n background-color: var(--kbd-bg-color);\n border-radius: 0.25rem;\n border: solid 1px var(--kbd-wrap-color);\n box-shadow: inset 0 -2px 0 var(--kbd-wrap-color);\n}\n\nfooter {\n font-size: 0.8rem;\n background-color: var(--main-bg);\n\n div.d-flex {\n height: $footer-height;\n line-height: 1.2rem;\n padding-bottom: 1rem;\n border-top: 1px solid var(--main-border-color);\n flex-wrap: wrap;\n }\n\n a {\n @extend %text-color;\n\n &:hover {\n @extend %link-hover;\n }\n }\n\n p {\n width: 100%;\n text-align: center;\n margin-bottom: 0;\n }\n}\n\n/* fontawesome icons */\ni {\n &.far,\n &.fas {\n @extend %no-cursor;\n }\n}\n\n/* --- Panels --- */\n\n.access {\n top: 2rem;\n transition: top 0.2s ease-in-out;\n margin-top: 3rem;\n margin-bottom: 4rem;\n\n &:only-child {\n position: -webkit-sticky;\n position: sticky;\n }\n\n > div {\n padding-left: 1rem;\n border-left: 1px solid var(--main-border-color);\n\n &:not(:last-child) {\n margin-bottom: 4rem;\n }\n }\n\n .post-content {\n font-size: 0.9rem;\n }\n}\n\n#panel-wrapper {\n /* the headings */\n .panel-heading {\n @include label(inherit);\n }\n\n .post-tag {\n line-height: 1.05rem;\n font-size: 0.85rem;\n border: 1px solid var(--btn-border-color);\n border-radius: 0.8rem;\n padding: 0.3rem 0.5rem;\n margin: 0 0.35rem 0.5rem 0;\n\n &:hover {\n transition: all 0.3s ease-in;\n }\n }\n}\n\n#access-lastmod {\n a {\n &:hover {\n @extend %link-hover;\n }\n\n @extend %no-bottom-border;\n\n color: inherit;\n }\n}\n\n.footnotes > ol {\n padding-left: 2rem;\n margin-top: 0.5rem;\n\n > li {\n &:not(:last-child) {\n margin-bottom: 0.3rem;\n }\n\n > p {\n margin-left: 0.25em;\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n}\n\n.footnote {\n @at-root a#{&} {\n @include ml-mr(1px);\n @include pl-pr(2px);\n\n border-bottom-style: none !important;\n transition: background-color 1.5s ease-in-out;\n }\n}\n\n.reversefootnote {\n @at-root a#{&} {\n font-size: 0.6rem;\n line-height: 1;\n position: relative;\n bottom: 0.25em;\n margin-left: 0.25em;\n border-bottom-style: none !important;\n }\n}\n\n/* --- Begin of Markdown table style --- */\n\n/* it will be created by Liquid */\n.table-wrapper {\n overflow-x: auto;\n margin-bottom: 1.5rem;\n\n > table {\n min-width: 100%;\n overflow-x: auto;\n border-spacing: 0;\n\n thead {\n border-bottom: solid 2px rgba(210, 215, 217, 0.75);\n\n th {\n @extend %table-cell;\n }\n }\n\n tbody {\n tr {\n border-bottom: 1px solid var(--tb-border-color);\n\n &:nth-child(2n) {\n background-color: var(--tb-even-bg);\n }\n\n &:nth-child(2n + 1) {\n background-color: var(--tb-odd-bg);\n }\n\n td {\n @extend %table-cell;\n }\n }\n } /* tbody */\n } /* table */\n}\n\n/* --- post --- */\n\n.post-preview {\n @extend %rounded;\n\n border: 0;\n background: var(--card-bg);\n box-shadow: var(--card-shadow);\n\n &::before {\n @extend %rounded;\n\n content: '';\n width: 100%;\n height: 100%;\n position: absolute;\n background-color: var(--card-hovor-bg);\n opacity: 0;\n transition: opacity 0.35s ease-in-out;\n }\n\n &:hover {\n &::before {\n opacity: 0.3;\n }\n }\n}\n\n.post {\n h1 {\n margin-top: 2rem;\n margin-bottom: 1.5rem;\n }\n\n p {\n > img[data-src],\n > a.popup {\n &:not(.normal):not(.left):not(.right) {\n @include align-center;\n }\n }\n }\n}\n\n.post-meta {\n font-size: 0.85rem;\n\n a {\n &:not([class]):hover {\n @extend %link-hover;\n }\n }\n\n em {\n @extend %normal-font-style;\n }\n}\n\n.post-content {\n font-size: 1.08rem;\n margin-top: 2rem;\n overflow-wrap: break-word;\n\n a {\n &.popup {\n @extend %no-cursor;\n @extend %img-caption;\n @include mt-mb(0.5rem);\n\n cursor: zoom-in;\n }\n\n &:not(.img-link) {\n @extend %link-underline;\n\n &:hover {\n @extend %link-hover;\n }\n }\n }\n\n ol,\n ul {\n &:not([class]),\n &.task-list {\n -webkit-padding-start: 1.75rem;\n padding-inline-start: 1.75rem;\n\n li {\n margin: 0.25rem 0;\n padding-left: 0.25rem;\n }\n\n ol,\n ul {\n -webkit-padding-start: 1.25rem;\n padding-inline-start: 1.25rem;\n margin: 0.5rem 0;\n }\n }\n }\n\n ul.task-list {\n -webkit-padding-start: 1.25rem;\n padding-inline-start: 1.25rem;\n\n li {\n list-style-type: none;\n padding-left: 0;\n\n /* checkbox icon */\n > i {\n width: 2rem;\n margin-left: -1.25rem;\n color: var(--checkbox-color);\n\n &.checked {\n color: var(--checkbox-checked-color);\n }\n }\n\n ul {\n -webkit-padding-start: 1.75rem;\n padding-inline-start: 1.75rem;\n }\n }\n\n input[type='checkbox'] {\n margin: 0 0.5rem 0.2rem -1.3rem;\n vertical-align: middle;\n }\n } /* ul */\n\n dl > dd {\n margin-left: 1rem;\n }\n\n ::marker {\n color: var(--text-muted-color);\n }\n} /* .post-content */\n\n.tag:hover {\n @extend %tag-hover;\n}\n\n.post-tag {\n display: inline-block;\n min-width: 2rem;\n text-align: center;\n border-radius: 0.3rem;\n padding: 0 0.4rem;\n color: inherit;\n line-height: 1.3rem;\n\n &:not(:last-child) {\n margin-right: 0.2rem;\n }\n}\n\n.rounded-10 {\n border-radius: 10px !important;\n}\n\n.img-link {\n color: transparent;\n display: inline-flex;\n}\n\n.shimmer {\n overflow: hidden;\n position: relative;\n background: var(--img-bg);\n\n &::before {\n content: '';\n position: absolute;\n background: var(--shimmer-bg);\n height: 100%;\n width: 100%;\n -webkit-animation: shimmer 1s infinite;\n animation: shimmer 1s infinite;\n }\n\n @-webkit-keyframes shimmer {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(100%);\n }\n }\n\n @keyframes shimmer {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(100%);\n }\n }\n}\n\n.embed-video {\n width: 100%;\n height: 100%;\n margin-bottom: 1rem;\n\n @extend %rounded;\n\n &.youtube {\n aspect-ratio: 16 / 9;\n }\n\n &.twitch {\n aspect-ratio: 310 / 189;\n }\n}\n\n/* --- buttons --- */\n.btn-lang {\n border: 1px solid !important;\n padding: 1px 3px;\n border-radius: 3px;\n color: var(--link-color);\n\n &:focus {\n box-shadow: none;\n }\n}\n\n/* --- Effects classes --- */\n\n.loaded {\n display: block !important;\n\n @at-root .d-flex#{&} {\n display: flex !important;\n }\n}\n\n.unloaded {\n display: none !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.hidden {\n visibility: hidden !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.btn-box-shadow {\n box-shadow: 0 0 8px 0 var(--btn-box-shadow) !important;\n}\n\n/* overwrite bootstrap muted */\n.text-muted {\n color: var(--text-muted-color) !important;\n}\n\n/* Overwrite bootstrap tooltip */\n.tooltip-inner {\n font-size: 0.7rem;\n max-width: 220px;\n text-align: left;\n}\n\n/* Overwrite bootstrap outline button */\n.btn.btn-outline-primary {\n &:not(.disabled):hover {\n border-color: #007bff !important;\n }\n}\n\n.disabled {\n color: rgb(206, 196, 196);\n pointer-events: auto;\n cursor: not-allowed;\n}\n\n.hide-border-bottom {\n border-bottom: none !important;\n}\n\n.input-focus {\n box-shadow: none;\n border-color: var(--input-focus-border-color) !important;\n background: center !important;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n\n.left {\n float: left;\n margin: 0.75rem 1rem 1rem 0 !important;\n}\n\n.right {\n float: right;\n margin: 0.75rem 0 1rem 1rem !important;\n}\n\n/* --- Overriding --- */\n\n/* magnific-popup */\n\nfigure .mfp-title {\n text-align: center;\n padding-right: 0;\n margin-top: 0.5rem;\n}\n\n.mfp-img {\n transition: none;\n}\n\n/* mermaid */\n.mermaid {\n text-align: center;\n}\n\n/* MathJax */\nmjx-container {\n overflow-y: hidden;\n min-width: auto !important;\n}\n\n/* --- sidebar layout --- */\n\n$sidebar-display: 'sidebar-display';\n$btn-gap: 0.8rem; // for the bottom icons\n$btn-border-width: 3px;\n$btn-mb: 0.5rem;\n\n#sidebar {\n @include pl-pr(0);\n\n position: fixed;\n top: 0;\n left: 0;\n height: 100%;\n overflow-y: auto;\n width: $sidebar-width;\n z-index: 99;\n background: var(--sidebar-bg);\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n &::-webkit-scrollbar {\n display: none;\n }\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n\n %sidebar-link-hover {\n &:hover {\n color: var(--sidebar-active-color);\n }\n }\n\n a {\n @extend %sidebar-links;\n }\n\n #avatar {\n display: block;\n width: 7rem;\n height: 7rem;\n overflow: hidden;\n box-shadow: var(--avatar-border-color) 0 0 0 2px;\n transform: translateZ(0); /* fixed the zoom in Safari */\n\n img {\n transition: transform 0.5s;\n\n &:hover {\n transform: scale(1.2);\n }\n }\n }\n\n .profile-wrapper {\n @include mt-mb(2.5rem);\n @extend %clickable-transition;\n\n padding-left: 2.5rem;\n padding-right: 1.25rem;\n width: 100%;\n }\n\n .site-title {\n font-weight: 900;\n font-size: 1.75rem;\n line-height: 1.2;\n letter-spacing: 0.25px;\n color: rgba(134, 133, 133, 0.99);\n margin-top: 1.25rem;\n margin-bottom: 0.5rem;\n\n a {\n @extend %clickable-transition;\n @extend %sidebar-link-hover;\n }\n }\n\n .site-subtitle {\n font-size: 95%;\n color: var(--sidebar-muted-color);\n margin-top: 0.25rem;\n word-spacing: 1px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n ul {\n margin-bottom: 2rem;\n\n li.nav-item {\n opacity: 0.9;\n width: 100%;\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n\n a.nav-link {\n @include pt-pb(0.6rem);\n\n display: flex;\n align-items: center;\n border-radius: 0.75rem;\n font-weight: 600;\n\n &:hover {\n background-color: var(--sidebar-hover-bg);\n }\n\n i {\n font-size: 95%;\n opacity: 0.8;\n margin-right: 1.5rem;\n }\n\n span {\n font-size: 90%;\n letter-spacing: 0.2px;\n }\n }\n\n &.active {\n .nav-link {\n color: var(--sidebar-active-color);\n background-color: var(--sidebar-hover-bg);\n\n span {\n opacity: 1;\n }\n }\n }\n\n &:not(:first-child) {\n margin-top: 0.25rem;\n }\n }\n }\n\n .sidebar-bottom {\n @include pl-pr(2rem);\n\n margin-bottom: 1.5rem;\n\n %button {\n width: 1.75rem;\n height: 1.75rem;\n margin-bottom: $btn-mb; // multi line gap\n border-radius: 50%;\n color: var(--sidebar-btn-color);\n background-color: var(--sidebar-btn-bg);\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n background-color: var(--sidebar-hover-bg);\n }\n }\n\n a {\n @extend %button;\n @extend %sidebar-link-hover;\n @extend %clickable-transition;\n\n &:not(:last-child) {\n margin-right: $btn-gap;\n }\n }\n\n i {\n line-height: 1.75rem;\n }\n\n .mode-toggle {\n padding: 0;\n border: 0;\n\n @extend %button;\n @extend %sidebar-links;\n @extend %sidebar-link-hover;\n }\n\n .icon-border {\n @extend %no-cursor;\n @include ml-mr(calc(($btn-gap - $btn-border-width) / 2));\n\n background-color: var(--sidebar-muted-color);\n content: '';\n width: $btn-border-width;\n height: $btn-border-width;\n border-radius: 50%;\n margin-bottom: $btn-mb;\n }\n } /* .sidebar-bottom */\n} /* #sidebar */\n\n@media (hover: hover) {\n #sidebar ul > li:last-child::after {\n transition: top 0.5s ease;\n }\n\n .nav-link {\n transition: background-color 0.3s ease-in-out;\n }\n\n .post-preview {\n transition: background-color 0.35s ease-in-out;\n }\n}\n\n#search-result-wrapper {\n display: none;\n height: 100%;\n width: 100%;\n overflow: auto;\n\n .post-content {\n margin-top: 2rem;\n }\n}\n\n/* --- top-bar --- */\n\n#topbar-wrapper {\n height: $topbar-height;\n background-color: var(--topbar-bg);\n}\n\n#topbar {\n /* icons */\n i {\n color: #999999;\n }\n\n #breadcrumb {\n font-size: 1rem;\n color: gray;\n padding-left: 0.5rem;\n\n a:hover {\n @extend %link-hover;\n }\n\n span {\n &:not(:last-child) {\n &::after {\n content: '›';\n padding: 0 0.3rem;\n }\n }\n }\n }\n} /* #topbar */\n\n#sidebar-trigger,\n#search-trigger {\n display: none;\n}\n\n#search-wrapper {\n display: flex;\n width: 100%;\n border-radius: 1rem;\n border: 1px solid var(--search-wrapper-border-color);\n background: var(--main-bg);\n padding: 0 0.5rem;\n\n i {\n z-index: 2;\n font-size: 0.9rem;\n color: var(--search-icon-color);\n }\n}\n\n/* 'Cancel' link */\n#search-cancel {\n color: var(--link-color);\n margin-left: 0.75rem;\n display: none;\n white-space: nowrap;\n\n @extend %cursor-pointer;\n}\n\n#search-input {\n background: center;\n border: 0;\n border-radius: 0;\n padding: 0.18rem 0.3rem;\n color: var(--text-color);\n height: auto;\n\n &:focus {\n box-shadow: none;\n\n &.form-control {\n &::-moz-placeholder {\n @include input-placeholder;\n }\n &::-webkit-input-placeholder {\n @include input-placeholder;\n }\n &:-ms-input-placeholder {\n @include input-placeholder;\n }\n &::-ms-input-placeholder {\n @include input-placeholder;\n }\n &::placeholder {\n @include input-placeholder;\n }\n }\n }\n}\n\n#search-hints {\n padding: 0 1rem;\n\n h4 {\n margin-bottom: 1.5rem;\n }\n\n .post-tag {\n display: inline-block;\n line-height: 1rem;\n font-size: 1rem;\n background: var(--search-tag-bg);\n border: none;\n padding: 0.5rem;\n margin: 0 1.25rem 1rem 0;\n\n &::before {\n content: '#';\n color: var(--text-muted-color);\n padding-right: 0.2rem;\n }\n\n @extend %link-color;\n }\n}\n\n#search-results {\n padding-bottom: 3rem;\n\n a {\n &:hover {\n @extend %link-hover;\n }\n\n @extend %link-color;\n @extend %no-bottom-border;\n @extend %heading;\n\n font-size: 1.4rem;\n line-height: 2.5rem;\n }\n\n > div {\n width: 100%;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n\n /* icons */\n i {\n color: #818182;\n margin-right: 0.15rem;\n font-size: 80%;\n }\n\n > p {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n }\n} /* #search-results */\n\n#topbar-title {\n display: none;\n font-size: 1.1rem;\n font-weight: 600;\n font-family: sans-serif;\n color: var(--topbar-text-color);\n text-align: center;\n width: 70%;\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: keep-all;\n white-space: nowrap;\n}\n\n#core-wrapper {\n line-height: 1.75;\n\n .categories,\n #tags,\n #archives {\n a:not(:hover) {\n @extend %no-bottom-border;\n }\n }\n}\n\n#mask {\n display: none;\n position: fixed;\n inset: 0 0 0 0;\n height: 100%;\n width: 100%;\n z-index: 1;\n\n @at-root [#{$sidebar-display}] & {\n display: block !important;\n }\n}\n\n/* --- main wrapper --- */\n\n#main-wrapper {\n background-color: var(--main-bg);\n position: relative;\n min-height: calc(100vh - $footer-height-mobile);\n\n @include pl-pr(0);\n}\n\n#topbar-wrapper.row,\n#main > .row,\n#search-result-wrapper > .row {\n @include ml-mr(0);\n}\n\n/* --- button back-to-top --- */\n\n#back-to-top {\n $size: 3rem;\n\n display: none;\n z-index: 1;\n cursor: pointer;\n position: fixed;\n right: 1rem;\n bottom: 2rem;\n background: var(--button-bg);\n color: var(--btn-backtotop-color);\n padding: 0;\n width: $size;\n height: $size;\n border-radius: 50%;\n border: 1px solid var(--btn-backtotop-border-color);\n transition: transform 0.2s ease-out;\n -webkit-transition: transform 0.2s ease-out;\n\n &:hover {\n transform: translate3d(0, -5px, 0);\n -webkit-transform: translate3d(0, -5px, 0);\n }\n\n i {\n line-height: $size;\n position: relative;\n bottom: 2px;\n }\n}\n\n#notification {\n @-webkit-keyframes popup {\n from {\n opacity: 0;\n bottom: 0;\n }\n }\n\n @keyframes popup {\n from {\n opacity: 0;\n bottom: 0;\n }\n }\n\n .toast-header {\n background: none;\n border-bottom: none;\n color: inherit;\n }\n\n .toast-body {\n font-family: Lato, sans-serif;\n line-height: 1.25rem;\n\n button {\n font-size: 90%;\n min-width: 4rem;\n }\n }\n\n &.toast {\n &.show {\n display: block;\n min-width: 20rem;\n border-radius: 0.5rem;\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n background-color: rgba(255, 255, 255, 0.5);\n color: #1b1b1eba;\n position: fixed;\n left: 50%;\n bottom: 20%;\n transform: translateX(-50%);\n -webkit-animation: popup 0.8s;\n animation: popup 0.8s;\n }\n }\n}\n\n/*\n Responsive Design:\n\n {sidebar, content, panel} >= 1200px screen width\n {sidebar, content} >= 850px screen width\n {content} <= 849px screen width\n\n*/\n\n@media all and (max-width: 576px) {\n #main-wrapper {\n min-height: calc(100vh - #{$footer-height-mobile});\n }\n\n #core-wrapper {\n .post-content {\n > blockquote[class^='prompt-'] {\n @include ml-mr(-1.25rem);\n\n border-radius: 0;\n max-width: none;\n }\n }\n }\n\n #avatar {\n width: 5rem;\n height: 5rem;\n }\n}\n\n@media all and (max-width: 768px) {\n %full-width {\n max-width: 100%;\n }\n\n #topbar {\n @extend %full-width;\n }\n\n #main {\n @extend %full-width;\n @include pl-pr(0);\n }\n}\n\n/* hide sidebar and panel */\n@media all and (max-width: 849px) {\n @mixin slide($append: null) {\n $basic: transform 0.4s ease;\n\n @if $append {\n transition: $basic, $append;\n } @else {\n transition: $basic;\n }\n }\n\n html,\n body {\n overflow-x: hidden;\n }\n\n footer {\n @include slide;\n\n height: $footer-height-mobile;\n\n div.d-flex {\n padding: 1.5rem 0;\n line-height: 1.65;\n flex-wrap: wrap;\n }\n }\n\n [#{$sidebar-display}] {\n #sidebar {\n transform: translateX(0);\n }\n\n #main-wrapper,\n footer {\n transform: translateX(#{$sidebar-width});\n }\n\n #back-to-top {\n visibility: hidden;\n }\n }\n\n #sidebar {\n @include slide;\n\n transform: translateX(-#{$sidebar-width}); /* hide */\n -webkit-transform: translateX(-#{$sidebar-width});\n }\n\n #main-wrapper {\n @include slide;\n }\n\n #topbar,\n #main,\n footer > .container {\n max-width: 100%;\n }\n\n #search-result-wrapper {\n width: 100%;\n }\n\n #breadcrumb,\n #search-wrapper {\n display: none;\n }\n\n #topbar-wrapper {\n @include slide(top 0.2s ease);\n\n left: 0;\n }\n\n #core-wrapper,\n #panel-wrapper {\n margin-top: 0;\n }\n\n #topbar-title,\n #sidebar-trigger,\n #search-trigger {\n display: block;\n }\n\n #search-result-wrapper .post-content {\n letter-spacing: 0;\n }\n\n #tags {\n justify-content: center !important;\n }\n\n h1.dynamic-title {\n display: none;\n\n ~ .post-content {\n margin-top: 2.5rem;\n }\n }\n} /* max-width: 849px */\n\n/* Phone & Pad */\n@media all and (min-width: 577px) and (max-width: 1199px) {\n footer .d-flex > div {\n width: 312px;\n }\n}\n\n/* Sidebar is visible */\n@media all and (min-width: 850px) {\n /* Solved jumping scrollbar */\n html {\n overflow-y: scroll;\n }\n\n #main-wrapper,\n footer {\n margin-left: $sidebar-width;\n }\n\n #main-wrapper {\n min-height: calc(100vh - $footer-height);\n }\n\n footer {\n p {\n width: auto;\n &:last-child {\n &::before {\n content: '-';\n margin: 0 0.75rem;\n opacity: 0.8;\n }\n }\n }\n }\n\n #sidebar {\n .profile-wrapper {\n margin-top: 3rem;\n }\n }\n\n #search-hints {\n display: none;\n }\n\n #search-wrapper {\n max-width: $search-max-width;\n }\n\n #search-result-wrapper {\n max-width: $main-content-max-width;\n justify-content: start !important;\n }\n\n .post {\n h1 {\n margin-top: 3rem;\n }\n }\n\n div.post-content .table-wrapper > table {\n min-width: 70%;\n }\n\n /* button 'back-to-Top' position */\n #back-to-top {\n bottom: 5.5rem;\n right: 5%;\n }\n\n #topbar-title {\n text-align: left;\n }\n}\n\n/* Pad horizontal */\n@media all and (min-width: 992px) and (max-width: 1199px) {\n #main .col-lg-11 {\n flex: 0 0 96%;\n max-width: 96%;\n }\n}\n\n/* Compact icons in sidebar & panel hidden */\n@media all and (min-width: 850px) and (max-width: 1199px) {\n #search-results > div {\n max-width: 700px;\n }\n\n #breadcrumb {\n width: 65%;\n overflow: hidden;\n text-overflow: ellipsis;\n word-break: keep-all;\n white-space: nowrap;\n }\n}\n\n/* panel hidden */\n@media all and (max-width: 1199px) {\n #panel-wrapper {\n display: none;\n }\n\n #main > div.row {\n justify-content: center !important;\n }\n}\n\n/* --- desktop mode, both sidebar and panel are visible --- */\n\n@media all and (min-width: 1200px) {\n #back-to-top {\n bottom: 6.5rem;\n }\n\n #search-wrapper {\n margin-right: 4rem;\n }\n\n #search-input {\n transition: all 0.3s ease-in-out;\n }\n\n #search-results > div {\n width: 46%;\n\n &:nth-child(odd) {\n margin-right: 1.5rem;\n }\n\n &:nth-child(even) {\n margin-left: 1.5rem;\n }\n\n &:last-child:nth-child(odd) {\n position: relative;\n right: 24.3%;\n }\n }\n\n .post-content {\n font-size: 1.03rem;\n }\n\n footer {\n div.d-felx {\n width: 85%;\n }\n }\n}\n\n@media all and (min-width: 1400px) {\n #back-to-top {\n right: calc((100vw - #{$sidebar-width} - 1140px) / 2 + 3rem);\n }\n}\n\n@media all and (min-width: 1650px) {\n $icon-gap: 1rem;\n\n #main-wrapper,\n footer {\n margin-left: $sidebar-width-large;\n }\n\n #topbar-wrapper {\n left: $sidebar-width-large;\n }\n\n #search-wrapper {\n margin-right: calc(\n #{$main-content-max-width} * 0.25 - #{$search-max-width} - 0.75rem\n );\n }\n\n #main,\n footer > .container {\n max-width: $main-content-max-width;\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n\n #core-wrapper,\n #tail-wrapper {\n padding-right: 4.5rem !important;\n }\n\n #back-to-top {\n right: calc(\n (100vw - #{$sidebar-width-large} - #{$main-content-max-width}) / 2 + 2rem\n );\n }\n\n #sidebar {\n width: $sidebar-width-large;\n\n $icon-gap: 1rem; // for the bottom icons\n\n .profile-wrapper {\n margin-top: 3.5rem;\n margin-bottom: 2.5rem;\n padding-left: 3.5rem;\n }\n\n ul {\n li.nav-item {\n @include pl-pr(2.75rem);\n }\n }\n\n .sidebar-bottom {\n padding-left: 2.75rem;\n margin-bottom: 1.75rem;\n\n a:not(:last-child) {\n margin-right: $icon-gap;\n }\n\n .icon-border {\n @include ml-mr(calc(($icon-gap - $btn-border-width) / 2));\n }\n }\n }\n} /* min-width: 1650px */\n","/*\n * The syntax light mode typography colors\n */\n\n@mixin light-scheme {\n /* Framework color */\n --main-bg: white;\n --mask-bg: #c1c3c5;\n --main-border-color: #f3f3f3;\n\n /* Common color */\n --text-color: #34343c;\n --text-muted-color: #8e8e8e;\n --heading-color: black;\n --blockquote-border-color: #eeeeee;\n --blockquote-text-color: #9a9a9a;\n --link-color: #0153ab;\n --link-underline-color: #dee2e6;\n --button-bg: #ffffff;\n --btn-border-color: #e9ecef;\n --btn-backtotop-color: #686868;\n --btn-backtotop-border-color: #f1f1f1;\n --btn-box-shadow: #eaeaea;\n --checkbox-color: #c5c5c5;\n --checkbox-checked-color: #07a8f7;\n --img-bg: radial-gradient(\n circle,\n rgb(255, 255, 255) 0%,\n rgb(239, 239, 239) 100%\n );\n --shimmer-bg: linear-gradient(\n 90deg,\n rgba(250, 250, 250, 0) 0%,\n rgba(232, 230, 230, 1) 50%,\n rgba(250, 250, 250, 0) 100%\n );\n\n /* Sidebar */\n --sidebar-bg: #f6f8fa;\n --sidebar-muted-color: #a2a19f;\n --sidebar-active-color: #1d1d1d;\n --sidebar-hover-bg: rgb(223, 233, 241, 0.64);\n --sidebar-btn-bg: white;\n --sidebar-btn-color: #8e8e8e;\n --avatar-border-color: white;\n\n /* Topbar */\n --topbar-bg: rgb(255, 255, 255, 0.7);\n --topbar-text-color: rgb(78, 78, 78);\n --search-wrapper-border-color: rgb(240, 240, 240);\n --search-tag-bg: #f8f9fa;\n --search-icon-color: #c2c6cc;\n --input-focus-border-color: #b8b8b8;\n\n /* Home page */\n --post-list-text-color: dimgray;\n --btn-patinator-text-color: #555555;\n --btn-paginator-hover-color: var(--sidebar-bg);\n --btn-paginator-border-color: var(--sidebar-bg);\n --btn-text-color: #676666;\n\n /* Posts */\n --toc-highlight: #563d7c;\n --btn-share-hover-color: var(--link-color);\n --card-bg: white;\n --card-hovor-bg: #e2e2e2;\n --card-shadow: rgb(104, 104, 104, 0.05) 0 2px 6px 0,\n rgba(211, 209, 209, 0.15) 0 0 0 1px;\n --label-color: #616161;\n --relate-post-date: rgba(30, 55, 70, 0.4);\n --footnote-target-bg: lightcyan;\n --tag-bg: rgba(0, 0, 0, 0.075);\n --tag-border: #dee2e6;\n --tag-shadow: var(--btn-border-color);\n --tag-hover: rgb(222, 226, 230);\n --tb-odd-bg: #fbfcfd;\n --tb-border-color: #eaeaea;\n --dash-color: silver;\n --kbd-wrap-color: #bdbdbd;\n --kbd-text-color: var(--text-color);\n --kbd-bg-color: white;\n --prompt-text-color: rgb(46, 46, 46, 0.77);\n --prompt-tip-bg: rgb(123, 247, 144, 0.2);\n --prompt-tip-icon-color: #03b303;\n --prompt-info-bg: #e1f5fe;\n --prompt-info-icon-color: #0070cb;\n --prompt-warning-bg: rgb(255, 243, 205);\n --prompt-warning-icon-color: #ef9c03;\n --prompt-danger-bg: rgb(248, 215, 218, 0.56);\n --prompt-danger-icon-color: #df3c30;\n\n [class^='prompt-'] {\n --link-underline-color: rgb(219, 216, 216);\n }\n\n .dark {\n display: none;\n }\n\n /* Categories */\n --categories-border: rgba(0, 0, 0, 0.125);\n --categories-hover-bg: var(--btn-border-color);\n --categories-icon-hover-color: darkslategray;\n\n /* Archive */\n --timeline-color: rgba(0, 0, 0, 0.075);\n --timeline-node-bg: #c2c6cc;\n --timeline-year-dot-color: #ffffff;\n} /* light-scheme */\n","/*\n * The main dark mode styles\n */\n\n@mixin dark-scheme {\n /* Framework color */\n --main-bg: rgb(27, 27, 30);\n --mask-bg: rgb(68, 69, 70);\n --main-border-color: rgb(44, 45, 45);\n\n /* Common color */\n --text-color: rgb(175, 176, 177);\n --text-muted-color: rgb(107, 116, 124);\n --heading-color: #cccccc;\n --blockquote-border-color: rgb(66, 66, 66);\n --blockquote-text-color: rgb(117, 117, 117);\n --link-color: rgb(138, 180, 248);\n --link-underline-color: rgb(82, 108, 150);\n --button-bg: rgb(39, 40, 43);\n --btn-border-color: rgb(63, 65, 68);\n --btn-backtotop-color: var(--text-color);\n --btn-backtotop-border-color: var(--btn-border-color);\n --btn-box-shadow: var(--main-bg);\n --card-header-bg: rgb(48, 48, 48);\n --label-color: rgb(108, 117, 125);\n --checkbox-color: rgb(118, 120, 121);\n --checkbox-checked-color: var(--link-color);\n --img-bg: radial-gradient(circle, rgb(22, 22, 24) 0%, rgb(32, 32, 32) 100%);\n --shimmer-bg: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 0%,\n rgba(58, 55, 55, 0.4) 50%,\n rgba(255, 255, 255, 0) 100%\n );\n\n /* Sidebar */\n --sidebar-bg: radial-gradient(circle, #242424 0%, #1d1f27 100%);\n --sidebar-muted-color: #6d6c6b;\n --sidebar-active-color: rgb(255, 255, 255, 0.95);\n --sidebar-hover-bg: rgb(54, 54, 54, 0.33);\n --sidebar-btn-bg: rgb(84, 83, 83, 0.3);\n --sidebar-btn-color: #787878;\n --avatar-border-color: rgb(206, 206, 206, 0.9);\n\n /* Topbar */\n --topbar-bg: rgb(27, 27, 30, 0.64);\n --topbar-text-color: var(--text-color);\n --search-wrapper-border-color: rgb(55, 55, 55);\n --search-icon-color: rgb(100, 102, 105);\n --input-focus-border-color: rgb(112, 114, 115);\n\n /* Home page */\n --post-list-text-color: rgb(175, 176, 177);\n --btn-patinator-text-color: var(--text-color);\n --btn-paginator-hover-color: rgb(64, 65, 66);\n --btn-paginator-border-color: var(--btn-border-color);\n --btn-text-color: var(--text-color);\n\n /* Posts */\n --toc-highlight: rgb(116, 178, 243);\n --tag-bg: rgb(41, 40, 40);\n --tag-hover: rgb(43, 56, 62);\n --tb-odd-bg: rgba(42, 47, 53, 0.52); /* odd rows of the posts' table */\n --tb-even-bg: rgb(31, 31, 34); /* even rows of the posts' table */\n --tb-border-color: var(--tb-odd-bg);\n --footnote-target-bg: rgb(63, 81, 181);\n --btn-share-color: #6c757d;\n --btn-share-hover-color: #bfc1ca;\n --relate-post-date: var(--text-muted-color);\n --card-bg: #1e1e1e;\n --card-hovor-bg: #464d51;\n --card-shadow: rgb(21, 21, 21, 0.72) 0 6px 18px 0,\n rgb(137, 135, 135, 0.24) 0 0 0 1px;\n --kbd-wrap-color: #6a6a6a;\n --kbd-text-color: #d3d3d3;\n --kbd-bg-color: #242424;\n --prompt-text-color: rgb(216, 212, 212, 0.75);\n --prompt-tip-bg: rgb(22, 60, 36, 0.64);\n --prompt-tip-icon-color: rgb(15, 164, 15, 0.81);\n --prompt-info-bg: rgb(7, 59, 104, 0.8);\n --prompt-info-icon-color: #0075d1;\n --prompt-warning-bg: rgb(90, 69, 3, 0.88);\n --prompt-warning-icon-color: rgb(255, 165, 0, 0.8);\n --prompt-danger-bg: rgb(86, 28, 8, 0.8);\n --prompt-danger-icon-color: #cd0202;\n\n /* tags */\n --tag-border: rgb(59, 79, 88);\n --tag-shadow: rgb(32, 33, 33);\n --search-tag-bg: var(--tag-bg);\n --dash-color: rgb(63, 65, 68);\n\n /* categories */\n --categories-border: rgb(64, 66, 69, 0.5);\n --categories-hover-bg: rgb(73, 75, 76);\n --categories-icon-hover-color: white;\n\n /* archives */\n --timeline-node-bg: rgb(150, 152, 156);\n --timeline-color: rgb(63, 65, 68);\n --timeline-year-dot-color: var(--timeline-color);\n\n .light {\n display: none;\n }\n\n hr {\n border-color: var(--main-border-color);\n }\n\n /* categories */\n .categories.card,\n .list-group-item {\n background-color: var(--card-bg);\n }\n\n .categories {\n .card-header {\n background-color: var(--card-header-bg);\n }\n\n .list-group-item {\n border-left: none;\n border-right: none;\n padding-left: 2rem;\n border-color: var(--categories-border);\n\n &:last-child {\n border-bottom-color: var(--card-bg);\n }\n }\n }\n\n #archives li:nth-child(odd) {\n background-image: linear-gradient(\n to left,\n rgb(26, 26, 30),\n rgb(39, 39, 45),\n rgb(39, 39, 45),\n rgb(39, 39, 45),\n rgb(26, 26, 30)\n );\n }\n\n color-scheme: dark;\n\n /* stylelint-disable-next-line selector-id-pattern */\n #disqus_thread {\n color-scheme: none;\n }\n} /* dark-scheme */\n","/*\n Style for Homepage\n*/\n\n#post-list {\n margin-top: 2rem;\n\n a.card-wrapper {\n display: block;\n\n &:hover {\n text-decoration: none;\n }\n\n &:not(:last-child) {\n margin-bottom: 1.25rem;\n }\n }\n\n .card {\n %img-radius {\n border-radius: $base-radius $base-radius 0 0;\n }\n\n .preview-img {\n height: 10rem;\n\n @extend %img-radius;\n\n img {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n\n @extend %img-radius;\n }\n }\n\n .card-body {\n min-height: 10.5rem;\n padding: 1rem;\n\n .card-title {\n @extend %text-clip;\n\n font-size: 1.25rem;\n }\n\n %muted {\n color: var(--text-muted-color) !important;\n }\n\n .card-text.post-content {\n @extend %muted;\n\n p {\n @extend %text-clip;\n\n line-height: 1.5;\n margin: 0;\n }\n }\n\n .post-meta {\n @extend %muted;\n\n i {\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n }\n\n em {\n @extend %normal-font-style;\n\n color: inherit;\n }\n\n > div:first-child {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n }\n }\n} /* #post-list */\n\n.pagination {\n color: var(--btn-patinator-text-color);\n font-family: Lato, sans-serif;\n\n a:hover {\n text-decoration: none;\n }\n\n .page-item {\n .page-link {\n color: inherit;\n width: 2.5rem;\n height: 2.5rem;\n padding: 0;\n display: -webkit-box;\n -webkit-box-pack: center;\n -webkit-box-align: center;\n border-radius: 50%;\n border: 1px solid var(--btn-paginator-border-color);\n background-color: var(--button-bg);\n\n &:hover {\n background-color: var(--btn-paginator-hover-color);\n }\n }\n\n &.active {\n .page-link {\n background-color: var(--btn-paginator-hover-color);\n color: var(--btn-text-color);\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n .page-link {\n color: rgba(108, 117, 125, 0.57);\n border-color: var(--btn-paginator-border-color);\n background-color: var(--button-bg);\n }\n }\n\n &:first-child .page-link,\n &:last-child .page-link {\n border-radius: 50%;\n }\n } /* .page-item */\n} /* .pagination */\n\n/* Tablet */\n@media all and (min-width: 768px) {\n #post-list {\n %img-radius {\n border-radius: 0 $base-radius $base-radius 0;\n }\n\n .card {\n .preview-img {\n width: 20rem;\n height: 11.55rem; // can hold 2 lines each for title and content\n }\n\n .card-body {\n min-height: 10.75rem;\n width: 60%;\n padding: 1.75rem 1.75rem 1.25rem 1.75rem;\n\n .card-text {\n display: inherit !important;\n }\n\n .post-meta {\n i {\n &:not(:first-child) {\n margin-left: 1.75rem;\n }\n }\n }\n }\n }\n }\n}\n\n/* Hide SideBar and TOC */\n@media all and (max-width: 830px) {\n .pagination {\n justify-content: space-evenly;\n\n .page-item {\n &:not(:first-child):not(:last-child) {\n display: none;\n }\n }\n }\n}\n\n/* Sidebar is visible */\n@media all and (min-width: 831px) {\n #post-list {\n margin-top: 2.5rem;\n }\n\n .pagination {\n font-size: 0.85rem;\n\n .page-item {\n &:not(:last-child) {\n margin-right: 0.7rem;\n }\n\n .page-link {\n width: 2rem;\n height: 2rem;\n }\n }\n\n .page-index {\n display: none;\n }\n } /* .pagination */\n}\n\n/* Panel is visible */\n@media all and (min-width: 1200px) {\n #post-list {\n padding-right: 0.5rem;\n }\n}\n","/*\n Post-specific style\n*/\n\n@mixin btn-sharing-color($light-color, $important: false) {\n @if $important {\n color: var(--btn-share-color, $light-color) !important;\n } @else {\n color: var(--btn-share-color, $light-color);\n }\n}\n\n%btn-post-nav {\n width: 50%;\n position: relative;\n border-color: var(--btn-border-color);\n}\n\n@mixin dot($pl: 0.25rem, $pr: 0.25rem) {\n content: '\\2022';\n padding-left: $pl;\n padding-right: $pr;\n}\n\n%text-color {\n color: var(--text-color);\n}\n\n.preview-img {\n overflow: hidden;\n aspect-ratio: 40 / 21;\n\n @extend %rounded;\n\n &:not(.no-bg) {\n img.lazyloaded {\n background: var(--img-bg);\n }\n }\n\n img {\n -o-object-fit: cover;\n object-fit: cover;\n\n @extend %rounded;\n }\n}\n\nh1 + .post-meta {\n span + span::before {\n @include dot;\n }\n\n em {\n @extend %text-color;\n\n a {\n @extend %text-color;\n }\n }\n}\n\n.post-tail-wrapper {\n margin-top: 6rem;\n border-bottom: 1px double var(--main-border-color);\n font-size: 0.85rem;\n\n .post-tail-bottom a {\n color: inherit;\n }\n\n .license-wrapper {\n line-height: 1.2rem;\n\n > a {\n color: var(--text-color);\n\n &:hover {\n @extend %link-hover;\n }\n }\n\n span:last-child {\n font-size: 0.85rem;\n }\n } /* .license-wrapper */\n\n .post-meta a:not(:hover) {\n @extend %link-underline;\n }\n\n .share-wrapper {\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n .share-icons {\n font-size: 1.2rem;\n\n > i {\n position: relative;\n bottom: 1px;\n\n @extend %cursor-pointer;\n\n &:hover {\n @extend %btn-share-hovor;\n }\n }\n\n a {\n &:not(:last-child) {\n margin-right: 0.25rem;\n }\n\n &:hover {\n text-decoration: none;\n\n > i {\n @extend %btn-share-hovor;\n }\n }\n }\n\n .fab {\n &.fa-twitter {\n @include btn-sharing-color(rgba(29, 161, 242, 1));\n }\n\n &.fa-facebook-square {\n @include btn-sharing-color(rgb(66, 95, 156));\n }\n\n &.fa-telegram {\n @include btn-sharing-color(rgb(39, 159, 217));\n }\n\n &.fa-linkedin {\n @include btn-sharing-color(rgb(0, 119, 181));\n }\n\n &.fa-weibo {\n @include btn-sharing-color(rgb(229, 20, 43));\n }\n }\n } /* .share-icons */\n\n .fas.fa-link {\n @include btn-sharing-color(rgb(171, 171, 171));\n }\n } /* .share-wrapper */\n}\n\n.post-tags {\n line-height: 2rem;\n\n .post-tag {\n background: var(--tag-bg);\n\n &:hover {\n @extend %link-hover;\n @extend %tag-hover;\n @extend %no-bottom-border;\n }\n }\n}\n\n.post-navigation {\n padding-top: 3rem;\n padding-bottom: 4rem;\n\n .btn {\n @extend %btn-post-nav;\n\n &:not(:hover) {\n color: var(--link-color);\n }\n\n &:hover {\n &:not(.disabled)::before {\n color: whitesmoke;\n }\n }\n\n &.disabled {\n @extend %btn-post-nav;\n\n pointer-events: auto;\n cursor: not-allowed;\n background: none;\n color: gray;\n }\n\n &.btn-outline-primary.disabled:focus {\n box-shadow: none;\n }\n\n &::before {\n color: var(--text-muted-color);\n font-size: 0.65rem;\n text-transform: uppercase;\n content: attr(prompt);\n }\n\n &:first-child {\n border-radius: $base-radius 0 0 $base-radius;\n left: 0.5px;\n }\n\n &:last-child {\n border-radius: 0 $base-radius $base-radius 0;\n right: 0.5px;\n }\n }\n\n p {\n font-size: 1.1rem;\n line-height: 1.5rem;\n margin-top: 0.3rem;\n white-space: normal;\n }\n} /* .post-navigation */\n\n@media (hover: hover) {\n .post-navigation {\n .btn,\n .btn::before {\n transition: all 0.35s ease-in-out;\n }\n }\n}\n\n@-webkit-keyframes fade-up {\n from {\n opacity: 0;\n position: relative;\n top: 2rem;\n }\n\n to {\n opacity: 1;\n position: relative;\n top: 0;\n }\n}\n\n@keyframes fade-up {\n from {\n opacity: 0;\n position: relative;\n top: 2rem;\n }\n\n to {\n opacity: 1;\n position: relative;\n top: 0;\n }\n}\n\n#toc-wrapper {\n border-left: 1px solid rgba(158, 158, 158, 0.17);\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n transition: top 0.2s ease-in-out;\n -webkit-animation: fade-up 0.8s;\n animation: fade-up 0.8s;\n\n ul {\n list-style: none;\n font-size: 0.85rem;\n line-height: 1.25;\n padding-left: 0;\n\n li {\n &:not(:last-child) {\n margin: 0.4rem 0;\n }\n\n a {\n padding: 0.2rem 0 0.2rem 1.25rem;\n }\n }\n\n /* Overwrite TOC plugin style */\n\n .toc-link {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:hover {\n color: var(--toc-highlight);\n text-decoration: none;\n }\n\n &::before {\n display: none;\n }\n }\n\n .is-active-link {\n color: var(--toc-highlight) !important;\n font-weight: 600;\n\n &::before {\n display: inline-block;\n width: 1px;\n left: -1px;\n height: 1.25rem;\n background-color: var(--toc-highlight) !important;\n }\n }\n\n ul {\n a {\n padding-left: 2rem;\n }\n }\n }\n}\n\n/* --- Related Posts --- */\n\n#related-posts {\n > h3 {\n @include label(1.1rem, 600);\n }\n\n em {\n @extend %normal-font-style;\n\n color: var(--relate-post-date);\n }\n\n p {\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .card {\n h4 {\n @extend %text-color;\n @extend %text-clip;\n }\n }\n}\n\n#tail-wrapper {\n min-height: 2rem;\n\n > div:last-of-type {\n margin-bottom: 2rem;\n }\n\n /* stylelint-disable-next-line selector-id-pattern */\n #disqus_thread {\n min-height: 8.5rem;\n }\n}\n\n%btn-share-hovor {\n color: var(--btn-share-hover-color) !important;\n}\n\n.share-label {\n @include label(inherit, 400, inherit);\n\n &::after {\n content: ':';\n }\n}\n\n@media all and (max-width: 576px) {\n .preview-img[data-src] {\n margin-top: 2.2rem;\n }\n\n .post-tail-bottom {\n flex-wrap: wrap-reverse !important;\n\n > div:first-child {\n width: 100%;\n margin-top: 1rem;\n }\n }\n}\n\n@media all and (max-width: 768px) {\n .post-content > p > img {\n max-width: calc(100% + 1rem);\n }\n}\n\n/* Hide SideBar and TOC */\n@media all and (max-width: 849px) {\n .post-navigation {\n padding-left: 0;\n padding-right: 0;\n margin-left: -0.5rem;\n margin-right: -0.5rem;\n }\n\n .preview-img[data-src] {\n max-width: 100vw;\n border-radius: 0;\n }\n}\n","/*\n Styles for Tab Tags\n*/\n\n.tag {\n border-radius: 0.7em;\n padding: 6px 8px 7px;\n margin-right: 0.8rem;\n line-height: 3rem;\n letter-spacing: 0;\n border: 1px solid var(--tag-border) !important;\n box-shadow: 0 0 3px 0 var(--tag-shadow);\n\n span {\n margin-left: 0.6em;\n font-size: 0.7em;\n font-family: Oswald, sans-serif;\n }\n}\n","/*\n Style for Archives\n*/\n\n#archives {\n letter-spacing: 0.03rem;\n\n $timeline-width: 4px;\n\n %timeline {\n content: '';\n width: $timeline-width;\n position: relative;\n float: left;\n background-color: var(--timeline-color);\n }\n\n .year {\n height: 3.5rem;\n font-size: 1.5rem;\n position: relative;\n left: 2px;\n margin-left: -$timeline-width;\n\n &::before {\n @extend %timeline;\n\n height: 72px;\n left: 79px;\n bottom: 16px;\n }\n\n &:first-child::before {\n @extend %timeline;\n\n height: 32px;\n top: 24px;\n }\n\n /* Year dot */\n &::after {\n content: '';\n display: inline-block;\n position: relative;\n border-radius: 50%;\n width: 12px;\n height: 12px;\n left: 21.5px;\n border: 3px solid;\n background-color: var(--timeline-year-dot-color);\n border-color: var(--timeline-node-bg);\n box-shadow: 0 0 2px 0 #c2c6cc;\n z-index: 1;\n }\n }\n\n ul {\n li {\n font-size: 1.1rem;\n line-height: 3rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:nth-child(odd) {\n background-color: var(--main-bg, #ffffff);\n background-image: linear-gradient(\n to left,\n #ffffff,\n #fbfbfb,\n #fbfbfb,\n #fbfbfb,\n #ffffff\n );\n }\n\n &::before {\n @extend %timeline;\n\n top: 0;\n left: 77px;\n height: 3.1rem;\n }\n }\n\n &:last-child li:last-child::before {\n height: 1.5rem;\n }\n } /* #archives ul */\n\n .date {\n white-space: nowrap;\n display: inline-block;\n position: relative;\n right: 0.5rem;\n\n &.month {\n width: 1.4rem;\n text-align: center;\n }\n\n &.day {\n font-size: 85%;\n font-family: Lato, sans-serif;\n }\n }\n\n a {\n /* post title in Archvies */\n margin-left: 2.5rem;\n position: relative;\n top: 0.1rem;\n\n &:hover {\n border-bottom: none;\n }\n\n &::before {\n /* the dot before post title */\n content: '';\n display: inline-block;\n position: relative;\n border-radius: 50%;\n width: 8px;\n height: 8px;\n float: left;\n top: 1.35rem;\n left: 71px;\n background-color: var(--timeline-node-bg);\n box-shadow: 0 0 3px 0 #c2c6cc;\n z-index: 1;\n }\n }\n} /* #archives */\n\n@media all and (max-width: 576px) {\n #archives {\n margin-top: -1rem;\n\n ul {\n letter-spacing: 0;\n }\n }\n}\n","/*\n Style for Tab Categories\n*/\n\n%category-icon-color {\n color: gray;\n}\n\n.categories {\n margin-bottom: 2rem;\n border-color: var(--categories-border);\n\n &.card,\n .list-group {\n @extend %rounded;\n }\n\n .card-header {\n $radius: calc($base-radius - 1px);\n\n padding: 0.75rem;\n border-radius: $radius;\n border-bottom: 0;\n\n &.hide-border-bottom {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n\n i {\n @extend %category-icon-color;\n\n font-size: 86%; /* fontawesome icons */\n }\n\n .list-group-item {\n border-left: none;\n border-right: none;\n padding-left: 2rem;\n\n &:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n &:last-child {\n border-bottom: 0;\n }\n }\n} /* .categories */\n\n.category-trigger {\n width: 1.7rem;\n height: 1.7rem;\n border-radius: 50%;\n text-align: center;\n color: #6c757d !important;\n\n i {\n position: relative;\n height: 0.7rem;\n width: 1rem;\n transition: transform 300ms ease;\n }\n\n &:hover {\n i {\n color: var(--categories-icon-hover-color);\n }\n }\n}\n\n/* only works on desktop */\n@media (hover: hover) {\n .category-trigger:hover {\n background-color: var(--categories-hover-bg);\n }\n}\n\n.rotate {\n transform: rotate(-90deg);\n}\n","/*\n Style for page Category and Tag\n*/\n\n.dash {\n margin: 0 0.5rem 0.6rem 0.5rem;\n border-bottom: 2px dotted var(--dash-color);\n}\n\n#page-category,\n#page-tag {\n ul > li {\n line-height: 1.5rem;\n padding: 0.6rem 0;\n\n /* dot */\n &::before {\n background: #999999;\n width: 5px;\n height: 5px;\n border-radius: 50%;\n display: block;\n content: '';\n position: relative;\n top: 0.6rem;\n margin-right: 0.5rem;\n }\n\n /* post's title */\n > a {\n @extend %no-bottom-border;\n\n font-size: 1.1rem;\n }\n\n /* post's date */\n > span:last-child {\n white-space: nowrap;\n }\n }\n}\n\n/* tag icon */\n#page-tag h1 > i {\n font-size: 1.2rem;\n}\n\n#page-category h1 > i {\n font-size: 1.25rem;\n}\n\n#page-category,\n#page-tag,\n#access-lastmod {\n a:hover {\n @extend %link-hover;\n\n margin-bottom: -1px; /* Avoid jumping */\n }\n}\n\n@media all and (max-width: 576px) {\n #page-category,\n #page-tag {\n ul > li {\n &::before {\n margin: 0 0.5rem;\n }\n\n > a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n }\n}\n"],"file":"style.css"} \ No newline at end of file diff --git a/_site/assets/images/20230823-1.png b/_site/assets/images/20230823-1.png new file mode 100644 index 0000000000000000000000000000000000000000..530fbb0b041ed2086dae6789e772617f878bc2ee GIT binary patch literal 13784 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 literal 0 HcmV?d00001 diff --git a/_site/assets/images/20230823-2.png b/_site/assets/images/20230823-2.png new file mode 100644 index 0000000000000000000000000000000000000000..530fbb0b041ed2086dae6789e772617f878bc2ee GIT binary patch literal 13784 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 literal 0 HcmV?d00001 diff --git a/_site/assets/images/20230823-3.png b/_site/assets/images/20230823-3.png new file mode 100644 index 0000000000000000000000000000000000000000..530fbb0b041ed2086dae6789e772617f878bc2ee GIT binary patch literal 13784 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 literal 0 HcmV?d00001 diff --git a/_site/assets/images/20230823-4.png b/_site/assets/images/20230823-4.png new file mode 100644 index 0000000000000000000000000000000000000000..530fbb0b041ed2086dae6789e772617f878bc2ee GIT binary patch literal 13784 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 literal 0 HcmV?d00001 diff --git a/_site/assets/images/devices-mockup.png b/_site/assets/images/devices-mockup.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b752160c9fcb0b598c54747011ed9f95d07710 GIT binary patch literal 76121 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 z zG26r>Ax?T7xs%eVO#$2YU|eQkx9aY=Y#IN3y^>IUkMA`%XSA_P74cggg!U5-Ht!;T!u)sKZJgZ+jE|V zm!!H$>+Ew^7W&jPE3_IVJyhINH~sgoKfLv?(DV&UVJ4dETQ;AyJlCTvPSEm~56v-; zJ$8f`*Or+^Op%e}1k%V{rsb)<8%}W@Hek$&{{ikkxfYB87fsSV(jIc`;F^KkTJlX?^3YqO$BvDA4<_}O zdkXH8B#iM|E;35`_Qwq*d%o7&FIT9U)-eN=UeI{8$1Tx9Cb!WPm~-e&4^ z#xyYAHmiV z{YPg+^Q19l$gp#6&49!$+(hf@NBmo{R;xF?VF=?9d0BX4r{c95a2*=M0{WIy|R!(%F?hg7GgC@%M?=R$B|W3 z8%TH7aNGoVO-g9{V))Xkni)-TgO@R|<|XB&#L6&6n2VIxxTD&DJz$QLc>C~<{rp9Q zd36za`4fePsv06NyVgXhSX4xVpmUu4+Im#{)l8*W}4>W7ZV* zBpVs*-Oe%Ku0+HqF=)!!SD-RLRy*wBn0_RBug_{0Rx-?&RK(0?!`2XfNN)v3`zKYk zyr{*zSq^q2@jN$lt@0FFqCSs5)7Te(;9&{oCgo**pd#G*u(&iz zqVVr1^EV@39v|PFN(+6C=y*11p*{|8ts8)uJ6B9t3<=K-XF6KWv6+7YmF9B{m`TPn zQ_PP2!O;WyoA_u z&CwL#J)^fU=f?$IAU@MG9x|WqXiAjc|{zQGKFC!#j(@!8U zFGGm3i5%u)RW|qT|Gp_LF&g(};KkSuW@0#iyb-Vg)&#utcMb<+{?7q(Fa)<61Adgz zjt!(XM0?R6`h^F)p_9e^gpDT#EW$Ix7v%o6%jS*gcxIfn%0D6vVcnnywyFRb{h(dm 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

iakCZcn82f(O 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 literal 0 HcmV?d00001 diff --git a/_site/assets/img/favicons/android-chrome-192x192.png b/_site/assets/img/favicons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..a949d2fe5d15c0764e5570b1ba8477a8961bef9e GIT binary patch literal 19952 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 T@_Asq(vYQ$F;StVh{*&_>vrfq=vsX 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%0AKd}u#mAizaXi! zzk%MdI2O%RF3BgCIkeO$bQFeKsaIZOP$KzI{n#yeb1kc#Lp`${wnT?Uo+T`XPoi}YiVeeYX zrVx@rT>if+!*te~snZTeGlGFEjpPjmfE!-nZz#{-Ey7v=i|2hN80!ac~EBX3-<0#C*63Sc_K{YhdnD| zi!JJ2_!@C_*{>wYa2P7gMI?EU_W=}J7zO*YgbSGxk#gXe54wt!Af>90AFU*?hQmlT z<%n<=Bj?tMF&}*2Ythu7Nav#{Z%FG1&$S44*60!s~F{QRyg*I5Gi&ch_sy{D7)XM+dB;bsb z&d7mxDz3%c6*dBJZ5g~=*KJA6! zwb5v%9(6kx-N$F1bI10iWPk=D@+TFh$dOnkIE*o2L{jS9Qjgz=#1yhizjI*3MM;qr zMwR;kL+w$3`4+!AlO=;420fG`F=(DMQ@l}Rl%0aD&E;mUz0Je=!8e8-21k^ioJVa2 zb|{FFW%wIMGE#<6klxk2sf{iwcDm=Y7Cpb%Gwd1MrXT0(HZu%aJLZ$0B9fZQc=1I4 zbxXzI51k#iMbsqJpq3C02oCOJ8F_puu36`AIu5CxzQJDngSRCb*L|0~IxD2_n@mT01V-JOAh~A{& zQ9dRF4T@@#q=%jN@>JDqvovK2EB-@-6!Y&_KMA&qZ> zO|kRp@_1=^tvE&-=6@d`!Q>Z}mPHcwLP)Vc$gENjxuh_d8N@!!tFqaBvP*cD$+Upq z#my(Q;d061WqcB^^jNL-`0dtWa0ccLm6V~8ip!Zcgl=@)5kWCWMgsTnR3gV&K7I5$ zo%CRT^7G?wO|CmXSpPEnJj-A8FJZ+|Nrw zE^;KFTG}>?-6lc#xi|IW2sop9S&ZpxTzOa=O3EvPEV}Oe(no=-=if@-^J+ab71ZL6 z+;X1(*-X6uK^`&f0- z$C?zF+yAg-2j4L#M!tG7@N0=wbSDFC;~Tf|bt3|bL{EduCRpXe#7L4GQHo6zKW?Ot zmTv~-RV5@ZfB${KOih-=?Pk{}QC^2;$}j!G)QkQ6sJdR^jmmt$;u`x&%Kg)(Z;&0pB912ehx+{2nCjTnW$`6^k{0V z;i$&}c*dzi>hr%pHn#q8$dgv-75}x~f9o;-2*Wl)u|$<5KC77DQLnH%_#>TEO-u&I zXNqglRT?T)@&c0(spx+g2CO|p`;LviWaM{NZ^{-%1W^m~Hv_4jvfJ?`*yw~ps920K zp_~y0jAfdn5vnyY(~O(uJfnV|VaiX+EO>AN_h>WMzetA17O`L{bpFPV3ZgtXzStA# z+d5w~2&&BYb`6`K^ygn0P{?6;NJvOaL&dyYECf`+r?1@OuW*#=n5#5KXXG=r`YJTt z4C6Spir7C`2*mflPqE#KlOJaA)Bf~fg+9Tn4>FIFl!FzAFkqlZZ=>VWU!aC165oaq ztx1WpVW5UlnnrI5lbD1{KJ>6<P>vZj!*rizDL9tV)%@ip0^%z=cEJ90%G@CtyV{;~Mk&#y3Z36GYkpIqDU` zm3nOWk@MOPd=03O&ol4(BJ_WM-RJ+~dqF?%(dvqK*KfJ#d4Q!w>mjA%VPWcFDPZnq z32q=xc1{i!c5W6e8vHUyK8QIMBKuyR75YO=;Bk!PNdq4N$w?_oRwGTq F{tp(By7K@4 literal 0 HcmV?d00001 diff --git a/_site/assets/img/favicons/browserconfig.xml b/_site/assets/img/favicons/browserconfig.xml new file mode 100644 index 0000000..a57a040 --- /dev/null +++ b/_site/assets/img/favicons/browserconfig.xml @@ -0,0 +1,10 @@ + + + + + + #da532c + + + + diff --git a/_site/assets/img/favicons/favicon-16x16.png b/_site/assets/img/favicons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..f44237a9a42f93a98c435c3fc958cc9a52c2e38c GIT binary patch literal 1247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>YRSpT$B!RBc<^9PPY+N*S63I%ZFY8c zWo2cjPoH*ianaDwsIRYYsBf4%ckbcChbK&!z{SfhAi%@M!45PbJUm=bP%x+4yW7Xl zPhMMDKvcs-cCt&rNsp`;YqOv(2cVgidERRZlk*Ea7&IAX9?iV^e=@%~pQ4tes=kbw zr{>~|g>z2i0Dao9))(l_$@`P197yrcGRm3k6kBVV+2uCvaN5Lui8GI8fx=;(A5cx} zrr^4j{%xB>dUwVEg9Rc8Br6tq=1p~}UFnlE$q7gTRo1Ton&}G+cA(3FUenUj0(x!s z?AceYTmgCw7&89;{+^zmz_{4Fd2?lDWl&I%gM)*Qj}I_pmMvT6dZ*~uuJ9?G;p&rS2#igev$wwjJ=t0k-RjftT|)dbe^xNF zu{-Qpp(4%B!YEm=d}?d&x`R2zq6)iy{QG@Vjoq$n_QqWsXO~&CXwLGN90NPZ!4!iOb0e z2?;4v!UIxLLW05)Q<8w(q@*Q&-OKA04+s*Ddbe=9-$ne|{!h`^3(2j*m-BAf<_uqqXH6CwIR<8+V6` z+u7c}PSIA*j-yA_Rn%0MFIm><&A_U1+1P0FrsAT{pSZcYmozY4I;y(#^E3U39V^!C zSro+fBL3#8SF>*In)Ivf*s^D0mTU~uW|=--XIj_*^s;J+YeY#(Vo9o1a#1RfVlXl= zGSoFN(KRv)F*LI>Ft9SQ&^9mvGD6KA{7^LH=BH$)RpQp5lJ(;gP(yfCNJL3cV!1*= zQGQxxPO3slWkIS!W2I`Q&6e6=(&6r>mdKI;Vst0Gj@< AT>t<8 literal 0 HcmV?d00001 diff --git a/_site/assets/img/favicons/favicon-32x32.png b/_site/assets/img/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d021d85c808e4ae23408203e5e34223d752de2 GIT binary patch literal 2312 zcmZ`*dpHyN8~@tGvXRR=R-!Snj>(3fTr+G3IU8e2_2=)8-}652`+1+w`+T1Fc|Onk$D89rbyrv0tOfv3 z_w*q7DiHlMVJeDxn8TSv4_^uZ91{Sz*#ImlDDDRUlJNjc zg#loH0RY{^;%1toVxV%s%bf()enzRNimzbSCwlBV3;~ zPqnF$DNz%1&=fNnKK3-``T2{7Uo5_sHAe05nieDSPggX4DaGbOfB}eAT86i71b770 z+bjmNUXx&Rr5o1j3e3R{s4Z+n8_c+z)CvYz$W10`&B7bMmETR|zxOO7i2KhmD}1Z-fn@==6(v6<9$lz@J6kf7(lQtw zLZ)S-VLtwSuoL1czv|uu7tMso&BslZZoYf>j^W zHn3(urlDbw?vHbJ!BRbA&t^ePU|Tf`BgBP&efJo zvx!mpsZ$z54e@${eYbhkVp|u7luu|EO)Lu0ebFlFnm|y{+}w=4O!ad#sQSmfP^07T zoh+uC8`O4E2l|C0O0>T$+n{fcEFc*nb4bxEOY^-010H-6O8Ha1X-_6pwSD$SPi=5Z zv~1$}d)Z?2ppehl)k>c zkN?JVOhfG)G*Zn_6NWy!d$hOO4^Po)YHG4Qx@_@)#P%r4PIJ`gv^xoFh#!0Zl>cFN zRux>RT;FMDJBg~(Fvvg-HwbdeF9Zb!E(yB3efRkJ9eed^Ki%J-(Njr@PDp60kCpla z1?6RBLFVS>(59xU!*^Nk6pH%iH=?{eU5k)}m>9c*!zn}7&vW`Rhi6o{pOUBh^&Jnr z_o%pio6q5JuGQC{-BTArp;qxpw2G#~likPRx<9?H4H50WR7qp8Ec6{x;=-O5Z8J-q zedCm%b!r%sPtZK=6A-X)Pcm+gC^gp3X%*tyg@|D3DBGS!r)MuMap-jVUon^5q;;VW z4y`UPmXtVUe1DOJ9vD;qC;#~2`>x2x-iq7ZqM^F@$1cUKy#Jc!QDj`i+$UT7;{jad z*xN5@j&DR6KX!?FXf)(HicSanB=s3)YMd8-xAkaOzgB$x$r&(U1MSf zcYOwzjk}uMlzT;`Lob{?8+yekwsLaVZXsFT|9ze0Setxyb!^%zQ#?wPpV)c20rzK} zRh~s%F;8u;!GVbtYEshE`Ps4zKe1s(pRWGO3BTq|@<0qa*QlGf-l_VD+1}1C&hl4x z)C!;3NntixJehg+1SZ|RV5ViE>c!gB)1(pp;m`)-0>y<<5uQku&S&wA~Pv0I;_!(aINkn zFTCuog~)_}Ru^_Peh^ftrpd>o01ZcUu2`(Cnwg(VF`*yHi>K|GI z_vTa6YRsCeuuGk1Jc*-{G&Flq(2(H71w(nEAQQgx=<(wg)J*irCgmDP*V0wJiH`e8 zyzV;p)mg>yTJk1()r@Al42RdDDXFBs&ZhT zk3h7RAV)cGNPhUnxfU|EW$TgenQ=k=$U=u{^4(#XTKGLu&z-cs+@j(8Pdi_&>P_`8 z$AmoGJs9xKw<%3l!YHhb-B)z25hp>A$ENymtOj$~I|vuoHV_Fh+OVVt{lf2&FfJj0 z|6c`Lt=eLFe6bQJ!tPeM@{GvpU`3n6$yamS5oky`)RUe1y*!#@)7UEO{@6RsV-RVm zxZ%%vro7^OC&!IX?%j&lFyeA8K|RRLiQ7)ta$<8~dCQ8;>d^@=*nb1u$~(UHohK~M zY$(ClSm)D+fR^DE9|B69;h~T8t)`!5I4mZ=&iD11yCR6Xtv5t(9h`m{Ns`J+>Jx|u ze2!JXjI@LgN5Z)!aGX@w4mUC#XixwBW@D>0APfst9|oYZ@hJN69m-?Fu>yb7Cj(nW zSJrgp__WyvTB$$Zgl%kc06T)gX4;1zVk!Vw;w=g0cx!V@8#=+p9*?)Twl%|BDjNTt zMC$(t;#m`ln?kUcLl0p4GE&irhggv@aZEHjJ&}oyNo0oukXAhQ4FOBq zgT+4cmUMWI`vNEiz9Ss2gVFKgBcVEI64zQB0ma;=qa_2q?T}BU2`^^1(({u!OY>GiN6#@E5@;)#LoB*aF<1(UW?%Hd`>v@{( k69;i{Kn6&PF4KrMST~N=a>DAuPTcTMtI|7p`-T5MUgIML4FCWD literal 0 HcmV?d00001 diff --git a/_site/assets/img/favicons/mstile-150x150.png b/_site/assets/img/favicons/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d045e25de42fc422567313f9e4e6f2717e8040 GIT binary patch literal 12172 zcmc(FXEst@nM`+AHd{rV_~m+6N#Ih(twMK?elFBK`MEh!0%( zP^56x5{+NS6Vrd}I z6PK(;Z3*B5{C8?f3ZVOcKY1<1Nx&5XcNGmqf^}S4au8o~WTznr#LcCmAglXfZg%IRO0jf`?;W+&9kSRY6g^Ylp}eO-*6v|x^`xN`et0gNq9`kd@*kE5EV>> zWvOsm@{J=8r}r`LFUneS>};7{#j@fN+wlJD@n^Y}kbjY;l8a^J@rq>cTt^gM>( zDPmrd*Ep)r3zK#JcmJH)r@Je?&ySa7F!dRp4ARrldH28{{Aa7std%9QM(9BnQ5MNV zoYVG})_vy}Cza0&ub$dFb{YDn*VN7$a%Kkx*LWt>cpB%&YcZHC$T0=YN#|^46Ww5c z`+Hc0^$JIO`1pV!Db23jl8~7##vl98^MqEzf=&{vB?!d3g)d2lAP%>(+-?c})iP#aPk=MG5yycA%+jw&ig+{{=U+(;sQnlC)3uq?r|tZ~wIr>9IS~=-I?7#_AM{FR0ize0)*1e;vrZ zR-;Go3I|2eW4MF;Xf3eC>#8+(q0?ry{j$9+VL1OM_B2TNvNhK`6;TSl5IN98TQW~w z>J$9P_8WSqbt*6)M0VYJ?}x=xs`EXj#xuI+ta3<-seEd#Vbu2I)4hR#y;kMa-K1gW zo_c9H{~~93jg4Z#D0FHr_pLo#@+uEl@t;%NKc?p7%s2~m$)@IjkCeojCI+YG&Y8aZ zD-~#?41Iwm*W0`spPIWatAUr*tT)js71o@+u-{d+-$e{L2D~dTe|{pUqq-|=GlZEO zinu1S-~Hs(IIPUNYG5zzT)sHguzWf-=lqwJ*He^q+EDzLp>JZ1XL5~x6As5DV2QLv zx#RXrM&kg&v-3ViS&X9nu5Ve5p-s_*%)9cqxAynN$FgP=G2IAng6jDfqz8`w`9*xNk1YMxlxY(6&m#?q@}PH|~{LH5=@ zhV&g%F18ftYcSJwYg_#Ydm*Vb3B3}<^0_}6>qt_)7(}3JTsbv`W%g8hYE24F_ECym zkJ_-*|HPYOMy}QV>RL=ZhUBTVvGf!MzPl#w^f;zF zHWK_y+6+a1BtJ(mei`}{61j$IrK!GtBdgG8w!D6ek2Xa+LymOWlHPNjG<@$=!$E

_nQW8n*?}ESWU%R`ze^O_AZ*R}?Sv8@5 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 Q14DpR6g3r)a^@lb2j + + + Redirecting… + + + + +

Redirecting…

+
Click here if you are not redirected. + diff --git a/_site/assets/js/data/search.json b/_site/assets/js/data/search.json new file mode 100644 index 0000000..b1d54e4 --- /dev/null +++ b/_site/assets/js/data/search.json @@ -0,0 +1,157 @@ +[ + + { + "title": "Flaws.cloud walkthrough", + "url": "/posts/Flaws.cloud-AWS/", + "categories": "", + "tags": "terminal, cloud, cybersecurity", + "date": "2023-08-23 15:36:23 -0500", + + + + + + + + "snippet": "Flaws.cloud walkthroughDayCyberWox Walkthrough: https://www.youtube.com/watch?v=fEjAryrzLSQWrite up: https://daycyberwox.com/exploiting-aws-1-a-beginners-guide-flawscloud#heading-level1Through a se...", + "content": "Flaws.cloud walkthroughDayCyberWox Walkthrough: https://www.youtube.com/watch?v=fEjAryrzLSQWrite up: https://daycyberwox.com/exploiting-aws-1-a-beginners-guide-flawscloud#heading-level1Through a series of levels you'll learn about common mistakes and gotchas when using Amazon Web Services (AWS). There are no SQL injection, XSS, buffer overflows, or many of the other vulnerabilities you might have seen before. As much as possible, these are AWS specific issues.A series of hints are provided that will teach you how to discover the info you'll need. If you don't want to actually run any commands, you can just keep following the hints which will give you the solution to the next level. At the start of each level you'll learn how to avoid the problem the previous level exhibited.Scope: Everything is run out of a single AWS account, and all challenges are sub-domains of flaws.cloud.ContactThis was built by Scott Piper (@0xdabbad00, summitroute.com)Feedback is welcome! For security issues, fan mail, hate mail, or whatever else, contact scott@summitroute.comIf you manage to find a flaw that breaks the game for others or some other undesirable issue, please let me know.GreetzThank you for advice and ideas from Andres Riancho (@w3af), @CornflakeSavage, Ken Johnson (@cktricky), and Nicolas Gregoire (@Agarri_FR)Now for the challenge!Level 1This level is buckets of fun. See if you can find the first sub-domain.Need a hint? Visit Hint 1First we begin with nslookup and point it to the domain flaws.cloudSyntaxnslookup flaws.cloudResultServer: 172.31.144.1Address: 172.31.144.1#53Non-authoritative answer:Name: flaws.cloudAddress: 52.92.196.83Name: flaws.cloudAddress: 52.92.227.67Name: flaws.cloudAddress: 52.92.243.131Name: flaws.cloudAddress: 52.92.250.91Name: flaws.cloudAddress: 52.218.132.58Name: flaws.cloudAddress: 52.218.218.82Name: flaws.cloudAddress: 52.218.237.138Name: flaws.cloudAddress: 52.92.163.83" + }, + + { + "title": "Building a Custom Malware Analysis Lab Enviornment", + "url": "/posts/Building-a-Custom-Malware-Analysis-Lab-Environment/", + "categories": "", + "tags": "cybersecurity, Red Teaming", + "date": "2023-08-23 15:33:46 -0500", + + + + + + + + "snippet": "https://www.sentinelone.com/labs/building-a-custom-malware-analysis-lab-environment/IntroductionBuilding the right malware analysis environment is the first step for every malware researcher. When ...", + "content": "https://www.sentinelone.com/labs/building-a-custom-malware-analysis-lab-environment/IntroductionBuilding the right malware analysis environment is the first step for every malware researcher. When all system configurations and software installations are complete, you’re able to analyze and investigate malware properly. In this post, I wanted to share my own experiences and scripts to help ease the workload of setting up a malware environment to explore malicious software.In this post, you will learn how to: download, install and configure a free Windows 10 and a free REMnux Linux virtual machine set up a virtual private network for communication between virtual machines build a custom Windows malware environment with SentinelLabs RevCore Tools learn how to capture network traffic from a Windows 10 virtual machineInstalling Virtual MachinesWhen running multiple virtual machines, the host operating system will begin slowing down, so it is critical to set each virtual machine’s best requirements to optimize its performance. To set up the virtual machines in this post, I recommend that the Windows 10 virtual machine be set with the minimum requirements of two processor cores with 4GB of RAM and the Linux virtual machine with two processor cores with 2GB of RAM.Downloading a Free Windows 10 InstallationMicrosoft provides a free virtual machine which is intended for testing IE and Edge web browsers. To download the Microsoft virtual machine go to https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ and download the MSEdge on Windows 10 zip file and select your preferred VM platform, currently I’m using VM Fusion.Downloading REMnux LinuxThe next virtual machine we want to download is REMnux Linux. The REMnux distro is a Linux distribution based on Ubuntu. It has excellent tools for exploring network interactions for behavioral analysis and investigating system-level interactions of malware. To download REMnux go to https://docs.remnux.org/install-distro/get-virtual-appliance and download the Virtual Machine platform of your choice.Installing and Configuring a Private Isolated Custom NetworkCreating an isolated, controlled network environment when analyzing malware is extremely important due to the level of interaction it gives you with malware. VMware Fusion gives you the capabilities to change key networking settings and add a virtual private network configuration to use for analysis between hosts. We will only add two virtual machines to this lab environment, but you can add many virtual machines to this network. The procedures to create this network is as follows: Select the tab VMware Fusion->Preferences->Network; click the lock icon to make changes Select the “+” button which creates a vmnet# under the Custom section. Do not select the “Allow Virtual machines on this network to connect to external networks (using NAT)” option. Add a Subnet IP: I’ve entered 10.1.2.0 Click ApplyWindows 10 SetupOnce you’ve created a custom network and both virtual machines have been downloaded, begin by unzipping the MSEdge Windows 10. Since I’m using VMware Fusion, I will go through how to import the virtual image; the process for importing the virtual machine with other platforms is similar.Open up VMware Fusion and follow these steps: After the zip has been unpacked enter the MSEdge-Win10-VMware folder. Select in VMware Fusion File->Import MSEdge_Win10_VMware, hit Continue and save the Virtual Machine; it will take a few minutes to import the image. Click on Customize Settings after the image has been imported. Click into the Processors & Memory tab and confirm that the settings has two processor cores and the memory is 4096MB. Before powering on the MSEdge Win10 virtual machine, take a snapshot and name it something like “VM Clean Import”. When starting the virtual machine, if prompted to upgrade the virtual machine to greater feature compatibility support, choose Upgrade. The password to the virtual machine is Passw0rd! Open the command prompt to activate the virtual machine, type slmgr.vbs /ato. When prompted, install VMware’s “Virtual Tools” and reboot. Once the virtual machine has rebooted, complete login and immediately take a snapshot. Give it a descriptive name, such as “Activation and VM Tools Install” snapshot.REMnux SetupThe REMnux virtual machine downloads as an .ova file. I recommend you browse to docs.REMnux.org to confirm the hash of the downloaded OVA file.If you are using VirtualBox, you can just import REMnux, but if you are using VMware Fusion or VMware Workstation, follow these instructions to import the REMnux: Select File->Import->Choose File… and select remnux-v7, hit Continue and then Save. When the import is complete, click on Customize Settings. Click into the Processors & Memory pane under System Settings and leave the settings with two processor cores; reduce the memory from 4096MB to 2048MB. For the REMnux network configuration, the setup is slightly different. We want to add an additional network adapter.Note: There are multiple reasons why I configure this virtual machine this way. If I need to update or download other software having the network adapter configured saves me time; the second is if I want to allow malware callouts.Once the import is complete and you’re in the “Settings” menu, select Network Adapter. The next step is to click Add Device… and select Network Adapter and Add…. Make sure the Share with my Mac radio button is set. Return to the main “Settings” panel and select Network Adapter 2. Click the vmnet2 radio button, then choose Show All to go back to Settings. When starting the REMnux virtual machine, if prompted to upgrade the virtual machine to greater feature compatibility support, choose Upgrade. Once REMnux boots, the credentials are: Username: remnux Password: malware. I always change the password on my virtual machines: $passwd UNIX password: malware Enter new UNIX password: (your choice) The next step is to configure the network settings. If you type ifconfig -a you should see two network adapters: Select NAT for the first network adapter. The virtual machine will get an address on that network from the VMware virtual DHCP server. You can ping google to see if you have connectivity or open the Firefox browser and connect to any website to confirm that you have internet access. If you do not, then type this command in terminal: $ sudo dhclient -r This should allow you to fetch an IP. For the second adapter, ens37, type in this command:$ sudo ifconfig ens37 10.1.2.1 netmask 255.255.255.0 Hit the “Snapshot” button and name it something like “Clean Snapshot”. Update and upgrade REMnux:$ sudo apt-get update; sudo apt-get upgradeInstalling SentinelLabs RevCore ToolsOne of the reasons I wanted to create a SentinelLabs VM Bare Bones malware analysis toolkit was that when installing FlareVM, I find it contains many tools that I do not use, and it takes a minimum of 40 minutes to install. I wanted to create a script of the core tools and system configurations that I need to be able to analyze malware.Follow this procedure to instal SentinelLabs RevCore Tools on MSEdge WIndows 10: Browse to the SentinelLabs RevCore Tools github page and download the zip. Unzip it and drag the SentinelLabs_RevCore_Tools_codeSnippet.ps1 script onto your desktop. If you are using the free downloaded Windows 10 virtual machine that I’ve mentioned above go to Step 4; if you are using your own Windows virtual machine continue with these substeps: Instead of dragging just the SentinelLabs_RevCore_Tools_codeSnippet.ps1, drag the entire folder onto your virtual machine desktop. Open the SentinelLabs_RevCore_Tools_codeSnpippet.ps1 file and modify line 4 after -PackageName. You will modify the url and change it to the directory location on your desktop. E.g., 'https://raw.githubusercontent.com/SentineLabs/SentinelLabs_RevCore_Tools/master/SentinelLabs_RevCore_Tools.ps1' to 'c:UsersyourUsernameDesktopSentinelLabs_RevCore_Tools-mainSentinelLabRevCoreTools.ps1'; The final thing to do is to modify the SentinelLabsRevCoreTools.ps1. On lines 105-117, replace IEUser with the User profiles name you are using. Save all files and run the script. E.g., Install-ChocolateyShortcut -ShortcutFilePath “C:\\Users\\IEUser\\Desktop\\HxD.lnk” -TargetPath “C:\\Program Files\\HxD\\HxD.exe” Install-ChocolateyShortcut -ShortcutFilePath “C:\\Users\\YourUser Profile\\Desktop\\HxD.lnk” -TargetPath “C:\\Program Files\\HxD\\HxD.exe” Go to Step 5. In the Windows 10 search bar, type powershell, right click and run as administrator. Browse to the location of the SentinelLabs_RevCore_Tools_codeSnippet.ps1 powershell script, then run the script: .SentinelLabs_RevCore_Tools_codeSnippet.ps1. The script will cause two automatic reboots, and you’ll need to log in again with your user password after each. The first reboot will continue disabling various system services that could otherwise hinder your malware analysis and continue to install the core tools. After the second reboot, the script will finalize and confirm all of the configurations and installations.The installed tools and modified system configurations are listed below. Don’t forget to take a snapshot when it’s finished and you’ve reached the “Type ENTER to exit” point. Tools: Checksum, 7zip, Process Explorer, Autoruns, TCPview, Sysmon, HxD, PEbear, PEStudio, PEsieve, Cmder, NXlog, X64dbg, X32dbg, Ollydbg, IDA-Free, Cutter, Ghidra, Openjdk11, Python3, PIP, PIP pefile, PIP YaraA tool that I frequently use is Hiew, Chocolatey does not have Hiew in its collection. My recommendation is to download and try out the free version, once you see the power of Hiew you should definitely purchase lifetime access because it is worth every penny. System Configuration: Disabling – Bing Search, Game Bar Tips, Computer Restore, UAC, Update, Firewall, Windows Defender, Action Center Set Window Theme, Set Wallpaper, Create Shortcuts For Tools ## Network Traffic Collection When analyzing malware, often the malware operation and the C2s are still active, so an excellent way to stay under the radar is to run malware in a controlled environment. Analyzing network traffic is a trivial process in detecting malicious software callouts in real time network traffic. This section will help you configure your virtual machines to capture the detonated malicious software’s network traffic or statically step through debugged code, which allows your investigation to understand the potential threat at hand. The first thing that must be configured is the virtual private network communication between the MSEdge Windows 10 and REMnux: On the Windows 10 virtual machine, select the custom vmnet2 network (Virtual Machine->Network Adapter->Custom (vmnet2)). On the Windows 10 VM, right click on the network adapter in the taskbar and choose Open Network & Internet settings. Select Ethernet and click on Change adapter options. Right click on Ethernet0 and select Properties. Double click on Internet Protocol Version 4 (TCP/IPv4). Click the radio button to select “Use the following IP address:”, then add the IP address, Subnet mask, Default gateway, and Preferred DNS server as follows: IP Address: 10.1.2.100 Subnet mask: 255.255.255.0 Default Gateway: 10.1.2.1 Click the radio button to select “Use the following DNS server address:” and add: Preferred DNS Server: 10.1.2.1 Click OK to complete configuration of the network settings. The REMnux adapter for the virtual private network has already been configured from the previous section. Now that the virtual machines are networked and can communicate with each other, it is time to configure a few tools on the REMnux virtual machine to capture traffic. Installed on REMnux are various tools you can use to capture network traffic. We will configure Burp Suite and INetSim. Burp Suite is typically used to test web application firewalls, but in our case we want to configure it so that when Windows 10 detonates malware, it will try to establish a connection to a domain or C2. The traffic will potentially use HTTPS and pass through Burp Suite, which will be bound to INetSim. INetSim is a software suite that simulates common services for lab environments to analyze malware’s network behavior. ## Burp Suite Configuration The Burp Suite setup is straightforward, but there are a couple of steps that we must configure before we can begin using it. Open a command prompt and type: $ sudo Burp Suite. select Temporary project, then hit Next and then Start Burp. Select the Proxy tab and then “Options”. Under Proxy Listeners, select the default interface and click the Edit button. Under the Binding tab, set Bind to address to Specific address: 10.1.2.1 and  click OK. IMPORTANT STEP: Go back to you MSEDGE Windows 10 virtual machine and open up the Edge browser. Type in the address bar: http://10.1.2.1:8080. You should see “Burp Suite Community Edition”. Download the CA Certificate on the top right side of the page. Open the location of the file and double click on the certificate file. Select Install Certificate.... Select Current User as the Store Location and click Next. Select Automatically select the certificate store based on the type of certificate. Click Next and then click Finish. Go into the settings of the EDGE Browser and disable all security functionalities; this will help with testing the connection to INetSim in the next section. Make sure you take a snapshot. Go back to the REMnux virtual machine. You should still be in Burp Suite Proxy tab, Edit proxy listener options. Under the Request handling tab, set Redirect to host to localhost and Redirect to port to 4443. Select support for invisible proxying. Now go to the Intercept tab and make sure intercept is off. Under Proxy Listeners, select the default and click Edit Under the Binding tab, Bind to address: Specific address: 10.1.2.1 should still be kept, but change the Bind to port 443 Click on the Request handling tab and set the Redirect to host option to localhost and Redirect to port to 4443. Select the Support invisible proxying (enable only if needed.) and click OK. ## INetSim Configuration Setup REMnux has INetSim preinstalled. Use your favorite text editor and open up the inetsim.conf file located in /etc/inetsim/. Follow the steps to configure INetSim: $ sudo vi /etc/inetsim/inetsim.conf and enable all the services by uncommenting out the services by deleting the # character.Pro Tip: Be aware that malware could potentially detect it is running in a virtual environment by checking whether everything in this file is uncommented. I have yet to come across this, but it is good to be aware of the possibility. You could take a more conservative approach and only uncomment services you intend to use. The next step is to bind the REMnux network adapter IP in the inetsim.conf file. The next section after the services menu is the service_bind_address. Uncomment the # and change the default IP address from 10.10.10.1 to 0.0.0.0. Scroll down to the dns_default_ip section, uncomment the # and change the IP address from 10.10.10.1 to 10.1.2.1. The last thing to do is to bind the HTTPS port so Burp Suite can route the traffic to the port 4443. Scroll down to the https_bind_port section, uncomment the # character and replace 443 with 4443. Save the changes and exit the editor. The next step is to run the following commands which are VERY IMPORTANT to execute or INetSim will not work correctly. Ubuntu has a system-resolved system service which provides network name resolution to local applications. This conflicts with INetSim so we need to disable the service.We have to disable system-resolve and also mask it so that it doesn’t auto start on reboot. Finally, we will stop the service. $ sudo systemctl disable systemd-resolved $ sudo systemctl mask systemd-resolved $ sudo systemctl stop systemd-resolved The final step is to run INetSim: $ sudo inetsim![](https://www.sentinelone.com/wp-content/uploads/2021/01/17.-sudo-inetsim.jpg) To test network connectivity from your Windows 10 virtual machine, open a command prompt and ping 10.1.2.1, then open Edge browser and type 10.1.2.1. You should see the following message “This is the default HTML page for INetSim HTTP server fake mode.” The final test is to make sure the DNS is working correctly and serving up requests. For this example, I type in the search bar https://www.mymaliciousdomain.com/malwaretrojan.exe. If everything is working, you should see a web page warning that the requested site is not secure. I also like using Wireshark to capture packets to analyze the pcaps when investigating malware. Open a new tab in your terminal in REMnux and type $ wireshark. Once the application has opened, click on the shark fin icon on the far left of the toolbar to begin capturing packets. ## Detonating Malware When malware is executed, it usually makes some request to a domain or IP address. INetSim helps with this by spoofing the responses to the malware that is waiting for a response. An example would be if malware was executed and reached out to a domain and will not proceed without a response unless the conditions were met, which is the response. If the malware doesn’t receive the response, it would terminate and not continue its malicious actions. This is where the live environment assists us with responding to callouts and capturing network traffic. For the final step of the lab environment setup, we will detonate a notorious binary trojan (or any malware you choose) to test the configuration is working correctly. I’m testing with a Trickbot binary (SHA256: 49d95cae096f7f73b3539568b450076227b4ca42c0240044a7588ddc1f1b6985). I’ve opened Process Explorer and TCPView to monitor the execution of this variant of Trickbot. Detonating malware can save a lot of time before diving deep into reverse engineering as it allows you to gather insight and create an unbiased hypothesis. In this example, when we detonated this trickbot sample there were three callouts that stuck out: The callouts were to fetch files from Microsoft Updates site; these cab files called were automatic updaters of untrusted certificates. A certificate trust list is a predefined list of items signed by a trusted entity. These requested cab files are used to update and expand the existing functionality by adding known untrusted certificates to the untrusted certificate store by using a certificate trust list. Although Trickbot is one of the more prolific malware strains today and is more complex than a few callouts, it is a good starting point if you are in the beginning stages of research and have never encountered this binary. I’ve been successfully using this lab setup for many years. A real-world example of using this lab setup occurred when I was brought in to help with an incident at short notice back in 2016. I didn’t have time for an initial triage of the binary as I was joining a war room call for the briefing by the investigation team lead. I started both VMs from snapshots and detonated the binary while being brought up to speed about the incident. Within 5 minutes, I informed the investigation lead about an IP that the specific binary was calling out to, which was enough to give the threat hunters a place to begin. After the war room call, I started reversing the malware and extracting additional IOCs and TTPs. ## Conclusion A lab environment setup and configuration varies during malware analysis. When analyzing malware you need different tools to dissect and do deep analysis. I hope the SentinelLabs RevCore Tools and configurations in this setup assists, but there might be a time that you need to analyze something different, like a dot net file, and may need an additional tool to fully disassemble the binary. The journey of reversing malware is a marathon and not a sprint; growing your skill and learning from every malware analyzed should be the goal. ## Resources https://support.microsoft.com/en-us/help/2677070/an-automatic-updater-of-untrusted-certificates-is-available-for-window https://askubuntu.com/questions/191226/dnsmasq-failed-to-create-listening-socket-for-port-53-address-already-in-use https://gallery.technet.microsoft.com/scriptcenter/Change-the-Desktop-b5b2141c https://gist.github.com/trietptm/b84ccad9db01f459ac7e https://www.amazon.com/Building-Virtual-Machine-Labs-Hands/dp/1546932631" + }, + + { + "title": "Mac M1 Run Diablo 4 - Links", + "url": "/posts/Mac-M1-Run-Diablo-4/", + "categories": "", + "tags": "terminal, diablo 4, apple silicon, M1", + "date": "2023-08-23 10:36:19 -0500", + + + + + + + + "snippet": " Resources that can help you get started with the Game Porting Tool Kit to run Diablo 4 on Mac M1 architecture.Resources:https://www.outcoldman.com/en/archive/2023/06/07/playing-diablo-4-on-macosh...", + "content": " Resources that can help you get started with the Game Porting Tool Kit to run Diablo 4 on Mac M1 architecture.Resources:https://www.outcoldman.com/en/archive/2023/06/07/playing-diablo-4-on-macoshttps://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9https://stackoverflow.com/questions/17980759/xcode-select-active-developer-directory-errorhttps://developer.apple.com/download/all/?q=Xcodehttps://wiki.winehq.org/Wine_User’s_Guide#Using_Winehttps://forum.xojo.com/t/problems-with-ditto/32265https://www.applegamingwiki.com/wiki/Game_Porting_Toolkit#Steam_login_black_screenhttp://stream-recorder.com/forum/restart-wine-if-you-cant-close-process-t4997.html?s=6d49a94d7d9a590a42d133accc36ae88&https://www.youtube.com/watch?v=5Nd-nR3-6lU&t=79shttps://www.youtube.com/watch?v=5Nd-nR3-6lU" + }, + + { + "title": "M1 Mac - How to Switch the Terminal between x86_64 and arm64", + "url": "/posts/M1-Mac-How-to-switch-the-Terminal-between-x86_64-and-arm64/", + "categories": "", + "tags": "terminal, macOS, M1", + "date": "2023-08-23 10:36:14 -0500", + + + + + + + + "snippet": "How to Switch the Terminal between x86_64 and arm64https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9Here is a simple writeup on how I switch betwee...", + "content": "How to Switch the Terminal between x86_64 and arm64https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9Here is a simple writeup on how I switch between x86_64 and arm64 in the Terminal app on my MacBook Pro with Apple Silicon.So you have the new Mac with Apple Silicon. However, a lot of your projects are compiled in x86 and/or you are still building apps for x86, or whatever it is, you still want to compile the x86_64 code on your new Mac in the Terminal. You know it is possible with the Rosetta 2 (personally love it!). But how do you do it efficiently?While there are many ways of doing it, the following is the best one I have found to easily switch between the two architectures using just a simple Terminal command as below (actually hiding the command under an alias)..switching efficiently between x86_64 and arm64 using created aliasSo let’s look at what’s behind it, and how you too can easily set it up!The main command which does the magic is the one below:$env /usr/bin/arch -<architecture> /bin/zsh --login… just replace the __ with your preferred one..For example: To see your current architecture, type:$archsee current architecture the Terminal is usingAs we see in the image above, I am currently using arm64, hence any code I compile will be for this architecture. To switch to x86_64, type:==$env /usr/bin/arch -x86_64 /bin/zsh —-login==Now if you type the arch command again, you will see that the target architecture has been changed. Now you can go ahead and compile your code using Rosetta 2 for the x86_64 architecture.Creating alias in .zshrc:I don’t want to remember the whole command and type it all the time (obviously it’s not efficient). The simplest solution is to create an alias to it in the .zshrcJust cd into your home directory and open the .zshrc file.. If you don’t have one, you can easily create it using the touch command. (If you don’t know about it, there are already plenty of tutorials/write-ups online)..Here’s how my .zshrc file looks like.. I have named my aliases arm and intel for the arm and x8664 architectures respectively. You can name your aliases whatever you want. Just remember to relaunch the Terminal after updating and saving the .zshrc_ file.adding alias to .zshrcIgnoring the first line, you can see the two alias I have created for arm and intel. To switch, I just need to type the alias and that’s it!Bonus:If you only want to use the Terminal app with Rosetta 2 for the x8664 architecture, you can simple right click on the Terminal app in the _Applications>Utilities, go the ‘Get Info’ and tick on “Open using Rosetta”" + }, + + { + "title": "Diablo 4 - Shadow Rouge Build", + "url": "/posts/Diablo-4-Shadow-Rogue-Build/", + "categories": "", + "tags": "diablo, diablo 4, docs", + "date": "2023-08-23 10:36:08 -0500", + + + + + + + + "snippet": "This is a beginner friendly build.Skill Treehttps://d4builds.gg/builds/a175bae2-7adf-4155-a347-509d4efbb86c/Skill Tree Guidehttps://fextralife.com/diablo-4-shadow-rogue-build-twisting-blades/Youtub...", + "content": "This is a beginner friendly build.Skill Treehttps://d4builds.gg/builds/a175bae2-7adf-4155-a347-509d4efbb86c/Skill Tree Guidehttps://fextralife.com/diablo-4-shadow-rogue-build-twisting-blades/Youtube Video: https://www.youtube.com/watch?v=IRgXnTgvZiEDiablo 4 Shadow Rogue Build – Twisting Blades May 31, 2023,  Ryuga,  0Diablo 4 Shadow Rogue Build Guide: In this Diablo 4 Rogue Class Build, I’ll show you how to play a Shadow Imbuement – Twisting Blades Rogue, which is a melee Diablo 4 Build for the Rogue that impales enemies with the Twisting Blades Skill to inflict massive AoE damage. If you’ve been looking for a good Diablo 4 Twisting Blades Rogue Build that allows you to quickly explode all your enemies, then this guide is for you! The Level 50 version of this build evolves into the Shadowblade Build.Also, be sure to check out our Diablo 4 Wiki and Interactive Map if you need help finding specific Altars of Lilith, Dungeons, or Side Quests!Diablo 4 Shadow Rogue Build Guide – Twisting BladesThe way this Diablo 4 Shadow Rogue Build works is by using Shadow Imbuement in combination with Twisting Blades to generate a chain reaction of explosions that decimates big groups of enemies. To achieve this, you’ll start the fight by casting the **Shadow Imbuement** buff, then you’ll head straight into a pack of enemies and perform two attacks with Twisting Blades (you can hit the same enemy or two different enemies).Now, you’ll use Dash to pass through the group and get on the exact opposite side and start attacking using your Invigorating Strike (this will build up combo points and increase your Energy regeneration). At this point, the first two attacks you made with Twisting Blades will return to you passing through the pack of enemies. This will deal damage to all of them and apply the Shadow Imbuement debuff, which will generate a chain-reaction of explosions. Also, because of the Advanced Twisting Blades Upgrade, both your Shadow Imbuement and Dash cooldown’s will be reduced, and thanks to Consuming Shadows you’ll get back the energy you spent, allowing you to restart the sequence.Once you are on the opposite side, you can use Invigorating Strike to increase Energy Regeneration and to build up 3 combo points, which will greatly increase the damage of your Twisting Blades, so even if you are not able to cast Shadow Imbuement right away, the daggers will deal even more damage on the second pass, allowing you to finish off any remaining enemies.The aspect that will help the most here is the Bladedancer’s Aspect, making it so that the returning blades orbit around you in the end to deal extra damage, which is very useful to finish off the enemies or to deal with Elites. This new Orbit Damage is further amplified based on the enemies pierced by the boomerang effect. You can acquire the Codex of Power of this aspect by completing the Jalal’s Vigil Dungeon, located at Scosglen.I recommend using Combo Points Specialization to fight regular enemies, as it’ll increase the damage of your Twisting Blades, and also give you a Speed Buff, but you should swap to Inner Sight Specialization when fighting Bosses. Doing so will allow you to spam the Twisting Blades skill when Inner Sight is active, dealing a ton amount of damage and generating a massive amount of orbiting blades that quickly ticks the boss health’s down. Remember that you’ll also invest points into the Shadow Clone Ultimate to be able to summon your shadow who will mimic this action, further increasing the burst damage.Diablo 4 Twisting Blades Rogue Build Guide – Skill DistributionEach Diablo 4 Shadow Rogue Build is made up of the 6 Active Skills they have equipped and changing these Skills can drastically alter the way the Rogue Class in Diablo IV plays. In this section, we’ll take a look at what Skills you should slot for the Twisting Blades Rogue Diablo 4 Build. Your Skill distribution should look something like this:     LEVEL 25 SHADOW ROGUE SKILLS   Skill Points Spent Invigorating Strike 1 Enhanced Invigorating Strike 1 Twisting Blades 5 Enhanced Twisting Blades 1 Advanced Twisting Blades 1 Shadow Step 1 Dash 1 Exploit 3 Malice 2 Shadow Crash 1 Consuming Shadows 2 Shadow Imbuement 3 Enhanced Shadow Imbuement 1 Blended Shadow Imbuement 1 Shadow Clone 1 Prime Shadow Clone 1 The above list gives you the general order to invest in Skills, but keep in mind that you should prioritize picking up new Active Skills over investing in passives, so pick up passives later if you can get new Active Skills when you level up.Diablo 4 Shadow Rogue Build – How to Handle Packs of EnemiesSo there are several different strategies to employ with this Diablo IV Build for the Twisting Blades Rogue, and these change depending on whether you’re facing a large group of enemies or a Boss. Let’s start with a group of enemies first, and we’ll cover how to handle Bosses in the next section.Shadow ImbuementAs with the rest of the Diablo IV Builds for the Rogue Class, you’ll be able to choose the type of damage you deal. For this Twisting Blades Rogue, we’re going to pick Shadow Imbuement to convert your damage into Shadow Damage and infect multiple targets. To infect a target you must strike it with a Shadow Imbued skill, we’ll achieve this by first sticking a shadow imbued Twisting Blade into an enemy, and then making it pass through the other enemies when it returns to us.When an infected target is killed, it will explode, dealing massive damage to all surrounding enemies, generating a chain reaction that decimate big groups. In addition to this, our Blended Shadow Imbuement upgrade will make them Vulnerable, so after the first explosion everything else will die even faster.Twisting BladesTwisting Blades is key to this build, because of its boomerang effect. Enemies often attack you in a line pattern, so you’ll want to strike the first one or two enemies and then reposition behind them. After 1.5 second, the blades will return to you, passing through the pack and applying the Shadow Debuff and dealing massive individual damage thanks to the Enhanced Twisting Blades, which will allow you to kill some enemies and trigger the chain explosion. You’ll want to prioritize positioning to maximize the amount of enemies you hit when the blade returns, as each enemy hit will reduce all of your active cooldowns by 0.25 second for each enemy hit thanks to the Advanced Twisting Blades Upgrade.Since this is the main skill of your Twisting Blades Rogue Diablo 4 Build, you’ll want to max it out and then get Enhanced Twisting Blades together with Advanced Twisting Blades as soon as possible.Invigorating StrikeInvigorating Strike is a Basic Skill for this D4 Build that allows you to deal a small amount of damage, but also increases your Energy Regeneration and has a 50% Lucky Hit Chance, which is very nice to have. Since you’ll be using the Combo Points Specialization against regular enemies, so each attack you perform will give you 1 combo point. Ideally, you’ll want to use your starter combination of Shadow Imbue and Twisting Blades to then dash behind the enemy group and start attack perform three attacks with Invigorating Strike. This will give you 20% Energy Regeneration, or 50% if the enemy is either Injured or Crowed Controlled.Also, if you happen to have a very good Lucky Hit Chance skill on your equipment, you can also go for Primary Invigorating Strike to further increase the proc chance, but it’s not mandatory for this build.DashWe’ll be using dash to quickly navigate through the open map, and also to quickly reposition behind the pack of enemies at the beginning of the fight. Note that Dash has 2 charges, so make sure you always have at least 1 charge available when engaging a group of enemies, or you won’t be able to reposition to activate your combo. You won’t need enhancements for this Skill since it’ll be primarily used for movementShadow StepShadow Step is an essential survivability tool of this Twisting Blades Rogue D4 Build, since your Health and defenses aren’t all that great. When activated, you’ll automatically gain Unstoppable, which removes and prevents all control impairing effects. This allows you to break out of critical situations, such as getting froze or stunned.In addition, the skill will perform a lucky hit with a 100% chance on the target enemy, and provide you 50% movement speed for 2 seconds, giving you the chance to drink a potion and reposition to a safe place.You can also use Shadow Step to quickly reposition behind an enemy to take full advantage of the Twisting Blades Boomerang effect, but you should only do this if you are certain you are not going to get affected by a control impairing effect.You won’t need the enhancement or upgrade, since we’ll be mainly using it as an emergency survival tool.PassivesFor passives of this Diablo 4 Twisting Blades Rogue Build, you’ll be taking Shadow Crash to gain access to Consuming Shadows. Shadow Crash raises the chances of Stunning enemies when they receive Shadow Damage which works great for elites, but the Skill you’ll want more is Consuming Shadows, hence the 2-point investment. This lets you generate all the Energy you spent in the combo, provided that you kill them with the Shadow Imbuement.The other passive that you’ll want to take are Exploit and Malice.Exploit increases the damage you deal to both Healthy and Injured enemies. Since you’ll first deal damage to enemies with full health, and then deal with the remaining ones, this passive is active practically all the time.Malice increases the damage you deal to Vulnerable enemies, which synergizes perfectly with the Blended Shadow Imbuement that makes enemies vulnerable after the explosions.Rogue Build for Boss FightsBoss fights are handled a bit differently with this Diablo 4 Twisting Blades Rogue Build. First, you’ll want to swap your specialization from Combo Points for Inner Sight. Inner Sight allows you’ll fill up a gauge when attacking the marked enemy, Bosses are often alone, so you’ll be filling the gauge by attacking it. Once the gauge is full, you’ll gain unlimited energy for 4 seconds. At that moment, you’ll want to spawn your Shadow Clone, cast Shadow Imbuement and then start spamming Twisting Blade as much as you can. As the blades return, they’ll start circling around you, stacking tons of damage into the boss.Shadow CloneShadow Clone is an ultimate ability that will provide you with aid by conjuring your own shadow to copy the actions you’re pulling off. Although the damage won’t be as potent, it’s still a great way of increasing our single target damage. You can also invest in Prime Shadow Clone to have another option to make you Unstoppable every time Shadow Clone is activated.Make sure to use your dash to avoid boss attacks or to quickly disengage from combat to drink a potion and recover your health. Same as with regular enemies, you’ll want to save Shadow Step for when you are affected by a movement impairing effect. Finally, remember that you can also use your Shadow Clone Ultimate to the same end, thanks to Prime Shadow Clone which provides you Unstoppable for 5 seconds.Final TipsFor this Diablo 4 Twisting Blades Rogue Build, you should be on the lookout for gear that gives bonuses to Dexterity, Intelligence, Maximum Energy, +Rank to relevant skills, Critical Strike Chance, Critical Strike Damage Bonus, Damage to Close Enemies, Imbuement Skill Damage, Core Skill Damage, Energy Cost Reduction, and Cooldown Reduction. Damage Reduction is also good to pick up where you’re often susceptible to taking in lots of damage in the melee range. It’s a pretty OP D4 Rogue Build due to the massive burst damage you deal.You can run around the map and stack a couple of enemy groups and engage all of them at the same time for maximum efficiency. Make sure to prioritize positioning over attacking individual targets.When it comes to Legendary Aspects, you’ll also want to get the Aspect of Lethal Dusk and Ravenous Aspect for this Diablo 4 Build. Lethal Dusk grants Stealth when evading through a Shadow Imbuement infect enemy, which is great if you need to recover or reposition, and on top of that, it will give you a buff that grants you 1~5% of maximum life recovered on kill for 4 seconds. Meanwhile, Ravenous Aspect rewards you with increased Energy regeneration when a Vulnerable enemy is slain, which works hand-in-hand with Blended Shadow Imbuement." + }, + + { + "title": "Diablo 4 HellTide Events", + "url": "/posts/Diablo-4-Helltide-Events/", + "categories": "", + "tags": "diablo, diablo 4, docs", + "date": "2023-08-23 10:36:03 -0500", + + + + + + + + "snippet": "Diablo 4 HellTide EventsWhen you guys hit World Tier 3, do helltide events everytime you can, they’re stupidly important because they’re the only source of Forgotten Souls and you need a lot of the...", + "content": "Diablo 4 HellTide EventsWhen you guys hit World Tier 3, do helltide events everytime you can, they’re stupidly important because they’re the only source of Forgotten Souls and you need a lot of them to keep upgrading/rerolling gear. I skimped out on them and wish I didn’t now. There is a timer for the Helltide Event here: https://d4events.live/ - The event is up for one hour and then down for 1 hour 15 minutes until the next one. The general gist of Helltides is roam around, kill packs for cinders, do world events (more mobs more cinders) and open Helltide Chests When Hellfire meteors rain down, it means a Helltide Elite is spawning nearby and they drop a fair amount as well Forgotten Souls can also come from normal helltide chests, and Screaming Hell Veins This site shows the POSSIBLE spawn locations of the mystery chests - https://d4armory.io/map/ These require 175 cinders to open and can give a bunch of legs and crafting mats (ex - https://i.imgur.com/oGb2dvc.jpeg) The chests DO NOT SHOW on the map (until you are very close, and when you go away, the icon will disappear) so if you find it, pin NEAR it (not on the chest icon otherwise it will disappear) and come back if you can’t open it. PRIO THESE CHESTS OVER ALL Mystery Chests will move at the top of the hour (When the IRL clock hits xx:00) meaning you can get multiple chests. Multiple can spawn at once with one per large region zone. The official D4 server has a channel for people to post where the chests are located during events - https://discord.com/invite/diablo4#discord Edit 1: - /u/Prowner1 has made a site and added a Helltide Tracker to it which allows inputs from users to show where the chests are on the current event - https://diablo4.life/trackers/helltideEdit 2: Changed the Mystery Chest movement time, it appears to be top of the hour. (The chests moving is honestly the most confusing part)I fucking hate this event and hope they allow you to get Forgotten Souls somewhere else in the game.https://d4events.live/" + }, + + { + "title": "SANS SEC 504 - Resources", + "url": "/posts/SANS-SEC-504-Resources/", + "categories": "", + "tags": "SANS, SEC504, GCIH, cybersecurity", + "date": "2023-08-23 10:35:56 -0500", + + + + + + + + "snippet": "Malware stuffhttps://digitalcommons.lsu.edu/cgi/viewcontent.cgi?article=6527&context=gradschool_theseshttps://github.com/volatilityfoundation/volatility/wiki/MacVolatilityA few volatility resou...", + "content": "Malware stuffhttps://digitalcommons.lsu.edu/cgi/viewcontent.cgi?article=6527&context=gradschool_theseshttps://github.com/volatilityfoundation/volatility/wiki/MacVolatilityA few volatility resources: https://github.com/volatilityfoundation/volatility/wiki https://forwarddefense.com/media/attachments/2021/05/15/memory-analysis-with-volatlity-analyst-reference-20200131.pdf https://andreafortuna.org/2019/04/03/how-to-analyze-a-vmware-memory-image-with-volatility/(edited)Andrea FortunaHow to analyze a VMware memory image with VolatilityA very brief post, just a reminder about a very useful volatility feature. The process on a VMware machine is more simple than VirtualBox, just 4 simple steps: Suspend the virtual machine Navigate to the virtual machine’s directory and identify the *.vmem file Copy the vmem image to you analysis workstation  Finally use the following Volatility command to convert the memory image to a dump ready for analysis: $ volatility -f memory_image.vmem -O raw_image --profile=Win8SP0x86 raw2dmp Now the memory dump can be analyzed with the usual methods.Berkley Packet Filtershttps://www.ibm.com/docs/en/qsip/7.4?topic=queries-berkeley-packet-filtershttps://github.com/sbabicz/tcpdump-bpf-cheatsheetGrouped Managed Service Accounts Overviewhttps://learn.microsoft.com/en-us/windows-server/security/group-managed-service-accounts/group-managed-service-accounts-overviewPlaceholderHow much does a DDoS cost?As per the Dark Web Price Index 2022, a 24-hour DDoS attack with 20-50k requests per second can cost the attacker as little as $200 USD. This low cost of entry means that even small-time attackers can launch devastating DDoS attacks that can cripple businesses and cause significant financial losses. Mar 10, 2023https://sans-live-training.slack.com/archives/C059WKMLLDB/p1686064393422589https://www.linkedin.com/pulse/true-cost-ddos-attack-protect-your-business-proactive-ali-el-tom/linkedin.comThe True Cost of a DDoS Attack: Protect Your Business with Proactive MeasuresLaunching a DDoS attack can be relatively inexpensive for the attacker. As per the Dark Web Price Index 2022, a 24-hour DDoS attack with 20-50k requests per second can cost the attacker as little as $200 USD.MITRE ATT&CK CWE (Common Weakness Enumeration)Background ReportsOur disclaimer on Background Reports:DISCLOSURE/DISCLAIMERThe information in this report is based on public, non-public, private, and proprietary databases. Search results may not be complete or accurate. Not all states or counties report or make available all records in electronic format. Online databases could contain incomplete information, duplication, inaccuracies, or false matches based on common names.Certified copies can be obtained and in-person/on-site verification of research results can be performed but will require        additional investigative time and expenses that must be authorized.The general format of this report and parts of this report are produced from xxxxxxx. Information obtained from xxxxxx, and other public and private databases, does not constitute a “consumer report” as that term is defined in the federal Fair Credit Reporting Act, 15 USC 1681 et seq.(FCRA).As data from xxxxxxxx and other data sources is not specifically segregated, this report may not be used in whole or in part as a factor in determining eligibility for credit, insurance, employment, or another permissible purpose under the FCRA.Any questions, comments or concerns related to the information contained in this report should be directed to:Keith Olive Enterprises, LLCPO Box 26Mountain Home, Texas 78058Texas Private Security Bureau License #A19867OSINT on employees without permission will bite you big time if they ever bring up a LABOR board issue or lawsuitCheat sheetshttps://packetlife.net/library/cheat-sheets/Amazon BooksWhat 2 Loghttps://what2log.com/" + }, + + { + "title": "Admonitions Documentation", + "url": "/posts/Admonitions-Documentation/", + "categories": "", + "tags": "docs, cheatsheets", + "date": "2023-08-23 10:33:39 -0500", + + + + + + + + "snippet": " NoteIt appears a note in MarkDown is not possible currently.Reference: https://talk.commonmark.org/t/github-is-beta-testing-their-own-admonition-syntax-we-should-weigh-in/4173GitHub Link: https:/...", + "content": " NoteIt appears a note in MarkDown is not possible currently.Reference: https://talk.commonmark.org/t/github-is-beta-testing-their-own-admonition-syntax-we-should-weigh-in/4173GitHub Link: https://github.com/javalent/admonitionsObsidian AdmonitionAdds admonition block-styled content to Obsidian.md, styled after Material for MkDocsPlease note!Obsidian 0.14 adds support for Callout boxes!With this change, Admonitions will be transitioning to a plugin that enhances the core callout box feature.What does this mean, you might ask? All of your existing code block admonitions will continue to work, and will always work! You can continue to use Admonitions to create custom types, and all of your custom types will just work as a callout, without you having to do anything! If you have any Microsoft Document syntax admonitions, they will have to be converted to the new callout box syntax - there is a button in Admonition settings to auto-convert these for you. You can use Admonitions to set default titles, default collapse states, or defaulting to not having a title. Admonitions adds helpful editor suggestors for quickly entering your custom callout boxes. Admonitions adds helpful commands for inserting callout boxes, including the ability to register commands for specific types.UsagePlace a code block with the admonition type:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.Becomes:Options```ad- # Admonition type. See below for a list of available types.title: # Admonition title.collapse: # Create a collapsible admonition.icon: # Override the icon.color: # Override the color.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.Please note that as of **4.4.1**, the `title`, `collapse`, `icon` and `color` parameters must be at the _top_ of the block, in any order.### TitleThe admonition will render with the type of admonition by default. If you wish to customize the title, you can do so this way:```ad-notetitle: TitleLorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.Custom titles are rendered as Markdown, so they support the full Obsidian Markdown syntax.Leave the title field blank to only display the admonition.title:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.CollapsibleUse the collapse parameter to create a collapsible admonition.collapse: open will start the admonition opened on render, but allow collapse on click.If a blank title is provided, the collapse parameter will not do anything.Admonitions may be set to be collapsible by default in settings.IconThe admonition icon can be overridden using the icon parameter. The icon name entered must be the exact icon name from FontAwesome or RPGAwesome.```ad-noteicon: triforceLorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.```ColorThe admonition color can be overridden using the color parameter. The color entered must be an RGB triad.```ad-notecolor: 200, 200, 200Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.```No ContentAn admonition with no content will render as just the title block.```ad-note```Nesting AdmonitionsNesting admonitions may be done by increasing the number of backticks.Example:`````ad-notetitle: Nested Admonitionscollapse: openHello!````ad-notetitle: This admonition is nested.This is a nested admonition!```ad-warningtitle: This admonition is closed.collapse: close```````This is in the original admonition.`````Rendering Code Blocks inside AdmonitionsCode blocks may be nested inside admonitions using a method similar to Nesting Admonitions above.Additionally, for a single layer, the ~~~ markdown codeblock syntax may be used:````ad-info```ad-bugtitle: I'm Nested!~~~javascriptthrow new Error(\"Oops, I'm a bug.\");~~~``````javascriptconsole.log(\"Hello!\");```````Admonition TypesThe following admonition types are currently supported:TypeAliasesnotenote, seealsoabstractabstract, summary, tldrinfoinfo, todotiptip, hint, importantsuccesssuccess, check, donequestionquestion, help, faqwarningwarning, caution, attentionfailurefailure, fail, missingdangerdanger, errorbugbugexampleexamplequotequote, citeSee this for a reference of what these admonitions look like.The default admonitions are customizable by creating a user-defined admonition of the same name.Custom Admonitions & CalloutsCustom admonitions may be created in settings. Creating a custom admonition will also enable it to be used as an Obsidian callout.Creating a new admonition requires three things: the type, the icon to use, and the color of the admonition.Only one admonition of each type may exist at any given time; if another admonition of the same type is created, it will override the previously created one.If a default admonition is overridden, it can be restored by deleting the user-defined admonition.Please note that by default, the background color of the title is simply the color of the admonition at 10% opacity. CSS must be used to update this.Images as IconsImages can be uploaded to use as an admonition icon instead of an icon from a downloaded icon set.These images will be resized to 24px x 24px to be stored in the plugin’s saved data.To remove an image icon, simply choose an icon in the icon chooser text box.Global CommandsSeveral commands are available for the plugin by default.Collapse and Open All Admonitions In NoteIf these two commands are triggered with an open note, all collapsible admonitions will be collapsed or open respectively.Insert AdmonitionThis will open a modal where the admonition type, title and collapse behavior can be set, then the generated admonition code block will be inserted into the open editor.Admonition-specific commandsCommands may be registered for each custom admonition type to insert them into an open note by clicking the Register Commands button in Settings.3 commands will be registered: Insert <type> Callout, Insert <type>, and Insert <type> with Title.Insert CalloutThe selected type will be inserted as an Obsidian callout, and any selected text will be included with it.InsertThe selected type will be inserted as a codeblock admonition, and any selected text will be included with it.Insert with TitleThe selected type will be inserted as a codeblock admonition, and any selected text will be included with it. The title: parameter will also be added and the cursor will be placed at that line.Mermaid GraphsMermaid graphs are supported by Admonitions, but with some caveats: You cannot combine mermaid graphs and embeds/transclusions. Mermaid graphs do not work in collapsed-by-default admonitions.Non-code block Admonitions ❗ This syntax has been officially removed as of Admonitions 7.0.0. Use the Obsidian Callout box syntax instead!As of version 6.0.0, there is a new setting: Enable Non-codeblock Admonitions.This setting is highly experimental and may not work as expected, and there are a few caveats listed at the end of this section to keep in mind.This setting allows for creating an admonition without wrapping it in a code block, which means that links and tags will sync into Obsidian’s cache. A non-codeblock admonition may be created using the following syntax:!!! ad-<type> Title goes here!content--- admonitionThis will create the appropriate admonition type, embed the content, and give it the supplied title.TitlesTitles should be placed after the admonition block. Currently, markdown in titles is not supported.An empty title can be created by either placing two spaces after the admonition type:!!! ad-<type>content--- admonitionor by placing empty double quotes:!!! ad-<type> \"\"content--- admonitionCollapsibleA collapsible admonition may be created using the following syntax:??? ad-<type> Title goes here!content--- admonitionA collapsible admonition may default to “open” by appending a +:???+ ad-<type> Title goes here!content--- admonitionCaveats Changes to the admonition after render require the cache to be cleared. The note must be closed and re-opened (and sometimes, a different note must be opened first). This is all changes, including the admonition type, title, content, even whether or not a collapsible admonition is open or closed initially. Nested admonitions are not currently supported.If you experience any bugs using this setting, please create an issue and I will look into them.Microsoft Document Syntax ❗ This syntax has been officially removed as of version 8.0.0. Use the Obsidian Callout box syntax instead!As of v6.8.0, an additional non-code block syntax can be used that is inspired by the Microsoft Document Syntax to render admonitions. ⚠️ Please note: Unlike the Microsoft Document Syntax, the type is not required to be upper case. The plugin will use an exact-match first, then try to find a case-insensitive match. [!quote]This is an admonition!This syntax can also be used on indented code blocks:[!quote]This is an admonition!TitleA title can be added to the MSDoc-style admonition by appending it after the type. [!quote: This is the title!]This is an admonition!Like the code block syntax, providing an empty title will remove the title from the rendered admonition. [!quote:]This admonition won’t have a title!CollapseCollapse can be set by appending the following characters after the brackets:CharacterCollapse Type+open-closedxnonePublishObsidian plugins do not work on publish sites; however, version 6.4.0+ has an option to generate a JavaScript file that can be used on Publish sites with custom domains.Obsidian Publish only allows external JavaScript on publish sites with custom domains. If your Publish is ran through Obsidian, this will not work.Instructions: Go the Admonition settings tab and click the “Generate JS for Publish” button. Save the JavaScript file. Copy the contents of the JS file to your publish.js file. Add the contents of the assets/main.css file to your publish.css file.Please note that I can give no guarantees of stability on your publish site. Other JavaScript you include may conflict with this file. If you run into an issue using it, please create an issue on this repository and I will try to help you.Icon PacksAdditional icon packs can be downloaded in settings.Adding Icon PacksWant to add an existing icon pack? Make a pull request with the following: Add a new folder in the icons folder with the name of your icon set. Create an icons.json file that has the icons defined as an Object. Please see the Octicons json for reference. Put your icon pack’s information in the two variables in the Icon Packs file.SettingsCustom Admonition TypesCustom admonition types can be created and managed in this section of the settings.Export Custom Types as CSSThis button will generate a CSS snippet that you can save and use for your custom callout types.Importing Custom AdmonitionsCustom admonitions can be imported in settings from a JSON array of definitions.At a minimum, you only need a valid admonition type:[ { “type”: “my-custom-type” }]This will use the pencil-alt FontAwesome icon and a random color, and set all other properties as false.However, you can specify an icon and color as well:[ { “type”: “my-custom-type”, “icon”: “globe”, “color”: “120,120,120” }]If you want to specify an icon pack, you can do so like this:[ { “type”: “my-custom-type”, “icon”: { “name”: “globe”, “type”: “font-awesome” }, “color”: “120,120,120” }]All of the possible fields are defined here.Admonition SettingsSettings specific to admonitions are managed in this section.Add Drop ShadowA drop shadow will be added to admonitions by default.If this setting is off, rendered admonitions will receive the .no-drop class.Collapsible By DefaultAll admonitions will be collapsible by default, unless collapse: none is set in the admonition parameters.Default Collapse Type ⚠️ This setting is only available when Collapsible By Default is true.Set the default collapse type used when setting an admonition collapsible by default.Add Copy ButtonA “Copy Content” button will be added to the top-right corner of the admonition & callout content.Parse Titles as MarkdownTurn this setting off to prevent admonition titles from being rendered as markdown.Set Admonition ColorsControls whether or not a rendered admonition will receive a color.Turn this off to totally control color via CSS.Hide Empty AdmonitionsAdmonitions with no content are hidden by default. ⚠️ Please note that this only works for Admonitions that have no text content whatsoever.Icon PacksUse Font Awesome IconsThe plugin comes pre-bundled with the entire Font Awesome Free icon set. Turn this setting off to not include them in the icon picker.Existing custom Admonitions that use Font Awesome icons will continue to work.Additional Icon PacksAdditional icon packs can be downloaded to supplement the included Font Awesome Free icon set.Downloading an icon pack requires an internet connection.Current additional icon packs available are the Octicons set and the RPG Awesome set. 📝 For backwards compability, if an Admonition was created prior to version 7.0.0 using an RPG Awesome icon, the pack will try to be downloaded.Additional SyntaxesObsidian 0.14 has introduced Callout boxes to its core functionality using a similar syntax to the Microsoft Document callouts.This has rendered the Microsoft Document syntax for Admonitions obsolete, but Admonitions can still be used to create and manage your custom callout types.Your existing code block Admonitions will always work!Enable Non-codeblock Admonitions ❗ This setting has been removed as of version 7.0.0. It is recommended to use the Obsidian Callout box instead.Enabled use of !!! ad-<type> style admonitions. No longer supported, will be removed in a future version.Allow Microsoft Document Syntax ❗ This syntax has been officially removed as of version 8.0.0. Use the Obsidian Callout box syntax instead!Enables use of the Microsoft Document Syntax for blockquote admonitions.Use Microsoft Document Syntax for Indented Code Blocks ❗ This syntax has been officially removed as of version 8.0.0. Use the Obsidian Callout box syntax instead!Enables use of the Microsoft Document Syntax for indented code blocks.Render Microsoft Document Syntax in Live Preview ❗ This syntax has been officially removed as of version 8.0.0. Use the Obsidian Callout box syntax instead!Enables use of the Microsoft Document Syntax in live preview.This feature is still under development and you may experience rendering bugs.Convert MSDoc Admonitions to Callouts (v8.0.0+)This button can be used to convert any existing Microsoft Document syntax Admonitions to the new Callout box syntax.Advanced SettingsMarkdown Syntax HighlightingEnable syntax highlighting when editing admonition code blocks.Sync Links to Metadata CacheThe plugin will attempt to syncronize links to the metadata cache to be displayed in graph view.This setting is experimental. Links will only be synced when rendered in an admonition and they will not persist if you close and re-open Obsidian.Please see this issue for more information.If you require links to be fully synced, it is recommended to use the Microsoft Document Syntax.Generate JS for PublishUse this setting to enable Admonitions on custom-domain Obsidian Publish websites.See [Publish] for more information.TodoNo additional features are planned at this time. If there is a feature missing that you would like to see, please open an issue.  Add the ability to collapse the admonition  Custom admonitions  Settings tab to customize icon and color of all admonitions  Ability to render markdown inside an admonitionInstallationFrom within ObsidianFrom Obsidian v0.9.8, you can activate this plugin within Obsidian by doing the following: Open Settings > Third-party plugin Make sure Safe mode is off Click Browse community plugins Search for this plugin Click Install Once installed, close the community plugins window and activate the newly installed pluginFrom GitHub Download the Latest Release from the Releases section of the GitHub Repository Extract the plugin folder from the zip to your vault’s plugins folder: <vault>/.obsidian/plugins/Note: On some machines the .obsidian folder may be hidden. On MacOS you should be able to press Command+Shift+Dot to show the folder in Finder. Reload Obsidian If prompted about Safe Mode, you can disable safe mode and enable the plugin. Otherwise head to Settings, third-party plugins, make sure safe mode is off and enable the plugin from there.UpdatesYou can follow the same procedure to update the pluginWarningThis plugin comes with no guarantee of stability and bugs may delete data. Please ensure you have automated backups." + }, + + { + "title": "Text and Typography", + "url": "/posts/text-and-typography/", + "categories": "Blogging, Demo", + "tags": "typography", + "date": "2019-08-07 22:33:00 -0500", + + + + + + + + "snippet": "This post is to show Markdown syntax rendering on Chirpy, you can also use it as an example of writing. Now, let’s start looking at text and typography.HeadingsH1 - headingH2 - headingH3 - headingH...", + "content": "This post is to show Markdown syntax rendering on Chirpy, you can also use it as an example of writing. Now, let’s start looking at text and typography.HeadingsH1 - headingH2 - headingH3 - headingH4 - headingParagraphQuisque egestas convallis ipsum, ut sollicitudin risus tincidunt a. Maecenas interdum malesuada egestas. Duis consectetur porta risus, sit amet vulputate urna facilisis ac. Phasellus semper dui non purus ultrices sodales. Aliquam ante lorem, ornare a feugiat ac, finibus nec mauris. Vivamus ut tristique nisi. Sed vel leo vulputate, efficitur risus non, posuere mi. Nullam tincidunt bibendum rutrum. Proin commodo ornare sapien. Vivamus interdum diam sed sapien blandit, sit amet aliquam risus mattis. Nullam arcu turpis, mollis quis laoreet at, placerat id nibh. Suspendisse venenatis eros eros.ListsOrdered list Firstly Secondly ThirdlyUnordered list Chapter Section Paragraph ToDo list Job Step 1 Step 2 Step 3 Description list Sun the star around which the earth orbits Moon the natural satellite of the earth, visible by reflected light from the sunBlock Quote This line shows the block quote.Prompts An example showing the tip type prompt. An example showing the info type prompt. An example showing the warning type prompt. An example showing the danger type prompt.Tables Company Contact Country Alfreds Futterkiste Maria Anders Germany Island Trading Helen Bennett UK Magazzini Alimentari Riuniti Giovanni Rovelli Italy Linkshttp://127.0.0.1:4000FootnoteClick the hook will locate the footnote1, and here is another footnote2.Inline codeThis is an example of Inline Code.FilepathHere is the /path/to/the/file.extend.Code blocksCommonThis is a common code snippet, without syntax highlight and line number.Specific Languageif [ $? -ne 0 ]; then echo \"The command was not successful.\"; #do the needful / exitfi;Specific filename@import \"colors/light-typography\", \"colors/dark-typography\";MathematicsThe mathematics powered by MathJax:\\[\\sum_{n=1}^\\infty 1/n^2 = \\frac{\\pi^2}{6}\\]When $a \\ne 0$, there are two solutions to $ax^2 + bx + c = 0$ and they are\\[x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}\\]Mermaid SVG gantt title Adding GANTT diagram functionality to mermaid apple :a, 2017-07-20, 1w banana :crit, b, 2017-07-23, 1d cherry :active, c, after b a, 1dImagesDefault (with caption)Full screen width and center alignmentLeft alignedFloat to leftPraesent maximus aliquam sapien. Sed vel neque in dolor pulvinar auctor. Maecenas pharetra, sem sit amet interdum posuere, tellus lacus eleifend magna, ac lobortis felis ipsum id sapien. Proin ornare rutrum metus, ac convallis diam volutpat sit amet. Phasellus volutpat, elit sit amet tincidunt mollis, felis mi scelerisque mauris, ut facilisis leo magna accumsan sapien. In rutrum vehicula nisl eget tempor. Nullam maximus ullamcorper libero non maximus. Integer ultricies velit id convallis varius. Praesent eu nisl eu urna finibus ultrices id nec ex. Mauris ac mattis quam. Fusce aliquam est nec sapien bibendum, vitae malesuada ligula condimentum.Float to rightPraesent maximus aliquam sapien. Sed vel neque in dolor pulvinar auctor. Maecenas pharetra, sem sit amet interdum posuere, tellus lacus eleifend magna, ac lobortis felis ipsum id sapien. Proin ornare rutrum metus, ac convallis diam volutpat sit amet. Phasellus volutpat, elit sit amet tincidunt mollis, felis mi scelerisque mauris, ut facilisis leo magna accumsan sapien. In rutrum vehicula nisl eget tempor. Nullam maximus ullamcorper libero non maximus. Integer ultricies velit id convallis varius. Praesent eu nisl eu urna finibus ultrices id nec ex. Mauris ac mattis quam. Fusce aliquam est nec sapien bibendum, vitae malesuada ligula condimentum.Dark/Light mode & ShadowThe image below will toggle dark/light mode based on theme preference, notice it has shadows.VideoReverse Footnote The footnote source ↩ The 2nd footnote source ↩ " + } + +] + diff --git a/_site/assets/js/data/swcache.js b/_site/assets/js/data/swcache.js new file mode 100644 index 0000000..8ad7614 --- /dev/null +++ b/_site/assets/js/data/swcache.js @@ -0,0 +1,57 @@ +const resource = [ + /* --- CSS --- */ + '/assets/css/style.css', + + /* --- PWA --- */ + '/app.js', + '/sw.js', + + /* --- HTML --- */ + '/index.html', + '/404.html', + + + '/categories/', + + '/tags/', + + '/archives/', + + '/about/', + + + /* --- Favicons & compressed JS --- */ + + + '/assets/img/favicons/favicon.ico', + '/assets/img/favicons/android-chrome-192x192.png', + '/assets/img/favicons/android-chrome-512x512.png', + '/assets/img/favicons/apple-touch-icon.png', + '/assets/img/favicons/favicon-16x16.png', + '/assets/img/favicons/favicon-32x32.png', + '/assets/img/favicons/mstile-150x150.png', + '/assets/js/dist/categories.min.js', + '/assets/js/dist/commons.min.js', + '/assets/js/dist/home.min.js', + '/assets/js/dist/misc.min.js', + '/assets/js/dist/page.min.js', + '/assets/js/dist/post.min.js' +]; + +/* The request url with below domain will be cached */ +const allowedDomains = [ + + + 'localhost:4000', + + + + 'fonts.gstatic.com', + 'fonts.googleapis.com', + 'cdn.jsdelivr.net', + 'polyfill.io' +]; + +/* Requests that include the following path will be banned */ +const denyUrls = []; + diff --git a/_site/assets/js/dist/categories.min.js b/_site/assets/js/dist/categories.min.js new file mode 100644 index 0000000..bebf80f --- /dev/null +++ b/_site/assets/js/dist/categories.min.js @@ -0,0 +1,6 @@ +/*! + * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy/) + * © 2019 Cotes Chung + * MIT Licensed + */ +!function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,o=new Array(t);r.row"),v=$("#topbar-title"),m=$("#search-wrapper"),g=$("#search-result-wrapper"),y=$("#search-results"),h=$("#search-input"),C=$("#search-hints"),w=$("html,body"),k="loaded",A="unloaded",S="input-focus",T="d-flex",j=function(){function t(){e(this,t)}return r(t,null,[{key:"on",value:function(){t.offset=window.scrollY,w.scrollTop(0)}},{key:"off",value:function(){w.scrollTop(t.offset)}}]),t}();o(j,"offset",0),o(j,"resultVisible",!1);var E=function(){function t(){e(this,t)}return r(t,null,[{key:"on",value:function(){f.addClass(A),v.addClass(A),d.addClass(A),m.addClass(T),p.addClass(k)}},{key:"off",value:function(){p.removeClass(k),m.removeClass(T),f.removeClass(A),v.removeClass(A),d.removeClass(A)}}]),t}(),O=function(){function t(){e(this,t)}return r(t,null,[{key:"on",value:function(){j.resultVisible||(j.on(),g.removeClass(A),b.addClass(A),j.resultVisible=!0)}},{key:"off",value:function(){j.resultVisible&&(y.empty(),C.hasClass(A)&&C.removeClass(A),g.addClass(A),b.removeClass(A),j.off(),h.val(""),j.resultVisible=!1)}}]),t}();function x(){return p.hasClass(k)}var P=$(".collapse");var V,I;$(".code-header>button").children().attr("class"),V=$(window),I=$("#back-to-top"),V.on("scroll",(function(){V.scrollTop()>50?I.fadeIn():I.fadeOut()})),I.on("click",(function(){V.scrollTop(0)})),n(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(e){return new bootstrap.Tooltip(e)})),0!==i.length&&i.off().on("click",(function(e){var t=$(e.target),r=t.prop("tagName")==="button".toUpperCase()?t:t.parent();modeToggle.flipMode(),r.trigger("blur")})),$("#sidebar-trigger").on("click",c.toggle),$("#mask").on("click",c.toggle),d.on("click",(function(){E.on(),O.on(),h.trigger("focus")})),p.on("click",(function(){E.off(),O.off()})),h.on("focus",(function(){m.addClass(S)})),h.on("focusout",(function(){m.removeClass(S)})),h.on("input",(function(){""===h.val()?x()?C.removeClass(A):O.off():(O.on(),x()&&C.addClass(A))})),P.on("hide.bs.collapse",(function(){var e="h_"+$(this).attr("id").substring(2);e&&($("#".concat(e," .far.fa-folder-open")).attr("class","far fa-folder fa-fw"),$("#".concat(e," i.fas")).addClass("rotate"),$("#".concat(e)).removeClass("hide-border-bottom"))})),P.on("show.bs.collapse",(function(){var e="h_"+$(this).attr("id").substring(2);e&&($("#".concat(e," .far.fa-folder")).attr("class","far fa-folder-open fa-fw"),$("#".concat(e," i.fas")).removeClass("rotate"),$("#".concat(e)).addClass("hide-border-bottom"))}))}(); diff --git a/_site/assets/js/dist/commons.min.js b/_site/assets/js/dist/commons.min.js new file mode 100644 index 0000000..97d930b --- /dev/null +++ b/_site/assets/js/dist/commons.min.js @@ -0,0 +1,6 @@ +/*! + * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy/) + * © 2019 Cotes Chung + * MIT Licensed + */ +!function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r.row"),m=$("#topbar-title"),v=$("#search-wrapper"),y=$("#search-result-wrapper"),g=$("#search-results"),h=$("#search-input"),C=$("#search-hints"),w=$("html,body"),k="loaded",A="unloaded",S="input-focus",T="d-flex",j=function(){function t(){e(this,t)}return r(t,null,[{key:"on",value:function(){t.offset=window.scrollY,w.scrollTop(0)}},{key:"off",value:function(){w.scrollTop(t.offset)}}]),t}();n(j,"offset",0),n(j,"resultVisible",!1);var E,O,x=function(){function t(){e(this,t)}return r(t,null,[{key:"on",value:function(){c.addClass(A),m.addClass(A),d.addClass(A),v.addClass(T),p.addClass(k)}},{key:"off",value:function(){p.removeClass(k),v.removeClass(T),c.removeClass(A),m.removeClass(A),d.removeClass(A)}}]),t}(),P=function(){function t(){e(this,t)}return r(t,null,[{key:"on",value:function(){j.resultVisible||(j.on(),y.removeClass(A),b.addClass(A),j.resultVisible=!0)}},{key:"off",value:function(){j.resultVisible&&(g.empty(),C.hasClass(A)&&C.removeClass(A),y.addClass(A),b.removeClass(A),j.off(),h.val(""),j.resultVisible=!1)}}]),t}();function V(){return p.hasClass(k)}E=$(window),O=$("#back-to-top"),E.on("scroll",(function(){E.scrollTop()>50?O.fadeIn():O.fadeOut()})),O.on("click",(function(){E.scrollTop(0)})),o(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(e){return new bootstrap.Tooltip(e)})),0!==l.length&&l.off().on("click",(function(e){var t=$(e.target),r=t.prop("tagName")==="button".toUpperCase()?t:t.parent();modeToggle.flipMode(),r.trigger("blur")})),$("#sidebar-trigger").on("click",f.toggle),$("#mask").on("click",f.toggle),d.on("click",(function(){x.on(),P.on(),h.trigger("focus")})),p.on("click",(function(){x.off(),P.off()})),h.on("focus",(function(){v.addClass(S)})),h.on("focusout",(function(){v.removeClass(S)})),h.on("input",(function(){""===h.val()?V()?C.removeClass(A):P.off():(P.on(),V()&&C.addClass(A))}))}(); diff --git a/_site/assets/js/dist/home.min.js b/_site/assets/js/dist/home.min.js new file mode 100644 index 0000000..f8cd3f1 --- /dev/null +++ b/_site/assets/js/dist/home.min.js @@ -0,0 +1,6 @@ +/*! + * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy/) + * © 2019 Cotes Chung + * MIT Licensed + */ +!function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r.row"),g=$("#topbar-title"),v=$("#search-wrapper"),y=$("#search-result-wrapper"),b=$("#search-results"),h=$("#search-input"),C=$("#search-hints"),w=$("html,body"),k="loaded",T="unloaded",j="input-focus",A="d-flex",S=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){e.offset=window.scrollY,w.scrollTop(0)}},{key:"off",value:function(){w.scrollTop(e.offset)}}]),e}();n(S,"offset",0),n(S,"resultVisible",!1);var x=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){f.addClass(T),g.addClass(T),d.addClass(T),v.addClass(A),m.addClass(k)}},{key:"off",value:function(){m.removeClass(k),v.removeClass(A),f.removeClass(T),g.removeClass(T),d.removeClass(T)}}]),e}(),E=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){S.resultVisible||(S.on(),y.removeClass(T),p.addClass(T),S.resultVisible=!0)}},{key:"off",value:function(){S.resultVisible&&(b.empty(),C.hasClass(T)&&C.removeClass(T),y.addClass(T),p.removeClass(T),S.off(),h.val(""),S.resultVisible=!1)}}]),e}();function F(){return m.hasClass(k)}$(".collapse");function O(t){t.parent().removeClass("shimmer")}$(".code-header>button").children().attr("class");var D,P,V,I=function(){function e(){t(this,e)}return r(e,null,[{key:"attrTimestamp",get:function(){return"data-ts"}},{key:"attrDateFormat",get:function(){return"data-df"}},{key:"locale",get:function(){return $("html").attr("lang").substring(0,2)}},{key:"getTimestamp",value:function(t){return Number(t.attr(e.attrTimestamp))}},{key:"getDateFormat",value:function(t){return t.attr(e.attrDateFormat)}}]),e}();D=$(window),P=$("#back-to-top"),D.on("scroll",(function(){D.scrollTop()>50?P.fadeIn():P.fadeOut()})),P.on("click",(function(){D.scrollTop(0)})),o(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new bootstrap.Tooltip(t)})),0!==l.length&&l.off().on("click",(function(t){var e=$(t.target),r=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),r.trigger("blur")})),$("#sidebar-trigger").on("click",c.toggle),$("#mask").on("click",c.toggle),d.on("click",(function(){x.on(),E.on(),h.trigger("focus")})),m.on("click",(function(){x.off(),E.off()})),h.on("focus",(function(){v.addClass(j)})),h.on("focusout",(function(){v.removeClass(j)})),h.on("input",(function(){""===h.val()?F()?C.removeClass(T):E.off():(E.on(),F()&&C.addClass(T))})),dayjs.locale(I.locale),dayjs.extend(window.dayjs_plugin_localizedFormat),$("[".concat(I.attrTimestamp,"]")).each((function(){var t=dayjs.unix(I.getTimestamp($(this))),e=t.format(I.getDateFormat($(this)));$(this).text(e),$(this).removeAttr(I.attrTimestamp),$(this).removeAttr(I.attrDateFormat);var r=$(this).attr("data-bs-toggle");if(void 0!==r&&"tooltip"===r){var n=t.format("llll");$(this).attr("data-bs-title",n),new bootstrap.Tooltip($(this))}})),(V=$("#core-wrapper img[data-src]")).length<=0||(document.addEventListener("lazyloaded",(function(t){O($(t.target))})),V.each((function(){$(this).hasClass("ls-is-cached")&&O($(this))})))}(); diff --git a/_site/assets/js/dist/misc.min.js b/_site/assets/js/dist/misc.min.js new file mode 100644 index 0000000..f365a6f --- /dev/null +++ b/_site/assets/js/dist/misc.min.js @@ -0,0 +1,6 @@ +/*! + * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy/) + * © 2019 Cotes Chung + * MIT Licensed + */ +!function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r.row"),v=$("#topbar-title"),g=$("#search-wrapper"),y=$("#search-result-wrapper"),b=$("#search-results"),h=$("#search-input"),C=$("#search-hints"),k=$("html,body"),w="loaded",T="unloaded",j="input-focus",A="d-flex",S=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){e.offset=window.scrollY,k.scrollTop(0)}},{key:"off",value:function(){k.scrollTop(e.offset)}}]),e}();n(S,"offset",0),n(S,"resultVisible",!1);var x=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){f.addClass(T),v.addClass(T),d.addClass(T),g.addClass(A),m.addClass(w)}},{key:"off",value:function(){m.removeClass(w),g.removeClass(A),f.removeClass(T),v.removeClass(T),d.removeClass(T)}}]),e}(),E=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){S.resultVisible||(S.on(),y.removeClass(T),p.addClass(T),S.resultVisible=!0)}},{key:"off",value:function(){S.resultVisible&&(b.empty(),C.hasClass(T)&&C.removeClass(T),y.addClass(T),p.removeClass(T),S.off(),h.val(""),S.resultVisible=!1)}}]),e}();function F(){return m.hasClass(w)}$(".collapse");$(".code-header>button").children().attr("class");var O,D,P=function(){function e(){t(this,e)}return r(e,null,[{key:"attrTimestamp",get:function(){return"data-ts"}},{key:"attrDateFormat",get:function(){return"data-df"}},{key:"locale",get:function(){return $("html").attr("lang").substring(0,2)}},{key:"getTimestamp",value:function(t){return Number(t.attr(e.attrTimestamp))}},{key:"getDateFormat",value:function(t){return t.attr(e.attrDateFormat)}}]),e}();O=$(window),D=$("#back-to-top"),O.on("scroll",(function(){O.scrollTop()>50?D.fadeIn():D.fadeOut()})),D.on("click",(function(){O.scrollTop(0)})),o(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new bootstrap.Tooltip(t)})),0!==l.length&&l.off().on("click",(function(t){var e=$(t.target),r=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),r.trigger("blur")})),$("#sidebar-trigger").on("click",c.toggle),$("#mask").on("click",c.toggle),d.on("click",(function(){x.on(),E.on(),h.trigger("focus")})),m.on("click",(function(){x.off(),E.off()})),h.on("focus",(function(){g.addClass(j)})),h.on("focusout",(function(){g.removeClass(j)})),h.on("input",(function(){""===h.val()?F()?C.removeClass(T):E.off():(E.on(),F()&&C.addClass(T))})),dayjs.locale(P.locale),dayjs.extend(window.dayjs_plugin_localizedFormat),$("[".concat(P.attrTimestamp,"]")).each((function(){var t=dayjs.unix(P.getTimestamp($(this))),e=t.format(P.getDateFormat($(this)));$(this).text(e),$(this).removeAttr(P.attrTimestamp),$(this).removeAttr(P.attrDateFormat);var r=$(this).attr("data-bs-toggle");if(void 0!==r&&"tooltip"===r){var n=t.format("llll");$(this).attr("data-bs-title",n),new bootstrap.Tooltip($(this))}}))}(); diff --git a/_site/assets/js/dist/page.min.js b/_site/assets/js/dist/page.min.js new file mode 100644 index 0000000..dcce2df --- /dev/null +++ b/_site/assets/js/dist/page.min.js @@ -0,0 +1,6 @@ +/*! + * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy/) + * © 2019 Cotes Chung + * MIT Licensed + */ +!function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n.row"),v=$("#topbar-title"),g=$("#search-wrapper"),b=$("#search-result-wrapper"),h=$("#search-results"),y=$("#search-input"),C=$("#search-hints"),w=$("html,body"),k="loaded",S="unloaded",A="input-focus",T="d-flex",E=function(){function e(){t(this,e)}return n(e,null,[{key:"on",value:function(){e.offset=window.scrollY,w.scrollTop(0)}},{key:"off",value:function(){w.scrollTop(e.offset)}}]),e}();r(E,"offset",0),r(E,"resultVisible",!1);var j=function(){function e(){t(this,e)}return n(e,null,[{key:"on",value:function(){f.addClass(S),v.addClass(S),d.addClass(S),g.addClass(T),p.addClass(k)}},{key:"off",value:function(){p.removeClass(k),g.removeClass(T),f.removeClass(S),v.removeClass(S),d.removeClass(S)}}]),e}(),x=function(){function e(){t(this,e)}return n(e,null,[{key:"on",value:function(){E.resultVisible||(E.on(),b.removeClass(S),m.addClass(S),E.resultVisible=!0)}},{key:"off",value:function(){E.resultVisible&&(h.empty(),C.hasClass(S)&&C.removeClass(S),b.addClass(S),m.removeClass(S),E.off(),y.val(""),E.resultVisible=!1)}}]),e}();function O(){return p.hasClass(k)}$(".collapse");var P=".code-header>button",V="fas fa-check",I="timeout",N="data-title-succeed",q="data-bs-original-title",z=2e3;function D(t){if($(t)[0].hasAttribute(I)){var e=$(t).attr(I);if(Number(e)>Date.now())return!0}return!1}function M(t){$(t).attr(I,Date.now()+z)}function U(t){$(t).removeAttr(I)}var B,J,L,Y=$(P).children().attr("class");function F(t){t.parent().removeClass("shimmer")}B=$(window),J=$("#back-to-top"),B.on("scroll",(function(){B.scrollTop()>50?J.fadeIn():J.fadeOut()})),J.on("click",(function(){B.scrollTop(0)})),o(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new bootstrap.Tooltip(t)})),0!==l.length&&l.off().on("click",(function(t){var e=$(t.target),n=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),n.trigger("blur")})),$("#sidebar-trigger").on("click",c.toggle),$("#mask").on("click",c.toggle),d.on("click",(function(){j.on(),x.on(),y.trigger("focus")})),p.on("click",(function(){j.off(),x.off()})),y.on("focus",(function(){g.addClass(A)})),y.on("focusout",(function(){g.removeClass(A)})),y.on("input",(function(){""===y.val()?O()?C.removeClass(S):x.off():(x.on(),O()&&C.addClass(S))})),(L=$("#core-wrapper img[data-src]")).length<=0||(document.addEventListener("lazyloaded",(function(t){F($(t.target))})),L.each((function(){$(this).hasClass("ls-is-cached")&&F($(this))}))),$(".popup")<=0||$(".popup").magnificPopup({type:"image",closeOnContentClick:!0,showCloseBtn:!1,zoom:{enabled:!0,duration:300,easing:"ease-in-out"}}),function(){if($(P).length){var t=new ClipboardJS(P,{target:function(t){return t.parentNode.nextElementSibling.querySelector("code .rouge-code")}});o(document.querySelectorAll(P)).map((function(t){return new bootstrap.Tooltip(t,{placement:"left"})})),t.on("success",(function(t){t.clearSelection();var e=t.trigger;D(e)||(!function(t){$(t).children().attr("class",V)}(e),function(t){var e=$(t).attr(N);$(t).attr(q,e).tooltip("show")}(e),M(e),setTimeout((function(){!function(t){$(t).tooltip("hide").removeAttr(q)}(e),function(t){$(t).children().attr("class",Y)}(e),U(e)}),z))}))}$("#copy-link").on("click",(function(t){var e=$(t.target);D(e)||navigator.clipboard.writeText(window.location.href).then((function(){var t=e.attr(q),n=e.attr(N);e.attr(q,n).tooltip("show"),M(e),setTimeout((function(){e.attr(q,t),U(e)}),z)}))}))}()}(); diff --git a/_site/assets/js/dist/post.min.js b/_site/assets/js/dist/post.min.js new file mode 100644 index 0000000..916e367 --- /dev/null +++ b/_site/assets/js/dist/post.min.js @@ -0,0 +1,6 @@ +/*! + * Chirpy v6.1.0 (https://github.com/cotes2020/jekyll-theme-chirpy/) + * © 2019 Cotes Chung + * MIT Licensed + */ +!function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r.row"),g=$("#topbar-title"),v=$("#search-wrapper"),h=$("#search-result-wrapper"),b=$("#search-results"),y=$("#search-input"),w=$("#search-hints"),C=$("html,body"),k="loaded",S="unloaded",T="input-focus",A="d-flex",j=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){e.offset=window.scrollY,C.scrollTop(0)}},{key:"off",value:function(){C.scrollTop(e.offset)}}]),e}();n(j,"offset",0),n(j,"resultVisible",!1);var x=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){f.addClass(S),g.addClass(S),d.addClass(S),v.addClass(A),p.addClass(k)}},{key:"off",value:function(){p.removeClass(k),v.removeClass(A),f.removeClass(S),g.removeClass(S),d.removeClass(S)}}]),e}(),E=function(){function e(){t(this,e)}return r(e,null,[{key:"on",value:function(){j.resultVisible||(j.on(),h.removeClass(S),m.addClass(S),j.resultVisible=!0)}},{key:"off",value:function(){j.resultVisible&&(b.empty(),w.hasClass(S)&&w.removeClass(S),h.addClass(S),m.removeClass(S),j.off(),y.val(""),j.resultVisible=!1)}}]),e}();function D(){return p.hasClass(k)}$(".collapse");var O=".code-header>button",F="fas fa-check",P="timeout",N="data-title-succeed",V="data-bs-original-title",q=2e3;function I(t){if($(t)[0].hasAttribute(P)){var e=$(t).attr(P);if(Number(e)>Date.now())return!0}return!1}function z(t){$(t).attr(P,Date.now()+q)}function L(t){$(t).removeAttr(P)}var M=$(O).children().attr("class");function U(t){t.parent().removeClass("shimmer")}var _,B,J,Y=function(){function e(){t(this,e)}return r(e,null,[{key:"attrTimestamp",get:function(){return"data-ts"}},{key:"attrDateFormat",get:function(){return"data-df"}},{key:"locale",get:function(){return $("html").attr("lang").substring(0,2)}},{key:"getTimestamp",value:function(t){return Number(t.attr(e.attrTimestamp))}},{key:"getDateFormat",value:function(t){return t.attr(e.attrDateFormat)}}]),e}();_=$(window),B=$("#back-to-top"),_.on("scroll",(function(){_.scrollTop()>50?B.fadeIn():B.fadeOut()})),B.on("click",(function(){_.scrollTop(0)})),o(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new bootstrap.Tooltip(t)})),0!==l.length&&l.off().on("click",(function(t){var e=$(t.target),r=e.prop("tagName")==="button".toUpperCase()?e:e.parent();modeToggle.flipMode(),r.trigger("blur")})),$("#sidebar-trigger").on("click",u.toggle),$("#mask").on("click",u.toggle),d.on("click",(function(){x.on(),E.on(),y.trigger("focus")})),p.on("click",(function(){x.off(),E.off()})),y.on("focus",(function(){v.addClass(T)})),y.on("focusout",(function(){v.removeClass(T)})),y.on("input",(function(){""===y.val()?D()?w.removeClass(S):E.off():(E.on(),D()&&w.addClass(S))})),(J=$("#core-wrapper img[data-src]")).length<=0||(document.addEventListener("lazyloaded",(function(t){U($(t.target))})),J.each((function(){$(this).hasClass("ls-is-cached")&&U($(this))}))),$(".popup")<=0||$(".popup").magnificPopup({type:"image",closeOnContentClick:!0,showCloseBtn:!1,zoom:{enabled:!0,duration:300,easing:"ease-in-out"}}),dayjs.locale(Y.locale),dayjs.extend(window.dayjs_plugin_localizedFormat),$("[".concat(Y.attrTimestamp,"]")).each((function(){var t=dayjs.unix(Y.getTimestamp($(this))),e=t.format(Y.getDateFormat($(this)));$(this).text(e),$(this).removeAttr(Y.attrTimestamp),$(this).removeAttr(Y.attrDateFormat);var r=$(this).attr("data-bs-toggle");if(void 0!==r&&"tooltip"===r){var n=t.format("llll");$(this).attr("data-bs-title",n),new bootstrap.Tooltip($(this))}})),function(){if($(O).length){var t=new ClipboardJS(O,{target:function(t){return t.parentNode.nextElementSibling.querySelector("code .rouge-code")}});o(document.querySelectorAll(O)).map((function(t){return new bootstrap.Tooltip(t,{placement:"left"})})),t.on("success",(function(t){t.clearSelection();var e=t.trigger;I(e)||(!function(t){$(t).children().attr("class",F)}(e),function(t){var e=$(t).attr(N);$(t).attr(V,e).tooltip("show")}(e),z(e),setTimeout((function(){!function(t){$(t).tooltip("hide").removeAttr(V)}(e),function(t){$(t).children().attr("class",M)}(e),L(e)}),q))}))}$("#copy-link").on("click",(function(t){var e=$(t.target);I(e)||navigator.clipboard.writeText(window.location.href).then((function(){var t=e.attr(V),r=e.attr(N);e.attr(V,r).tooltip("show"),z(e),setTimeout((function(){e.attr(V,t),L(e)}),q)}))}))}(),document.querySelector("#core-wrapper h2,#core-wrapper h3")&&tocbot.init({tocSelector:"#toc",contentSelector:".post-content",ignoreSelector:"[data-toc-skip]",headingSelector:"h2, h3",orderedList:!1,scrollSmooth:!1})}(); diff --git a/_site/categories/blogging/index.html b/_site/categories/blogging/index.html new file mode 100644 index 0000000..9dcf73f --- /dev/null +++ b/_site/categories/blogging/index.html @@ -0,0 +1,1673 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blogging | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Categories + + + + + + + Blogging + + + + + + + + + + +
+ Category +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + Blogging + 1 +

+ + +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/categories/demo/index.html b/_site/categories/demo/index.html new file mode 100644 index 0000000..2b10553 --- /dev/null +++ b/_site/categories/demo/index.html @@ -0,0 +1,1671 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Demo | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Categories + + + + + + + Demo + + + + + + + + + + +
+ Category +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + Demo + 1 +

+ + +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/categories/index.html b/_site/categories/index.html new file mode 100644 index 0000000..25493b5 --- /dev/null +++ b/_site/categories/index.html @@ -0,0 +1,1710 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Categories | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + Categories + + + + + + + + + + +
+ Categories +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + +

+ Categories +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + Blogging + + + + + + 1 + + category + , + + + 1 + + + post + + + + + + + + + + +
+ + + + +
+
    + +
  • + + + + Demo + + + + 1 + + + post + + +
  • + +
+
+ +
+ + + + + + + + + + + + + + +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/feed.xml b/_site/feed.xml new file mode 100644 index 0000000..17e4569 --- /dev/null +++ b/_site/feed.xml @@ -0,0 +1,227 @@ + + + + http://localhost:4000/ + neo's brain + A minimal, responsive and feature-rich Jekyll theme for technical writing. + 2023-08-23T16:54:25-05:00 + + Eric Reymundo + http://localhost:4000/ + + + + Jekyll + © 2023 Eric Reymundo + /assets/img/favicons/favicon.ico + /assets/img/favicons/favicon-96x96.png + + + + + Flaws.cloud walkthrough + + 2023-08-23T15:36:23-05:00 + + 2023-08-23T16:07:17-05:00 + + http://localhost:4000/posts/Flaws.cloud-AWS/ + + + Eric Reymundo + + + + + + + + + + + + + + + Flaws.cloud walkthrough + +DayCyberWox Walkthrough: https://www.youtube.com/watch?v=fEjAryrzLSQ +Write up: https://daycyberwox.com/exploiting-aws-1-a-beginners-guide-flawscloud#heading-level1 + +Through a series of levels you'll learn about common mistakes and gotchas when using Amazon Web Services (AWS). There are no SQL injection, XSS, buffer overflows, or many of the other vulnerabilities you mig... + + + + + + + + Building a Custom Malware Analysis Lab Enviornment + + 2023-08-23T15:33:46-05:00 + + 2023-08-23T15:37:29-05:00 + + http://localhost:4000/posts/Building-a-Custom-Malware-Analysis-Lab-Environment/ + + + Eric Reymundo + + + + + + + + + + + + + + + https://www.sentinelone.com/labs/building-a-custom-malware-analysis-lab-environment/ + + +Introduction + +Building the right malware analysis environment is the first step for every malware researcher. When all system configurations and software installations are complete, you’re able to analyze and investigate malware properly. In this post, I wanted to share my own experiences and scripts to help ... + + + + + + + + Mac M1 Run Diablo 4 - Links + + 2023-08-23T10:36:19-05:00 + + 2023-08-23T16:39:47-05:00 + + http://localhost:4000/posts/Mac-M1-Run-Diablo-4/ + + + Eric Reymundo + + + + + + + + + + + + + + + + Resources that can help you get started with the Game Porting Tool Kit to run Diablo 4 on Mac M1 architecture. + + +Resources: + +https://www.outcoldman.com/en/archive/2023/06/07/playing-diablo-4-on-macos + +https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9 + +https://stackoverflow.com/questions/17980759/xcode-select-active-developer-directory-error + +... + + + + + + + + M1 Mac - How to Switch the Terminal between x86_64 and arm64 + + 2023-08-23T10:36:14-05:00 + + 2023-08-23T15:57:13-05:00 + + http://localhost:4000/posts/M1-Mac-How-to-switch-the-Terminal-between-x86_64-and-arm64/ + + + Eric Reymundo + + + + + + + + + + + + + + + How to Switch the Terminal between x86_64 and arm64 +https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9 + +Here is a simple writeup on how I switch between x86_64 and arm64 in the Terminal app on my MacBook Pro with Apple Silicon. + +So you have the new Mac with Apple Silicon. However, a lot of your projects are compiled in x86 and/or you are still bu... + + + + + + + + Diablo 4 - Shadow Rouge Build + + 2023-08-23T10:36:08-05:00 + + 2023-08-23T15:37:29-05:00 + + http://localhost:4000/posts/Diablo-4-Shadow-Rogue-Build/ + + + Eric Reymundo + + + + + + + + + + + + + + + This is a beginner friendly build. + + +Skill Tree + +https://d4builds.gg/builds/a175bae2-7adf-4155-a347-509d4efbb86c/ + +Skill Tree Guide + +https://fextralife.com/diablo-4-shadow-rogue-build-twisting-blades/ + +Youtube Video: https://www.youtube.com/watch?v=IRgXnTgvZiE + +Diablo 4 Shadow Rogue Build – Twisting Blades + + May 31, 2023,  Ryuga,  0 + +Diablo 4 Shadow Rogue Build Guide: In this Diablo 4 Rogue Cla... + + + + + + + + diff --git a/_site/index.html b/_site/index.html new file mode 100644 index 0000000..d811e05 --- /dev/null +++ b/_site/index.html @@ -0,0 +1,2392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + Home + + + + + + + +
+ neo's brain +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + +
Responsive rendering of Chirpy theme on multiple devices.
+ + +
+

+ Text and Typography +

+ +
+

+ + + + + + + This post is to show Markdown syntax rendering on Chirpy, you can also use it as an example of writing. Now, let’s start looking at text and typography. + +Headings + +H1 - heading + +H2 - heading + +H3 - ... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ Flaws.cloud walkthrough +

+ +
+

+ + + + + + + Flaws.cloud walkthrough + +DayCyberWox Walkthrough: https://www.youtube.com/watch?v=fEjAryrzLSQ +Write up: https://daycyberwox.com/exploiting-aws-1-a-beginners-guide-flawscloud#heading-level1 + +Through... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ Building a Custom Malware Analysis Lab Enviornment +

+ +
+

+ + + + + + + https://www.sentinelone.com/labs/building-a-custom-malware-analysis-lab-environment/ + + +Introduction + +Building the right malware analysis environment is the first step for every malware researcher. ... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ Mac M1 Run Diablo 4 - Links +

+ +
+

+ + + + + + + + Resources that can help you get started with the Game Porting Tool Kit to run Diablo 4 on Mac M1 architecture. + + +Resources: + +https://www.outcoldman.com/en/archive/2023/06/07/playing-diablo-4-on-... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ M1 Mac - How to Switch the Terminal between x86_64 and arm64 +

+ +
+

+ + + + + + + How to Switch the Terminal between x86_64 and arm64 +https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9 + +Here is a simple writeup on how I switch bet... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ Diablo 4 - Shadow Rouge Build +

+ +
+

+ + + + + + + This is a beginner friendly build. + + +Skill Tree + +https://d4builds.gg/builds/a175bae2-7adf-4155-a347-509d4efbb86c/ + +Skill Tree Guide + +https://fextralife.com/diablo-4-shadow-rogue-build-twisting-blad... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ Diablo 4 HellTide Events +

+ +
+

+ + + + + + + Diablo 4 HellTide Events + +When you guys hit World Tier 3, do helltide events everytime you can, they’re stupidly important because they’re the only source of Forgotten Souls and you need a lot of t... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ SANS SEC 504 - Resources +

+ +
+

+ + + + + + + Malware stuff +https://digitalcommons.lsu.edu/cgi/viewcontent.cgi?article=6527&amp;context=gradschool_theses + +https://github.com/volatilityfoundation/volatility/wiki/Mac + +Volatility +A few volatility... +

+
+ + + +
+ +
+
+ + +
+ + +
+

+ Admonitions Documentation +

+ +
+

+ + + + + + + + Note +It appears a note in MarkDown is not possible currently. +Reference: https://talk.commonmark.org/t/github-is-beta-testing-their-own-admonition-syntax-we-should-weigh-in/4173 + + +GitHub Link: h... +

+
+ + + +
+ +
+
+ +
+ + + + + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/norobots/index.html b/_site/norobots/index.html new file mode 100644 index 0000000..b983321 --- /dev/null +++ b/_site/norobots/index.html @@ -0,0 +1,11 @@ + + + + Redirecting… + + + + +

Redirecting…

+ Click here if you are not redirected. + diff --git a/_site/posts/Admonitions-Documentation/index.html b/_site/posts/Admonitions-Documentation/index.html new file mode 100644 index 0000000..ec5c965 --- /dev/null +++ b/_site/posts/Admonitions-Documentation/index.html @@ -0,0 +1,4493 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Admonitions Documentation | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + Admonitions Documentation + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Admonitions Documentation

+ + + +
+
+

Note +It appears a note in MarkDown is not possible currently. +Reference: https://talk.commonmark.org/t/github-is-beta-testing-their-own-admonition-syntax-we-should-weigh-in/4173

+
+ +

GitHub Link: https://github.com/javalent/admonitions

+ +

Obsidian Admonition

+ +

Adds admonition block-styled content to Obsidian.md, styled after Material for MkDocs

+ +

Please note!

+ +

Obsidian 0.14 adds support for Callout boxes!

+ +

With this change, Admonitions will be transitioning to a plugin that enhances the core callout box feature.

+ +

What does this mean, you might ask?

+ +
    +
  1. All of your existing code block admonitions will continue to work, and will always work!
  2. +
  3. You can continue to use Admonitions to create custom types, and all of your custom types will just work as a callout, without you having to do anything!
  4. +
  5. If you have any Microsoft Document syntax admonitions, they will have to be converted to the new callout box syntax - there is a button in Admonition settings to auto-convert these for you.
  6. +
  7. You can use Admonitions to set default titles, default collapse states, or defaulting to not having a title.
  8. +
  9. Admonitions adds helpful editor suggestors for quickly entering your custom callout boxes.
  10. +
  11. Admonitions adds helpful commands for inserting callout boxes, including the ability to register commands for specific types.
  12. +
+ +

Usage

+ +

+ +

Place a code block with the admonition type:

+ +
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.
+
+ +

Becomes:

+ +

+ +

Options

+ +

```ad- # Admonition type. See below for a list of available types. +title: # Admonition title. +collapse: # Create a collapsible admonition. +icon: # Override the icon. +color: # Override the color. +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.

+
+ +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+
+Please note that as of **4.4.1**, the `title`, `collapse`, `icon` and `color` parameters must be at the _top_ of the block, in any order.
+
+### Title
+
+The admonition will render with the type of admonition by default. If you wish to customize the title, you can do so this way:
+
+```ad-note
+title: Title
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.
+
+ +

+ +

Custom titles are rendered as Markdown, so they support the full Obsidian Markdown syntax.

+ +

+ +

+ +

Leave the title field blank to only display the admonition.

+ +
title:
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.
+
+ +

+ +

Collapsible

+ +

Use the collapse parameter to create a collapsible admonition.

+ +

collapse: open will start the admonition opened on render, but allow collapse on click.

+ +

If a blank title is provided, the collapse parameter will not do anything.

+ +

Admonitions may be set to be collapsible by default in settings.

+ +

+ +

Icon

+ +

The admonition icon can be overridden using the icon parameter. The icon name entered must be the exact icon name from FontAwesome or RPGAwesome.

+ +
+ +
1
+2
+3
+4
+5
+6
+
```ad-note
+icon: triforce
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.
+
+```
+
+ +

Color

+ +

The admonition color can be overridden using the color parameter. The color entered must be an RGB triad.

+ +
+ +
1
+2
+3
+4
+5
+6
+
```ad-note
+color: 200, 200, 200
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla.
+
+```
+
+ +

No Content

+ +

An admonition with no content will render as just the title block.

+ +
+ +
1
+2
+
```ad-note
+```
+
+ +

Nesting Admonitions

+ +

Nesting admonitions may be done by increasing the number of backticks.

+ +

Example:

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+
`````ad-note
+title: Nested Admonitions
+collapse: open
+
+Hello!
+
+````ad-note
+title: This admonition is nested.
+This is a nested admonition!
+
+```ad-warning
+title: This admonition is closed.
+collapse: close
+```
+
+````
+
+This is in the original admonition.
+`````
+
+ +

Rendering Code Blocks inside Admonitions

+ +

Code blocks may be nested inside admonitions using a method similar to Nesting Admonitions above.

+ +

Additionally, for a single layer, the ~~~ markdown codeblock syntax may be used:

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+
````ad-info
+
+```ad-bug
+title: I'm Nested!
+~~~javascript
+throw new Error("Oops, I'm a bug.");
+~~~
+```
+
+```javascript
+console.log("Hello!");
+```
+
+````
+
+ +

+ +

Admonition Types

+ +

The following admonition types are currently supported:

+ +

Type

+ +

Aliases

+ +

note

+ +

note, seealso

+ +

abstract

+ +

abstract, summary, tldr

+ +

info

+ +

info, todo

+ +

tip

+ +

tip, hint, important

+ +

success

+ +

success, check, done

+ +

question

+ +

question, help, faq

+ +

warning

+ +

warning, caution, attention

+ +

failure

+ +

failure, fail, missing

+ +

danger

+ +

danger, error

+ +

bug

+ +

bug

+ +

example

+ +

example

+ +

quote

+ +

quote, cite

+ +

See this for a reference of what these admonitions look like.

+ +

The default admonitions are customizable by creating a user-defined admonition of the same name.

+ +

Custom Admonitions & Callouts

+ +

Custom admonitions may be created in settings. Creating a custom admonition will also enable it to be used as an Obsidian callout.

+ +

Creating a new admonition requires three things: the type, the icon to use, and the color of the admonition.

+ +

Only one admonition of each type may exist at any given time; if another admonition of the same type is created, it will override the previously created one.

+ +

If a default admonition is overridden, it can be restored by deleting the user-defined admonition.

+ +

Please note that by default, the background color of the title is simply the color of the admonition at 10% opacity. CSS must be used to update this.

+ +

Images as Icons

+ +

Images can be uploaded to use as an admonition icon instead of an icon from a downloaded icon set.

+ +

These images will be resized to 24px x 24px to be stored in the plugin’s saved data.

+ +

To remove an image icon, simply choose an icon in the icon chooser text box.

+ +

Global Commands

+ +

Several commands are available for the plugin by default.

+ +

Collapse and Open All Admonitions In Note

+ +

If these two commands are triggered with an open note, all collapsible admonitions will be collapsed or open respectively.

+ +

Insert Admonition

+ +

This will open a modal where the admonition type, title and collapse behavior can be set, then the generated admonition code block will be inserted into the open editor.

+ +

Admonition-specific commands

+ +

Commands may be registered for each custom admonition type to insert them into an open note by clicking the Register Commands button in Settings.

+ +

3 commands will be registered: Insert <type> CalloutInsert <type>, and Insert <type> with Title.

+ +

Insert Callout

+ +

The selected type will be inserted as an Obsidian callout, and any selected text will be included with it.

+ +

Insert

+ +

The selected type will be inserted as a codeblock admonition, and any selected text will be included with it.

+ +

Insert with Title

+ +

The selected type will be inserted as a codeblock admonition, and any selected text will be included with it. The title: parameter will also be added and the cursor will be placed at that line.

+ +

Mermaid Graphs

+ +

Mermaid graphs are supported by Admonitions, but with some caveats:

+ +
    +
  1. You cannot combine mermaid graphs and embeds/transclusions.
  2. +
  3. Mermaid graphs do not work in collapsed-by-default admonitions.
  4. +
+ +

Non-code block Admonitions

+ +
+

❗ This syntax has been officially removed as of Admonitions 7.0.0.

+ +

Use the Obsidian Callout box syntax instead!

+
+ +

As of version 6.0.0, there is a new setting: Enable Non-codeblock Admonitions.

+ +

This setting is highly experimental and may not work as expected, and there are a few caveats listed at the end of this section to keep in mind.

+ +

This setting allows for creating an admonition without wrapping it in a code block, which means that links and tags will sync into Obsidian’s cache. A non-codeblock admonition may be created using the following syntax:

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+
+!!! ad-<type> Title goes here!
+
+content
+
+--- admonition
+
+
+ +

This will create the appropriate admonition type, embed the content, and give it the supplied title.

+ +

Titles

+ +

Titles should be placed after the admonition block. Currently, markdown in titles is not supported.

+ +

An empty title can be created by either placing two spaces after the admonition type:

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+
+!!! ad-<type>
+
+content
+
+--- admonition
+
+
+ +

or by placing empty double quotes:

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+
+!!! ad-<type> ""
+
+content
+
+--- admonition
+
+
+ +

Collapsible

+ +

A collapsible admonition may be created using the following syntax:

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+
+??? ad-<type> Title goes here!
+
+content
+
+--- admonition
+
+
+ +

A collapsible admonition may default to “open” by appending a +:

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+
+???+ ad-<type> Title goes here!
+
+content
+
+--- admonition
+
+
+ +

Caveats

+ +
    +
  1. Changes to the admonition after render require the cache to be cleared. The note must be closed and re-opened (and sometimes, a different note must be opened first). +
      +
    1. This is all changes, including the admonition type, title, content, even whether or not a collapsible admonition is open or closed initially.
    2. +
    +
  2. +
  3. Nested admonitions are not currently supported.
  4. +
+ +

If you experience any bugs using this setting, please create an issue and I will look into them.

+ +

Microsoft Document Syntax

+ +
+

❗ This syntax has been officially removed as of version 8.0.0.

+ +

Use the Obsidian Callout box syntax instead!

+
+ +

As of v6.8.0, an additional non-code block syntax can be used that is inspired by the Microsoft Document Syntax to render admonitions.

+ +
+

⚠️ Please note:

+ +

Unlike the Microsoft Document Syntax, the type is not required to be upper case.

+ +

The plugin will use an exact-match first, then try to find a case-insensitive match.

+
+ +
+

[!quote] +This is an admonition!

+
+ +

+ +

This syntax can also be used on indented code blocks:

+ +
+ +
1
+2
+
[!quote]
+This is an admonition!
+
+ +

Title

+ +

A title can be added to the MSDoc-style admonition by appending it after the type.

+ +
+

[!quote: This is the title!] +This is an admonition!

+
+ +

Like the code block syntax, providing an empty title will remove the title from the rendered admonition.

+ +
+

[!quote:] +This admonition won’t have a title!

+
+ +

Collapse

+ +

Collapse can be set by appending the following characters after the brackets:

+ +

Character

+ +

Collapse Type

+ +

+

+ +

open

+ +

-

+ +

closed

+ +

x

+ +

none

+ +

Publish

+ +

Obsidian plugins do not work on publish sites; however, version 6.4.0+ has an option to generate a JavaScript file that can be used on Publish sites with custom domains.

+ +

Obsidian Publish only allows external JavaScript on publish sites with custom domains. If your Publish is ran through Obsidian, this will not work.

+ +

Instructions:

+ +
    +
  1. Go the Admonition settings tab and click the “Generate JS for Publish” button.
  2. +
  3. Save the JavaScript file.
  4. +
  5. Copy the contents of the JS file to your publish.js file.
  6. +
  7. Add the contents of the assets/main.css file to your publish.css file.
  8. +
+ +

Please note that I can give no guarantees of stability on your publish site. Other JavaScript you include may conflict with this file. If you run into an issue using it, please create an issue on this repository and I will try to help you.

+ +

Icon Packs

+ +

Additional icon packs can be downloaded in settings.

+ +

Adding Icon Packs

+ +

Want to add an existing icon pack? Make a pull request with the following:

+ +
    +
  1. Add a new folder in the icons folder with the name of your icon set.
  2. +
  3. Create an icons.json file that has the icons defined as an Object. Please see the Octicons json for reference.
  4. +
  5. Put your icon pack’s information in the two variables in the Icon Packs file.
  6. +
+ +

Settings

+ +

Custom Admonition Types

+ +

Custom admonition types can be created and managed in this section of the settings.

+ +

Export Custom Types as CSS

+ +

This button will generate a CSS snippet that you can save and use for your custom callout types.

+ +

Importing Custom Admonitions

+ +

Custom admonitions can be imported in settings from a JSON array of definitions.

+ +

At a minimum, you only need a valid admonition type:

+ +

[ + { + “type”: “my-custom-type” + } +]

+ +

This will use the pencil-alt FontAwesome icon and a random color, and set all other properties as false.

+ +

However, you can specify an icon and color as well:

+ +

[ + { + “type”: “my-custom-type”, + “icon”: “globe”, + “color”: “120,120,120” + } +]

+ +

If you want to specify an icon pack, you can do so like this:

+ +

[ + { + “type”: “my-custom-type”, + “icon”: { + “name”: “globe”, + “type”: “font-awesome” + }, + “color”: “120,120,120” + } +]

+ +

All of the possible fields are defined here.

+ +

Admonition Settings

+ +

Settings specific to admonitions are managed in this section.

+ +

Add Drop Shadow

+ +

A drop shadow will be added to admonitions by default.

+ +

If this setting is off, rendered admonitions will receive the .no-drop class.

+ +

Collapsible By Default

+ +

All admonitions will be collapsible by default, unless collapse: none is set in the admonition parameters.

+ +

Default Collapse Type

+ +
+

⚠️ This setting is only available when Collapsible By Default is true.

+
+ +

Set the default collapse type used when setting an admonition collapsible by default.

+ +

Add Copy Button

+ +

A “Copy Content” button will be added to the top-right corner of the admonition & callout content.

+ +

Parse Titles as Markdown

+ +

Turn this setting off to prevent admonition titles from being rendered as markdown.

+ +

Set Admonition Colors

+ +

Controls whether or not a rendered admonition will receive a color.

+ +

Turn this off to totally control color via CSS.

+ +

Hide Empty Admonitions

+ +

Admonitions with no content are hidden by default.

+ +
+

⚠️ Please note that this only works for Admonitions that have no text content whatsoever.

+
+ +

Icon Packs

+ +

Use Font Awesome Icons

+ +

The plugin comes pre-bundled with the entire Font Awesome Free icon set. Turn this setting off to not include them in the icon picker.

+ +

Existing custom Admonitions that use Font Awesome icons will continue to work.

+ +

Additional Icon Packs

+ +

Additional icon packs can be downloaded to supplement the included Font Awesome Free icon set.

+ +

Downloading an icon pack requires an internet connection.

+ +

Current additional icon packs available are the Octicons set and the RPG Awesome set.

+ +
+

📝 For backwards compability, if an Admonition was created prior to version 7.0.0 using an RPG Awesome icon, the pack will try to be downloaded.

+
+ +

Additional Syntaxes

+ +

Obsidian 0.14 has introduced Callout boxes to its core functionality using a similar syntax to the Microsoft Document callouts.

+ +

This has rendered the Microsoft Document syntax for Admonitions obsolete, but Admonitions can still be used to create and manage your custom callout types.

+ +

Your existing code block Admonitions will always work!

+ +

Enable Non-codeblock Admonitions

+ +
+

❗ This setting has been removed as of version 7.0.0.

+ +

It is recommended to use the Obsidian Callout box instead.

+
+ +

Enabled use of !!! ad-<type> style admonitions. No longer supported, will be removed in a future version.

+ +

Allow Microsoft Document Syntax

+ +
+

❗ This syntax has been officially removed as of version 8.0.0.

+ +

Use the Obsidian Callout box syntax instead!

+
+ +

Enables use of the Microsoft Document Syntax for blockquote admonitions.

+ +

Use Microsoft Document Syntax for Indented Code Blocks

+ +
+

❗ This syntax has been officially removed as of version 8.0.0.

+ +

Use the Obsidian Callout box syntax instead!

+
+ +

Enables use of the Microsoft Document Syntax for indented code blocks.

+ +

Render Microsoft Document Syntax in Live Preview

+ +
+

❗ This syntax has been officially removed as of version 8.0.0.

+ +

Use the Obsidian Callout box syntax instead!

+
+ +

Enables use of the Microsoft Document Syntax in live preview.

+ +

This feature is still under development and you may experience rendering bugs.

+ +

Convert MSDoc Admonitions to Callouts (v8.0.0+)

+ +

This button can be used to convert any existing Microsoft Document syntax Admonitions to the new Callout box syntax.

+ +

Advanced Settings

+ +

Markdown Syntax Highlighting

+ +

Enable syntax highlighting when editing admonition code blocks.

+ + + +

The plugin will attempt to syncronize links to the metadata cache to be displayed in graph view.

+ +

This setting is experimental. Links will only be synced when rendered in an admonition and they will not persist if you close and re-open Obsidian.

+ +

Please see this issue for more information.

+ +

If you require links to be fully synced, it is recommended to use the Microsoft Document Syntax.

+ +

Generate JS for Publish

+ +

Use this setting to enable Admonitions on custom-domain Obsidian Publish websites.

+ +

See [Publish] for more information.

+ +

Todo

+ +

No additional features are planned at this time. If there is a feature missing that you would like to see, please open an issue.

+ +
    +
  •  Add the ability to collapse the admonition
  • +
  •  Custom admonitions
  • +
  •  Settings tab to customize icon and color of all admonitions
  • +
  •  Ability to render markdown inside an admonition
  • +
+ +

Installation

+ +

From within Obsidian

+ +

From Obsidian v0.9.8, you can activate this plugin within Obsidian by doing the following:

+ +
    +
  • Open Settings > Third-party plugin
  • +
  • Make sure Safe mode is off
  • +
  • Click Browse community plugins
  • +
  • Search for this plugin
  • +
  • Click Install
  • +
  • Once installed, close the community plugins window and activate the newly installed plugin
  • +
+ +

From GitHub

+ +
    +
  • Download the Latest Release from the Releases section of the GitHub Repository
  • +
  • Extract the plugin folder from the zip to your vault’s plugins folder: <vault>/.obsidian/plugins/
    +Note: On some machines the .obsidian folder may be hidden. On MacOS you should be able to press Command+Shift+Dot to show the folder in Finder.
  • +
  • Reload Obsidian
  • +
  • If prompted about Safe Mode, you can disable safe mode and enable the plugin. Otherwise head to Settings, third-party plugins, make sure safe mode is off and enable the plugin from there.
  • +
+ +

Updates

+ +

You can follow the same procedure to update the plugin

+ +

Warning

+ +

This plugin comes with no guarantee of stability and bugs may delete data. Please ensure you have automated backups.

+ +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/Building-a-Custom-Malware-Analysis-Lab-Environment/index.html b/_site/posts/Building-a-Custom-Malware-Analysis-Lab-Environment/index.html new file mode 100644 index 0000000..cc92784 --- /dev/null +++ b/_site/posts/Building-a-Custom-Malware-Analysis-Lab-Environment/index.html @@ -0,0 +1,4074 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Building a Custom Malware Analysis Lab Enviornment | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + Building a Custom Malware Analysis Lab Enviornment + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Building a Custom Malware Analysis Lab Enviornment

+ + + +
+
https://www.sentinelone.com/labs/building-a-custom-malware-analysis-lab-environment/
+
+ +

Introduction

+ +

Building the right malware analysis environment is the first step for every malware researcher. When all system configurations and software installations are complete, you’re able to analyze and investigate malware properly. In this post, I wanted to share my own experiences and scripts to help ease the workload of setting up a malware environment to explore malicious software.

+ +

In this post, you will learn how to:

+ +
    +
  1. download, install and configure a free Windows 10 and a free REMnux Linux virtual machine
  2. +
  3. set up a virtual private network for communication between virtual machines
  4. +
  5. build a custom Windows malware environment with SentinelLabs RevCore Tools
  6. +
  7. learn how to capture network traffic from a Windows 10 virtual machine
  8. +
+ +

Installing Virtual Machines

+ +

When running multiple virtual machines, the host operating system will begin slowing down, so it is critical to set each virtual machine’s best requirements to optimize its performance. To set up the virtual machines in this post, I recommend that the Windows 10 virtual machine be set with the minimum requirements of two processor cores with 4GB of RAM and the Linux virtual machine with two processor cores with 2GB of RAM.

+ +

Downloading a Free Windows 10 Installation

+ +

Microsoft provides a free virtual machine which is intended for testing IE and Edge web browsers. To download the Microsoft virtual machine go to https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ and download the MSEdge on Windows 10 zip file and select your preferred VM platform, currently I’m using VM Fusion.

+ +

+ +

Downloading REMnux Linux

+ +

The next virtual machine we want to download is REMnux Linux. The REMnux distro is a Linux distribution based on Ubuntu. It has excellent tools for exploring network interactions for behavioral analysis and investigating system-level interactions of malware. To download REMnux go to https://docs.remnux.org/install-distro/get-virtual-appliance and download the Virtual Machine platform of your choice.

+ +

+ +

Installing and Configuring a Private Isolated Custom Network

+ +

Creating an isolated, controlled network environment when analyzing malware is extremely important due to the level of interaction it gives you with malware. VMware Fusion gives you the capabilities to change key networking settings and add a virtual private network configuration to use for analysis between hosts. We will only add two virtual machines to this lab environment, but you can add many virtual machines to this network. The procedures to create this network is as follows:

+ +
    +
  • Select the tab VMware Fusion->Preferences->Network; click the lock icon to make changes
  • +
  • Select the “+” button which creates a vmnet# under the Custom section.
  • +
  • Do not select the “Allow Virtual machines on this network to connect to external networks (using NAT)” option.
  • +
  • Add a Subnet IP: I’ve entered 10.1.2.0
  • +
  • Click Apply
  • +
+ +

+ +

Windows 10 Setup

+ +

Once you’ve created a custom network and both virtual machines have been downloaded, begin by unzipping the MSEdge Windows 10. Since I’m using VMware Fusion, I will go through how to import the virtual image; the process for importing the virtual machine with other platforms is similar.

+ +

Open up VMware Fusion and follow these steps:

+ +
    +
  1. After the zip has been unpacked enter the MSEdge-Win10-VMware folder.
  2. +
  3. Select in VMware Fusion File->Import MSEdge_Win10_VMware, hit Continue and save the Virtual Machine; it will take a few minutes to import the image.
  4. +
  5. Click on Customize Settings after the image has been imported.
  6. +
  7. Click into the Processors & Memory tab and confirm that the settings has two processor cores and the memory is 4096MB.
  8. +
  9. Before powering on the MSEdge Win10 virtual machine, take a snapshot and name it something like “VM Clean Import”.
  10. +
  11. When starting the virtual machine, if prompted to upgrade the virtual machine to greater feature compatibility support, choose Upgrade.
  12. +
  13. The password to the virtual machine is Passw0rd!
  14. +
  15. Open the command prompt to activate the virtual machine, type slmgr.vbs /ato.
  16. +
  17. When prompted, install VMware’s “Virtual Tools” and reboot.
  18. +
  19. Once the virtual machine has rebooted, complete login and immediately take a snapshot. Give it a descriptive name, such as “Activation and VM Tools Install” snapshot.
  20. +
+ +

+ +

REMnux Setup

+ +

The REMnux virtual machine downloads as an .ova file. I recommend you browse to docs.REMnux.org to confirm the hash of the downloaded OVA file.

+ +

+ +

If you are using VirtualBox, you can just import REMnux, but if you are using VMware Fusion or VMware Workstation, follow these instructions to import the REMnux:

+ +
    +
  1. Select File->Import->Choose File… and select remnux-v7, hit Continue and then Save.
  2. +
  3. When the import is complete, click on Customize Settings.
  4. +
  5. Click into the Processors & Memory pane under System Settings and leave the settings with two processor cores; reduce the memory from 4096MB to 2048MB.
  6. +
  7. For the REMnux network configuration, the setup is slightly different. We want to add an additional network adapter.Note: There are multiple reasons why I configure this virtual machine this way. If I need to update or download other software having the network adapter configured saves me time; the second is if I want to allow malware callouts.Once the import is complete and you’re in the “Settings” menu, select Network Adapter. The next step is to click Add Device… and select Network Adapter and Add…. Make sure the Share with my Mac radio button is set. Return to the main “Settings” panel and select Network Adapter 2. Click the vmnet2 radio button, then choose Show All to go back to Settings.
  8. +
  9. When starting the REMnux virtual machine, if prompted to upgrade the virtual machine to greater feature compatibility support, choose Upgrade.
  10. +
  11. Once REMnux boots, the credentials are: Username: remnux Password: malware.
  12. +
  13. I always change the password on my virtual machines: +
      +
    1. $passwd + UNIX password: malware + Enter new UNIX password: (your choice)
    2. +
    +
  14. +
  15. The next step is to configure the network settings. If you type ifconfig -a you should see two network adapters: +
      +
    1. Select NAT for the first network adapter. The virtual machine will get an address on that network from the VMware virtual DHCP server. You can ping google to see if you have connectivity or open the Firefox browser and connect to any website to confirm that you have internet access. If you do not, then type this command in terminal: $ sudo dhclient -r This should allow you to fetch an IP.
    2. +
    3. For the second adapter, ens37, type in this command:$ sudo ifconfig ens37 10.1.2.1 netmask 255.255.255.0
    4. +
    +
  16. +
  17. Hit the “Snapshot” button and name it something like “Clean Snapshot”.
  18. +
  19. Update and upgrade REMnux:$ sudo apt-get update; sudo apt-get upgrade
  20. +
+ +

Installing SentinelLabs RevCore Tools

+ +

One of the reasons I wanted to create a SentinelLabs VM Bare Bones malware analysis toolkit was that when installing FlareVM, I find it contains many tools that I do not use, and it takes a minimum of 40 minutes to install. I wanted to create a script of the core tools and system configurations that I need to be able to analyze malware.

+ +

Follow this procedure to instal SentinelLabs RevCore Tools on MSEdge WIndows 10:

+ +
    +
  1. Browse to the SentinelLabs RevCore Tools github page and download the zip.
  2. +
  3. Unzip it and drag the SentinelLabs_RevCore_Tools_codeSnippet.ps1 script onto your desktop.
  4. +
  5. If you are using the free downloaded Windows 10 virtual machine that I’ve mentioned above go to Step 4; if you are using your own Windows virtual machine continue with these substeps: +
      +
    1. Instead of dragging just the SentinelLabs_RevCore_Tools_codeSnippet.ps1, drag the entire folder onto your virtual machine desktop.
    2. +
    3. Open the SentinelLabs_RevCore_Tools_codeSnpippet.ps1 file and modify line 4 after -PackageName. You will modify the url and change it to the directory location on your desktop. E.g., 'https://raw.githubusercontent.com/SentineLabs/SentinelLabs_RevCore_Tools/master/SentinelLabs_RevCore_Tools.ps1' to 'c:UsersyourUsernameDesktopSentinelLabs_RevCore_Tools-mainSentinelLabRevCoreTools.ps1';
    4. +
    5. +

      The final thing to do is to modify the SentinelLabsRevCoreTools.ps1. On lines 105-117, replace IEUser with the User profiles name you are using. Save all files and run the script. E.g.,

      + +

      Install-ChocolateyShortcut -ShortcutFilePath “C:\Users\IEUser\Desktop\HxD.lnk” -TargetPath “C:\Program Files\HxD\HxD.exe”

      + +

      Install-ChocolateyShortcut -ShortcutFilePath “C:\Users\YourUser Profile\Desktop\HxD.lnk” -TargetPath “C:\Program Files\HxD\HxD.exe”

      +
    6. +
    7. Go to Step 5.
    8. +
    +
  6. +
  7. In the Windows 10 search bar, type powershell, right click and run as administrator. Browse to the location of the SentinelLabs_RevCore_Tools_codeSnippet.ps1 powershell script, then run the script:
    + .SentinelLabs_RevCore_Tools_codeSnippet.ps1.
  8. +
  9. +

    The script will cause two automatic reboots, and you’ll need to log in again with your user password after each. The first reboot will continue disabling various system services that could otherwise hinder your malware analysis and continue to install the core tools. After the second reboot, the script will finalize and confirm all of the configurations and installations.The installed tools and modified system configurations are listed below. Don’t forget to take a snapshot when it’s finished and you’ve reached the “Type ENTER to exit” point.

    + +
      +
    1. Tools:
      + Checksum, 7zip, Process Explorer, Autoruns, TCPview, Sysmon, HxD, PEbear, PEStudio, PEsieve, Cmder, NXlog, X64dbg, X32dbg, Ollydbg, IDA-Free, Cutter, Ghidra, Openjdk11, Python3, PIP, PIP pefile, PIP YaraA tool that I frequently use is Hiew, Chocolatey does not have Hiew in its collection. My recommendation is to download and try out the free version, once you see the power of Hiew you should definitely purchase lifetime access because it is worth every penny.
    2. +
    3. System Configuration:
      + Disabling – Bing Search, Game Bar Tips, Computer Restore, UAC, Update, Firewall, Windows Defender, Action Center
      + Set Window Theme, Set Wallpaper, Create Shortcuts For Tools
    4. +
    + +

    + +

    + +

    ## Network Traffic Collection

    + +

    When analyzing malware, often the malware operation and the C2s are still active, so an excellent way to stay under the radar is to run malware in a controlled environment. Analyzing network traffic is a trivial process in detecting malicious software callouts in real time network traffic. This section will help you configure your virtual machines to capture the detonated malicious software’s network traffic or statically step through debugged code, which allows your investigation to understand the potential threat at hand.

    + +

    The first thing that must be configured is the virtual private network communication between the MSEdge Windows 10 and REMnux:

    + +
      +
    1. On the Windows 10 virtual machine, select the custom vmnet2 network (Virtual Machine->Network Adapter->Custom (vmnet2)).
    2. +
    3. On the Windows 10 VM, right click on the network adapter in the taskbar and choose Open Network & Internet settings.
    4. +
    5. Select Ethernet and click on Change adapter options.
    6. +
    7. Right click on Ethernet0 and select Properties.
    8. +
    9. Double click on Internet Protocol Version 4 (TCP/IPv4).
    10. +
    11. Click the radio button to select “Use the following IP address:”, then add the IP address, Subnet mask, Default gateway, and Preferred DNS server as follows: +
        +
      1. IP Address: 10.1.2.100
      2. +
      3. Subnet mask: 255.255.255.0
      4. +
      5. Default Gateway: 10.1.2.1
      6. +
      7. Click the radio button to select “Use the following DNS server address:” and add: +
          +
        • Preferred DNS Server: 10.1.2.1
        • +
        +
      8. +
      9. Click OK to complete configuration of the network settings.
      10. +
      +
    12. +
    + +

    + +

    The REMnux adapter for the virtual private network has already been configured from the previous section.

    + +

    Now that the virtual machines are networked and can communicate with each other, it is time to configure a few tools on the REMnux virtual machine to capture traffic.

    + +

    Installed on REMnux are various tools you can use to capture network traffic. We will configure Burp Suite and INetSim. Burp Suite is typically used to test web application firewalls, but in our case we want to configure it so that when Windows 10 detonates malware, it will try to establish a connection to a domain or C2. The traffic will potentially use HTTPS and pass through Burp Suite, which will be bound to INetSim. INetSim is a software suite that simulates common services for lab environments to analyze malware’s network behavior.

    + +

    ## Burp Suite Configuration

    + +

    The Burp Suite setup is straightforward, but there are a couple of steps that we must configure before we can begin using it.

    + +
      +
    • Open a command prompt and type: $ sudo Burp Suite.
    • +
    • select Temporary project, then hit Next and then Start Burp.
    • +
    • Select the Proxy tab and then “Options”. Under Proxy Listeners, select the default interface and click the Edit button.
    • +
    • Under the Binding tab, set Bind to address to Specific address: 10.1.2.1 and  click OK.
    • +
    + +

    + +
      +
    • IMPORTANT STEP: +
        +
      • Go back to you MSEDGE Windows 10 virtual machine and open up the Edge browser.
      • +
      • Type in the address bar: http://10.1.2.1:8080. You should see “Burp Suite Community Edition”.
      • +
      • Download the CA Certificate on the top right side of the page.
      • +
      • Open the location of the file and double click on the certificate file.
      • +
      • Select Install Certificate....
      • +
      • Select Current User as the Store Location and click Next.
      • +
      • Select Automatically select the certificate store based on the type of certificate. Click Next and then click Finish.
      • +
      • Go into the settings of the EDGE Browser and disable all security functionalities; this will help with testing the connection to INetSim in the next section.
      • +
      • Make sure you take a snapshot.
      • +
      +
    • +
    + +

    + +

    Go back to the REMnux virtual machine. You should still be in Burp Suite Proxy tab, Edit proxy listener options.

    + +
      +
    • Under the Request handling tab, set Redirect to host to localhost and Redirect to port to 4443. Select support for invisible proxying.
    • +
    • Now go to the Intercept tab and make sure intercept is off.
    • +
    • Under Proxy Listeners, select the default and click Edit
    • +
    • Under the Binding tab, Bind to address: Specific address: 10.1.2.1 should still be kept, but change the Bind to port 443
    • +
    • Click on the Request handling tab and set the Redirect to host option to localhost and Redirect to port to 4443.
    • +
    • Select the Support invisible proxying (enable only if needed.) and click OK.
    • +
    + +

    + +

    ## INetSim Configuration Setup

    + +

    REMnux has INetSim preinstalled. Use your favorite text editor and open up the inetsim.conf file located in /etc/inetsim/. Follow the steps to configure INetSim:

    + +
      +
    1. $ sudo vi /etc/inetsim/inetsim.conf and enable all the services by uncommenting out the services by deleting the # character.Pro Tip: Be aware that malware could potentially detect it is running in a virtual environment by checking whether everything in this file is uncommented. I have yet to come across this, but it is good to be aware of the possibility. You could take a more conservative approach and only uncomment services you intend to use.
    2. +
    3. The next step is to bind the REMnux network adapter IP in the inetsim.conf file. The next section after the services menu is the service_bind_address. Uncomment the # and change the default IP address from 10.10.10.1 to 0.0.0.0.
    4. +
    5. Scroll down to the dns_default_ip section, uncomment the # and change the IP address from 10.10.10.1 to 10.1.2.1.
    6. +
    7. The last thing to do is to bind the HTTPS port so Burp Suite can route the traffic to the port 4443. Scroll down to the https_bind_port section, uncomment the # character and replace 443 with 4443.
    8. +
    9. Save the changes and exit the editor.
    10. +
    11. +

      The next step is to run the following commands which are VERY IMPORTANT to execute or INetSim will not work correctly. Ubuntu has a system-resolved system service which provides network name resolution to local applications. This conflicts with INetSim so we need to disable the service.We have to disable system-resolve and also mask it so that it doesn’t auto start on reboot. Finally, we will stop the service.

      + +

      $ sudo systemctl disable systemd-resolved + $ sudo systemctl mask systemd-resolved + $ sudo systemctl stop systemd-resolved

      + +

      +
    12. +
    13. The final step is to run INetSim:
      + $ sudo inetsim![](https://www.sentinelone.com/wp-content/uploads/2021/01/17.-sudo-inetsim.jpg)
    14. +
    + +

    To test network connectivity from your Windows 10 virtual machine, open a command prompt and ping 10.1.2.1, then open Edge browser and type 10.1.2.1. You should see the following message “This is the default HTML page for INetSim HTTP server fake mode.

    + +

    The final test is to make sure the DNS is working correctly and serving up requests. For this example, I type in the search bar https://www.mymaliciousdomain.com/malwaretrojan.exe. If everything is working, you should see a web page warning that the requested site is not secure.

    + +

    + +

    I also like using Wireshark to capture packets to analyze the pcaps when investigating malware.

    + +

    Open a new tab in your terminal in REMnux and type $ wireshark.

    + +

    Once the application has opened, click on the shark fin icon on the far left of the toolbar to begin capturing packets.

    + +

    + +

    ## Detonating Malware

    + +

    When malware is executed, it usually makes some request to a domain or IP address. INetSim helps with this by spoofing the responses to the malware that is waiting for a response. An example would be if malware was executed and reached out to a domain and will not proceed without a response unless the conditions were met, which is the response. If the malware doesn’t receive the response, it would terminate and not continue its malicious actions. This is where the live environment assists us with responding to callouts and capturing network traffic.

    + +

    For the final step of the lab environment setup, we will detonate a notorious binary trojan (or any malware you choose) to test the configuration is working correctly.

    + +

    I’m testing with a Trickbot binary (SHA256: 49d95cae096f7f73b3539568b450076227b4ca42c0240044a7588ddc1f1b6985). I’ve opened Process Explorer and TCPView to monitor the execution of this variant of Trickbot.

    + +

    + +

    + +

    Detonating malware can save a lot of time before diving deep into reverse engineering as it allows you to gather insight and create an unbiased hypothesis. In this example, when we detonated this trickbot sample there were three callouts that stuck out:

    + +
      +
    • The callouts were to fetch files from Microsoft Updates site; these cab files called were automatic updaters of untrusted certificates. A certificate trust list is a predefined list of items signed by a trusted entity. These requested cab files are used to update and expand the existing functionality by adding known untrusted certificates to the untrusted certificate store by using a certificate trust list.
    • +
    + +

    + +

    Although Trickbot is one of the more prolific malware strains today and is more complex than a few callouts, it is a good starting point if you are in the beginning stages of research and have never encountered this binary.

    + +

    I’ve been successfully using this lab setup for many years. A real-world example of using this lab setup occurred when I was brought in to help with an incident at short notice back in 2016. I didn’t have time for an initial triage of the binary as I was joining a war room call for the briefing by the investigation team lead. I started both VMs from snapshots and detonated the binary while being brought up to speed about the incident. Within 5 minutes, I informed the investigation lead about an IP that the specific binary was calling out to, which was enough to give the threat hunters a place to begin. After the war room call, I started reversing the malware and extracting additional IOCs and TTPs.

    + +

    ## Conclusion

    + +

    A lab environment setup and configuration varies during malware analysis. When analyzing malware you need different tools to dissect and do deep analysis. I hope the SentinelLabs RevCore Tools and configurations in this setup assists, but there might be a time that you need to analyze something different, like a dot net file, and may need an additional tool to fully disassemble the binary. The journey of reversing malware is a marathon and not a sprint; growing your skill and learning from every malware analyzed should be the goal.

    + +

    ## Resources

    + +

    https://support.microsoft.com/en-us/help/2677070/an-automatic-updater-of-untrusted-certificates-is-available-for-window

    + +

    https://askubuntu.com/questions/191226/dnsmasq-failed-to-create-listening-socket-for-port-53-address-already-in-use

    + +

    https://gallery.technet.microsoft.com/scriptcenter/Change-the-Desktop-b5b2141c

    + +

    https://gist.github.com/trietptm/b84ccad9db01f459ac7e

    +
  10. +
+ +

https://www.amazon.com/Building-Virtual-Machine-Labs-Hands/dp/1546932631

+ + +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/Diablo-4-Helltide-Events/index.html b/_site/posts/Diablo-4-Helltide-Events/index.html new file mode 100644 index 0000000..acbd598 --- /dev/null +++ b/_site/posts/Diablo-4-Helltide-Events/index.html @@ -0,0 +1,2337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Diablo 4 HellTide Events | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + Diablo 4 HellTide Events + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Diablo 4 HellTide Events

+ + + +
+

Diablo 4 HellTide Events

+ +

When you guys hit World Tier 3, do helltide events everytime you can, they’re stupidly important because they’re the only source of Forgotten Souls and you need a lot of them to keep upgrading/rerolling gear. I skimped out on them and wish I didn’t now.

+ +
    +
  • +

    There is a timer for the Helltide Event here: https://d4events.live/ - The event is up for one hour and then down for 1 hour 15 minutes until the next one.

    +
  • +
  • +

    The general gist of Helltides is roam around, kill packs for cinders, do world events (more mobs more cinders) and open Helltide Chests

    +
  • +
  • +

    When Hellfire meteors rain down, it means a Helltide Elite is spawning nearby and they drop a fair amount as well

    +
  • +
  • +

    Forgotten Souls can also come from normal helltide chests, and Screaming Hell Veins

    +
  • +
  • +

    This site shows the POSSIBLE spawn locations of the mystery chests - https://d4armory.io/map/ These require 175 cinders to open and can give a bunch of legs and crafting mats (ex - https://i.imgur.com/oGb2dvc.jpeg) The chests DO NOT SHOW on the map (until you are very close, and when you go away, the icon will disappear) so if you find it, pin NEAR it (not on the chest icon otherwise it will disappear) and come back if you can’t open it. PRIO THESE CHESTS OVER ALL

    +
  • +
  • +

    Mystery Chests will move at the top of the hour (When the IRL clock hits xx:00) meaning you can get multiple chests. Multiple can spawn at once with one per large region zone.

    +
  • +
  • +

    The official D4 server has a channel for people to post where the chests are located during events - https://discord.com/invite/diablo4#discord

    +
  • +
+ +

Edit 1: - /u/Prowner1 has made a site and added a Helltide Tracker to it which allows inputs from users to show where the chests are on the current event - https://diablo4.life/trackers/helltide

+ +

Edit 2: Changed the Mystery Chest movement time, it appears to be top of the hour. (The chests moving is honestly the most confusing part)

+ +

I fucking hate this event and hope they allow you to get Forgotten Souls somewhere else in the game.

+ +

https://d4events.live/

+ + +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/Diablo-4-Shadow-Rogue-Build/index.html b/_site/posts/Diablo-4-Shadow-Rogue-Build/index.html new file mode 100644 index 0000000..746a23b --- /dev/null +++ b/_site/posts/Diablo-4-Shadow-Rogue-Build/index.html @@ -0,0 +1,3640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Diablo 4 - Shadow Rouge Build | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + Diablo 4 - Shadow Rouge Build + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Diablo 4 - Shadow Rouge Build

+ + + +
+
This is a beginner friendly build.
+
+ +

Skill Tree

+ +

https://d4builds.gg/builds/a175bae2-7adf-4155-a347-509d4efbb86c/

+ +

Skill Tree Guide

+ +

https://fextralife.com/diablo-4-shadow-rogue-build-twisting-blades/

+ +

Youtube Video: https://www.youtube.com/watch?v=IRgXnTgvZiE

+ +

Diablo 4 Shadow Rogue Build – Twisting Blades

+ +

Publish time icon May 31, 2023, Author icon RyugaComment icon 0

+ +

Diablo 4 Shadow Rogue Build Guide: In this Diablo 4 Rogue Class Build, I’ll show you how to play a Shadow Imbuement – Twisting Blades Rogue, which is a melee Diablo 4 Build for the Rogue that impales enemies with the Twisting Blades Skill to inflict massive AoE damage. If you’ve been looking for a good Diablo 4 Twisting Blades Rogue Build that allows you to quickly explode all your enemies, then this guide is for you!

+ + + +

Also, be sure to check out our Diablo 4 Wiki and Interactive Map if you need help finding specific Altars of LilithDungeons, or Side Quests!

+ +

Diablo 4 Shadow Rogue Build Guide – Twisting Blades

+ +

The way this Diablo 4 Shadow Rogue Build works is by using Shadow Imbuement in combination with Twisting Blades to generate a chain reaction of explosions that decimates big groups of enemies. To achieve this, you’ll start the fight by casting the **Shadow Imbuement** buff, then you’ll head straight into a pack of enemies and perform two attacks with Twisting Blades (you can hit the same enemy or two different enemies).

+ +

Now, you’ll use Dash to pass through the group and get on the exact opposite side and start attacking using your Invigorating Strike (this will build up combo points and increase your Energy regeneration). At this point, the first two attacks you made with Twisting Blades will return to you passing through the pack of enemies. This will deal damage to all of them and apply the Shadow Imbuement debuff, which will generate a chain-reaction of explosions. Also, because of the Advanced Twisting Blades Upgrade, both your Shadow Imbuement and Dash cooldown’s will be reduced, and thanks to Consuming Shadows you’ll get back the energy you spent, allowing you to restart the sequence.

+ +

Once you are on the opposite side, you can use Invigorating Strike to increase Energy Regeneration and to build up 3 combo points, which will greatly increase the damage of your Twisting Blades, so even if you are not able to cast Shadow Imbuement right away, the daggers will deal even more damage on the second pass, allowing you to finish off any remaining enemies.

+ +

The aspect that will help the most here is the Bladedancer’s Aspect, making it so that the returning blades orbit around you in the end to deal extra damage, which is very useful to finish off the enemies or to deal with Elites. This new Orbit Damage is further amplified based on the enemies pierced by the boomerang effect. You can acquire the Codex of Power of this aspect by completing the Jalal’s Vigil Dungeon, located at Scosglen.

+ +

Diablo 4 Shadow Rogue Build - Bladedancer's Aspect

+ +

I recommend using Combo Points Specialization to fight regular enemies, as it’ll increase the damage of your Twisting Blades, and also give you a Speed Buff, but you should swap to Inner Sight Specialization when fighting Bosses. Doing so will allow you to spam the Twisting Blades skill when Inner Sight is active, dealing a ton amount of damage and generating a massive amount of orbiting blades that quickly ticks the boss health’s down. Remember that you’ll also invest points into the Shadow Clone Ultimate to be able to summon your shadow who will mimic this action, further increasing the burst damage.

+ +

Diablo 4 Twisting Blades Rogue Build Guide – Skill Distribution

+ +

Each Diablo 4 Shadow Rogue Build is made up of the 6 Active Skills they have equipped and changing these Skills can drastically alter the way the Rogue Class in Diablo IV plays. In this section, we’ll take a look at what Skills you should slot for the Twisting Blades Rogue Diablo 4 Build. Your Skill distribution should look something like this:

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  
LEVEL 25 SHADOW ROGUE SKILLS 
SkillPoints Spent
Invigorating Strike1
Enhanced Invigorating Strike1
Twisting Blades5
Enhanced Twisting Blades1
Advanced Twisting Blades1
Shadow Step1
Dash1
Exploit3
Malice2
Shadow Crash1
Consuming Shadows2
Shadow Imbuement3
Enhanced Shadow Imbuement1
Blended Shadow Imbuement1
Shadow Clone1
Prime Shadow Clone1
+ +

The above list gives you the general order to invest in Skills, but keep in mind that you should prioritize picking up new Active Skills over investing in passives, so pick up passives later if you can get new Active Skills when you level up.

+ +

Diablo 4 Shadow Rogue Build – How to Handle Packs of Enemies

+ +

So there are several different strategies to employ with this Diablo IV Build for the Twisting Blades Rogue, and these change depending on whether you’re facing a large group of enemies or a Boss. Let’s start with a group of enemies first, and we’ll cover how to handle Bosses in the next section.

+ +

Shadow Imbuement

+ +

As with the rest of the Diablo IV Builds for the Rogue Class, you’ll be able to choose the type of damage you deal. For this Twisting Blades Rogue, we’re going to pick Shadow Imbuement to convert your damage into Shadow Damage and infect multiple targets. To infect a target you must strike it with a Shadow Imbued skill, we’ll achieve this by first sticking a shadow imbued Twisting Blade into an enemy, and then making it pass through the other enemies when it returns to us.

+ +

When an infected target is killed, it will explode, dealing massive damage to all surrounding enemies, generating a chain reaction that decimate big groups. In addition to this, our Blended Shadow Imbuement upgrade will make them Vulnerable, so after the first explosion everything else will die even faster.

+ +

Diablo 4 Shadow Rogue Build - Shadow Imbuement

+ +

Twisting Blades

+ +

Twisting Blades is key to this build, because of its boomerang effect. Enemies often attack you in a line pattern, so you’ll want to strike the first one or two enemies and then reposition behind them. After 1.5 second, the blades will return to you, passing through the pack and applying the Shadow Debuff and dealing massive individual damage thanks to the Enhanced Twisting Blades, which will allow you to kill some enemies and trigger the chain explosion. You’ll want to prioritize positioning to maximize the amount of enemies you hit when the blade returns, as each enemy hit will reduce all of your active cooldowns by 0.25 second for each enemy hit thanks to the Advanced Twisting Blades Upgrade.

+ +

Diablo 4 Shadow Rogue Build - Twisting Blades

+ +

Since this is the main skill of your Twisting Blades Rogue Diablo 4 Build, you’ll want to max it out and then get Enhanced Twisting Blades together with Advanced Twisting Blades as soon as possible.

+ +

Invigorating Strike

+ +

Invigorating Strike is a Basic Skill for this D4 Build that allows you to deal a small amount of damage, but also increases your Energy Regeneration and has a 50% Lucky Hit Chance, which is very nice to have. Since you’ll be using the Combo Points Specialization against regular enemies, so each attack you perform will give you 1 combo point. Ideally, you’ll want to use your starter combination of Shadow Imbue and Twisting Blades to then dash behind the enemy group and start attack perform three attacks with Invigorating Strike. This will give you 20% Energy Regeneration, or 50% if the enemy is either Injured or Crowed Controlled.

+ +

Also, if you happen to have a very good Lucky Hit Chance skill on your equipment, you can also go for Primary Invigorating Strike to further increase the proc chance, but it’s not mandatory for this build.

+ +

Diablo 4 Shadow Rogue Build - Invigorating Strike

+ +

Dash

+ +

We’ll be using dash to quickly navigate through the open map, and also to quickly reposition behind the pack of enemies at the beginning of the fight. Note that Dash has 2 charges, so make sure you always have at least 1 charge available when engaging a group of enemies, or you won’t be able to reposition to activate your combo. You won’t need enhancements for this Skill since it’ll be primarily used for movement

+ +

Diablo 4 Shadow Rogue Build - Dash

+ +

Shadow Step

+ +

Shadow Step is an essential survivability tool of this Twisting Blades Rogue D4 Build, since your Health and defenses aren’t all that great. When activated, you’ll automatically gain Unstoppable, which removes and prevents all control impairing effects. This allows you to break out of critical situations, such as getting froze or stunned.

+ +

In addition, the skill will perform a lucky hit with a 100% chance on the target enemy, and provide you 50% movement speed for 2 seconds, giving you the chance to drink a potion and reposition to a safe place.

+ +

You can also use Shadow Step to quickly reposition behind an enemy to take full advantage of the Twisting Blades Boomerang effect, but you should only do this if you are certain you are not going to get affected by a control impairing effect.

+ +

You won’t need the enhancement or upgrade, since we’ll be mainly using it as an emergency survival tool.

+ +

+ +

Passives

+ +

For passives of this Diablo 4 Twisting Blades Rogue Build, you’ll be taking Shadow Crash to gain access to Consuming Shadows. Shadow Crash raises the chances of Stunning enemies when they receive Shadow Damage which works great for elites, but the Skill you’ll want more is Consuming Shadows, hence the 2-point investment. This lets you generate all the Energy you spent in the combo, provided that you kill them with the Shadow Imbuement.

+ +

+ +

The other passive that you’ll want to take are Exploit and Malice.

+ +

Exploit increases the damage you deal to both Healthy and Injured enemies. Since you’ll first deal damage to enemies with full health, and then deal with the remaining ones, this passive is active practically all the time.

+ +

+ +

Malice increases the damage you deal to Vulnerable enemies, which synergizes perfectly with the Blended Shadow Imbuement that makes enemies vulnerable after the explosions.

+ +

+ +

Rogue Build for Boss Fights

+ +

Boss fights are handled a bit differently with this Diablo 4 Twisting Blades Rogue Build. First, you’ll want to swap your specialization from Combo Points for Inner Sight. Inner Sight allows you’ll fill up a gauge when attacking the marked enemy, Bosses are often alone, so you’ll be filling the gauge by attacking it. Once the gauge is full, you’ll gain unlimited energy for 4 seconds. At that moment, you’ll want to spawn your Shadow Clone, cast Shadow Imbuement and then start spamming Twisting Blade as much as you can. As the blades return, they’ll start circling around you, stacking tons of damage into the boss.

+ +

Shadow Clone

+ +

Shadow Clone is an ultimate ability that will provide you with aid by conjuring your own shadow to copy the actions you’re pulling off. Although the damage won’t be as potent, it’s still a great way of increasing our single target damage. You can also invest in Prime Shadow Clone to have another option to make you Unstoppable every time Shadow Clone is activated.

+ +

+ +

Make sure to use your dash to avoid boss attacks or to quickly disengage from combat to drink a potion and recover your health. Same as with regular enemies, you’ll want to save Shadow Step for when you are affected by a movement impairing effect. Finally, remember that you can also use your Shadow Clone Ultimate to the same end, thanks to Prime Shadow Clone which provides you Unstoppable for 5 seconds.

+ +

Final Tips

+ +

For this Diablo 4 Twisting Blades Rogue Build, you should be on the lookout for gear that gives bonuses to DexterityIntelligence, Maximum Energy, +Rank to relevant skills, Critical Strike Chance, Critical Strike Damage BonusDamage to Close Enemies, Imbuement Skill Damage, Core Skill DamageEnergy Cost Reduction, and Cooldown ReductionDamage Reduction is also good to pick up where you’re often susceptible to taking in lots of damage in the melee range. It’s a pretty OP D4 Rogue Build due to the massive burst damage you deal.

+ +

You can run around the map and stack a couple of enemy groups and engage all of them at the same time for maximum efficiency. Make sure to prioritize positioning over attacking individual targets.

+ +

When it comes to Legendary Aspects, you’ll also want to get the Aspect of Lethal Dusk and Ravenous Aspect for this Diablo 4 Build. Lethal Dusk grants Stealth when evading through a Shadow Imbuement infect enemy, which is great if you need to recover or reposition, and on top of that, it will give you a buff that grants you 1~5% of maximum life recovered on kill for 4 seconds. Meanwhile, Ravenous Aspect rewards you with increased Energy regeneration when a Vulnerable enemy is slain, which works hand-in-hand with Blended Shadow Imbuement.

+ +

+ +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/Flaws.cloud-AWS/index.html b/_site/posts/Flaws.cloud-AWS/index.html new file mode 100644 index 0000000..9fb175a --- /dev/null +++ b/_site/posts/Flaws.cloud-AWS/index.html @@ -0,0 +1,2418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flaws.cloud walkthrough | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + Flaws.cloud walkthrough + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Flaws.cloud walkthrough

+ + + +
+

Flaws.cloud walkthrough

+ +

DayCyberWox Walkthrough: https://www.youtube.com/watch?v=fEjAryrzLSQ +Write up: https://daycyberwox.com/exploiting-aws-1-a-beginners-guide-flawscloud#heading-level1

+ +
+ +
1
+2
+3
+4
+
Through a series of levels you'll learn about common mistakes and gotchas when using Amazon Web Services (AWS). There are no SQL injection, XSS, buffer overflows, or many of the other vulnerabilities you might have seen before. As much as possible, these are AWS specific issues.
+
+A series of hints are provided that will teach you how to discover the info you'll need. If you don't want to actually run any commands, you can just keep following the hints which will give you the solution to the next level. At the start of each level you'll learn how to avoid the problem the previous level exhibited.
+
+
+ +

Scope: Everything is run out of a single AWS account, and all challenges are sub-domains of flaws.cloud.

+ +

Contact
+This was built by Scott Piper (@0xdabbad00summitroute.com)

+ +

Feedback is welcome! For security issues, fan mail, hate mail, or whatever else, contact scott@summitroute.com
+If you manage to find a flaw that breaks the game for others or some other undesirable issue, please let me know.

+ +

Greetz
+Thank you for advice and ideas from Andres Riancho (@w3af), @CornflakeSavage, Ken Johnson (@cktricky), and Nicolas Gregoire (@Agarri_FR)

+ +

Now for the challenge!

+ +

Level 1

+ +

This level is buckets of fun. See if you can find the first sub-domain.

+ +

Need a hint? Visit Hint 1

+ +

First we begin with nslookup and point it to the domain flaws.cloud

+

Syntax

+
+ +
1
+
nslookup flaws.cloud
+
+ +

Result

+ +
+ +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+
Server: 172.31.144.1
+Address: 172.31.144.1#53
+
+Non-authoritative answer:
+Name:   flaws.cloud
+Address: 52.92.196.83
+Name:   flaws.cloud
+Address: 52.92.227.67
+Name:   flaws.cloud
+Address: 52.92.243.131
+Name:   flaws.cloud
+Address: 52.92.250.91
+Name:   flaws.cloud
+Address: 52.218.132.58
+Name:   flaws.cloud
+Address: 52.218.218.82
+Name:   flaws.cloud
+Address: 52.218.237.138
+Name:   flaws.cloud
+Address: 52.92.163.83
+
+ +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/M1-Mac-How-to-switch-the-Terminal-between-x86_64-and-arm64/index.html b/_site/posts/M1-Mac-How-to-switch-the-Terminal-between-x86_64-and-arm64/index.html new file mode 100644 index 0000000..9ac4ca5 --- /dev/null +++ b/_site/posts/M1-Mac-How-to-switch-the-Terminal-between-x86_64-and-arm64/index.html @@ -0,0 +1,2743 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + M1 Mac - How to Switch the Terminal between x86_64 and arm64 | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + M1 Mac - How to Switch the Terminal between x86_64 and arm64 + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

M1 Mac - How to Switch the Terminal between x86_64 and arm64

+ + + +
+

How to Switch the Terminal between x86_64 and arm64

+

https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9

+ +

Here is a simple writeup on how I switch between x86_64 and arm64 in the Terminal app on my MacBook Pro with Apple Silicon.

+ +

So you have the new Mac with Apple Silicon. However, a lot of your projects are compiled in x86 and/or you are still building apps for x86, or whatever it is, you still want to compile the x86_64 code on your new Mac in the Terminal. You know it is possible with the Rosetta 2 (personally love it!). But how do you do it efficiently?

+ +

While there are many ways of doing it, the following is the best one I have found to easily switch between the two architectures using just a simple Terminal command as below (actually hiding the command under an alias)..

+ +

+ +

switching efficiently between x86_64 and arm64 using created alias

+ +

So let’s look at what’s behind it, and how you too can easily set it up!

+ +

The main command which does the magic is the one below:

+ +
+ +
1
+
$env /usr/bin/arch -<architecture> /bin/zsh --login
+
+

… just replace the __ with your preferred one..

+ +

For example:

+ +
    +
  • To see your current architecture, type:
  • +
+ +

$arch

+ +

+ +

see current architecture the Terminal is using

+ +

As we see in the image above, I am currently using arm64, hence any code I compile will be for this architecture.

+ +
    +
  • To switch to x86_64, type:
  • +
+ +
+ +
1
+
==$env /usr/bin/arch -x86_64 /bin/zsh —-login==
+
+ +

Now if you type the arch command again, you will see that the target architecture has been changed. Now you can go ahead and compile your code using Rosetta 2 for the x86_64 architecture.

+ +

+ +

Creating alias in .zshrc:

+ +

I don’t want to remember the whole command and type it all the time (obviously it’s not efficient). The simplest solution is to create an alias to it in the .zshrc

+ +

Just cd into your home directory and open the .zshrc file.. If you don’t have one, you can easily create it using the touch command. (If you don’t know about it, there are already plenty of tutorials/write-ups online)..

+ +

Here’s how my .zshrc file looks like.. I have named my aliases arm and intel for the arm and x8664 architectures respectively. You can name your aliases whatever you want. Just remember to relaunch the Terminal after updating and saving the .zshrc_ file.

+ +

+ +

adding alias to .zshrc

+ +

Ignoring the first line, you can see the two alias I have created for arm and intel. To switch, I just need to type the alias and that’s it!

+ +

Bonus:

+ +

If you only want to use the Terminal app with Rosetta 2 for the x8664 architecture, you can simple right click on the Terminal app in the _Applications>Utilities, go the ‘Get Info’ and tick on “Open using Rosetta”

+ +

+ +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/Mac-M1-Run-Diablo-4/index.html b/_site/posts/Mac-M1-Run-Diablo-4/index.html new file mode 100644 index 0000000..0e842b6 --- /dev/null +++ b/_site/posts/Mac-M1-Run-Diablo-4/index.html @@ -0,0 +1,2323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mac M1 Run Diablo 4 - Links | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + Mac M1 Run Diablo 4 - Links + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Mac M1 Run Diablo 4 - Links

+ + + +
+
+

Resources that can help you get started with the Game Porting Tool Kit to run Diablo 4 on Mac M1 architecture.

+
+ +

Resources:

+ +

https://www.outcoldman.com/en/archive/2023/06/07/playing-diablo-4-on-macos

+ +

https://vineethbharadwaj.medium.com/m1-mac-switching-terminal-between-x86-64-and-arm64-e45f324184d9

+ +

https://stackoverflow.com/questions/17980759/xcode-select-active-developer-directory-error

+ +

https://developer.apple.com/download/all/?q=Xcode

+ +

https://wiki.winehq.org/Wine_User’s_Guide#Using_Wine

+ +

https://forum.xojo.com/t/problems-with-ditto/32265

+ +

https://www.applegamingwiki.com/wiki/Game_Porting_Toolkit#Steam_login_black_screen

+ +

http://stream-recorder.com/forum/restart-wine-if-you-cant-close-process-t4997.html?s=6d49a94d7d9a590a42d133accc36ae88&

+ +

https://www.youtube.com/watch?v=5Nd-nR3-6lU&t=79s

+ +

https://www.youtube.com/watch?v=5Nd-nR3-6lU

+ + +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/SANS-SEC-504-Resources/index.html b/_site/posts/SANS-SEC-504-Resources/index.html new file mode 100644 index 0000000..3b66015 --- /dev/null +++ b/_site/posts/SANS-SEC-504-Resources/index.html @@ -0,0 +1,2604 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SANS SEC 504 - Resources | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + SANS SEC 504 - Resources + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

SANS SEC 504 - Resources

+ + + +
+

Malware stuff

+

https://digitalcommons.lsu.edu/cgi/viewcontent.cgi?article=6527&context=gradschool_theses

+ +

https://github.com/volatilityfoundation/volatility/wiki/Mac

+ +

Volatility

+

A few volatility resources:

+ + + +

(edited)

+ +

Andrea Fortuna

+ +

How to analyze a VMware memory image with Volatility

+ +

A very brief post, just a reminder about a very useful volatility feature. The process on a VMware machine is more simple than VirtualBox, just 4 simple steps: Suspend the virtual machine Navigate to the virtual machine’s directory and identify the *.vmem file Copy the vmem image to you analysis workstation  Finally use the following Volatility command to convert the memory image to a dump ready for analysis: $ volatility -f memory_image.vmem -O raw_image --profile=Win8SP0x86 raw2dmp Now the memory dump can be analyzed with the usual methods.

+ +

Berkley Packet Filters

+ +

https://www.ibm.com/docs/en/qsip/7.4?topic=queries-berkeley-packet-filters

+ +

https://github.com/sbabicz/tcpdump-bpf-cheatsheet

+ +

Grouped Managed Service Accounts Overview

+ +

https://learn.microsoft.com/en-us/windows-server/security/group-managed-service-accounts/group-managed-service-accounts-overview

+ +

Placeholder

+ +

How much does a DDoS cost?

+ +

As per the Dark Web Price Index 2022, a 24-hour DDoS attack with 20-50k requests per second can cost the attacker as little as $200 USD. This low cost of entry means that even small-time attackers can launch devastating DDoS attacks that can cripple businesses and cause significant financial losses. Mar 10, 2023

+ +

https://sans-live-training.slack.com/archives/C059WKMLLDB/p1686064393422589

+ +

https://www.linkedin.com/pulse/true-cost-ddos-attack-protect-your-business-proactive-ali-el-tom/

+ +

linkedin.comlinkedin.com

+ +

The True Cost of a DDoS Attack: Protect Your Business with Proactive Measures

+ +

Launching a DDoS attack can be relatively inexpensive for the attacker. As per the Dark Web Price Index 2022, a 24-hour DDoS attack with 20-50k requests per second can cost the attacker as little as $200 USD.

+ +

MITRE ATT&CK

+ +
    +
  • CWE (Common Weakness Enumeration)
  • +
+ +

Background Reports

+ +

Our disclaimer on Background Reports:
+DISCLOSURE/DISCLAIMERThe information in this report is based on public, non-public, private, and proprietary databases. Search results may not be complete or accurate. Not all states or counties report or make available all records in electronic format. Online databases could contain incomplete information, duplication, inaccuracies, or false matches based on common names.Certified copies can be obtained and in-person/on-site verification of research results can be performed but will require        additional investigative time and expenses that must be authorized.The general format of this report and parts of this report are produced from xxxxxxx. Information obtained from xxxxxx, and other public and private databases, does not constitute a “consumer report” as that term is defined in the federal Fair Credit Reporting Act, 15 USC 1681 et seq.(FCRA).As data from xxxxxxxx and other data sources is not specifically segregated, this report may not be used in whole or in part as a factor in determining eligibility for credit, insurance, employment, or another permissible purpose under the FCRA.Any questions, comments or concerns related to the information contained in this report should be directed to:
+Keith Olive Enterprises, LLC
+PO Box 26
+Mountain Home, Texas 78058
+Texas Private Security Bureau License #A19867

+ +
OSINT on employees without permission will bite you big time if they ever bring up a LABOR board issue or lawsuit
+
+ +

Cheat sheets

+ +

https://packetlife.net/library/cheat-sheets/

+ +
Amazon Books
+ +

What 2 Log

+ +

https://what2log.com/

+ + +
+ +
+ + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/posts/index.html b/_site/posts/index.html new file mode 100644 index 0000000..b983321 --- /dev/null +++ b/_site/posts/index.html @@ -0,0 +1,11 @@ + + + + Redirecting… + + + + +

Redirecting…

+ Click here if you are not redirected. + diff --git a/_site/posts/text-and-typography/index.html b/_site/posts/text-and-typography/index.html new file mode 100644 index 0000000..e9c222b --- /dev/null +++ b/_site/posts/text-and-typography/index.html @@ -0,0 +1,3684 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text and Typography | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + + Text and Typography + + + + + + + + + + +
+ Post +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Text and Typography

+ + + +
+

This post is to show Markdown syntax rendering on Chirpy, you can also use it as an example of writing. Now, let’s start looking at text and typography.

+ +

Headings

+ +

H1 - heading

+ +

H2 - heading

+ +

H3 - heading

+ +

H4 - heading

+ +

Paragraph

+ +

Quisque egestas convallis ipsum, ut sollicitudin risus tincidunt a. Maecenas interdum malesuada egestas. Duis consectetur porta risus, sit amet vulputate urna facilisis ac. Phasellus semper dui non purus ultrices sodales. Aliquam ante lorem, ornare a feugiat ac, finibus nec mauris. Vivamus ut tristique nisi. Sed vel leo vulputate, efficitur risus non, posuere mi. Nullam tincidunt bibendum rutrum. Proin commodo ornare sapien. Vivamus interdum diam sed sapien blandit, sit amet aliquam risus mattis. Nullam arcu turpis, mollis quis laoreet at, placerat id nibh. Suspendisse venenatis eros eros.

+ +

Lists

+ +

Ordered list

+ +
    +
  1. Firstly
  2. +
  3. Secondly
  4. +
  5. Thirdly
  6. +
+ +

Unordered list

+ +
    +
  • Chapter +
      +
    • Section +
        +
      • Paragraph
      • +
      +
    • +
    +
  • +
+ +

ToDo list

+ +
    +
  • Job +
      +
    • Step 1
    • +
    • Step 2
    • +
    • Step 3
    • +
    +
  • +
+ +

Description list

+ +
+
Sun
+
the star around which the earth orbits
+
Moon
+
the natural satellite of the earth, visible by reflected light from the sun
+
+ +

Block Quote

+ +
+

This line shows the block quote.

+
+ +

Prompts

+ +
+

An example showing the tip type prompt.

+
+ +
+

An example showing the info type prompt.

+
+ +
+

An example showing the warning type prompt.

+
+ +
+

An example showing the danger type prompt.

+
+ +

Tables

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
CompanyContactCountry
Alfreds FutterkisteMaria AndersGermany
Island TradingHelen BennettUK
Magazzini Alimentari RiunitiGiovanni RovelliItaly
+ + + +

http://127.0.0.1:4000

+ +

Footnote

+ +

Click the hook will locate the footnote1, and here is another footnote2.

+ +

Inline code

+ +

This is an example of Inline Code.

+ +

Filepath

+ +

Here is the /path/to/the/file.extend.

+ +

Code blocks

+ +

Common

+ +
+ +
1
+
This is a common code snippet, without syntax highlight and line number.
+
+ +

Specific Language

+ +
+ +
1
+2
+3
+4
+
if [ $? -ne 0 ]; then
+  echo "The command was not successful.";
+  #do the needful / exit
+fi;
+
+ +

Specific filename

+ +
+ +
1
+2
+3
+
@import
+  "colors/light-typography",
+  "colors/dark-typography";
+
+ +

Mathematics

+ +

The mathematics powered by MathJax:

+ +\[\sum_{n=1}^\infty 1/n^2 = \frac{\pi^2}{6}\] + +

When $a \ne 0$, there are two solutions to $ax^2 + bx + c = 0$ and they are

+ +\[x = {-b \pm \sqrt{b^2-4ac} \over 2a}\] + +

Mermaid SVG

+ +
 gantt
+  title  Adding GANTT diagram functionality to mermaid
+  apple :a, 2017-07-20, 1w
+  banana :crit, b, 2017-07-23, 1d
+  cherry :active, c, after b a, 1d
+
+ +

Images

+ +

Default (with caption)

+ +

Desktop View +Full screen width and center alignment

+ +

Left aligned

+ +

Desktop View

+ +

Float to left

+ +

Desktop View +Praesent maximus aliquam sapien. Sed vel neque in dolor pulvinar auctor. Maecenas pharetra, sem sit amet interdum posuere, tellus lacus eleifend magna, ac lobortis felis ipsum id sapien. Proin ornare rutrum metus, ac convallis diam volutpat sit amet. Phasellus volutpat, elit sit amet tincidunt mollis, felis mi scelerisque mauris, ut facilisis leo magna accumsan sapien. In rutrum vehicula nisl eget tempor. Nullam maximus ullamcorper libero non maximus. Integer ultricies velit id convallis varius. Praesent eu nisl eu urna finibus ultrices id nec ex. Mauris ac mattis quam. Fusce aliquam est nec sapien bibendum, vitae malesuada ligula condimentum.

+ +

Float to right

+ +

Desktop View +Praesent maximus aliquam sapien. Sed vel neque in dolor pulvinar auctor. Maecenas pharetra, sem sit amet interdum posuere, tellus lacus eleifend magna, ac lobortis felis ipsum id sapien. Proin ornare rutrum metus, ac convallis diam volutpat sit amet. Phasellus volutpat, elit sit amet tincidunt mollis, felis mi scelerisque mauris, ut facilisis leo magna accumsan sapien. In rutrum vehicula nisl eget tempor. Nullam maximus ullamcorper libero non maximus. Integer ultricies velit id convallis varius. Praesent eu nisl eu urna finibus ultrices id nec ex. Mauris ac mattis quam. Fusce aliquam est nec sapien bibendum, vitae malesuada ligula condimentum.

+ +

Dark/Light mode & Shadow

+ +

The image below will toggle dark/light mode based on theme preference, notice it has shadows.

+ +

light mode only +dark mode only

+ +

Video

+ + + +

Reverse Footnote

+ +
+
    +
  1. +

    The footnote source 

    +
  2. +
  3. +

    The 2nd footnote source 

    +
  4. +
+
+ +
+ +
+ + + + + + + + + + + +
+
+ + + + + + This post is licensed under + + CC BY 4.0 + + by the author. + + +
+ + + + + + +
+ +
+ + + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + +
+
Contents
+ +
+ + + +
+
+ + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/redirects.json b/_site/redirects.json new file mode 100644 index 0000000..3d7a81c --- /dev/null +++ b/_site/redirects.json @@ -0,0 +1 @@ +{"/norobots/":"http://localhost:4000/404.html","/assets/":"http://localhost:4000/404.html","/posts/":"http://localhost:4000/404.html"} \ No newline at end of file diff --git a/_site/robots.txt b/_site/robots.txt new file mode 100644 index 0000000..b865347 --- /dev/null +++ b/_site/robots.txt @@ -0,0 +1,5 @@ +User-agent: * + +Disallow: /norobots/ + +Sitemap: http://localhost:4000/sitemap.xml diff --git a/_site/sitemap.xml b/_site/sitemap.xml new file mode 100644 index 0000000..e446a20 --- /dev/null +++ b/_site/sitemap.xml @@ -0,0 +1,109 @@ + + + +http://localhost:4000/posts/text-and-typography/ +2023-08-23T16:34:20-05:00 + + +http://localhost:4000/posts/Admonitions-Documentation/ +2023-08-23T15:37:29-05:00 + + +http://localhost:4000/posts/SANS-SEC-504-Resources/ +2023-08-23T15:37:29-05:00 + + +http://localhost:4000/posts/Diablo-4-Helltide-Events/ +2023-08-23T15:37:29-05:00 + + +http://localhost:4000/posts/Diablo-4-Shadow-Rogue-Build/ +2023-08-23T15:37:29-05:00 + + +http://localhost:4000/posts/M1-Mac-How-to-switch-the-Terminal-between-x86_64-and-arm64/ +2023-08-23T15:57:13-05:00 + + +http://localhost:4000/posts/Mac-M1-Run-Diablo-4/ +2023-08-23T16:39:47-05:00 + + +http://localhost:4000/posts/Building-a-Custom-Malware-Analysis-Lab-Environment/ +2023-08-23T15:37:29-05:00 + + +http://localhost:4000/posts/Flaws.cloud-AWS/ +2023-08-23T16:07:17-05:00 + + +http://localhost:4000/categories/ +2023-08-23T16:54:25-05:00 + + +http://localhost:4000/tags/ +2023-08-23T16:54:25-05:00 + + +http://localhost:4000/archives/ +2023-08-23T16:54:25-05:00 + + +http://localhost:4000/about/ +2023-08-23T16:54:25-05:00 + + +http://localhost:4000/ + + +http://localhost:4000/tags/typography/ + + +http://localhost:4000/tags/docs/ + + +http://localhost:4000/tags/cheatsheets/ + + +http://localhost:4000/tags/sans/ + + +http://localhost:4000/tags/sec504/ + + +http://localhost:4000/tags/gcih/ + + +http://localhost:4000/tags/cybersecurity/ + + +http://localhost:4000/tags/diablo/ + + +http://localhost:4000/tags/diablo-4/ + + +http://localhost:4000/tags/terminal/ + + +http://localhost:4000/tags/macos/ + + +http://localhost:4000/tags/m1/ + + +http://localhost:4000/tags/apple-silicon/ + + +http://localhost:4000/tags/red-teaming/ + + +http://localhost:4000/tags/cloud/ + + +http://localhost:4000/categories/blogging/ + + +http://localhost:4000/categories/demo/ + + diff --git a/_site/sw.js b/_site/sw.js new file mode 100644 index 0000000..5629a5f --- /dev/null +++ b/_site/sw.js @@ -0,0 +1,85 @@ +self.importScripts('/assets/js/data/swcache.js'); + +const cacheName = 'chirpy-20230823.165426'; + +function verifyDomain(url) { + for (const domain of allowedDomains) { + const regex = RegExp(`^http(s)?:\/\/${domain}\/`); + if (regex.test(url)) { + return true; + } + } + + return false; +} + +function isExcluded(url) { + for (const item of denyUrls) { + if (url === item) { + return true; + } + } + return false; +} + +self.addEventListener('install', event => { + event.waitUntil( + caches.open(cacheName).then(cache => { + return cache.addAll(resource); + }) + ); +}); + +self.addEventListener('activate', event => { + event.waitUntil( + caches.keys().then(keyList => { + return Promise.all( + keyList.map(key => { + if (key !== cacheName) { + return caches.delete(key); + } + }) + ); + }) + ); +}); + +self.addEventListener('message', (event) => { + if (event.data === 'SKIP_WAITING') { + self.skipWaiting(); + } +}); + +self.addEventListener('fetch', event => { + event.respondWith( + caches.match(event.request).then(response => { + if (response) { + return response; + } + + return fetch(event.request).then(response => { + const url = event.request.url; + + if (event.request.method !== 'GET' || + !verifyDomain(url) || + isExcluded(url)) { + return response; + } + + /* + see: + */ + let responseToCache = response.clone(); + + caches.open(cacheName).then(cache => { + /* console.log('[sw] Caching new resource: ' + event.request.url); */ + cache.put(event.request, responseToCache); + }); + + return response; + }); + }) + ); +}); + + diff --git a/_site/tags/apple-silicon/index.html b/_site/tags/apple-silicon/index.html new file mode 100644 index 0000000..41dda56 --- /dev/null +++ b/_site/tags/apple-silicon/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + apple silicon | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + apple silicon + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + apple silicon + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/cheatsheets/index.html b/_site/tags/cheatsheets/index.html new file mode 100644 index 0000000..c8f7ec8 --- /dev/null +++ b/_site/tags/cheatsheets/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cheatsheets | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + cheatsheets + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + cheatsheets + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/cloud/index.html b/_site/tags/cloud/index.html new file mode 100644 index 0000000..ad54fef --- /dev/null +++ b/_site/tags/cloud/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cloud | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + cloud + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + cloud + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/cybersecurity/index.html b/_site/tags/cybersecurity/index.html new file mode 100644 index 0000000..a3440e3 --- /dev/null +++ b/_site/tags/cybersecurity/index.html @@ -0,0 +1,1716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cybersecurity | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + cybersecurity + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + cybersecurity + 3 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/diablo-4/index.html b/_site/tags/diablo-4/index.html new file mode 100644 index 0000000..42c8e54 --- /dev/null +++ b/_site/tags/diablo-4/index.html @@ -0,0 +1,1716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diablo 4 | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + diablo 4 + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + diablo 4 + 3 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/diablo/index.html b/_site/tags/diablo/index.html new file mode 100644 index 0000000..cdabead --- /dev/null +++ b/_site/tags/diablo/index.html @@ -0,0 +1,1693 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diablo | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + diablo + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + diablo + 2 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/docs/index.html b/_site/tags/docs/index.html new file mode 100644 index 0000000..b6b5f9c --- /dev/null +++ b/_site/tags/docs/index.html @@ -0,0 +1,1716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + docs | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + docs + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + docs + 3 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/gcih/index.html b/_site/tags/gcih/index.html new file mode 100644 index 0000000..5a9b859 --- /dev/null +++ b/_site/tags/gcih/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GCIH | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + GCIH + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + GCIH + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/index.html b/_site/tags/index.html new file mode 100644 index 0000000..c6646f2 --- /dev/null +++ b/_site/tags/index.html @@ -0,0 +1,1703 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tags | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + Tags + + + + + + + + + + +
+ Tags +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + +

+ Tags +

+
+ + + + + + +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/m1/index.html b/_site/tags/m1/index.html new file mode 100644 index 0000000..6dae0ad --- /dev/null +++ b/_site/tags/m1/index.html @@ -0,0 +1,1693 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + M1 | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + M1 + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + M1 + 2 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/macos/index.html b/_site/tags/macos/index.html new file mode 100644 index 0000000..7baec9b --- /dev/null +++ b/_site/tags/macos/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + macOS | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + macOS + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + macOS + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/red-teaming/index.html b/_site/tags/red-teaming/index.html new file mode 100644 index 0000000..8a9294d --- /dev/null +++ b/_site/tags/red-teaming/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Red Teaming | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + Red Teaming + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + Red Teaming + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/sans/index.html b/_site/tags/sans/index.html new file mode 100644 index 0000000..1586034 --- /dev/null +++ b/_site/tags/sans/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SANS | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + SANS + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + SANS + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/sec504/index.html b/_site/tags/sec504/index.html new file mode 100644 index 0000000..5601ca9 --- /dev/null +++ b/_site/tags/sec504/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SEC504 | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + SEC504 + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + SEC504 + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/terminal/index.html b/_site/tags/terminal/index.html new file mode 100644 index 0000000..c79fea2 --- /dev/null +++ b/_site/tags/terminal/index.html @@ -0,0 +1,1716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + terminal | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + terminal + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + terminal + 3 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/tags/typography/index.html b/_site/tags/typography/index.html new file mode 100644 index 0000000..84a3137 --- /dev/null +++ b/_site/tags/typography/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + typography | neo's brain + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + Home + + + + + + + + + Tags + + + + + + + typography + + + + + + + + + + +
+ Tag +
+ + + + + + + Cancel +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + +
+

+ + typography + 1 +

+ +
+ + + + +
+
+ + + +
+
+ + + + + + + + + + + + + + + +
+
Recently Updated
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
Trending Tags
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_site/unregister.js b/_site/unregister.js new file mode 100644 index 0000000..d4e2fd0 --- /dev/null +++ b/_site/unregister.js @@ -0,0 +1,8 @@ +if ('serviceWorker' in navigator) { + navigator.serviceWorker.getRegistrations().then((registrations) => { + for (let reg of registrations) { + reg.unregister(); + } + }); +} +