From db9e3f6e99515e8b6fa3a87b6d40b38354a4d4e4 Mon Sep 17 00:00:00 2001 From: Artyom Date: Wed, 13 Dec 2023 22:46:49 +0300 Subject: [PATCH] Public update --- .hugo_build.lock | 0 config.toml | 2 - public/404.html | 236 +++++++++++ public/about/about/index.html | 254 ++++++++++++ public/about/index.html | 273 +++++++++++++ public/about/index.xml | 33 ++ public/about/page/1/index.html | 10 + public/bundle.min.js | 45 ++ public/categories/index.html | 238 +++++++++++ public/categories/index.xml | 10 + public/contacts/contacts/index.html | 258 ++++++++++++ public/contacts/index.html | 269 ++++++++++++ public/contacts/index.xml | 33 ++ public/contacts/page/1/index.html | 10 + public/donate/index.html | 261 ++++++++++++ public/en/404.html | 228 +++++++++++ public/en/about/about/index.html | 245 +++++++++++ public/en/about/index.html | 264 ++++++++++++ public/en/about/index.xml | 32 ++ public/en/about/page/1/index.html | 10 + public/en/categories/index.html | 230 +++++++++++ public/en/categories/index.xml | 10 + public/en/contacts/contacts/index.html | 250 ++++++++++++ public/en/contacts/index.html | 261 ++++++++++++ public/en/contacts/index.xml | 33 ++ public/en/contacts/page/1/index.html | 10 + public/en/index.html | 275 +++++++++++++ public/en/index.xml | 240 +++++++++++ public/en/page/1/index.html | 10 + .../en/posts/codeberg_x_nextcloud/index.html | 293 ++++++++++++++ public/en/posts/index.html | 300 ++++++++++++++ public/en/posts/index.xml | 107 +++++ public/en/posts/page/1/index.html | 10 + public/en/posts/walls/index.html | 244 +++++++++++ public/en/services/index.html | 326 +++++++++++++++ public/en/services/index.xml | 98 +++++ public/en/services/page/1/index.html | 10 + public/en/services/services/index.html | 342 ++++++++++++++++ public/en/sitemap.xml | 193 +++++++++ public/en/tags/codeberg/index.html | 267 ++++++++++++ public/en/tags/codeberg/index.xml | 83 ++++ public/en/tags/codeberg/page/1/index.html | 10 + public/en/tags/index.html | 254 ++++++++++++ public/en/tags/index.xml | 41 ++ public/en/tags/nextcloud/index.html | 267 ++++++++++++ public/en/tags/nextcloud/index.xml | 83 ++++ public/en/tags/nextcloud/page/1/index.html | 10 + public/en/tags/wallpapers/index.html | 265 ++++++++++++ public/en/tags/wallpapers/index.xml | 35 ++ public/en/tags/wallpapers/page/1/index.html | 10 + public/fonts/FiraCode-Bold.woff | Bin 0 -> 97028 bytes public/fonts/FiraCode-Regular.woff | Bin 0 -> 97744 bytes public/img/avatar.jpg | Bin 0 -> 92115 bytes public/img/favicon.svg | 39 ++ public/img/theme-colors/blue.png | Bin 0 -> 189 bytes public/img/theme-colors/green.png | Bin 0 -> 190 bytes public/img/theme-colors/orange.png | Bin 0 -> 190 bytes public/img/theme-colors/pink.png | Bin 0 -> 190 bytes public/img/theme-colors/red.png | Bin 0 -> 189 bytes public/index.html | 284 +++++++++++++ public/index.xml | 383 ++++++++++++++++++ public/page/1/index.html | 10 + public/posts/codeberg_x_nextcloud/index.html | 301 ++++++++++++++ public/posts/index.html | 378 +++++++++++++++++ public/posts/index.xml | 152 +++++++ public/posts/page/1/index.html | 10 + public/posts/ricoh_config/index.html | 258 ++++++++++++ public/posts/rpi-rip-nvme/index.html | 245 +++++++++++ public/posts/walls/index.html | 252 ++++++++++++ public/ru/index.html | 10 + public/ru/sitemap.xml | 218 ++++++++++ public/services/index.html | 336 +++++++++++++++ public/services/index.xml | 101 +++++ public/services/page/1/index.html | 10 + public/services/services/index.html | 354 ++++++++++++++++ public/sitemap.xml | 18 + public/styles.css | 3 + public/styles.css.map | 45 ++ public/tags/codeberg/index.html | 275 +++++++++++++ public/tags/codeberg/index.xml | 83 ++++ public/tags/codeberg/page/1/index.html | 10 + public/tags/index.html | 302 ++++++++++++++ public/tags/index.xml | 91 +++++ public/tags/nextcloud/index.html | 275 +++++++++++++ public/tags/nextcloud/index.xml | 83 ++++ public/tags/nextcloud/page/1/index.html | 10 + public/tags/nvme/index.html | 275 +++++++++++++ public/tags/nvme/index.xml | 26 ++ public/tags/nvme/page/1/index.html | 10 + public/tags/wallpapers/index.html | 275 +++++++++++++ public/tags/wallpapers/index.xml | 35 ++ public/tags/wallpapers/page/1/index.html | 10 + public/tags/обои/index.html | 275 +++++++++++++ public/tags/обои/index.xml | 35 ++ public/tags/обои/page/1/index.html | 10 + public/tags/принтер/index.html | 275 +++++++++++++ public/tags/принтер/index.xml | 41 ++ public/tags/принтер/page/1/index.html | 10 + public/tags/сервер/index.html | 275 +++++++++++++ public/tags/сервер/index.xml | 26 ++ public/tags/сервер/page/1/index.html | 10 + public/tags/софт/index.html | 275 +++++++++++++ public/tags/софт/index.xml | 41 ++ public/tags/софт/page/1/index.html | 10 + public/tos/index.html | 302 ++++++++++++++ ...s_3b33337114e481782feeb60752452e17.content | 3 + ...scss_3b33337114e481782feeb60752452e17.json | 1 + 107 files changed, 14032 insertions(+), 2 deletions(-) create mode 100644 .hugo_build.lock create mode 100644 public/404.html create mode 100644 public/about/about/index.html create mode 100644 public/about/index.html create mode 100644 public/about/index.xml create mode 100644 public/about/page/1/index.html create mode 100644 public/bundle.min.js create mode 100644 public/categories/index.html create mode 100644 public/categories/index.xml create mode 100644 public/contacts/contacts/index.html create mode 100644 public/contacts/index.html create mode 100644 public/contacts/index.xml create mode 100644 public/contacts/page/1/index.html create mode 100644 public/donate/index.html create mode 100644 public/en/404.html create mode 100644 public/en/about/about/index.html create mode 100644 public/en/about/index.html create mode 100644 public/en/about/index.xml create mode 100644 public/en/about/page/1/index.html create mode 100644 public/en/categories/index.html create mode 100644 public/en/categories/index.xml create mode 100644 public/en/contacts/contacts/index.html create mode 100644 public/en/contacts/index.html create mode 100644 public/en/contacts/index.xml create mode 100644 public/en/contacts/page/1/index.html create mode 100644 public/en/index.html create mode 100644 public/en/index.xml create mode 100644 public/en/page/1/index.html create mode 100644 public/en/posts/codeberg_x_nextcloud/index.html create mode 100644 public/en/posts/index.html create mode 100644 public/en/posts/index.xml create mode 100644 public/en/posts/page/1/index.html create mode 100644 public/en/posts/walls/index.html create mode 100644 public/en/services/index.html create mode 100644 public/en/services/index.xml create mode 100644 public/en/services/page/1/index.html create mode 100644 public/en/services/services/index.html create mode 100644 public/en/sitemap.xml create mode 100644 public/en/tags/codeberg/index.html create mode 100644 public/en/tags/codeberg/index.xml create mode 100644 public/en/tags/codeberg/page/1/index.html create mode 100644 public/en/tags/index.html create mode 100644 public/en/tags/index.xml create mode 100644 public/en/tags/nextcloud/index.html create mode 100644 public/en/tags/nextcloud/index.xml create mode 100644 public/en/tags/nextcloud/page/1/index.html create mode 100644 public/en/tags/wallpapers/index.html create mode 100644 public/en/tags/wallpapers/index.xml create mode 100644 public/en/tags/wallpapers/page/1/index.html create mode 100644 public/fonts/FiraCode-Bold.woff create mode 100644 public/fonts/FiraCode-Regular.woff create mode 100644 public/img/avatar.jpg create mode 100644 public/img/favicon.svg create mode 100644 public/img/theme-colors/blue.png create mode 100644 public/img/theme-colors/green.png create mode 100644 public/img/theme-colors/orange.png create mode 100644 public/img/theme-colors/pink.png create mode 100644 public/img/theme-colors/red.png create mode 100644 public/index.html create mode 100644 public/index.xml create mode 100644 public/page/1/index.html create mode 100644 public/posts/codeberg_x_nextcloud/index.html create mode 100644 public/posts/index.html create mode 100644 public/posts/index.xml create mode 100644 public/posts/page/1/index.html create mode 100644 public/posts/ricoh_config/index.html create mode 100644 public/posts/rpi-rip-nvme/index.html create mode 100644 public/posts/walls/index.html create mode 100644 public/ru/index.html create mode 100644 public/ru/sitemap.xml create mode 100644 public/services/index.html create mode 100644 public/services/index.xml create mode 100644 public/services/page/1/index.html create mode 100644 public/services/services/index.html create mode 100644 public/sitemap.xml create mode 100644 public/styles.css create mode 100644 public/styles.css.map create mode 100644 public/tags/codeberg/index.html create mode 100644 public/tags/codeberg/index.xml create mode 100644 public/tags/codeberg/page/1/index.html create mode 100644 public/tags/index.html create mode 100644 public/tags/index.xml create mode 100644 public/tags/nextcloud/index.html create mode 100644 public/tags/nextcloud/index.xml create mode 100644 public/tags/nextcloud/page/1/index.html create mode 100644 public/tags/nvme/index.html create mode 100644 public/tags/nvme/index.xml create mode 100644 public/tags/nvme/page/1/index.html create mode 100644 public/tags/wallpapers/index.html create mode 100644 public/tags/wallpapers/index.xml create mode 100644 public/tags/wallpapers/page/1/index.html create mode 100644 public/tags/обои/index.html create mode 100644 public/tags/обои/index.xml create mode 100644 public/tags/обои/page/1/index.html create mode 100644 public/tags/принтер/index.html create mode 100644 public/tags/принтер/index.xml create mode 100644 public/tags/принтер/page/1/index.html create mode 100644 public/tags/сервер/index.html create mode 100644 public/tags/сервер/index.xml create mode 100644 public/tags/сервер/page/1/index.html create mode 100644 public/tags/софт/index.html create mode 100644 public/tags/софт/index.xml create mode 100644 public/tags/софт/page/1/index.html create mode 100644 public/tos/index.html create mode 100644 resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.content create mode 100644 resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.json diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/config.toml b/config.toml index ffd2f9d..3c42779 100755 --- a/config.toml +++ b/config.toml @@ -64,7 +64,6 @@ DefaultContentLanguage = "ru" # weight = 2 languageCode= 'en' languageName = 'EN' - languageFlag = "🇺🇸" title = "Sadium" # subtitle = "A simple, retro theme for Hugo" [languages.en.params] @@ -118,7 +117,6 @@ DefaultContentLanguage = "ru" # weight = 1 languageCode = 'ru' languageName = 'RU' - languageFlag = "🇷🇺" title = "Sadium" [languages.ru.params] # subtitle = "A simple, retro theme for Hugo" diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..310063e --- /dev/null +++ b/public/404.html @@ -0,0 +1,236 @@ + + + + + 404 Page not found :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+

404 — Страница не найдена...

+ +
+ Вернуться на домашнюю страницу → +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/about/about/index.html b/public/about/about/index.html new file mode 100644 index 0000000..dd017de --- /dev/null +++ b/public/about/about/index.html @@ -0,0 +1,254 @@ + + + + + :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

+
+ + + +

Приветствую!

+

Меня звать Сисадмин Линк, парень, 23 годика, я создатель данного сайта и хостер некоторых сервисов с открытым исходным кодом.

+

Работаю сисадмином в подразделении одного колледжа.

+

Это всё… пока что. + +

+ + + +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/about/index.html b/public/about/index.html new file mode 100644 index 0000000..3f14285 --- /dev/null +++ b/public/about/index.html @@ -0,0 +1,273 @@ + + + + + Обо мне :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ +
+

+ +

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

Приветствую!

+

Меня звать Сисадмин Линк, парень, 23 годика, я создатель данного сайта и хостер некоторых сервисов с открытым исходным кодом.

+

Работаю сисадмином в подразделении одного колледжа.

+

Это всё… пока что. + +

+ + + + +
+ + +
+ + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/about/index.xml b/public/about/index.xml new file mode 100644 index 0000000..07866f2 --- /dev/null +++ b/public/about/index.xml @@ -0,0 +1,33 @@ + + + + Обо мне on Sadium + /about/ + Recent content in Обо мне on Sadium + Hugo -- gohugo.io + ru + + + /about/about/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /about/about/ + Приветствую! Меня звать Сисадмин Линк, парень, 23 годика, я создатель данного сайта и хостер некоторых сервисов с открытым исходным кодом. +Работаю сисадмином в подразделении одного колледжа. +Это всё&hellip; пока что. + <img class="center" src="/img/avatar.jpg" width="300" style="border:3px; border-style:dashed; border-color:#ffffff; padding: 0px;"> + + +<h1 id="приветствую">Приветствую!</h1> +<p>Меня звать <strong>Сисадмин Линк</strong>, парень, 23 годика, я создатель данного сайта и хостер некоторых <a href="/services">сервисов</a> с <strong>открытым исходным кодом</strong>.</p> +<p>Работаю сисадмином в подразделении одного колледжа.</p> +<p>Это всё&hellip; пока что. +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> + + + + + diff --git a/public/about/page/1/index.html b/public/about/page/1/index.html new file mode 100644 index 0000000..c87950f --- /dev/null +++ b/public/about/page/1/index.html @@ -0,0 +1,10 @@ + + + + /about/ + + + + + + diff --git a/public/bundle.min.js b/public/bundle.min.js new file mode 100644 index 0000000..c276868 --- /dev/null +++ b/public/bundle.min.js @@ -0,0 +1,45 @@ +(()=>{var t=document.querySelector(".container"),e=document.querySelectorAll(".menu");document.body.addEventListener("click",()=>{e.forEach(e=>{e.classList.contains("open")&&e.classList.remove("open")})}),window.addEventListener("resize",()=>{e.forEach(e=>{e.classList.remove("open")})}),e.forEach(n=>{const o=n.querySelector(".menu__trigger"),s=n.querySelector(".menu__dropdown");o.addEventListener("click",o=>{o.stopPropagation(),n.classList.contains("open")?n.classList.remove("open"):(e.forEach(e=>e.classList.remove("open")),n.classList.add("open")),s.getBoundingClientRect().right>t.getBoundingClientRect().right&&(s.style.left="auto",s.style.right=0)}),s.addEventListener("click",e=>e.stopPropagation())})})(),(()=>{var e=Object.getOwnPropertyNames,t=(t,n)=>function(){return n||(0,t[e(t)[0]])((n={exports:{}}).exports,n),n.exports},n=t({""(e,t){var s="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},n=function(e){var s,c,o=/\blang(?:uage)?-([\w-]+)\b/i,d=0,i={},t={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof n?new n(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);f+=u.value.length,u=u.next){if(b=u.value,o.length>s.length)return;if(!(b instanceof n)){if(O=1,z){if(!(g=l(N,f,s,S)))break;var E=g.index,L=g.index+g[0].length,p=f;for(p+=u.value.length;p<=E;)u=u.next,p+=u.value.length;if(p-=u.value.length,f=p,u.value instanceof n)continue;for(j=u;j!==o.tail&&(pd.reach&&(d.reach=k),w=u.prev,A&&(w=a(o,w,A),f+=A.length),h(o,w,O),D=new n(_,M?t.tokenize(C,M):C,R,C),(u=a(o,w,D),T&&a(o,u,T),1d.reach&&(d.reach=x.reach))}}}}(e,o,s,o.head,0),function(e){for(var n=[],t=e.head.next;t!==e.tail;)n.push(t.value),t=t.next;return n}(o)},hooks:{all:{},add:function(e,n){var s=t.hooks.all;s[e]=s[e]||[],s[e].push(n)},run:function(e,n){var o,i,s=t.hooks.all[e];if(s&&s.length)for(i=0;o=s[i++];)o(n)}},Token:n};function n(e,t,n,s){this.type=e,this.content=t,this.alias=n,this.length=0|(s||"").length}function l(e,t,n,s){e.lastIndex=t;var i,o=e.exec(n);return o&&s&&o[1]&&(i=o[1].length,o.index+=i,o[0]=o[0].slice(i)),o}function u(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function a(e,t,n){var o=t.next,s={value:n,prev:t,next:o};return t.next=s,o.prev=s,e.length++,s}function h(e,t,n){for(var s=t.next,o=0;o"+o.content+""},!e.document)return e.addEventListener&&(t.disableWorkerMessageHandler||e.addEventListener("message",function(n){var s=JSON.parse(n.data),o=s.language,i=s.code,a=s.immediateClose;e.postMessage(t.highlight(i,t.languages[o],o)),a&&e.close()},!1)),t;s=t.util.currentScript();function r(){t.manual||t.highlightAll()}return(s&&(t.filename=s.src,s.hasAttribute("data-manual")&&(t.manual=!0)),!t.manual)&&(c=document.readyState,"loading"===c||"interactive"===c&&s&&s.defer?document.addEventListener("DOMContentLoaded",r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)),t}(s);"undefined"!=typeof t&&t.exports&&(t.exports=n),"undefined"!=typeof global&&(global.Prism=n),n.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside["internal-subset"].inside=n.languages.markup,n.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(e,t){var o,i,s={};s["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:n.languages[t]},s.cdata=/^$/i,o={"included-cdata":{pattern://i,inside:s}},o["language-"+t]={pattern:/[\s\S]+/,inside:n.languages[t]},i={},i[e]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:o},n.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(n.languages.markup.tag,"addAttribute",{value:function(e,t){n.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:n.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend("markup",{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,!function(e){var n,t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\ +()"']|\\\\[^])*)\\)`,"i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,n=e.languages.markup,n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&(n.languages.markup.tag.addInlined("script","javascript"),n.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),n.languages.js=n.languages.javascript,n.languages.actionscript=n.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|override|set|static)\b/,operator:/\+\+|--|(?:[+\-*/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),n.languages.actionscript["class-name"].alias="function",n.languages.markup&&n.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:n.languages.markup}}),n.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|Type|UserFile|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferSize|BufferedLogs|CGIDScriptTimeout|CGIMapExtension|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DTracePrivileges|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtFilterDefine|ExtFilterOptions|ExtendedStatus|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|KeepAlive|KeepAliveTimeout|KeptBodySize|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|LanguagePriority|Limit(?:InternalRecursion|Request(?:Body|FieldSize|Fields|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|MMapFile|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|ModMimeUsePathInfo|ModemStandard|MultiviewsMatch|Mutex|NWSSLTrustedCerts|NWSSLUpgradeable|NameVirtualHost|NoProxy|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|RLimitCPU|RLimitMEM|RLimitNPROC|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|SSIETag|SSIEndTag|SSIErrorMsg|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|SRPUnknownUserSeed|SRPVerifierFile|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UseStapling|UserName|VerifyClient|VerifyDepth)|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadStackSize|ThreadsPerChild|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/},n.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-/÷^]|[<>]=?/,/\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,class:{pattern:/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/,alias:"builtin"},punctuation:/[{}():,¬«»《》]/},!function(e){var n="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",o={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},t={bash:o,environment:{pattern:RegExp("\\$"+n),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!/]|##?|%%?|\^\^?|,,?/,punctuation:/[[\]]/,environment:{pattern:RegExp("(\\{)"+n),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+n),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:t},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:o}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:t.entity}}],environment:{pattern:RegExp("\\$?"+n),alias:"constant"},variable:t.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},o.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=t.variable[1].inside,s=0;s>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),n.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},n.languages.c.string],comment:n.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:n.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete n.languages.c.boolean,!function(e){function n(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return"(?:"+t[+n]+")"})}function t(e,t,s){return RegExp(n(e,t),s||"")}function r(e,t){for(var n=0;n>/g,function(){return"(?:"+e+")"});return e.replace(/<>/g,"[^\\s\\S]")}var S="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",c="class enum interface record struct",_="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",f="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var v=l(c),d=RegExp(l(S+" "+c+" "+_+" "+f)),z=l(c+" "+_+" "+f),T=l(S+" "+c+" "+f),u=r("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),h=r("\\((?:[^()]|<>)*\\)",2),o="@?\\b[A-Za-z_]\\w*\\b",m=n("<<0>>(?:\\s*<<1>>)?",[o,u]),i=n("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[z,m]),p="\\[\\s*(?:,\\s*)*\\]",D=n("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[i,p]),a=n("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[n("\\(<<0>>+(?:,<<0>>+)+\\)",[n("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[u,h,p])]),i,p]),s={keyword:d,punctuation:/[<>()?,.:[\]]/},w=`'(?:[^ +'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,O=`"(?:\\\\.|[^\\\\" +])*"`;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:t("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:t("(^|[^@$\\\\])<<0>>",[O]),lookbehind:!0,greedy:!0},{pattern:RegExp(w),greedy:!0,alias:"character"}],"class-name":[{pattern:t("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[i]),lookbehind:!0,inside:s},{pattern:t("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[o,a]),lookbehind:!0,inside:s},{pattern:t("(\\busing\\s+)<<0>>(?=\\s*=)",[o]),lookbehind:!0},{pattern:t("(\\b<<0>>\\s+)<<1>>",[v,m]),lookbehind:!0,inside:s},{pattern:t("(\\bcatch\\s*\\(\\s*)<<0>>",[i]),lookbehind:!0,inside:s},{pattern:t("(\\bwhere\\s+)<<0>>",[o]),lookbehind:!0},{pattern:t("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[D]),lookbehind:!0,inside:s},{pattern:t("\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[a,T,o]),inside:s}],keyword:d,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:t("([(,]\\s*)<<0>>(?=\\s*:)",[o]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:t("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[o]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:t("(\\b(?:default|typeof|sizeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[h]),lookbehind:!0,alias:"class-name",inside:s},"return-type":{pattern:t("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[a,i]),inside:s,alias:"class-name"},"constructor-invocation":{pattern:t("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[a]),lookbehind:!0,inside:s,alias:"class-name"},"generic-method":{pattern:t("<<0>>\\s*<<1>>(?=\\s*\\()",[o,u]),inside:{function:t("^<<0>>",[o]),generic:{pattern:RegExp(u),alias:"class-name",inside:s}}},"type-list":{pattern:t("\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))",[v,m,o,a,d.source,h,"\\bnew\\s*\\(\\s*\\)"]),lookbehind:!0,inside:{"record-arguments":{pattern:t("(^(?!new\\s*\\()<<0>>\\s*)<<1>>",[m,h]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:d,"class-name":{pattern:RegExp(a),greedy:!0,inside:s},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var x=O+"|"+w,C=n(`/(?![*/])|//[^ +]*[ +]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>`,[x]),b=r(n(`[^"'/()]|<<0>>|\\(<>*\\)`,[C]),2),k="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",F=n("<<0>>(?:\\s*\\(<<1>>*\\))?",[i,b]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:t("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[k,F]),lookbehind:!0,greedy:!0,inside:{target:{pattern:t("^<<0>>(?=\\s*:)",[k]),alias:"keyword"},"attribute-arguments":{pattern:t("\\(<<0>>*\\)",[b]),inside:e.languages.csharp},"class-name":{pattern:RegExp(i),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var g=`:[^} +]+`,M=r(n(`[^"'/()]|<<0>>|\\(<>*\\)`,[C]),2),A=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[M,g]),E=r(n(`[^"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)`,[x]),2),y=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[E,g]);function j(n,s){return{interpolation:{pattern:t("((?:^|[^{])(?:\\{\\{)*)<<0>>",[n]),lookbehind:!0,inside:{"format-string":{pattern:t("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[s,g]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:t('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[A]),lookbehind:!0,greedy:!0,inside:j(A,M)},{pattern:t('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[y]),lookbehind:!0,greedy:!0,inside:j(y,E)}]})}(n),n.languages.dotnet=n.languages.cs=n.languages.csharp,!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,function(){return t.source});e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(`(\\b(?:module|import)\\s+)(?:"(?:\\\\(?: +|[^])|[^"\\\\ +])*"|<[^<> +]*>|`+"(?:\\s*:\\s*)?|:\\s*".replace(//g,function(){return n})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b[a-z_]\w*\s*<(?:[^<>]|<(?:[^<>])*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(n),n.languages.cmake={comment:/#.*/,string:{pattern:/"(?:[^\\"]|\\.)*"/,greedy:!0,inside:{interpolation:{pattern:/\$\{(?:[^{}$]|\$\{[^{}$]*\})*\}/,inside:{punctuation:/\$\{|\}/,variable:/\w+/}}}},variable:/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\b/,property:/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/,keyword:/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/,boolean:/\b(?:ON|OFF|TRUE|FALSE)\b/,namespace:/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/,operator:/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/,inserted:{pattern:/\b\w+::\w+\b/,alias:"class-name"},number:/\b\d+(?:\.\d+)*\b/,function:/\b[a-z_]\w*(?=\s*\()\b/i,punctuation:/[()>}]|\$[<{]/},!function(e){var n=/#(?!\{).+/,t={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:n,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:t}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:n,interpolation:t}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:t}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(n),n.languages.csp={directive:{pattern:/(^|[^-\da-z])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[^-\da-z]|$)/i,lookbehind:!0,alias:"keyword"},safe:{pattern:/'(?:deny|none|report-sample|self|strict-dynamic|top-only|(?:nonce|sha(?:256|384|512))-[-+/\w=]+)'/i,alias:"selector"},unsafe:{pattern:/(?:'unsafe-(?:allow-redirects|dynamic|eval|hash-attributes|hashed-attributes|hashes|inline)'|\*)/i,alias:"function"}},!function(e){t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:n={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp(`\\[(?:[^[\\]"']|`+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=n,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var t,n,s={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},o={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:s,number:o,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:s,number:o})}(n),!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach(function(n){var o=t[n],s=[];/^\w+$/.test(n)||s.push(/\w+/.exec(n)[0]),"diff"===n&&s.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+o+`].*(?: +?| +|(?![\\s\\S])))+`,"m"),alias:s,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(n),!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,s,o,i){if(n.language===s){var a=n.tokenStack=[];n.code=n.code.replace(o,function(e){if("function"==typeof i&&!i(e))return e;for(var r,o=a.length;-1!==n.code.indexOf(r=t(s,o));)++o;return a[o]=e,r}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,s){if(n.language===s&&n.tokenStack){n.grammar=e.languages[s];var o=0,i=Object.keys(n.tokenStack);!function a(r){for(d=0;d=i.length);d++)if(c=r[d],"string"==typeof c||c.content&&"string"==typeof c.content){{var c,d,m=i[o],f=n.tokenStack[m],u="string"==typeof c?c:c.content,p=t(s,m),h=u.indexOf(p);if(-1]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Tt]rue|[Ff]alse|[Nn]one/,variable:/\b\w+?\b/,punctuation:/[{}[\](),.:;]/};var n=/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g,t=e.languages["markup-templating"];e.hooks.add("before-tokenize",function(e){t.buildPlaceholders(e,"django",n)}),e.hooks.add("after-tokenize",function(e){t.tokenizePlaceholders(e,"django")}),e.languages.jinja2=e.languages.django,e.hooks.add("before-tokenize",function(e){t.buildPlaceholders(e,"jinja2",n)}),e.hooks.add("after-tokenize",function(e){t.tokenizePlaceholders(e,"jinja2")})}(n),!function(e){var i="(?:[ ]+(?![ ])(?:)?|)".replace(//g,function(){return`\\\\[ +](?:\\s|\\\\[ +]|#.*(?!.))*(?![\\s#]|\\\\[ +])`}),n=`"(?:[^"\\\\ +]|\\\\(?: +|[^]))*"|'(?:[^'\\\\ +]|\\\\(?: +|[^]))*'`,a=`--[\\w-]+=(?:|(?!["'])(?:[^\\s\\\\]|\\\\.)+)`.replace(//g,function(){return n}),s={pattern:RegExp(n),greedy:!0},o={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function t(e,t){return e=e.replace(//g,function(){return a}).replace(//g,function(){return i}),RegExp(e,t)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:t("(^(?:ONBUILD)?\\w+)(?:)*","i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[s,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:t("(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\\b","i"),lookbehind:!0,greedy:!0},{pattern:t("(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \\\\]+)AS","i"),lookbehind:!0,greedy:!0},{pattern:t("(^ONBUILD)\\w+","i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:o,string:s,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:o},e.languages.dockerfile=e.languages.docker}(n),n.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,inside:{attribute:/^@\w+/,string:/['"][\s\S]+/}},comment:{pattern:/#.*/m,greedy:!0},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},module:{pattern:/\b[A-Z]\w*\b/,alias:"class-name"},"attr-name":/\b\w+\??:(?!:)/,argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},function:/\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,boolean:/\b(?:true|false|nil)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%[\]{}()]/},n.languages.elixir.string.forEach(function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:n.languages.elixir}}}}),n.languages.elm={comment:/--.*|\{-[\s\S]*?-\}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\.)*"/,greedy:!0}],"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,lookbehind:!0,inside:{keyword:/\b(?:import|as|exposing)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/},n.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:true|false)\b/,keyword:/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=/<>:]=|=[:/]=|\+\+?|--?|[=*/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/},n.languages.fsharp=n.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,greedy:!0},"class-name":{pattern:/(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,lookbehind:!0,inside:{operator:/->|\*/,punctuation:/\./}},keyword:/\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/,number:[/\b0x[\da-fA-F]+(?:un|lf|LF)?\b/,/\b0b[01]+(?:y|uy)?\b/,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/}),n.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(^#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:!0,alias:"keyword"}}}}),n.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/\b[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}}),n.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:!0},"annotation-content":{pattern:/[\s\S]+/,inside:n.languages.fsharp}}}}),!function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/,alias:"tag"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,lookbehind:!0})}(n),n.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},n.languages.go=n.languages.extend("clike",{string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,number:/(?:\b0x[a-f\d]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[-+]?\d+)?)i?/i,operator:/[*/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/}),delete n.languages.go["class-name"],n.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:n.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:true|false)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/[A-Z]\w*Input(?=!?.*$)/m,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}[\]:=,]/,property:/\w+/},n.hooks.add("after-tokenize",function(e){if("graphql"===e.language)for(var o,i,a,r,c,l,d,n=e.tokens.filter(function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type}),t=0;t\\\\]|\\\\[^])*>"].join("|")+")[egimnosux]{0,6}"),greedy:!0,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},"method-definition":{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp("%[qQiIwWxs]?(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^])*\\)","\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]","<(?:[^<>\\\\]|\\\\[^])*>"].join("|")+")"),greedy:!0,inside:{interpolation:t}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|[a-z_]\w*$/i,alias:"symbol",inside:{punctuation:/^<<[-~]?/}},interpolation:t}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|[a-z_]\w*$/i,alias:"symbol",inside:{punctuation:/^<<[-~]?'|'$/}}}}],e.languages.rb=e.languages.ruby}(n),!function(e){e.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:!0,inside:e.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:!0,inside:e.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:!0,inside:e.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:e.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:e.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:e.languages.ruby}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var t,s=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],o={},n=0,i=s.length;n@[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,/;<=>@[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)}),e.hooks.add("after-tokenize",function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")}),e.languages.hbs=e.languages.handlebars}(n),n.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:!0},char:{pattern:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:!0},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:import|qualified|as|hiding)\b/,punctuation:/\./}},builtin:/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:[{pattern:/`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,greedy:!0},{pattern:/(\s)\.(?=\s)/,lookbehind:!0},/[-!#$%*+=?&@|~:<>^\\/][-!#$%*+=?&@|~.:<>^\\/]*|\.[-!#$%*+=?&@|~.:<>^\\/]+/],hvariable:{pattern:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,inside:{punctuation:/\./}},constant:{pattern:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:]/},n.languages.hs=n.languages.haskell,!function(e){e.languages.http={"request-line":{pattern:/^(?:GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\s(?:https?:\/\/|\/)\S*\sHTTP\/[0-9.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:e.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[0-9.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[0-9.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[0-9.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var n,s,i,a,r,t=e.languages,o={"application/javascript":t.javascript,"application/json":t.json||t.javascript,"application/xml":t.xml,"text/xml":t.xml,"text/html":t.html,"text/css":t.css},c={"application/json":!0,"application/xml":!0};for(n in o)o[n]&&(s=s||{},r=c[n]?(void 0,a=(i=n).replace(/^[a-z]+\//,""),"(?:"+i+"|\\w+/(?:[\\w.-]+\\+)+"+a+"(?![+\\w.-]))"):n,s[n.replace(/\//g,"-")]={pattern:RegExp("(content-type:\\s*"+r+`(?:(?:\\r\\n?|\\n).+)*)(?:\\r?\\n|\\r){2}[\\s\\S]*`,"i"),lookbehind:!0,inside:o[n]});s&&e.languages.insertBefore("http","header-name",s)}(n),!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,s="(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",n={pattern:RegExp(s+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{"class-name":[n,{pattern:RegExp(s+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])"),lookbehind:!0,inside:n.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":n,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(n),n.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},n.languages.webmanifest=n.languages.json,!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"],e.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/("""|''')[\s\S]*?\1/,alias:"string"}}),e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}});var t=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:"variable"}];e.languages.kotlin.string.inside=e.languages.kotlin["raw-string"].inside={interpolation:t},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(n),!function(e){var t=/\\(?:[^a-z()[\]]|[a-z*]+)/i,n={"equation-command":{pattern:t,alias:"regex"}};e.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0,alias:"class-name"},function:{pattern:t,alias:"selector"},punctuation:/[[\]{}&]/},e.languages.tex=e.languages.latex,e.languages.context=e.languages.latex}(n),n.languages.less=n.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*/]/}),n.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),n.languages.llvm={comment:/;.*/,string:{pattern:/"[^"]*"/,greedy:!0},boolean:/\b(?:true|false)\b/,variable:/[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,type:{pattern:/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,alias:"class-name"},keyword:/\b[a-z_][a-z_0-9]*\b/,number:/[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/,punctuation:/[{}[\];(),.!*=<>]/},n.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},!function(e){function n(e){return e=e.replace(//g,function(){return`(?:\\\\.|[^\\\\ + ]|(?: +| +?)(?![ +]))`}),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+e+")")}var s="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",t=`\\|?__(?:\\|__)+\\|?(?:(?: +| +?)|(?![^]))`.replace(/__/g,function(){return s}),o=`\\|?[ ]*:?-{3,}:?[ ]*(?:\\|[ ]*:?-{3,}:?[ ]*)+\\|?(?: +| +?)`;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"font-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+t+o+"(?:"+t+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+t+o+")(?:"+t+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(s),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+t+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+t+"$"),inside:{"table-header":{pattern:RegExp(s),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[[\]!:]|[<>]/},alias:"url"},bold:{pattern:n("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n("(~~?)(?:(?!~))+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[ ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ ]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||!function e(t){if(t&&"string"!=typeof t)for(var n,s,o,i,r,a=0,c=t.length;a",quot:'"'},r=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(n),n.languages.nasm={comment:/;.*$/m,string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,label:{pattern:/(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,lookbehind:!0,alias:"function"},keyword:[/\[?BITS (?:16|32|64)\]?/,{pattern:/(^\s*)section\s*[a-z.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\r\n]*/i,/(?:CPU|FLOAT|DEFAULT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s)\b/i,alias:"variable"},number:/(?:\b|(?=\$))(?:0[hx](?:\.[\da-f]+|[\da-f]+(?:\.[\da-f]+)?)(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[[\]*+\-/%<>=&|$!]/},n.languages.objectivec=n.languages.extend("c",{string:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,keyword:/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*/@]/}),delete n.languages.objectivec["class-name"],n.languages.objc=n.languages.objectivec,n.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:!0}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?[\d_]+)?)/i,directive:{pattern:/\B#\w+/,alias:"important"},label:{pattern:/\B~\w+/,alias:"function"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"variable"},module:{pattern:/\b[A-Z]\w+/,alias:"variable"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*/$%!?~][!$%&*+\-./:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/[(){}[\]|.,:;]|\b_\b/},n.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0}],string:[{pattern:/\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{([<])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/,greedy:!0},{pattern:/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/,greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:/\b(?:m|qr)\s*([^a-zA-Z0-9\s{([<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/,greedy:!0},{pattern:/\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{([<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/\/(?:[^/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/i,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*>|\b_\b/,alias:"symbol"},vstring:{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/sub \w+/i,inside:{keyword:/sub/}},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/,punctuation:/[{}[\];(),:]/},!function(e){var t,n,s=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,o=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,a=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,r=/[{}[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:s,variable:/\$+(?:\w+\b|(?=\{))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[\w|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[\w|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:o,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:a,punctuation:r},t={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},n=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:t}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:t}}],e.languages.insertBefore("php","variable",{string:n,attribute:{pattern:/#\[(?:[^"'/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:s,string:n,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:o,number:i,operator:a,punctuation:r}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi)}),e.hooks.add("after-tokenize",function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")})}(n),n.languages.insertBefore("php","variable",{this:/\$this\b/,global:/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/static|self|parent/,punctuation:/::|\\/}}}),!function(){var t=n.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:{function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:{}}}},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i,boolean:/\$(?:true|false)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\b|-[-=]?|\+[+=]?|[*/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/},s=t.string[0].inside;s.boolean=t.boolean,s.variable=t.variable,s.function.inside=t}(),n.languages.processing=n.languages.extend("clike",{keyword:/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*/]=?/}),n.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,alias:"variable"}}),n.languages.processing.function=/\b\w+(?=\s*\()/,n.languages.processing["class-name"].alias="variable",!function(e){e.languages.pug={comment:{pattern:/(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,lookbehind:!0},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:e.languages.javascript},filter:{pattern:/(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:if|unless|else|case|when|default|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,function:/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:e.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,lookbehind:!0,inside:e.languages.javascript},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,lookbehind:!0},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:e.languages.javascript},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:e.languages.javascript},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/,"attr-id":/#[\w-]+/,"attr-class":/\.[\w-]+/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:e.languages.javascript}],punctuation:/[.\-!=|]+/};for(var t,s=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","less","livescript","markdown",{filter:"sass",language:"scss"},"stylus"],o={},n=0,i=s.length;n(?:(?:\r?\n|\r(?!\n))(?:\\2[ ].+|\\s*?(?=\r?\n|\r)))+".replace("",function(){return t.filter}),"m"),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:e.languages[t.language]}});e.languages.insertBefore("pug","filter",o)}(n),n.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},n.languages.python["string-interpolation"].inside.interpolation.inside.rest=n.languages.python,n.languages.py=n.languages.python,n.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:TRUE|FALSE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:NaN|Inf)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/,operator:/->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*/^$@~]/,punctuation:/[(){}[\],;]/},!function(e){var t,o,i=e.util.clone(e.languages.javascript),s="(?:\\{*\\.{3}(?:[^{}]|)*\\})";function n(e,t){return e=e.replace(//g,function(){return"(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)"}).replace(//g,function(){return"(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})"}).replace(//g,function(){return s}),RegExp(e,t)}s=n(s).source,e.languages.jsx=e.languages.extend("markup",i),e.languages.jsx.tag.pattern=n(`+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[^]|[^\\\\"])*"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'"/>=]+|))?|))**/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>/]*/i,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/i,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=i.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:n(""),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:n("="),inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx},alias:"language-javascript"}},e.languages.jsx.tag),t=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(t).join(""):""},o=function(n){for(var s,r,c,i=[],a=0;a"===s.content[s.content.length-1].content||i.push({tagName:t(s.content[0].content[1]),openedBraces:0}):0]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|as|declare|implements|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[{*]|$))/),delete e.languages.typescript.parameter;var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(n),!function(e){var t,n=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",n),t=e.languages.tsx.tag,t.pattern=RegExp("(^|[^\\w$]|(?=|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/}),n.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete n.languages.reason.function,!function(e){for(var t="/\\*(?:[^*/]|\\*(?!/)|/(?!\\*)|)*\\*/",n=0;n<2;n++)t=t.replace(//g,function(){return t});t=t.replace(//g,function(){return"[^\\s\\S]"}),e.languages.rust={comment:[{pattern:RegExp("(^|[^\\\\])"+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0,alias:"string"},attribute:{pattern:/#!?\[(?:[^[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:[ui](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(n),!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(n),n.languages.scss=n.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),n.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|forward|for|each|while|import|use|extend|debug|warn|mixin|include|function|return|content)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),n.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),n.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|with|show|hide)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),n.languages.scss.atrule.inside.rest=n.languages.scss,n.languages.scala=n.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/,symbol:/'[^\d\s\\]\w*/}),delete n.languages.scala["class-name"],delete n.languages.scala.function,n.languages.scheme={comment:/;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^[\]]|\[[^[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},symbol:{pattern:/'[^()[\]#'\s]+/,greedy:!0},character:{pattern:/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,greedy:!0,alias:"string"},"lambda-parameter":[{pattern:/((?:^|[^'`#])[([]lambda\s+)(?:[^|()[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,lookbehind:!0},{pattern:/((?:^|[^'`#])[([]lambda\s+[([])[^()[\]']+/,lookbehind:!0}],keyword:{pattern:/((?:^|[^'`#])[([])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|export|except|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\*)?|let\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()[\]\s]|$)/,lookbehind:!0},builtin:{pattern:/((?:^|[^'`#])[([])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\?|boolean=?\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\?|\?|<\?|<=\?|=\?|>\?|>=\?)|close-(?:input-port|output-port|port)|complex\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\??|eq\?|equal\?|eqv\?|error|error-object(?:-irritants|-message|\?)|eval|even\?|exact(?:-integer-sqrt|-integer\?|\?)?|expt|features|file-error\?|floor(?:-quotient|-remainder|\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\??|input-port(?:-open\?|\?)|integer(?:->char|\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\?|newline|not|null\?|number(?:->string|\?)|numerator|odd\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\?|\?)|pair\?|peek-char|peek-u8|port\?|positive\?|procedure\?|quotient|raise|raise-continuable|rational\?|rationalize|read-(?:bytevector|bytevector!|char|error\?|line|string|u8)|real\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?|<\?|<=\?|=\?|>\?|>=\?)?|substring|symbol(?:->string|\?|=\?)|syntax-error|textual-port\?|truncate(?:-quotient|-remainder|\/)?|u8-ready\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\?)(?=[()[\]\s]|$)/,lookbehind:!0},operator:{pattern:/((?:^|[^'`#])[([])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,lookbehind:!0},number:{pattern:RegExp(function(e){for(var t in e)e[t]=e[t].replace(/<[\w\s]+>/g,function(t){return"(?:"+e[t].trim()+")"});return e[t]}({"":"\\d+(?:/\\d+)|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?","":"[+-]?|[+-](?:inf|nan)\\.0","":"[+-](?:|(?:inf|nan)\\.0)?i","":"(?:@|)?|","":"(?:#d(?:#[ei])?|#[ei](?:#d)?)?","":"[0-9a-f]+(?:/[0-9a-f]+)?","":"[+-]?|[+-](?:inf|nan)\\.0","":"[+-](?:|(?:inf|nan)\\.0)?i","":"(?:@|)?|","":"#[box](?:#[ei])?|(?:#[ei])?#[box]","":"(^|[()\\[\\]\\s])(?:|)(?=[()\\[\\]\\s]|$)"}),"i"),lookbehind:!0},boolean:{pattern:/(^|[()[\]\s])#(?:[ft]|false|true)(?=[()[\]\s]|$)/,lookbehind:!0},function:{pattern:/((?:^|[^'`#])[([])(?:[^|()[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()[\]\s]|$)/,lookbehind:!0},identifier:{pattern:/(^|[()[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()[\]\s]|$)/,lookbehind:!0,greedy:!0},punctuation:/[()[\]']/},n.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},!function(e){var n={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},s={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},t={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:if|else|for|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:n,number:s,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:n,boolean:/\b(?:true|false)\b/,operator:[/~|[+!/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:s,punctuation:/[{}()[\];:,]/};t.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:t}},t.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:t}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:t}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:t}},statement:{pattern:/(^[ \t]*)(?:if|else|for|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:t}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:t.interpolation}},rest:t}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:t.interpolation,comment:t.comment,punctuation:/[{},]/}},func:t.func,string:t.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:t.interpolation,punctuation:/[{}()[\];:.]/}}(n),n.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(`(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)| +|[^(])|[^\\\\ +"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp('(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^#])|[^\\\\\r\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp("#(?:(?:elseif|if)\\b(?:[ ]*(?:![ ]*)?(?:\\b\\w+\\b(?:[ ]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ ]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:true|false)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:true|false)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},n.languages.swift["string-literal"].forEach(function(e){e.inside.interpolation.inside=n.languages.swift}),!function(e){function t(e,t){return RegExp(e.replace(//g,function(){return`(?:\\([^|() +]+\\)|\\[[^\\] +]+\\]|\\{[^} +]+\\})`}).replace(//g,function(){return`(?:\\)|\\((?![^|() +]+\\)))`}),t||"")}var o,a,i={css:{pattern:/\{[^{}]+\}/,inside:{rest:e.languages.css}},"class-id":{pattern:/(\()[^()]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^[\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\/]\d+|\S/},r=e.languages.textile=e.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:t("^[a-z]\\w*(?:||[<>=])*\\."),inside:{modifier:{pattern:t("(^[a-z]\\w*)(?:||[<>=])+(?=\\.)"),lookbehind:!0,inside:i},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:t("^[*#]+*\\s+\\S.*","m"),inside:{modifier:{pattern:t("(^[*#]+)+"),lookbehind:!0,inside:i},punctuation:/^[*#]+/}},table:{pattern:t("^(?:(?:||[<>=^~])+\\.\\s*)?(?:\\|(?:(?:||[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:||[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|","m"),inside:{modifier:{pattern:t(`(^|\\|(?: ? +| )?)(?:||[<>=^~_]|[\\\\/]\\d+)+(?=\\.)`),lookbehind:!0,inside:i},punctuation:/\||^\./}},inline:{pattern:t("(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])*.+?\\2(?![a-zA-Z\\d])"),lookbehind:!0,inside:{bold:{pattern:t("(^(\\*\\*?)*).+?(?=\\2)"),lookbehind:!0},italic:{pattern:t("(^(__?)*).+?(?=\\2)"),lookbehind:!0},cite:{pattern:t("(^\\?\\?*).+?(?=\\?\\?)"),lookbehind:!0,alias:"string"},code:{pattern:t("(^@*).+?(?=@)"),lookbehind:!0,alias:"keyword"},inserted:{pattern:t("(^\\+*).+?(?=\\+)"),lookbehind:!0},deleted:{pattern:t("(^-*).+?(?=-)"),lookbehind:!0},span:{pattern:t("(^%*).+?(?=%)"),lookbehind:!0},modifier:{pattern:t("(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])+"),lookbehind:!0,inside:i},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(^\])\S+$/,lookbehind:!0},punctuation:/[[\]]/}},link:{pattern:t('"*[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'),inside:{text:{pattern:t('(^"*)[^"]+(?=")'),lookbehind:!0},modifier:{pattern:t('(^")+'),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:t("!(?:||[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?"),inside:{source:{pattern:t("(^!(?:||[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)"),lookbehind:!0,alias:"url"},modifier:{pattern:t("(^!)(?:||[<>=])+"),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^()]+(?=\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\b\((?:TM|R|C)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}}),s=r.phrase.inside,n={inline:s.inline,link:s.link,image:s.image,footnote:s.footnote,acronym:s.acronym,mark:s.mark};r.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,a=s.inline.inside,a.bold.inside=n,a.italic.inside=n,a.inserted.inside=n,a.deleted.inside=n,a.span.inside=n,o=s.table.inside,o.inline=n.inline,o.link=n.link,o.image=n.image,o.footnote=n.footnote,o.acronym=n.acronym,o.mark=n.mark}(n),!function(e){function t(e){return e.replace(/__/g,function(){return`(?:[\\w-]+|'[^' + ]*'|"(?:\\\\.|[^\\\\" +])*")`})}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(t("(^[ ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])"),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(t("(^[ ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)"),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:true|false)\b/,punctuation:/[.,=[\]{}]/}}(n),n.languages.twig={comment:/\{#[\s\S]*?#\}/,tag:{pattern:/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/,inside:{ld:{pattern:/^(?:\{\{-?|\{%-?\s*\w+)/,inside:{punctuation:/^(?:\{\{|\{%)-?/,keyword:/\w+/}},rd:{pattern:/-?(?:%\}|\}\})$/,inside:{punctuation:/.+/}},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:true|false|null)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],property:/\b[a-zA-Z_]\w*\b/,punctuation:/[()[\]{}:.,]/}},other:{pattern:/\S(?:[\s\S]*\S)?/,inside:n.languages.markup}},n.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/},n.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\S\r\n]_[^\S\r\n]*(?:\r\n?|\n)|.)+/i,alias:"comment",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[^\S\r\n]*(?:\d+([/-])\d+\1\d+(?:[^\S\r\n]+(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?))?|\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?)[^\S\r\n]*#/i,alias:"builtin"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[FRD])?/i,boolean:/\b(?:True|False|Nothing)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Until|Xor)\b/i,operator:[/[+\-*/\\^<=>&#@$%!]/,{pattern:/([^\S\r\n])_(?=[^\S\r\n]*[\r\n])/,lookbehind:!0}],punctuation:/[{}().,:?]/},n.languages.vb=n.languages["visual-basic"],n.languages.vba=n.languages["visual-basic"],n.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/i,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/},!function(e){var n=/[*&][^\s[\]{},]+/,s=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,o="(?:"+s.source+"(?:[ ]+"+n.source+")?|"+n.source+"(?:[ ]+"+s.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ ]*(?:(?![#:])|:))*".replace(//g,function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"}),i=`"(?:[^"\\\\ +]|\\\\.)*"|'(?:[^'\\\\ +]|\\\\.)*'`;function t(e,t){t=(t||"").replace(/m/g,"")+"m";var n=`([:\\-,[{]\\s*(?:\\s<>[ ]+)?)(?:<>)(?=[ ]*(?:$|,|\\]|\\}|(?:[ +]\\s*)?#))`.replace(/<>/g,function(){return o}).replace(/<>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ ]+)?[|>])[ ]*(?:((?:\r?\n|\r)[ ]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,function(){return o})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{ +?])[ ]*(?:<>[ ]+)?)<>(?=\\s*:\\s)`.replace(/<>/g,function(){return o}).replace(/<>/g,function(){return"(?:"+a+"|"+i+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:t("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ ]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ ]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:t("true|false","i"),lookbehind:!0,alias:"important"},null:{pattern:t("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:t(i),lookbehind:!0,greedy:!0},number:{pattern:t("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:s,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(n),!function(){if("undefined"!=typeof n&&"undefined"!=typeof document&&document.querySelector){var s,r="line-numbers",e="linkable-line-numbers",h=function(){if(void 0===s){var e=document.createElement("div");e.style.fontSize="13px",e.style.lineHeight="1.5",e.style.padding="0",e.style.border="0",e.innerHTML=" 
 ",document.body.appendChild(e),s=38===e.offsetHeight,document.body.removeChild(e)}return s},o=!0,c=0;n.hooks.add("before-sanity-check",function(e){var n,s=e.element.parentElement;i(s)&&(n=0,t(".line-highlight",s).forEach(function(e){n+=e.textContent.length,e.parentNode.removeChild(e)}),n&&/^(?: \n)+$/.test(e.code.slice(-n))&&(e.code=e.code.slice(0,-n)))}),n.hooks.add("complete",function e(t){if(s=t.element.parentElement,i(s)){clearTimeout(c);var s,o=n.plugins.lineNumbers,d=t.plugins&&t.plugins.lineNumbers;l(s,r)&&o&&!d?n.hooks.add("line-numbers",e):(a(s)(),c=setTimeout(u,1))}}),window.addEventListener("hashchange",u),window.addEventListener("resize",function(){t("pre").filter(i).map(function(e){return a(e)}).forEach(d)})}function t(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function l(e,t){return e.classList.contains(t)}function d(e){e()}function i(t){return!!t&&!!/pre/i.test(t.nodeName)&&(!!t.hasAttribute("data-line")||!!t.id&&!!n.util.isActive(t,e))}function a(s,i,a){var f,v,b=(i="string"==typeof i?i:s.getAttribute("data-line")||"").replace(/\s+/g,"").split(",").filter(Boolean),j=+s.getAttribute("data-line-offset")||0,y=(h()?parseInt:parseFloat)(getComputedStyle(s).lineHeight),m=n.util.isActive(s,r),u=s.querySelector("code"),p=m?s:u||s,c=[],g=u&&p!=u?function(e,t){var o=getComputedStyle(e),s=getComputedStyle(t);function n(e){return+e.substr(0,e.length-2)}return t.offsetTop+n(s.borderTopWidth)+n(s.paddingTop)-n(o.paddingTop)}(s,u):0;return b.forEach(function(e){var r,l,u,h,d=e.split("-"),o=+d[0],i=+d[1]||o,t=s.querySelector('.line-highlight[data-range="'+e+'"]')||document.createElement("div");c.push(function(){t.setAttribute("aria-hidden","true"),t.setAttribute("data-range",e),t.className=(a||"")+" line-highlight"}),m&&n.plugins.lineNumbers?(r=n.plugins.lineNumbers.getLine(s,o),l=n.plugins.lineNumbers.getLine(s,i),r&&(u=r.offsetTop+g+"px",c.push(function(){t.style.top=u})),l&&(h=l.offsetTop-r.offsetTop+l.offsetHeight+"px",c.push(function(){t.style.height=h}))):c.push(function(){t.setAttribute("data-start",String(o)),o span",s).forEach(function(e,t){var n=t+v;e.onclick=function(){var e=f+"."+n;o=!1,location.hash=e,setTimeout(function(){o=!0},1)}})),function(){c.forEach(d)}}function u(){if(e=location.hash.slice(1),t(".temporary.line-highlight").forEach(function(e){e.parentNode.removeChild(e)}),s=(e.match(/\.([\d,-]+)$/)||[,""])[1],s&&!document.getElementById(e)){var e,s,i=e.slice(0,e.lastIndexOf(".")),n=document.getElementById(i);n&&(n.hasAttribute("data-line")||n.setAttribute("data-line",""),a(n,s,"temporary ")(),o&&document.querySelector(".temporary.line-highlight").scrollIntoView())}}}(),!function(){if("undefined"!=typeof n&&"undefined"!=typeof document){var e="line-numbers",s=/\n(?!$)/g,i=n.plugins.lineNumbers={getLine:function(t,n){if("PRE"===t.tagName&&t.classList.contains(e)&&(s=t.querySelector(".line-numbers-rows"),s)){var s,a,o=parseInt(t.getAttribute("data-start"),10)||1,i=o+(s.children.length-1);return n");(r=document.createElement("span")).setAttribute("aria-hidden","true"),r.className="line-numbers-rows",r.innerHTML=d,i.hasAttribute("data-start")&&(i.style.counterReset="linenumber "+(parseInt(i.getAttribute("data-start"),10)-1)),o.element.appendChild(r),t([i]),n.hooks.run("line-numbers",o)}}}),n.hooks.add("line-numbers",function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function t(e){if(0!=(e=e.filter(function(e){var t=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null}(e)["white-space"];return"pre-wrap"===t||"pre-line"===t})).length){var t=e.map(function(e){var t,o,i,n=e.querySelector("code"),a=e.querySelector(".line-numbers-rows");if(n&&a)return t=e.querySelector(".line-numbers-sizer"),o=n.textContent.split(s),t||((t=document.createElement("span")).className="line-numbers-sizer",n.appendChild(t)),t.innerHTML="0",t.style.display="block",i=t.getBoundingClientRect().height,t.innerHTML="",{element:e,lines:o,lineHeights:[],oneLinerHeight:i,sizer:t}}).filter(Boolean);t.forEach(function(e){var s=e.sizer,t=e.lines,n=e.lineHeights,o=e.oneLinerHeight;n[t.length-1]=void 0,t.forEach(function(e,t){if(e&&1o.length&&(s=o.length),s--;for(t=--n;t<=s;t++)u[t]=o[t],o[t]=""}});else if(d)for(a=0;a',h):d=o('',h),a=document.createElement("span"),a.className=s,a.innerHTML=d;for(var f=i.outputLines||[],c=0,p=f.length;c + + + + Categories :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+

Categories

+ +
    + + +
+
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..f0cfe24 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,10 @@ + + + + Categories on Sadium + /categories/ + Recent content in Categories on Sadium + Hugo -- gohugo.io + ru + + diff --git a/public/contacts/contacts/index.html b/public/contacts/contacts/index.html new file mode 100644 index 0000000..f389a89 --- /dev/null +++ b/public/contacts/contacts/index.html @@ -0,0 +1,258 @@ + + + + + :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/contacts/index.html b/public/contacts/index.html new file mode 100644 index 0000000..fb94233 --- /dev/null +++ b/public/contacts/index.html @@ -0,0 +1,269 @@ + + + + + Контакты :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/contacts/index.xml b/public/contacts/index.xml new file mode 100644 index 0000000..f1ade58 --- /dev/null +++ b/public/contacts/index.xml @@ -0,0 +1,33 @@ + + + + Контакты on Sadium + /contacts/ + Recent content in Контакты on Sadium + Hugo -- gohugo.io + ru + + + /contacts/contacts/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /contacts/contacts/ + Email +sadml[at]disroot.org +sadml[at]sadium.cyou +Fediverse +@sl@social.exo.icu +Matrix +@sl:sadium.cyou + <p><strong><code>Email</code></strong><br> +<a href="mailto:sadml@disroot.org">sadml[at]disroot.org</a><br> +<a href="mailto:sadml@sadium.cyou">sadml[at]sadium.cyou</a></p> +<p><strong><code>Fediverse</code></strong><br> +<a href="https://social.exo.icu/@sl">@sl@social.exo.icu</a></p> +<p><strong><code>Matrix</code></strong><br> +<a href="https://matrix.to/#/@sl:sadium.cyou">@sl:sadium.cyou</a></p> + + + + + diff --git a/public/contacts/page/1/index.html b/public/contacts/page/1/index.html new file mode 100644 index 0000000..f78d2a5 --- /dev/null +++ b/public/contacts/page/1/index.html @@ -0,0 +1,10 @@ + + + + /contacts/ + + + + + + diff --git a/public/donate/index.html b/public/donate/index.html new file mode 100644 index 0000000..5ea23d9 --- /dev/null +++ b/public/donate/index.html @@ -0,0 +1,261 @@ + + + + + :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

+
+ + + + + + + + + + + + + + + + + + + + + +
Никого не принуждаю, но если можете, отсыпьте копеечку:Свобода добра
5536 9139 9438 8268Тинькофф
Пожалуйста, напишите в сообщении к переводу, что вы осознанно отправили его, а не сделали это по ошибке, чтобы никто не переживал потом 😅
OVERXWISEQiwi
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/404.html b/public/en/404.html new file mode 100644 index 0000000..613c7a9 --- /dev/null +++ b/public/en/404.html @@ -0,0 +1,228 @@ + + + + + 404 Page not found :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+

404 — Page not found...

+ +
+ Back to home page → +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/about/about/index.html b/public/en/about/about/index.html new file mode 100644 index 0000000..8fe7037 --- /dev/null +++ b/public/en/about/about/index.html @@ -0,0 +1,245 @@ + + + + + :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

+
+ + + +

Sup!

+

Name is Sysadmin Link, man, 23 y.o., I am the creator of this site and hoster of some open source services.

+

I work as sysadmin in some college unit.

+

Thats all… for now + +

+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/about/index.html b/public/en/about/index.html new file mode 100644 index 0000000..c02ec1d --- /dev/null +++ b/public/en/about/index.html @@ -0,0 +1,264 @@ + + + + + About :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ +
+

+ +

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

Sup!

+

Name is Sysadmin Link, man, 23 y.o., I am the creator of this site and hoster of some open source services.

+

I work as sysadmin in some college unit.

+

Thats all… for now + +

+ + + +
+ + +
+ + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/about/index.xml b/public/en/about/index.xml new file mode 100644 index 0000000..285731c --- /dev/null +++ b/public/en/about/index.xml @@ -0,0 +1,32 @@ + + + + About on Sadium + /en/about/ + Recent content in About on Sadium + Hugo -- gohugo.io + en + + + /en/about/about/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /en/about/about/ + Sup! Name is Sysadmin Link, man, 23 y.o., I am the creator of this site and hoster of some open source services. +I work as sysadmin in some college unit. +Thats all&hellip; for now + <img class="center" src="/img/avatar.jpg" width="300" style="border:3px; border-style:dashed; border-color:#ffffff; padding: 0px;"> + + +<h1 id="sup">Sup!</h1> +<p>Name is <strong>Sysadmin Link</strong>, man, 23 y.o., I am the creator of this site and hoster of some <strong>open source</strong> <a href="/en/services">services</a>.</p> +<p>I work as sysadmin in some college unit.</p> +<p>Thats all&hellip; for now +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> +<!-- raw HTML omitted --> + + + + + diff --git a/public/en/about/page/1/index.html b/public/en/about/page/1/index.html new file mode 100644 index 0000000..f746346 --- /dev/null +++ b/public/en/about/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/about/ + + + + + + diff --git a/public/en/categories/index.html b/public/en/categories/index.html new file mode 100644 index 0000000..d2f8cbc --- /dev/null +++ b/public/en/categories/index.html @@ -0,0 +1,230 @@ + + + + + Categories :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+

Categories

+ +
    + + +
+
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/categories/index.xml b/public/en/categories/index.xml new file mode 100644 index 0000000..56ce995 --- /dev/null +++ b/public/en/categories/index.xml @@ -0,0 +1,10 @@ + + + + Categories on Sadium + /en/categories/ + Recent content in Categories on Sadium + Hugo -- gohugo.io + en + + diff --git a/public/en/contacts/contacts/index.html b/public/en/contacts/contacts/index.html new file mode 100644 index 0000000..ee6ef4c --- /dev/null +++ b/public/en/contacts/contacts/index.html @@ -0,0 +1,250 @@ + + + + + :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/contacts/index.html b/public/en/contacts/index.html new file mode 100644 index 0000000..50e7ee8 --- /dev/null +++ b/public/en/contacts/index.html @@ -0,0 +1,261 @@ + + + + + Contacts :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/contacts/index.xml b/public/en/contacts/index.xml new file mode 100644 index 0000000..1a5bb97 --- /dev/null +++ b/public/en/contacts/index.xml @@ -0,0 +1,33 @@ + + + + Contacts on Sadium + /en/contacts/ + Recent content in Contacts on Sadium + Hugo -- gohugo.io + en + + + /en/contacts/contacts/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /en/contacts/contacts/ + Email +sadml[at]disroot.org +sadml[at]sadium.cyou +Fediverse +@sl@social.exo.icu +Matrix +@sl:sadium.cyou + <p><strong><code>Email</code></strong><br> +<a href="mailto:sadml@disroot.org">sadml[at]disroot.org</a><br> +<a href="mailto:sadml@sadium.cyou">sadml[at]sadium.cyou</a></p> +<p><strong><code>Fediverse</code></strong><br> +<a href="https://social.exo.icu/@sl">@sl@social.exo.icu</a></p> +<p><strong><code>Matrix</code></strong><br> +<a href="https://matrix.to/#/@sl:sadium.cyou">@sl:sadium.cyou</a></p> + + + + + diff --git a/public/en/contacts/page/1/index.html b/public/en/contacts/page/1/index.html new file mode 100644 index 0000000..81fe925 --- /dev/null +++ b/public/en/contacts/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/contacts/ + + + + + + diff --git a/public/en/index.html b/public/en/index.html new file mode 100644 index 0000000..cd748ec --- /dev/null +++ b/public/en/index.html @@ -0,0 +1,275 @@ + + + + + + Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

+ +

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

Sup!

+

Name is Sysadmin Link, man, 23 y.o., I am the creator of this site and hoster of some open source services.

+

I work as sysadmin in some college unit.

+

Thats all… for now + +

+ + + +
+ + +
+ + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/index.xml b/public/en/index.xml new file mode 100644 index 0000000..d6135ee --- /dev/null +++ b/public/en/index.xml @@ -0,0 +1,240 @@ + + + + Sadium + /en/ + Recent content on Sadium + Hugo -- gohugo.io + en + Sun, 10 Dec 2023 00:00:00 +0000 + + Setup Codeberg as custom Oauth2 provider in Nexcloud + /en/posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /en/posts/codeberg_x_nextcloud/ + I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. What is helped - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Create app in Codeberg and copy Client ID and Client secret somewhere. 2. Go to your Nextcloud Admin settings,Social Login section, and create Custom Oauth2 provider. +Section What to enter Local/inner name Codeberg Name Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg. + <p>I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. <br> +What is helped - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Create app in Codeberg</a> and copy Client ID and Client secret somewhere. <br> +<code>2.</code> Go to your Nextcloud Admin settings,<code>Social Login</code> section, and create Custom Oauth2 provider.</p> +<table> +<thead> +<tr> +<th>Section</th> +<th>What to enter</th> +</tr> +</thead> +<tbody> +<tr> +<td>Local/inner name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>leave empty</td> +</tr> +<tr> +<td>Client ID and Client secret</td> +<td>paste from step 1</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Other after</td> +<td>leave empty if not sure</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Tick <code>Allow users to attach/connect their social logins</code> box and click <code>Save</code> in the bottom of page. <br> +<code>4.</code> Go in Incognito/Private window of your browser, go to your Nextcloud login page and copy path of Codeberg provider - Right click, copy link, save somewhere. <br> +Must look like this - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Go back to your created earlier <a href="https://codeberg.org/user/settings/applications">Codeberg application</a>, click <code>Edit</code> button and paste link from step 4 into <code>Redirection URI</code> section, click <code>Save</code>.</p> +<p>And you done! Try connect your Codeberg account to Nextcloud account from user settings <code>Social Login</code> section, it must work. In theory, it&rsquo;s also appliable to <code>Gitea</code>, because <a href="https://forgejo.org">Forgejo</a> is <a href="https://gitea.com">Gitea&rsquo;s</a> fork.</p> +<p>I&rsquo;ve created related Github issue: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + Wallpapers Collection + /en/posts/walls/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /en/posts/walls/ + I bring to your attention my collection of wallpapers, which has already reached more than 1500 wallpapers. +You can view them and pick it up here. +About collection: +Most of the wallpapers are taken from wallhaven.cc Have some NSFW (~3-10%) Expanded and supplemented at least weekly. Some wallpapers may have a quality lower than FullHD (1920x1080), coz I couldn&rsquo;t find them in a better quality. If anyone can find it, I would appreciate it if you send me a link + <p>I bring to your attention my collection of wallpapers, which has already reached more than 1500 wallpapers.</p> +<p>You can view them and pick it up <a href="https://cloud.sadium.cyou/s/walls">here</a>.</p> +<p>About collection:</p> +<ul> +<li>Most of the wallpapers are taken from <a href="https://wallhaven.cc">wallhaven.cc</a></li> +<li>Have some NSFW (~3-10%)</li> +<li>Expanded and supplemented at least weekly.</li> +</ul> +<p>Some wallpapers may have a quality lower than FullHD (1920x1080), coz I couldn&rsquo;t find them in a better quality. If anyone can find it, I would appreciate it if you send me a link +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + + /en/about/about/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /en/about/about/ + Sup! Name is Sysadmin Link, man, 23 y.o., I am the creator of this site and hoster of some open source services. +I work as sysadmin in some college unit. +Thats all&hellip; for now + <img class="center" src="/img/avatar.jpg" width="300" style="border:3px; border-style:dashed; border-color:#ffffff; padding: 0px;"> + + +<h1 id="sup">Sup!</h1> +<p>Name is <strong>Sysadmin Link</strong>, man, 23 y.o., I am the creator of this site and hoster of some <strong>open source</strong> <a href="/en/services">services</a>.</p> +<p>I work as sysadmin in some college unit.</p> +<p>Thats all&hellip; for now +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> +<!-- raw HTML omitted --> + + + + + + /en/contacts/contacts/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /en/contacts/contacts/ + Email +sadml[at]disroot.org +sadml[at]sadium.cyou +Fediverse +@sl@social.exo.icu +Matrix +@sl:sadium.cyou + <p><strong><code>Email</code></strong><br> +<a href="mailto:sadml@disroot.org">sadml[at]disroot.org</a><br> +<a href="mailto:sadml@sadium.cyou">sadml[at]sadium.cyou</a></p> +<p><strong><code>Fediverse</code></strong><br> +<a href="https://social.exo.icu/@sl">@sl@social.exo.icu</a></p> +<p><strong><code>Matrix</code></strong><br> +<a href="https://matrix.to/#/@sl:sadium.cyou">@sl:sadium.cyou</a></p> + + + + + + /en/services/services/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /en/services/services/ + Public Forgejo My instance | Website | Source code | Registration open | Nextcloud OIDC +Forgejo, Gitea fork - Self-hosted lightweight software forge. +Matrix Admin UI My instance | Source code +Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯ +Matrix Web-client UI My instance | Website | Source code +Element-web - A glossy Matrix collaboration client for the web. +Matrix Synapse sadium.cyou | Website | Source code | Registration closed | Nextcloud OIDC + <h1 id="public">Public</h1> +<hr> +<h3 id="forgejo">Forgejo</h3> +<p><a href="https://git.sadium.cyou/">My instance</a> | <a href="https://forgejo.org">Website</a> | <a href="https://codeberg.org/forgejo/forgejo">Source code</a> | <code>Registration open</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Forgejo</strong>, <strong><a href="https://gitea.io">Gitea</a></strong> fork - Self-hosted lightweight software forge.</p> +</blockquote> +<h3 id="matrix-admin-ui">Matrix Admin UI</h3> +<p><a href="https://ma.sadium.cyou/">My instance</a> | <a href="https://github.com/Awesome-Technologies/synapse-admin">Source code</a></p> +<blockquote> +<p><strong>Matrix Admin UI</strong> - Matrix Admin UI. <code>¯\_(ツ)_/¯</code></p> +</blockquote> +<h3 id="matrix-web-client-ui">Matrix Web-client UI</h3> +<p><a href="https://mw.sadium.cyou/">My instance</a> | <a href="https://element.io/">Website</a> | <a href="https://github.com/vector-im/element-web/">Source code</a></p> +<blockquote> +<p><strong>Element-web</strong> - A glossy Matrix collaboration client for the web.</p> +</blockquote> +<h3 id="matrix-synapse">Matrix Synapse</h3> +<p><code>sadium.cyou</code> | <a href="https://matrix.org">Website</a> | <a href="https://github.com/matrix-org/synapse">Source code</a> | <code>Registration closed</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Synapse</strong> - open-source Matrix homeserver written and maintained by the Matrix.org Foundation. Briefly, Matrix is an open standard for communications on the internet, supporting federation, encryption and VoIP.</p> +</blockquote> +<h3 id="nextcloud">Nextcloud</h3> +<p><a href="https://cloud.sadium.cyou">My instance</a> | <a href="https://nextcloud.com">Website</a> | <a href="https://github.com/nextcloud/server">Source code</a> | <code>Registration by premoderation</code> | <code>OIDC</code></p> +<blockquote> +<p><strong>Nextcloud</strong> - suite of client-server software for creating and using file hosting services. +Alternative for Google Suite, Dropbox, OneDrive, etc.</p> +</blockquote> +<h3 id="owncast">Owncast</h3> +<p><a href="https://live.sadium.cyou/">My instance</a> | <a href="https://owncast.online">Website</a> | <a href="https://github.com/owncast/owncast">Source code</a></p> +<blockquote> +<p><strong>Owncast</strong> - self-hosted live video and web chat server for use with existing popular broadcasting software.</p> +</blockquote> +<h3 id="rss-bridge">RSS-Bridge</h3> +<p><a href="https://rss.sadium.cyou/">My instance</a> | <a href="https://rss-bridge.github.io/rss-bridge">Website</a> | <a href="https://github.com/rss-bridge/rss-bridge">Source code</a></p> +<blockquote> +<p><strong>RSS-Bridge</strong> - free and open source software for generating Atom or RSS feeds from websites which don&rsquo;t have one.</p> +</blockquote> +<h3 id="shlink">Shlink</h3> +<p><a href="https://shlink.sadium.cyou/">My webUI instance</a> | <a href="https://shlink.io">Website</a> | <a href="https://github.com/shlinkio/shlink">Server source code</a> | <a href="https://github.com/shlinkio/shlink-web-client">WebUI source code</a></p> +<blockquote> +<p><strong>Shlink</strong> - PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own domain.</p> +</blockquote> +<h3 id="vaultwarden">Vaultwarden</h3> +<p><a href="https://vault.sadium.cyou/">My instance</a> | <a href="https://github.com/dani-garcia/vaultwarden">Source code сервера</a> | <a href="https://github.com/dani-garcia/bw_web_builds">WebUI source code</a> | <code>Registration open</code></p> +<blockquote> +<p><strong>Vaultwarden</strong>, <strong><a href="https://bitwarden.com">Bitwarden</a></strong> fork - free and open-source password management service that stores sensitive information such as website credentials in an encrypted vault.</p> +</blockquote> +<h3 id="uptime-kuma">Uptime Kuma</h3> +<p><a href="https://up.sadium.cyou">My instance</a> | <a href="https://github.com/louislam/uptime-kuma">Source code</a></p> +<blockquote> +<p><strong>Uptime Kuma</strong> - A fancy self-hosted monitoring tool.</p> +</blockquote> +<hr> +<h1 id="personalprivate">Personal/Private</h1> +<h3 id="adguard-home">Adguard Home</h3> +<p><a href="https://github.com/AdguardTeam/AdGuardHome/">Source code</a></p> +<blockquote> +<p><strong>Adguard Home</strong> - Network-wide ads &amp; trackers blocking DNS server.</p> +</blockquote> +<h3 id="maddy-email">Maddy Email</h3> +<p><a href="https://maddy.email">Website</a> | <a href="https://github.com/foxcpp/maddy">Source code</a></p> +<blockquote> +<p><strong>Maddy</strong> - Composable all-in-one mail server.</p> +</blockquote> +<h3 id="qbittorrent">qBittorrent</h3> +<p><a href="https://github.com/qbittorrent/qBittorrent">Source code</a></p> +<blockquote> +<p><strong>qBittorrent</strong> - Open source torrent client.</p> +</blockquote> +<hr> +<p>The source code of the services listed in this article (and not only them) is stored on my <a href="https://git.sadium.cyou/mirrors">Forgejo</a> instance.</p> + + + + + diff --git a/public/en/page/1/index.html b/public/en/page/1/index.html new file mode 100644 index 0000000..010a77e --- /dev/null +++ b/public/en/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/ + + + + + + diff --git a/public/en/posts/codeberg_x_nextcloud/index.html b/public/en/posts/codeberg_x_nextcloud/index.html new file mode 100644 index 0000000..d3be5d2 --- /dev/null +++ b/public/en/posts/codeberg_x_nextcloud/index.html @@ -0,0 +1,293 @@ + + + + + Setup Codeberg as custom Oauth2 provider in Nexcloud :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

Setup Codeberg as custom Oauth2 provider in Nexcloud

+
+

I couldn’t find any info about it via search engines, so I decided to put information here.
+What is helped - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/

+

1. Create app in Codeberg and copy Client ID and Client secret somewhere.
+2. Go to your Nextcloud Admin settings,Social Login section, and create Custom Oauth2 provider.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SectionWhat to enter
Local/inner nameCodeberg
NameCodeberg
API Base URLhttps://codeberg.org
Authorize urlhttps://codeberg.org/login/oauth/authorize
Token urlhttps://codeberg.org/login/oauth/access_token
Profile urlhttps://codeberg.org/login/oauth/userinfo
Logout urlleave empty
Client ID and Client secretpaste from step 1
Scoperead:user
Other afterleave empty if not sure
+

3. Tick Allow users to attach/connect their social logins box and click Save in the bottom of page.
+4. Go in Incognito/Private window of your browser, go to your Nextcloud login page and copy path of Codeberg provider - Right click, copy link, save somewhere.
+Must look like this - https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg
+5. Go back to your created earlier Codeberg application, click Edit button and paste link from step 4 into Redirection URI section, click Save.

+

And you done! Try connect your Codeberg account to Nextcloud account from user settings Social Login section, it must work. In theory, it’s also appliable to Gitea, because Forgejo is Gitea’s fork.

+

I’ve created related Github issue: https://github.com/zorn-v/nextcloud-social-login/issues/440

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/posts/index.html b/public/en/posts/index.html new file mode 100644 index 0000000..4d222bd --- /dev/null +++ b/public/en/posts/index.html @@ -0,0 +1,300 @@ + + + + + Posts :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/posts/index.xml b/public/en/posts/index.xml new file mode 100644 index 0000000..cf577ed --- /dev/null +++ b/public/en/posts/index.xml @@ -0,0 +1,107 @@ + + + + Posts on Sadium + /en/posts/ + Recent content in Posts on Sadium + Hugo -- gohugo.io + en + Sun, 10 Dec 2023 00:00:00 +0000 + + Setup Codeberg as custom Oauth2 provider in Nexcloud + /en/posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /en/posts/codeberg_x_nextcloud/ + I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. What is helped - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Create app in Codeberg and copy Client ID and Client secret somewhere. 2. Go to your Nextcloud Admin settings,Social Login section, and create Custom Oauth2 provider. +Section What to enter Local/inner name Codeberg Name Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg. + <p>I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. <br> +What is helped - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Create app in Codeberg</a> and copy Client ID and Client secret somewhere. <br> +<code>2.</code> Go to your Nextcloud Admin settings,<code>Social Login</code> section, and create Custom Oauth2 provider.</p> +<table> +<thead> +<tr> +<th>Section</th> +<th>What to enter</th> +</tr> +</thead> +<tbody> +<tr> +<td>Local/inner name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>leave empty</td> +</tr> +<tr> +<td>Client ID and Client secret</td> +<td>paste from step 1</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Other after</td> +<td>leave empty if not sure</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Tick <code>Allow users to attach/connect their social logins</code> box and click <code>Save</code> in the bottom of page. <br> +<code>4.</code> Go in Incognito/Private window of your browser, go to your Nextcloud login page and copy path of Codeberg provider - Right click, copy link, save somewhere. <br> +Must look like this - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Go back to your created earlier <a href="https://codeberg.org/user/settings/applications">Codeberg application</a>, click <code>Edit</code> button and paste link from step 4 into <code>Redirection URI</code> section, click <code>Save</code>.</p> +<p>And you done! Try connect your Codeberg account to Nextcloud account from user settings <code>Social Login</code> section, it must work. In theory, it&rsquo;s also appliable to <code>Gitea</code>, because <a href="https://forgejo.org">Forgejo</a> is <a href="https://gitea.com">Gitea&rsquo;s</a> fork.</p> +<p>I&rsquo;ve created related Github issue: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + Wallpapers Collection + /en/posts/walls/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /en/posts/walls/ + I bring to your attention my collection of wallpapers, which has already reached more than 1500 wallpapers. +You can view them and pick it up here. +About collection: +Most of the wallpapers are taken from wallhaven.cc Have some NSFW (~3-10%) Expanded and supplemented at least weekly. Some wallpapers may have a quality lower than FullHD (1920x1080), coz I couldn&rsquo;t find them in a better quality. If anyone can find it, I would appreciate it if you send me a link + <p>I bring to your attention my collection of wallpapers, which has already reached more than 1500 wallpapers.</p> +<p>You can view them and pick it up <a href="https://cloud.sadium.cyou/s/walls">here</a>.</p> +<p>About collection:</p> +<ul> +<li>Most of the wallpapers are taken from <a href="https://wallhaven.cc">wallhaven.cc</a></li> +<li>Have some NSFW (~3-10%)</li> +<li>Expanded and supplemented at least weekly.</li> +</ul> +<p>Some wallpapers may have a quality lower than FullHD (1920x1080), coz I couldn&rsquo;t find them in a better quality. If anyone can find it, I would appreciate it if you send me a link +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + diff --git a/public/en/posts/page/1/index.html b/public/en/posts/page/1/index.html new file mode 100644 index 0000000..3cf3f3d --- /dev/null +++ b/public/en/posts/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/posts/ + + + + + + diff --git a/public/en/posts/walls/index.html b/public/en/posts/walls/index.html new file mode 100644 index 0000000..bbfc8be --- /dev/null +++ b/public/en/posts/walls/index.html @@ -0,0 +1,244 @@ + + + + + Wallpapers Collection :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

Wallpapers Collection

+
+

I bring to your attention my collection of wallpapers, which has already reached more than 1500 wallpapers.

+

You can view them and pick it up here.

+

About collection:

+
    +
  • Most of the wallpapers are taken from wallhaven.cc
  • +
  • Have some NSFW (~3-10%)
  • +
  • Expanded and supplemented at least weekly.
  • +
+

Some wallpapers may have a quality lower than FullHD (1920x1080), coz I couldn’t find them in a better quality. If anyone can find it, I would appreciate it if you send me a link + +

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/services/index.html b/public/en/services/index.html new file mode 100644 index 0000000..8a2524c --- /dev/null +++ b/public/en/services/index.html @@ -0,0 +1,326 @@ + + + + + Services :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ +
+

+ +

+ + + + + + + +
+ +

Public

+
+

Forgejo

+

My instance | Website | Source code | Registration open | Nextcloud OIDC

+
+

Forgejo, Gitea fork - Self-hosted lightweight software forge.

+
+

Matrix Admin UI

+

My instance | Source code

+
+

Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯

+
+

Matrix Web-client UI

+

My instance | Website | Source code

+
+

Element-web - A glossy Matrix collaboration client for the web.

+
+

Matrix Synapse

+

sadium.cyou | Website | Source code | Registration closed | Nextcloud OIDC

+
+

Synapse - open-source Matrix homeserver written and maintained by the Matrix.org Foundation. Briefly, Matrix is an open standard for communications on the internet, supporting federation, encryption and VoIP.

+
+

Nextcloud

+

My instance | Website | Source code | Registration by premoderation | OIDC

+
+

Nextcloud - suite of client-server software for creating and using file hosting services. +Alternative for Google Suite, Dropbox, OneDrive, etc.

+
+

Owncast

+

My instance | Website | Source code

+
+

Owncast - self-hosted live video and web chat server for use with existing popular broadcasting software.

+
+

RSS-Bridge

+

My instance | Website | Source code

+
+

RSS-Bridge - free and open source software for generating Atom or RSS feeds from websites which don’t have one.

+
+ +

My webUI instance | Website | Server source code | WebUI source code

+
+

Shlink - PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own domain.

+
+

Vaultwarden

+

My instance | Source code сервера | WebUI source code | Registration open

+
+

Vaultwarden, Bitwarden fork - free and open-source password management service that stores sensitive information such as website credentials in an encrypted vault.

+
+

Uptime Kuma

+

My instance | Source code

+
+

Uptime Kuma - A fancy self-hosted monitoring tool.

+
+
+

Personal/Private

+

Adguard Home

+

Source code

+
+

Adguard Home - Network-wide ads & trackers blocking DNS server.

+
+

Maddy Email

+

Website | Source code

+
+

Maddy - Composable all-in-one mail server.

+
+

qBittorrent

+

Source code

+
+

qBittorrent - Open source torrent client.

+
+
+

The source code of the services listed in this article (and not only them) is stored on my Forgejo instance.

+ + +
+ + +
+ + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/services/index.xml b/public/en/services/index.xml new file mode 100644 index 0000000..8d0edab --- /dev/null +++ b/public/en/services/index.xml @@ -0,0 +1,98 @@ + + + + Services on Sadium + /en/services/ + Recent content in Services on Sadium + Hugo -- gohugo.io + en + + + /en/services/services/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /en/services/services/ + Public Forgejo My instance | Website | Source code | Registration open | Nextcloud OIDC +Forgejo, Gitea fork - Self-hosted lightweight software forge. +Matrix Admin UI My instance | Source code +Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯ +Matrix Web-client UI My instance | Website | Source code +Element-web - A glossy Matrix collaboration client for the web. +Matrix Synapse sadium.cyou | Website | Source code | Registration closed | Nextcloud OIDC + <h1 id="public">Public</h1> +<hr> +<h3 id="forgejo">Forgejo</h3> +<p><a href="https://git.sadium.cyou/">My instance</a> | <a href="https://forgejo.org">Website</a> | <a href="https://codeberg.org/forgejo/forgejo">Source code</a> | <code>Registration open</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Forgejo</strong>, <strong><a href="https://gitea.io">Gitea</a></strong> fork - Self-hosted lightweight software forge.</p> +</blockquote> +<h3 id="matrix-admin-ui">Matrix Admin UI</h3> +<p><a href="https://ma.sadium.cyou/">My instance</a> | <a href="https://github.com/Awesome-Technologies/synapse-admin">Source code</a></p> +<blockquote> +<p><strong>Matrix Admin UI</strong> - Matrix Admin UI. <code>¯\_(ツ)_/¯</code></p> +</blockquote> +<h3 id="matrix-web-client-ui">Matrix Web-client UI</h3> +<p><a href="https://mw.sadium.cyou/">My instance</a> | <a href="https://element.io/">Website</a> | <a href="https://github.com/vector-im/element-web/">Source code</a></p> +<blockquote> +<p><strong>Element-web</strong> - A glossy Matrix collaboration client for the web.</p> +</blockquote> +<h3 id="matrix-synapse">Matrix Synapse</h3> +<p><code>sadium.cyou</code> | <a href="https://matrix.org">Website</a> | <a href="https://github.com/matrix-org/synapse">Source code</a> | <code>Registration closed</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Synapse</strong> - open-source Matrix homeserver written and maintained by the Matrix.org Foundation. Briefly, Matrix is an open standard for communications on the internet, supporting federation, encryption and VoIP.</p> +</blockquote> +<h3 id="nextcloud">Nextcloud</h3> +<p><a href="https://cloud.sadium.cyou">My instance</a> | <a href="https://nextcloud.com">Website</a> | <a href="https://github.com/nextcloud/server">Source code</a> | <code>Registration by premoderation</code> | <code>OIDC</code></p> +<blockquote> +<p><strong>Nextcloud</strong> - suite of client-server software for creating and using file hosting services. +Alternative for Google Suite, Dropbox, OneDrive, etc.</p> +</blockquote> +<h3 id="owncast">Owncast</h3> +<p><a href="https://live.sadium.cyou/">My instance</a> | <a href="https://owncast.online">Website</a> | <a href="https://github.com/owncast/owncast">Source code</a></p> +<blockquote> +<p><strong>Owncast</strong> - self-hosted live video and web chat server for use with existing popular broadcasting software.</p> +</blockquote> +<h3 id="rss-bridge">RSS-Bridge</h3> +<p><a href="https://rss.sadium.cyou/">My instance</a> | <a href="https://rss-bridge.github.io/rss-bridge">Website</a> | <a href="https://github.com/rss-bridge/rss-bridge">Source code</a></p> +<blockquote> +<p><strong>RSS-Bridge</strong> - free and open source software for generating Atom or RSS feeds from websites which don&rsquo;t have one.</p> +</blockquote> +<h3 id="shlink">Shlink</h3> +<p><a href="https://shlink.sadium.cyou/">My webUI instance</a> | <a href="https://shlink.io">Website</a> | <a href="https://github.com/shlinkio/shlink">Server source code</a> | <a href="https://github.com/shlinkio/shlink-web-client">WebUI source code</a></p> +<blockquote> +<p><strong>Shlink</strong> - PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own domain.</p> +</blockquote> +<h3 id="vaultwarden">Vaultwarden</h3> +<p><a href="https://vault.sadium.cyou/">My instance</a> | <a href="https://github.com/dani-garcia/vaultwarden">Source code сервера</a> | <a href="https://github.com/dani-garcia/bw_web_builds">WebUI source code</a> | <code>Registration open</code></p> +<blockquote> +<p><strong>Vaultwarden</strong>, <strong><a href="https://bitwarden.com">Bitwarden</a></strong> fork - free and open-source password management service that stores sensitive information such as website credentials in an encrypted vault.</p> +</blockquote> +<h3 id="uptime-kuma">Uptime Kuma</h3> +<p><a href="https://up.sadium.cyou">My instance</a> | <a href="https://github.com/louislam/uptime-kuma">Source code</a></p> +<blockquote> +<p><strong>Uptime Kuma</strong> - A fancy self-hosted monitoring tool.</p> +</blockquote> +<hr> +<h1 id="personalprivate">Personal/Private</h1> +<h3 id="adguard-home">Adguard Home</h3> +<p><a href="https://github.com/AdguardTeam/AdGuardHome/">Source code</a></p> +<blockquote> +<p><strong>Adguard Home</strong> - Network-wide ads &amp; trackers blocking DNS server.</p> +</blockquote> +<h3 id="maddy-email">Maddy Email</h3> +<p><a href="https://maddy.email">Website</a> | <a href="https://github.com/foxcpp/maddy">Source code</a></p> +<blockquote> +<p><strong>Maddy</strong> - Composable all-in-one mail server.</p> +</blockquote> +<h3 id="qbittorrent">qBittorrent</h3> +<p><a href="https://github.com/qbittorrent/qBittorrent">Source code</a></p> +<blockquote> +<p><strong>qBittorrent</strong> - Open source torrent client.</p> +</blockquote> +<hr> +<p>The source code of the services listed in this article (and not only them) is stored on my <a href="https://git.sadium.cyou/mirrors">Forgejo</a> instance.</p> + + + + + diff --git a/public/en/services/page/1/index.html b/public/en/services/page/1/index.html new file mode 100644 index 0000000..ac23fc1 --- /dev/null +++ b/public/en/services/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/services/ + + + + + + diff --git a/public/en/services/services/index.html b/public/en/services/services/index.html new file mode 100644 index 0000000..4c6fbd9 --- /dev/null +++ b/public/en/services/services/index.html @@ -0,0 +1,342 @@ + + + + + :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

+
+

Public

+
+

Forgejo

+

My instance | Website | Source code | Registration open | Nextcloud OIDC

+
+

Forgejo, Gitea fork - Self-hosted lightweight software forge.

+
+

Matrix Admin UI

+

My instance | Source code

+
+

Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯

+
+

Matrix Web-client UI

+

My instance | Website | Source code

+
+

Element-web - A glossy Matrix collaboration client for the web.

+
+

Matrix Synapse

+

sadium.cyou | Website | Source code | Registration closed | Nextcloud OIDC

+
+

Synapse - open-source Matrix homeserver written and maintained by the Matrix.org Foundation. Briefly, Matrix is an open standard for communications on the internet, supporting federation, encryption and VoIP.

+
+

Nextcloud

+

My instance | Website | Source code | Registration by premoderation | OIDC

+
+

Nextcloud - suite of client-server software for creating and using file hosting services. +Alternative for Google Suite, Dropbox, OneDrive, etc.

+
+

Owncast

+

My instance | Website | Source code

+
+

Owncast - self-hosted live video and web chat server for use with existing popular broadcasting software.

+
+

RSS-Bridge

+

My instance | Website | Source code

+
+

RSS-Bridge - free and open source software for generating Atom or RSS feeds from websites which don’t have one.

+
+ +

My webUI instance | Website | Server source code | WebUI source code

+
+

Shlink - PHP-based self-hosted URL shortener that can be used to serve shortened URLs under your own domain.

+
+

Vaultwarden

+

My instance | Source code сервера | WebUI source code | Registration open

+
+

Vaultwarden, Bitwarden fork - free and open-source password management service that stores sensitive information such as website credentials in an encrypted vault.

+
+

Uptime Kuma

+

My instance | Source code

+
+

Uptime Kuma - A fancy self-hosted monitoring tool.

+
+
+

Personal/Private

+

Adguard Home

+

Source code

+
+

Adguard Home - Network-wide ads & trackers blocking DNS server.

+
+

Maddy Email

+

Website | Source code

+
+

Maddy - Composable all-in-one mail server.

+
+

qBittorrent

+

Source code

+
+

qBittorrent - Open source torrent client.

+
+
+

The source code of the services listed in this article (and not only them) is stored on my Forgejo instance.

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/sitemap.xml b/public/en/sitemap.xml new file mode 100644 index 0000000..02aee2e --- /dev/null +++ b/public/en/sitemap.xml @@ -0,0 +1,193 @@ + + + + /en/tags/codeberg/ + 2023-12-10T00:00:00+00:00 + + + + /en/tags/nextcloud/ + 2023-12-10T00:00:00+00:00 + + + + /en/posts/ + 2023-12-10T00:00:00+00:00 + + + + /en/ + 2023-12-10T00:00:00+00:00 + + + + /en/posts/codeberg_x_nextcloud/ + 2023-12-10T00:00:00+00:00 + + + + /en/tags/ + 2023-12-10T00:00:00+00:00 + + + + /en/tags/wallpapers/ + 2023-07-01T00:00:00+00:00 + + + + /en/posts/walls/ + 2023-07-01T00:00:00+00:00 + + + + /en/about/about/ + + + + /en/contacts/contacts/ + + + + /en/services/services/ + + + + /en/about/ + + + + /en/categories/ + + + + /en/contacts/ + + + + /en/services/ + + + + diff --git a/public/en/tags/codeberg/index.html b/public/en/tags/codeberg/index.html new file mode 100644 index 0000000..d5c2010 --- /dev/null +++ b/public/en/tags/codeberg/index.html @@ -0,0 +1,267 @@ + + + + + codeberg :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #codeberg

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/tags/codeberg/index.xml b/public/en/tags/codeberg/index.xml new file mode 100644 index 0000000..3ecb873 --- /dev/null +++ b/public/en/tags/codeberg/index.xml @@ -0,0 +1,83 @@ + + + + codeberg on Sadium + /en/tags/codeberg/ + Recent content in codeberg on Sadium + Hugo -- gohugo.io + en + Sun, 10 Dec 2023 00:00:00 +0000 + + Setup Codeberg as custom Oauth2 provider in Nexcloud + /en/posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /en/posts/codeberg_x_nextcloud/ + I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. What is helped - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Create app in Codeberg and copy Client ID and Client secret somewhere. 2. Go to your Nextcloud Admin settings,Social Login section, and create Custom Oauth2 provider. +Section What to enter Local/inner name Codeberg Name Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg. + <p>I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. <br> +What is helped - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Create app in Codeberg</a> and copy Client ID and Client secret somewhere. <br> +<code>2.</code> Go to your Nextcloud Admin settings,<code>Social Login</code> section, and create Custom Oauth2 provider.</p> +<table> +<thead> +<tr> +<th>Section</th> +<th>What to enter</th> +</tr> +</thead> +<tbody> +<tr> +<td>Local/inner name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>leave empty</td> +</tr> +<tr> +<td>Client ID and Client secret</td> +<td>paste from step 1</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Other after</td> +<td>leave empty if not sure</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Tick <code>Allow users to attach/connect their social logins</code> box and click <code>Save</code> in the bottom of page. <br> +<code>4.</code> Go in Incognito/Private window of your browser, go to your Nextcloud login page and copy path of Codeberg provider - Right click, copy link, save somewhere. <br> +Must look like this - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Go back to your created earlier <a href="https://codeberg.org/user/settings/applications">Codeberg application</a>, click <code>Edit</code> button and paste link from step 4 into <code>Redirection URI</code> section, click <code>Save</code>.</p> +<p>And you done! Try connect your Codeberg account to Nextcloud account from user settings <code>Social Login</code> section, it must work. In theory, it&rsquo;s also appliable to <code>Gitea</code>, because <a href="https://forgejo.org">Forgejo</a> is <a href="https://gitea.com">Gitea&rsquo;s</a> fork.</p> +<p>I&rsquo;ve created related Github issue: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + diff --git a/public/en/tags/codeberg/page/1/index.html b/public/en/tags/codeberg/page/1/index.html new file mode 100644 index 0000000..376639a --- /dev/null +++ b/public/en/tags/codeberg/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/tags/codeberg/ + + + + + + diff --git a/public/en/tags/index.html b/public/en/tags/index.html new file mode 100644 index 0000000..d64e2b0 --- /dev/null +++ b/public/en/tags/index.html @@ -0,0 +1,254 @@ + + + + + Tags :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+

Tags

+ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/tags/index.xml b/public/en/tags/index.xml new file mode 100644 index 0000000..5dec423 --- /dev/null +++ b/public/en/tags/index.xml @@ -0,0 +1,41 @@ + + + + Tags on Sadium + /en/tags/ + Recent content in Tags on Sadium + Hugo -- gohugo.io + en + Sun, 10 Dec 2023 00:00:00 +0000 + + codeberg + /en/tags/codeberg/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /en/tags/codeberg/ + + + + + + nextcloud + /en/tags/nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /en/tags/nextcloud/ + + + + + + wallpapers + /en/tags/wallpapers/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /en/tags/wallpapers/ + + + + + + diff --git a/public/en/tags/nextcloud/index.html b/public/en/tags/nextcloud/index.html new file mode 100644 index 0000000..6c3de6b --- /dev/null +++ b/public/en/tags/nextcloud/index.html @@ -0,0 +1,267 @@ + + + + + nextcloud :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #nextcloud

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/tags/nextcloud/index.xml b/public/en/tags/nextcloud/index.xml new file mode 100644 index 0000000..f9efc69 --- /dev/null +++ b/public/en/tags/nextcloud/index.xml @@ -0,0 +1,83 @@ + + + + nextcloud on Sadium + /en/tags/nextcloud/ + Recent content in nextcloud on Sadium + Hugo -- gohugo.io + en + Sun, 10 Dec 2023 00:00:00 +0000 + + Setup Codeberg as custom Oauth2 provider in Nexcloud + /en/posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /en/posts/codeberg_x_nextcloud/ + I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. What is helped - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Create app in Codeberg and copy Client ID and Client secret somewhere. 2. Go to your Nextcloud Admin settings,Social Login section, and create Custom Oauth2 provider. +Section What to enter Local/inner name Codeberg Name Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg. + <p>I couldn&rsquo;t find any info about it via search engines, so I decided to put information here. <br> +What is helped - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Create app in Codeberg</a> and copy Client ID and Client secret somewhere. <br> +<code>2.</code> Go to your Nextcloud Admin settings,<code>Social Login</code> section, and create Custom Oauth2 provider.</p> +<table> +<thead> +<tr> +<th>Section</th> +<th>What to enter</th> +</tr> +</thead> +<tbody> +<tr> +<td>Local/inner name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Name</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>leave empty</td> +</tr> +<tr> +<td>Client ID and Client secret</td> +<td>paste from step 1</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Other after</td> +<td>leave empty if not sure</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Tick <code>Allow users to attach/connect their social logins</code> box and click <code>Save</code> in the bottom of page. <br> +<code>4.</code> Go in Incognito/Private window of your browser, go to your Nextcloud login page and copy path of Codeberg provider - Right click, copy link, save somewhere. <br> +Must look like this - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Go back to your created earlier <a href="https://codeberg.org/user/settings/applications">Codeberg application</a>, click <code>Edit</code> button and paste link from step 4 into <code>Redirection URI</code> section, click <code>Save</code>.</p> +<p>And you done! Try connect your Codeberg account to Nextcloud account from user settings <code>Social Login</code> section, it must work. In theory, it&rsquo;s also appliable to <code>Gitea</code>, because <a href="https://forgejo.org">Forgejo</a> is <a href="https://gitea.com">Gitea&rsquo;s</a> fork.</p> +<p>I&rsquo;ve created related Github issue: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + diff --git a/public/en/tags/nextcloud/page/1/index.html b/public/en/tags/nextcloud/page/1/index.html new file mode 100644 index 0000000..7307a77 --- /dev/null +++ b/public/en/tags/nextcloud/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/tags/nextcloud/ + + + + + + diff --git a/public/en/tags/wallpapers/index.html b/public/en/tags/wallpapers/index.html new file mode 100644 index 0000000..394d4f5 --- /dev/null +++ b/public/en/tags/wallpapers/index.html @@ -0,0 +1,265 @@ + + + + + wallpapers :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #wallpapers

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/en/tags/wallpapers/index.xml b/public/en/tags/wallpapers/index.xml new file mode 100644 index 0000000..dcd9bb9 --- /dev/null +++ b/public/en/tags/wallpapers/index.xml @@ -0,0 +1,35 @@ + + + + wallpapers on Sadium + /en/tags/wallpapers/ + Recent content in wallpapers on Sadium + Hugo -- gohugo.io + en + Sat, 01 Jul 2023 00:00:00 +0000 + + Wallpapers Collection + /en/posts/walls/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /en/posts/walls/ + I bring to your attention my collection of wallpapers, which has already reached more than 1500 wallpapers. +You can view them and pick it up here. +About collection: +Most of the wallpapers are taken from wallhaven.cc Have some NSFW (~3-10%) Expanded and supplemented at least weekly. Some wallpapers may have a quality lower than FullHD (1920x1080), coz I couldn&rsquo;t find them in a better quality. If anyone can find it, I would appreciate it if you send me a link + <p>I bring to your attention my collection of wallpapers, which has already reached more than 1500 wallpapers.</p> +<p>You can view them and pick it up <a href="https://cloud.sadium.cyou/s/walls">here</a>.</p> +<p>About collection:</p> +<ul> +<li>Most of the wallpapers are taken from <a href="https://wallhaven.cc">wallhaven.cc</a></li> +<li>Have some NSFW (~3-10%)</li> +<li>Expanded and supplemented at least weekly.</li> +</ul> +<p>Some wallpapers may have a quality lower than FullHD (1920x1080), coz I couldn&rsquo;t find them in a better quality. If anyone can find it, I would appreciate it if you send me a link +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + diff --git a/public/en/tags/wallpapers/page/1/index.html b/public/en/tags/wallpapers/page/1/index.html new file mode 100644 index 0000000..cda31a3 --- /dev/null +++ b/public/en/tags/wallpapers/page/1/index.html @@ -0,0 +1,10 @@ + + + + /en/tags/wallpapers/ + + + + + + diff --git a/public/fonts/FiraCode-Bold.woff b/public/fonts/FiraCode-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..61d5e6475d7343bdbdb988a06736c0787139f578 GIT binary patch literal 97028 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%0DVc^!P!`TlFIh14sBJIWP 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
bJsa#gOj#C3yhT1e<3o_d6|BB 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 + + + + + + + + + diff --git a/public/img/theme-colors/blue.png b/public/img/theme-colors/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5fd9960d0086cb792f348447b655632ec033e2 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWND9BhG zLF`I5%edj39bOujXKbLh*2~7aa+&duv literal 0 HcmV?d00001 diff --git a/public/img/theme-colors/green.png b/public/img/theme-colors/green.png new file mode 100644 index 0000000000000000000000000000000000000000..490979290cfff1aed10757350935c5485d670e2b GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWND9BhG zgTe~DWM4f5u`Tg literal 0 HcmV?d00001 diff --git a/public/img/theme-colors/orange.png b/public/img/theme-colors/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..0ac2c2772a6d8d5905459c349e848c297c9bd86d GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWND9BhG zGQmYp^O8qeVA>gTe~DWM4f7lb!O literal 0 HcmV?d00001 diff --git a/public/img/theme-colors/pink.png b/public/img/theme-colors/pink.png new file mode 100644 index 0000000000000000000000000000000000000000..96d49eca2576e0126bd016b55b4bbe32399a372e GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWND9BhG zzT9m6h}9o k-F;qGKH{;kk|}ABe={$$R?!r`TA=9+p00i_>zopr0JSYDoB#j- literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..4894b13 --- /dev/null +++ b/public/index.html @@ -0,0 +1,284 @@ + + + + + + Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..1875ea5 --- /dev/null +++ b/public/index.xml @@ -0,0 +1,383 @@ + + + + Sadium + / + Recent content on Sadium + Hugo -- gohugo.io + ru + Sun, 10 Dec 2023 00:00:00 +0000 + + Как настроить Codeberg как провайдер входа Oauth2 для Nexcloud + /posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /posts/codeberg_x_nextcloud/ + Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. Пригодилось - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Создаём приложение в Codeberg и копируем куда-нибудь Client ID и Client secret. 2. Идём в параметры сервера Nextcloud, пункт Social Login, и создаём Custom Oauth2 на +. +Пункт Что вводить Внутреннее имя Codeberg Название Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg.org/login/oauth/userinfo Logout url Оставить пустым Client ID и Client secret вставить из 1 пункта Scope read:user Остальные после Не трогайте, если не уверены 3. + <p>Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. <br> +Пригодилось - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Создаём приложение в Codeberg</a> и копируем куда-нибудь Client ID и Client secret. <br> +<code>2.</code> Идём в параметры сервера Nextcloud, пункт <code>Social Login</code>, и создаём Custom Oauth2 на <code>+</code>.</p> +<table> +<thead> +<tr> +<th>Пункт</th> +<th>Что вводить</th> +</tr> +</thead> +<tbody> +<tr> +<td>Внутреннее имя</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Название</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>Оставить пустым</td> +</tr> +<tr> +<td>Client ID и Client secret</td> +<td>вставить из 1 пункта</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Остальные после</td> +<td>Не трогайте, если не уверены</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Ставим галку напротив пункта <code>Позволять пользователям подключать социальные логины к своим аккаунтам</code> и нажимаем <code>Сохранить</code> внизу страницы. <br> +<code>4.</code> Идём в режим Инкогнито вашего браузера, затем на страничку входа в ваше облако и копируем путь провайдера Codeberg - правая кнопка мыши, копируем ссылку, сохраняем куда-нибудь. <br> +Должно выглядеть примерно так - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Возвращаемся к ранее созданному <a href="https://codeberg.org/user/settings/applications">приложению Codeberg</a>, Нажимаем <code>Изменить</code> и вставляем ссылку из прошлого пункта в поле <code>URI для перенаправления</code>, нажимаем <code>Сохранить</code>.</p> +<p>Теперь попробуйте связать ваш аккаунт Codeberg и Nextcloud из пункта <code>Social Login</code> в настройках пользователя Nextcloud, должно работать. В теории, это также применимо к <code>Gitea</code>, потому что <a href="https://forgejo.org">Forgejo</a> это форк <a href="https://gitea.com">Gitea</a>.</p> +<p>Давеча сделал по этому поводу Issue на Github: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + Не берите дешёвые M2 NMVE + /posts/rpi-rip-nvme/ + Sat, 07 Oct 2023 00:00:00 +0000 + + /posts/rpi-rip-nvme/ + Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад. +Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. + <p>Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад.</p> +<p>Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. Ну и какая-то там планка оперативки на 8ГБ частотой 2133МГц. Диск тоже, по факту, был со старого компа, просто на момент работы сервера на Малинке он у меня был чисто под виртуалки всякие. Это SSD SanDisk на 120Гб.</p> +<p>В ближайшее время я планирую проапгрейдить сервер новым процом, в неближайшее - диском, и хочу докинуть ещё плашку оперативы на 8ГБ, дабы был двухканал. Процессор этот будет Intel Core i5 7600. Брал его <a href="https://aliexpress.ru/item/1005003651636041.html">тут</a>. Хотел взять Xeon-E3 1245 v5, однако без плясок с бубнами и программатора, мне бы его не получилось завести на этой материнке, менять которую мне вообще ни разу не хочется, да и с бубном плясать тоже неохота. После хотелось бы взять SSD Samsung EVO, скорее всего <a href="https://www.dns-shop.ru/product/184d257ee33aed20/500-gb-25-sata-nakopitel-samsung-870-evo-mz-77e500bkr">этот</a>. Ну а плашку оперативы возьму <a href="https://www.citilink.ru/product/modul-pamyati-kingmax-ddr4-8gb-2133-dimm-ret-400808">эту</a>. В идеале бы ещё ИБПшник взять, но я не знаю, какой&hellip;</p> +<p>Может допишу ещё чего&hellip;</p> + + + + + Мучения с принтером + /posts/ricoh_config/ + Sat, 09 Sep 2023 00:00:00 +0000 + + /posts/ricoh_config/ + Я всё думал, как завести свой принтер под Linux. И однажды наткнулся на пакет в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён. +Но недавно в очередных поисках я наткнулся на раздел на форуме Ubuntu. Там добрый человек поделился репозиторием - туть. +Однако я поступил по другому, не так, как написал человек на форуме. Последовательность +git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/ cd ricoh-sp100 sudo cp pstoricohddst-gdi /usr/lib/cups/filter sudo cp *.ppd /usr/share/cups/model + <p>Я всё думал, как завести свой принтер под Linux. <br> +И однажды наткнулся на <a href="https://aur.archlinux.org/packages/ricoh-sp100-git">пакет</a> в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён.</p> +<p>Но недавно в очередных поисках я наткнулся на <a href="https://forum.ubuntu.ru/index.php?PHPSESSID=b541bb569cce4b86e0a21bf1f69ca5ec&amp;topic=203120.msg2481757#msg2481757">раздел на форуме Ubuntu</a>. <br> +Там добрый человек поделился репозиторием - <a href="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/">туть</a>.</p> +<p>Однако я поступил по другому, не так, как написал человек на форуме. <br> +Последовательность</p> +<p><code>git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/</code> <br> +<code>cd ricoh-sp100</code> <br> +<code>sudo cp pstoricohddst-gdi /usr/lib/cups/filter</code> <br> +<code>sudo cp *.ppd /usr/share/cups/model</code></p> +<p>Если есть yay: <br> +<code>yay -S jbigkit inotify-tools</code></p> +<p>Если нет:<br> +<code>sudo pacman -S jbigkit inotify-tools</code></p> +<p>Как то так. Теперь идём и настраиваем наш принтер в своём рабочем окружении и радуемся жизни. <br> +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + Подборка обоев + /posts/walls/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /posts/walls/ + Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев. +Посмотреть их и забрать её можно тут. +О подборке: +Большая часть обоев взято с wallhaven.cc Содержит NSFW (около ~3-10%) Дополняется и обновляется как минимум еженедельно. У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. + <p>Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев.</p> +<p>Посмотреть их и забрать её можно <a href="https://cloud.sadium.cyou/s/walls">тут</a>.</p> +<p>О подборке:</p> +<ul> +<li>Большая часть обоев взято с <a href="https://wallhaven.cc">wallhaven.cc</a></li> +<li>Содержит NSFW (около ~3-10%)</li> +<li>Дополняется и обновляется как минимум еженедельно.</li> +</ul> +<p>У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + + /about/about/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /about/about/ + Приветствую! Меня звать Сисадмин Линк, парень, 23 годика, я создатель данного сайта и хостер некоторых сервисов с открытым исходным кодом. +Работаю сисадмином в подразделении одного колледжа. +Это всё&hellip; пока что. + <img class="center" src="/img/avatar.jpg" width="300" style="border:3px; border-style:dashed; border-color:#ffffff; padding: 0px;"> + + +<h1 id="приветствую">Приветствую!</h1> +<p>Меня звать <strong>Сисадмин Линк</strong>, парень, 23 годика, я создатель данного сайта и хостер некоторых <a href="/services">сервисов</a> с <strong>открытым исходным кодом</strong>.</p> +<p>Работаю сисадмином в подразделении одного колледжа.</p> +<p>Это всё&hellip; пока что. +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> + + + + + + /contacts/contacts/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /contacts/contacts/ + Email +sadml[at]disroot.org +sadml[at]sadium.cyou +Fediverse +@sl@social.exo.icu +Matrix +@sl:sadium.cyou + <p><strong><code>Email</code></strong><br> +<a href="mailto:sadml@disroot.org">sadml[at]disroot.org</a><br> +<a href="mailto:sadml@sadium.cyou">sadml[at]sadium.cyou</a></p> +<p><strong><code>Fediverse</code></strong><br> +<a href="https://social.exo.icu/@sl">@sl@social.exo.icu</a></p> +<p><strong><code>Matrix</code></strong><br> +<a href="https://matrix.to/#/@sl:sadium.cyou">@sl:sadium.cyou</a></p> + + + + + + /donate/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /donate/ + Никого не принуждаю, но если можете, отсыпьте копеечку: Свобода добра 5536 9139 9438 8268 Тинькофф Пожалуйста, напишите в сообщении к переводу, что вы осознанно отправили его, а не сделали это по ошибке, чтобы никто не переживал потом 😅 OVERXWISE Qiwi + <table> +<thead> +<tr> +<th>Никого не принуждаю, но если можете, отсыпьте копеечку:</th> +<th><a href="https://habr.com/ru/articles/648857">Свобода добра</a></th> +</tr> +</thead> +<tbody> +<tr> +<td>5536 9139 9438 8268</td> +<td>Тинькофф</td> +</tr> +<tr> +<td>Пожалуйста, напишите в сообщении к переводу, что вы осознанно отправили его, а не сделали это по ошибке, чтобы никто не переживал потом 😅</td> +<td></td> +</tr> +<tr> +<td><a href="https://qiwi.com/n/OVERXWISE">OVERXWISE</a></td> +<td><a href="https://qiwi.com/n/OVERXWISE">Qiwi</a></td> +</tr> +</tbody> +</table> + + + + + + /services/services/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /services/services/ + Публичные Forgejo Мой инстанс | Сайт | Исходный код | Регистрация открыта | Nextcloud OIDC +Forgejo, форк Gitea - Открытая легковесная &ldquo;кузница&rdquo; для создания ПО. +Однажды я сделаю PoW капчу&hellip; +Matrix Admin UI Мой инстанс | Исходный код +Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯ +Matrix Element WebUI Мой инстанс | Сайт | Исходный код +Element-web - Глянцевый клиент Matrix для совместной работы в Интернете. +Matrix Synapse sadium.cyou | Сайт | Исходный код | Регистрация закрыта | Nextcloud OIDC + <h1 id="публичные">Публичные</h1> +<hr> +<h3 id="forgejo">Forgejo</h3> +<p><a href="https://git.sadium.cyou/">Мой инстанс</a> | <a href="https://forgejo.org">Сайт</a> | <a href="https://codeberg.org/forgejo/forgejo">Исходный код</a> | <code>Регистрация открыта</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Forgejo</strong>, форк <strong><a href="https://gitea.io">Gitea</a></strong> - Открытая легковесная &ldquo;кузница&rdquo; для создания ПО.</p> +</blockquote> +<p>Однажды я сделаю PoW капчу&hellip;</p> +<h3 id="matrix-admin-ui">Matrix Admin UI</h3> +<p><a href="https://ma.sadium.cyou/">Мой инстанс</a> | <a href="https://github.com/Awesome-Technologies/synapse-admin">Исходный код</a></p> +<blockquote> +<p><strong>Matrix Admin UI</strong> - Matrix Admin UI. <code>¯\_(ツ)_/¯</code></p> +</blockquote> +<h3 id="matrix-element-webui">Matrix Element WebUI</h3> +<p><a href="https://mw.sadium.cyou/">Мой инстанс</a> | <a href="https://element.io/">Сайт</a> | <a href="https://github.com/vector-im/element-web/">Исходный код</a></p> +<blockquote> +<p><strong>Element-web</strong> - Глянцевый клиент Matrix для совместной работы в Интернете.</p> +</blockquote> +<h3 id="matrix-synapse">Matrix Synapse</h3> +<p><code>sadium.cyou</code> | <a href="https://matrix.org">Сайт</a> | <a href="https://github.com/matrix-org/synapse">Исходный код</a> | <code>Регистрация закрыта</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Synapse</strong> — домашний сервер Matrix с открытым исходным кодом, написанный и поддерживаемый Matrix.org Foundation. Вкратце, Matrix — это открытый стандарт связи в Интернете, поддерживающий федерацию, шифрование и VoIP.</p> +</blockquote> +<h3 id="nextcloud">Nextcloud</h3> +<p><a href="https://cloud.sadium.cyou">Мой инстанс</a> | <a href="https://nextcloud.com">Сайт</a> | <a href="https://github.com/nextcloud/server">Исходный код</a> | <code>Регистрация по премодерации</code> | <code>OIDC</code></p> +<blockquote> +<p><strong>Nextcloud</strong> - набор клиент-серверных программ для создания и использования хранилища данных. <br> +Является свободным аналогом облаков от Google, Яндекс, Mail.ru (нынешний VK Group), и т.д.</p> +</blockquote> +<h3 id="owncast">Owncast</h3> +<p><a href="https://live.sadium.cyou/">Мой инстанс</a> | <a href="https://owncast.online">Сайт</a> | <a href="https://github.com/owncast/owncast">Исходный код</a></p> +<blockquote> +<p><strong>Owncast</strong> - автономный сервер видеотрансляций и веб-чатов для использования с существующим популярным программным обеспечением для вещания.</p> +</blockquote> +<h3 id="rss-bridge">RSS-Bridge</h3> +<p><a href="https://rss.sadium.cyou/">Мой инстанс</a> | <a href="https://rss-bridge.github.io/rss-bridge">Сайт</a> | <a href="https://github.com/rss-bridge/rss-bridge">Исходный код</a></p> +<blockquote> +<p><strong>RSS-Bridge</strong> - программное обеспечение для создания Atom или RSS-каналов с веб-сайтов, у которых их нет.</p> +</blockquote> +<p>Мостов <a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/bridges">куча</a>, могу по просьбе добавить в список активных ещё какие-нибудь.</p> +<h3 id="shlink">Shlink</h3> +<p><a href="https://shlink.sadium.cyou/">Мой инстанс веб-интерфейса</a> | <a href="https://shlink.io">Сайт</a> | <a href="https://github.com/shlinkio/shlink">Исходный код сервера</a> | <a href="https://github.com/shlinkio/shlink-web-client">Исходный код WebUI</a></p> +<blockquote> +<p><strong>Shlink</strong> - Автономный сокращатель URL-адресов на основе PHP, который можно использовать для обслуживания сокращенных URL-адресов в вашем собственном домене.</p> +</blockquote> +<h3 id="vaultwarden">Vaultwarden</h3> +<p><a href="https://vault.sadium.cyou/">Мой инстанс</a> | <a href="https://github.com/dani-garcia/vaultwarden">Исходный код сервера</a> | <a href="https://github.com/dani-garcia/bw_web_builds">Исходный код WebUI</a> | <code>Регистрация открыта</code></p> +<blockquote> +<p><strong>Vaultwarden</strong>, форк <strong><a href="https://bitwarden.com">Bitwarden</a></strong> - менеджера паролей с открытым кодом. Имеет приложения нескольких форматов, включая веб-интерфейс, настольные приложения, расширение браузера, мобильные приложения и CLI</p> +</blockquote> +<h3 id="uptime-kuma">Uptime Kuma</h3> +<p><a href="https://up.sadium.cyou">Мой инстанс</a> | <a href="https://github.com/louislam/uptime-kuma">Исходный код</a></p> +<blockquote> +<p><strong>Uptime Kuma</strong> - Инструмент для мониторинга с возможностью самохостинга.</p> +</blockquote> +<hr> +<h1 id="личныеприватные">Личные/приватные</h1> +<h3 id="adguard-home">Adguard Home</h3> +<p><a href="https://github.com/AdguardTeam/AdGuardHome">Исходный код</a></p> +<blockquote> +<p><strong>Adguard Home</strong> - Межсетевой DNS сервер блокировщика рекламы и трекеров.</p> +</blockquote> +<h3 id="maddy-email">Maddy Email</h3> +<p><a href="https://maddy.email">Сайт</a> | <a href="https://github.com/foxcpp/maddy">Исходный код</a></p> +<blockquote> +<p><strong>Maddy</strong> - Составной почтовый сервер &ldquo;все в одном&rdquo;.</p> +</blockquote> +<h3 id="qbittorrent">qBittorrent</h3> +<p><a href="https://github.com/qbittorrent/qBittorrent">Исходный код</a></p> +<blockquote> +<p><strong>qBittorrent</strong> - Открытый торрент-клиент.</p> +</blockquote> +<hr> +<p>Исходный код указанных в этой статье сервисов (и не только) отзеркален на моём инстансе <strong><a href="https://git.sadium.cyou/mirrors">Forgejo</a></strong>.</p> + + + + + Условия использования + /tos/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /tos/ + Общее положение Данный документ - свод правил поведения. При использовании любых сервисов, размещённых в рамках проекта Sadium, администрация и, мы надеемся, сообщество, должны соблюдать данный свод правил. +Данный документ относится ко всем сервисам, размещенным в рамках проекта Sadium. Это означает, что данный свод правил нужно соблюдать при использовании сервисов, размещенных на домене и под-доменах *.sadium.cyou. +Сервис предоставляется &ldquo;как есть&rdquo; Сервис - онлайн-ресурсы и ПО, размещенные в рамках проекта Sadium на домене и под-доменах *. + <h2 id="общее-положение">Общее положение</h2> +<p>Данный документ - свод правил поведения. При использовании любых сервисов, размещённых в рамках проекта <code>Sadium</code>, администрация и, мы надеемся, сообщество, должны соблюдать данный свод правил.</p> +<p>Данный документ относится ко всем сервисам, размещенным в рамках проекта <code>Sadium</code>. Это означает, что данный свод правил нужно соблюдать при использовании сервисов, размещенных на домене и под-доменах <code>*.sadium.cyou</code>.</p> +<h2 id="сервис-предоставляется-как-есть">Сервис предоставляется &ldquo;как есть&rdquo;</h2> +<p><strong><code>Сервис</code></strong> - онлайн-ресурсы и ПО, размещенные в рамках проекта <code>Sadium</code> на домене и под-доменах <code>*.sadium.cyou</code>.</p> +<p>Вы понимаете и соглашаетесь с тем, что <strong><code>Сервис</code></strong> предоставляется «как есть» без каких-либо гарантий, что сервис не содержит ошибок или дефектов. Администрация <strong><code>Сервиса</code></strong> не несёт никакой ответственности за какую-либо неверную и/или несвоевременную доставку информации, правильность обработки предоставленных и/или копируемых данных, а равно за прямой или косвенный ущерб, вызванный использованием данного <strong><code>Сервиса</code></strong>.</p> +<h2 id="отказ-от-ответственности">Отказ от ответственности</h2> +<p>Дополнительно сообщаем, что администрация проекта <code>Sadium</code> несёт ответственность только за контент, размещенный на &ldquo;своих&rdquo; сервисах. Администрация <code>Sadium</code> отказывается от ответвенности за размещение контента через &ldquo;проксирующие&rdquo; сервисы, ибо не имеет технической и правовой возможности его контроллировать.</p> +<p>Проект <code>Sadium</code> просит обратить внимание, что администрация не занимается модерированием каждого действия пользователей, в то же время контент может модерироваться/удаляться по обращению правообладателей, но только в том случае, если правообладатель сможет доказать авторство опубликованного на домене <code>*.sadium.cyou</code> контента.</p> +<p>Жалобы на контент принимаются только в письменном виде и в специальной для этого форме: - &lt;ссылка на форму&gt;</p> +<ul> +<li><strong><code>Сервис</code></strong> считается &ldquo;своим&rdquo;, если веб-приложение, находящееся на домене <code>*.sadium.cyou</code>, либо его контент может контролироваться администрацией (изменение, создание, удаление), а так же если администраторы проекта <code>Sadium</code> имеют техническую возможность контролировать пользователей как сущность базы данных (удалять, создавать, изменять).</li> +<li><strong><code>Сервис</code></strong> считается &ldquo;проксирующим&rdquo;, если веб-приложение, находящееся на домене <code>*.sadium.cyou</code>, по сути своей, является лишь альтернативным путём для получения контента, и контент никак не может быть изменен администрацией проекта <code>Sadium</code>.</li> +</ul> +<h2 id="персональные-данные">Персональные данные</h2> +<p>Предоставляя свои персональные данные при использовании <strong><code>Сервиса</code></strong>, вы даёте своё согласие на обработку и использование своих персональных данных для работы <strong><code>Сервиса</code></strong>. Администрация проекта <code>Sadium</code> не принуждает вас указывать свои &ldquo;настоящие&rdquo; персональные данные. +Администрация проекта <code>Sadium</code> не использует персональные данные пользователей в иных целях, если пользователь не изъявил обратного.</p> +<h2 id="воспрещается">Воспрещается</h2> +<ul> +<li>Обсуждать/распространять/хранить порнографические материалы с участием несовершеннолетних.</li> +<li>Назойливо-агрессивное поведение (преследования, необоснованное хамство на постоянной основе и т.п.)</li> +<li>Создавать аккаунт для компании/ИП/самозанятого пользователя, если цель создания аккаунта - извлечение прибыли.</li> +<li>Разглашать личные данные[1] пользователя без его согласия. Если пользователь (в не зависимости от его инстанса) потребует удаления своих личных данных со страницы пользователя, относящегося к проекту <code>*.sadium.cyou</code> - пользователь sadium.cyou обязан это сделать, в ином случае это сделает администрация.</li> +<li>Призывать к травле[2]. Одно дело - высказать своё мнение о пользователе. Совсем другое - мешать пользователю жить.</li> +<li>Рассылать спам.</li> +</ul> +<h2 id="обращаем-ваше-внимание">Обращаем Ваше внимание:</h2> +<ul> +<li>Несовпадение взглядов (политических, сексуальных, религиозных&hellip;) пользователя со взглядами администрации не является основанием для санкций.</li> +</ul> +<hr> +<p>[1] - Персональные данные или личные данные (ЛД) — любая информация, относящаяся прямо или косвенно к определенному пользователю. Любая информация, не опубликованная пользователем в открытый доступ будет считаться как ЛД пользователя.</p> +<p>В независимости от того, опубликованы или нет, ЛД всегда будут считаться:</p> +<ul> +<li>Паспортные данные, а именно совокупность таких данных, как ФИО, дата рождения, семейное положение.</li> +<li>Социальное и имущественное положение.</li> +<li>Информация о банковской карте, включая номер, PIN-код и CVV2/CVC2-коды.</li> +<li>Телефонный номер.</li> +</ul> +<p>[2] - Призывом к травле может являться:</p> +<ul> +<li>Вмешательство в личную жизнь пользователя с целью негативного влияния на его ментальное и физическое состояние</li> +<li>Прямые и непосредственные призывы к насилию.</li> +<li>Призывы к насилию с использованием общих лозунгов.</li> +<li>Прямые и непосредственные призывы к дискриминации.</li> +<li>Призывы к дискриминации в виде общих лозунгов.</li> +</ul> +<hr> +<p>Некоторые фрагменты текста были взяты и адаптированы <a href="https://git.thedroth.rocks/TheDroth/ToS/src/branch/main/README.md">отсюда</a><br> +Данный текст ещё будет дорабатываться.</p> + + + + + diff --git a/public/page/1/index.html b/public/page/1/index.html new file mode 100644 index 0000000..5309041 --- /dev/null +++ b/public/page/1/index.html @@ -0,0 +1,10 @@ + + + + / + + + + + + diff --git a/public/posts/codeberg_x_nextcloud/index.html b/public/posts/codeberg_x_nextcloud/index.html new file mode 100644 index 0000000..c650eae --- /dev/null +++ b/public/posts/codeberg_x_nextcloud/index.html @@ -0,0 +1,301 @@ + + + + + Как настроить Codeberg как провайдер входа Oauth2 для Nexcloud :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

Как настроить Codeberg как провайдер входа Oauth2 для Nexcloud

+
+

Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь.
+Пригодилось - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/

+

1. Создаём приложение в Codeberg и копируем куда-нибудь Client ID и Client secret.
+2. Идём в параметры сервера Nextcloud, пункт Social Login, и создаём Custom Oauth2 на +.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ПунктЧто вводить
Внутреннее имяCodeberg
НазваниеCodeberg
API Base URLhttps://codeberg.org
Authorize urlhttps://codeberg.org/login/oauth/authorize
Token urlhttps://codeberg.org/login/oauth/access_token
Profile urlhttps://codeberg.org/login/oauth/userinfo
Logout urlОставить пустым
Client ID и Client secretвставить из 1 пункта
Scoperead:user
Остальные послеНе трогайте, если не уверены
+

3. Ставим галку напротив пункта Позволять пользователям подключать социальные логины к своим аккаунтам и нажимаем Сохранить внизу страницы.
+4. Идём в режим Инкогнито вашего браузера, затем на страничку входа в ваше облако и копируем путь провайдера Codeberg - правая кнопка мыши, копируем ссылку, сохраняем куда-нибудь.
+Должно выглядеть примерно так - https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg
+5. Возвращаемся к ранее созданному приложению Codeberg, Нажимаем Изменить и вставляем ссылку из прошлого пункта в поле URI для перенаправления, нажимаем Сохранить.

+

Теперь попробуйте связать ваш аккаунт Codeberg и Nextcloud из пункта Social Login в настройках пользователя Nextcloud, должно работать. В теории, это также применимо к Gitea, потому что Forgejo это форк Gitea.

+

Давеча сделал по этому поводу Issue на Github: https://github.com/zorn-v/nextcloud-social-login/issues/440

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/posts/index.html b/public/posts/index.html new file mode 100644 index 0000000..cca944e --- /dev/null +++ b/public/posts/index.html @@ -0,0 +1,378 @@ + + + + + Статьи :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/posts/index.xml b/public/posts/index.xml new file mode 100644 index 0000000..52dd10f --- /dev/null +++ b/public/posts/index.xml @@ -0,0 +1,152 @@ + + + + Статьи on Sadium + /posts/ + Recent content in Статьи on Sadium + Hugo -- gohugo.io + ru + Sun, 10 Dec 2023 00:00:00 +0000 + + Как настроить Codeberg как провайдер входа Oauth2 для Nexcloud + /posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /posts/codeberg_x_nextcloud/ + Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. Пригодилось - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Создаём приложение в Codeberg и копируем куда-нибудь Client ID и Client secret. 2. Идём в параметры сервера Nextcloud, пункт Social Login, и создаём Custom Oauth2 на +. +Пункт Что вводить Внутреннее имя Codeberg Название Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg.org/login/oauth/userinfo Logout url Оставить пустым Client ID и Client secret вставить из 1 пункта Scope read:user Остальные после Не трогайте, если не уверены 3. + <p>Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. <br> +Пригодилось - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Создаём приложение в Codeberg</a> и копируем куда-нибудь Client ID и Client secret. <br> +<code>2.</code> Идём в параметры сервера Nextcloud, пункт <code>Social Login</code>, и создаём Custom Oauth2 на <code>+</code>.</p> +<table> +<thead> +<tr> +<th>Пункт</th> +<th>Что вводить</th> +</tr> +</thead> +<tbody> +<tr> +<td>Внутреннее имя</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Название</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>Оставить пустым</td> +</tr> +<tr> +<td>Client ID и Client secret</td> +<td>вставить из 1 пункта</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Остальные после</td> +<td>Не трогайте, если не уверены</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Ставим галку напротив пункта <code>Позволять пользователям подключать социальные логины к своим аккаунтам</code> и нажимаем <code>Сохранить</code> внизу страницы. <br> +<code>4.</code> Идём в режим Инкогнито вашего браузера, затем на страничку входа в ваше облако и копируем путь провайдера Codeberg - правая кнопка мыши, копируем ссылку, сохраняем куда-нибудь. <br> +Должно выглядеть примерно так - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Возвращаемся к ранее созданному <a href="https://codeberg.org/user/settings/applications">приложению Codeberg</a>, Нажимаем <code>Изменить</code> и вставляем ссылку из прошлого пункта в поле <code>URI для перенаправления</code>, нажимаем <code>Сохранить</code>.</p> +<p>Теперь попробуйте связать ваш аккаунт Codeberg и Nextcloud из пункта <code>Social Login</code> в настройках пользователя Nextcloud, должно работать. В теории, это также применимо к <code>Gitea</code>, потому что <a href="https://forgejo.org">Forgejo</a> это форк <a href="https://gitea.com">Gitea</a>.</p> +<p>Давеча сделал по этому поводу Issue на Github: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + Не берите дешёвые M2 NMVE + /posts/rpi-rip-nvme/ + Sat, 07 Oct 2023 00:00:00 +0000 + + /posts/rpi-rip-nvme/ + Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад. +Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. + <p>Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад.</p> +<p>Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. Ну и какая-то там планка оперативки на 8ГБ частотой 2133МГц. Диск тоже, по факту, был со старого компа, просто на момент работы сервера на Малинке он у меня был чисто под виртуалки всякие. Это SSD SanDisk на 120Гб.</p> +<p>В ближайшее время я планирую проапгрейдить сервер новым процом, в неближайшее - диском, и хочу докинуть ещё плашку оперативы на 8ГБ, дабы был двухканал. Процессор этот будет Intel Core i5 7600. Брал его <a href="https://aliexpress.ru/item/1005003651636041.html">тут</a>. Хотел взять Xeon-E3 1245 v5, однако без плясок с бубнами и программатора, мне бы его не получилось завести на этой материнке, менять которую мне вообще ни разу не хочется, да и с бубном плясать тоже неохота. После хотелось бы взять SSD Samsung EVO, скорее всего <a href="https://www.dns-shop.ru/product/184d257ee33aed20/500-gb-25-sata-nakopitel-samsung-870-evo-mz-77e500bkr">этот</a>. Ну а плашку оперативы возьму <a href="https://www.citilink.ru/product/modul-pamyati-kingmax-ddr4-8gb-2133-dimm-ret-400808">эту</a>. В идеале бы ещё ИБПшник взять, но я не знаю, какой&hellip;</p> +<p>Может допишу ещё чего&hellip;</p> + + + + + Мучения с принтером + /posts/ricoh_config/ + Sat, 09 Sep 2023 00:00:00 +0000 + + /posts/ricoh_config/ + Я всё думал, как завести свой принтер под Linux. И однажды наткнулся на пакет в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён. +Но недавно в очередных поисках я наткнулся на раздел на форуме Ubuntu. Там добрый человек поделился репозиторием - туть. +Однако я поступил по другому, не так, как написал человек на форуме. Последовательность +git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/ cd ricoh-sp100 sudo cp pstoricohddst-gdi /usr/lib/cups/filter sudo cp *.ppd /usr/share/cups/model + <p>Я всё думал, как завести свой принтер под Linux. <br> +И однажды наткнулся на <a href="https://aur.archlinux.org/packages/ricoh-sp100-git">пакет</a> в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён.</p> +<p>Но недавно в очередных поисках я наткнулся на <a href="https://forum.ubuntu.ru/index.php?PHPSESSID=b541bb569cce4b86e0a21bf1f69ca5ec&amp;topic=203120.msg2481757#msg2481757">раздел на форуме Ubuntu</a>. <br> +Там добрый человек поделился репозиторием - <a href="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/">туть</a>.</p> +<p>Однако я поступил по другому, не так, как написал человек на форуме. <br> +Последовательность</p> +<p><code>git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/</code> <br> +<code>cd ricoh-sp100</code> <br> +<code>sudo cp pstoricohddst-gdi /usr/lib/cups/filter</code> <br> +<code>sudo cp *.ppd /usr/share/cups/model</code></p> +<p>Если есть yay: <br> +<code>yay -S jbigkit inotify-tools</code></p> +<p>Если нет:<br> +<code>sudo pacman -S jbigkit inotify-tools</code></p> +<p>Как то так. Теперь идём и настраиваем наш принтер в своём рабочем окружении и радуемся жизни. <br> +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + Подборка обоев + /posts/walls/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /posts/walls/ + Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев. +Посмотреть их и забрать её можно тут. +О подборке: +Большая часть обоев взято с wallhaven.cc Содержит NSFW (около ~3-10%) Дополняется и обновляется как минимум еженедельно. У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. + <p>Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев.</p> +<p>Посмотреть их и забрать её можно <a href="https://cloud.sadium.cyou/s/walls">тут</a>.</p> +<p>О подборке:</p> +<ul> +<li>Большая часть обоев взято с <a href="https://wallhaven.cc">wallhaven.cc</a></li> +<li>Содержит NSFW (около ~3-10%)</li> +<li>Дополняется и обновляется как минимум еженедельно.</li> +</ul> +<p>У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + diff --git a/public/posts/page/1/index.html b/public/posts/page/1/index.html new file mode 100644 index 0000000..633a52b --- /dev/null +++ b/public/posts/page/1/index.html @@ -0,0 +1,10 @@ + + + + /posts/ + + + + + + diff --git a/public/posts/ricoh_config/index.html b/public/posts/ricoh_config/index.html new file mode 100644 index 0000000..dabe69d --- /dev/null +++ b/public/posts/ricoh_config/index.html @@ -0,0 +1,258 @@ + + + + + Мучения с принтером :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

Мучения с принтером

+
+

Я всё думал, как завести свой принтер под Linux.
+И однажды наткнулся на пакет в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён.

+

Но недавно в очередных поисках я наткнулся на раздел на форуме Ubuntu.
+Там добрый человек поделился репозиторием - туть.

+

Однако я поступил по другому, не так, как написал человек на форуме.
+Последовательность

+

git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/
+cd ricoh-sp100
+sudo cp pstoricohddst-gdi /usr/lib/cups/filter
+sudo cp *.ppd /usr/share/cups/model

+

Если есть yay:
+yay -S jbigkit inotify-tools

+

Если нет:
+sudo pacman -S jbigkit inotify-tools

+

Как то так. Теперь идём и настраиваем наш принтер в своём рабочем окружении и радуемся жизни.
+ +

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/posts/rpi-rip-nvme/index.html b/public/posts/rpi-rip-nvme/index.html new file mode 100644 index 0000000..4d1eed6 --- /dev/null +++ b/public/posts/rpi-rip-nvme/index.html @@ -0,0 +1,245 @@ + + + + + Не берите дешёвые M2 NMVE :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

Не берите дешёвые M2 NMVE

+
+

Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад.

+

Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. Ну и какая-то там планка оперативки на 8ГБ частотой 2133МГц. Диск тоже, по факту, был со старого компа, просто на момент работы сервера на Малинке он у меня был чисто под виртуалки всякие. Это SSD SanDisk на 120Гб.

+

В ближайшее время я планирую проапгрейдить сервер новым процом, в неближайшее - диском, и хочу докинуть ещё плашку оперативы на 8ГБ, дабы был двухканал. Процессор этот будет Intel Core i5 7600. Брал его тут. Хотел взять Xeon-E3 1245 v5, однако без плясок с бубнами и программатора, мне бы его не получилось завести на этой материнке, менять которую мне вообще ни разу не хочется, да и с бубном плясать тоже неохота. После хотелось бы взять SSD Samsung EVO, скорее всего этот. Ну а плашку оперативы возьму эту. В идеале бы ещё ИБПшник взять, но я не знаю, какой…

+

Может допишу ещё чего…

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/posts/walls/index.html b/public/posts/walls/index.html new file mode 100644 index 0000000..d656b22 --- /dev/null +++ b/public/posts/walls/index.html @@ -0,0 +1,252 @@ + + + + + Подборка обоев :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

Подборка обоев

+
+

Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев.

+

Посмотреть их и забрать её можно тут.

+

О подборке:

+
    +
  • Большая часть обоев взято с wallhaven.cc
  • +
  • Содержит NSFW (около ~3-10%)
  • +
  • Дополняется и обновляется как минимум еженедельно.
  • +
+

У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. + +

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/ru/index.html b/public/ru/index.html new file mode 100644 index 0000000..b782c17 --- /dev/null +++ b/public/ru/index.html @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/ru/sitemap.xml b/public/ru/sitemap.xml new file mode 100644 index 0000000..b194f05 --- /dev/null +++ b/public/ru/sitemap.xml @@ -0,0 +1,218 @@ + + + + /tags/codeberg/ + 2023-12-10T00:00:00+00:00 + + + + /tags/nextcloud/ + 2023-12-10T00:00:00+00:00 + + + + / + 2023-12-10T00:00:00+00:00 + + + + /tags/ + 2023-12-10T00:00:00+00:00 + + + + /posts/codeberg_x_nextcloud/ + 2023-12-10T00:00:00+00:00 + + + + /posts/ + 2023-12-10T00:00:00+00:00 + + + + /tags/nvme/ + 2023-10-07T00:00:00+00:00 + + /posts/rpi-rip-nvme/ + 2023-10-07T00:00:00+00:00 + + /tags/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80/ + 2023-10-07T00:00:00+00:00 + + /posts/ricoh_config/ + 2023-09-09T00:00:00+00:00 + + /tags/%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80/ + 2023-09-09T00:00:00+00:00 + + /tags/%D1%81%D0%BE%D1%84%D1%82/ + 2023-09-09T00:00:00+00:00 + + /tags/wallpapers/ + 2023-07-01T00:00:00+00:00 + + + + /tags/%D0%BE%D0%B1%D0%BE%D0%B8/ + 2023-07-01T00:00:00+00:00 + + /posts/walls/ + 2023-07-01T00:00:00+00:00 + + + + /about/about/ + + + + /contacts/contacts/ + + + + /donate/ + + /services/services/ + + + + /categories/ + + + + /contacts/ + + + + /about/ + + + + /services/ + + + + /tos/ + + diff --git a/public/services/index.html b/public/services/index.html new file mode 100644 index 0000000..8ca97fe --- /dev/null +++ b/public/services/index.html @@ -0,0 +1,336 @@ + + + + + Сервисы :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ +
+

+ +

+ + + + + + + +
+ +

Публичные

+
+

Forgejo

+

Мой инстанс | Сайт | Исходный код | Регистрация открыта | Nextcloud OIDC

+
+

Forgejo, форк Gitea - Открытая легковесная “кузница” для создания ПО.

+
+

Однажды я сделаю PoW капчу…

+

Matrix Admin UI

+

Мой инстанс | Исходный код

+
+

Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯

+
+

Matrix Element WebUI

+

Мой инстанс | Сайт | Исходный код

+
+

Element-web - Глянцевый клиент Matrix для совместной работы в Интернете.

+
+

Matrix Synapse

+

sadium.cyou | Сайт | Исходный код | Регистрация закрыта | Nextcloud OIDC

+
+

Synapse — домашний сервер Matrix с открытым исходным кодом, написанный и поддерживаемый Matrix.org Foundation. Вкратце, Matrix — это открытый стандарт связи в Интернете, поддерживающий федерацию, шифрование и VoIP.

+
+

Nextcloud

+

Мой инстанс | Сайт | Исходный код | Регистрация по премодерации | OIDC

+
+

Nextcloud - набор клиент-серверных программ для создания и использования хранилища данных.
+Является свободным аналогом облаков от Google, Яндекс, Mail.ru (нынешний VK Group), и т.д.

+
+

Owncast

+

Мой инстанс | Сайт | Исходный код

+
+

Owncast - автономный сервер видеотрансляций и веб-чатов для использования с существующим популярным программным обеспечением для вещания.

+
+

RSS-Bridge

+

Мой инстанс | Сайт | Исходный код

+
+

RSS-Bridge - программное обеспечение для создания Atom или RSS-каналов с веб-сайтов, у которых их нет.

+
+

Мостов куча, могу по просьбе добавить в список активных ещё какие-нибудь.

+ +

Мой инстанс веб-интерфейса | Сайт | Исходный код сервера | Исходный код WebUI

+
+

Shlink - Автономный сокращатель URL-адресов на основе PHP, который можно использовать для обслуживания сокращенных URL-адресов в вашем собственном домене.

+
+

Vaultwarden

+

Мой инстанс | Исходный код сервера | Исходный код WebUI | Регистрация открыта

+
+

Vaultwarden, форк Bitwarden - менеджера паролей с открытым кодом. Имеет приложения нескольких форматов, включая веб-интерфейс, настольные приложения, расширение браузера, мобильные приложения и CLI

+
+

Uptime Kuma

+

Мой инстанс | Исходный код

+
+

Uptime Kuma - Инструмент для мониторинга с возможностью самохостинга.

+
+
+

Личные/приватные

+

Adguard Home

+

Исходный код

+
+

Adguard Home - Межсетевой DNS сервер блокировщика рекламы и трекеров.

+
+

Maddy Email

+

Сайт | Исходный код

+
+

Maddy - Составной почтовый сервер “все в одном”.

+
+

qBittorrent

+

Исходный код

+
+

qBittorrent - Открытый торрент-клиент.

+
+
+

Исходный код указанных в этой статье сервисов (и не только) отзеркален на моём инстансе Forgejo.

+ + +
+ + +
+ + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/services/index.xml b/public/services/index.xml new file mode 100644 index 0000000..134f919 --- /dev/null +++ b/public/services/index.xml @@ -0,0 +1,101 @@ + + + + Сервисы on Sadium + /services/ + Recent content in Сервисы on Sadium + Hugo -- gohugo.io + ru + + + /services/services/ + Mon, 01 Jan 0001 00:00:00 +0000 + + /services/services/ + Публичные Forgejo Мой инстанс | Сайт | Исходный код | Регистрация открыта | Nextcloud OIDC +Forgejo, форк Gitea - Открытая легковесная &ldquo;кузница&rdquo; для создания ПО. +Однажды я сделаю PoW капчу&hellip; +Matrix Admin UI Мой инстанс | Исходный код +Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯ +Matrix Element WebUI Мой инстанс | Сайт | Исходный код +Element-web - Глянцевый клиент Matrix для совместной работы в Интернете. +Matrix Synapse sadium.cyou | Сайт | Исходный код | Регистрация закрыта | Nextcloud OIDC + <h1 id="публичные">Публичные</h1> +<hr> +<h3 id="forgejo">Forgejo</h3> +<p><a href="https://git.sadium.cyou/">Мой инстанс</a> | <a href="https://forgejo.org">Сайт</a> | <a href="https://codeberg.org/forgejo/forgejo">Исходный код</a> | <code>Регистрация открыта</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Forgejo</strong>, форк <strong><a href="https://gitea.io">Gitea</a></strong> - Открытая легковесная &ldquo;кузница&rdquo; для создания ПО.</p> +</blockquote> +<p>Однажды я сделаю PoW капчу&hellip;</p> +<h3 id="matrix-admin-ui">Matrix Admin UI</h3> +<p><a href="https://ma.sadium.cyou/">Мой инстанс</a> | <a href="https://github.com/Awesome-Technologies/synapse-admin">Исходный код</a></p> +<blockquote> +<p><strong>Matrix Admin UI</strong> - Matrix Admin UI. <code>¯\_(ツ)_/¯</code></p> +</blockquote> +<h3 id="matrix-element-webui">Matrix Element WebUI</h3> +<p><a href="https://mw.sadium.cyou/">Мой инстанс</a> | <a href="https://element.io/">Сайт</a> | <a href="https://github.com/vector-im/element-web/">Исходный код</a></p> +<blockquote> +<p><strong>Element-web</strong> - Глянцевый клиент Matrix для совместной работы в Интернете.</p> +</blockquote> +<h3 id="matrix-synapse">Matrix Synapse</h3> +<p><code>sadium.cyou</code> | <a href="https://matrix.org">Сайт</a> | <a href="https://github.com/matrix-org/synapse">Исходный код</a> | <code>Регистрация закрыта</code> | <code>Nextcloud OIDC</code></p> +<blockquote> +<p><strong>Synapse</strong> — домашний сервер Matrix с открытым исходным кодом, написанный и поддерживаемый Matrix.org Foundation. Вкратце, Matrix — это открытый стандарт связи в Интернете, поддерживающий федерацию, шифрование и VoIP.</p> +</blockquote> +<h3 id="nextcloud">Nextcloud</h3> +<p><a href="https://cloud.sadium.cyou">Мой инстанс</a> | <a href="https://nextcloud.com">Сайт</a> | <a href="https://github.com/nextcloud/server">Исходный код</a> | <code>Регистрация по премодерации</code> | <code>OIDC</code></p> +<blockquote> +<p><strong>Nextcloud</strong> - набор клиент-серверных программ для создания и использования хранилища данных. <br> +Является свободным аналогом облаков от Google, Яндекс, Mail.ru (нынешний VK Group), и т.д.</p> +</blockquote> +<h3 id="owncast">Owncast</h3> +<p><a href="https://live.sadium.cyou/">Мой инстанс</a> | <a href="https://owncast.online">Сайт</a> | <a href="https://github.com/owncast/owncast">Исходный код</a></p> +<blockquote> +<p><strong>Owncast</strong> - автономный сервер видеотрансляций и веб-чатов для использования с существующим популярным программным обеспечением для вещания.</p> +</blockquote> +<h3 id="rss-bridge">RSS-Bridge</h3> +<p><a href="https://rss.sadium.cyou/">Мой инстанс</a> | <a href="https://rss-bridge.github.io/rss-bridge">Сайт</a> | <a href="https://github.com/rss-bridge/rss-bridge">Исходный код</a></p> +<blockquote> +<p><strong>RSS-Bridge</strong> - программное обеспечение для создания Atom или RSS-каналов с веб-сайтов, у которых их нет.</p> +</blockquote> +<p>Мостов <a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/bridges">куча</a>, могу по просьбе добавить в список активных ещё какие-нибудь.</p> +<h3 id="shlink">Shlink</h3> +<p><a href="https://shlink.sadium.cyou/">Мой инстанс веб-интерфейса</a> | <a href="https://shlink.io">Сайт</a> | <a href="https://github.com/shlinkio/shlink">Исходный код сервера</a> | <a href="https://github.com/shlinkio/shlink-web-client">Исходный код WebUI</a></p> +<blockquote> +<p><strong>Shlink</strong> - Автономный сокращатель URL-адресов на основе PHP, который можно использовать для обслуживания сокращенных URL-адресов в вашем собственном домене.</p> +</blockquote> +<h3 id="vaultwarden">Vaultwarden</h3> +<p><a href="https://vault.sadium.cyou/">Мой инстанс</a> | <a href="https://github.com/dani-garcia/vaultwarden">Исходный код сервера</a> | <a href="https://github.com/dani-garcia/bw_web_builds">Исходный код WebUI</a> | <code>Регистрация открыта</code></p> +<blockquote> +<p><strong>Vaultwarden</strong>, форк <strong><a href="https://bitwarden.com">Bitwarden</a></strong> - менеджера паролей с открытым кодом. Имеет приложения нескольких форматов, включая веб-интерфейс, настольные приложения, расширение браузера, мобильные приложения и CLI</p> +</blockquote> +<h3 id="uptime-kuma">Uptime Kuma</h3> +<p><a href="https://up.sadium.cyou">Мой инстанс</a> | <a href="https://github.com/louislam/uptime-kuma">Исходный код</a></p> +<blockquote> +<p><strong>Uptime Kuma</strong> - Инструмент для мониторинга с возможностью самохостинга.</p> +</blockquote> +<hr> +<h1 id="личныеприватные">Личные/приватные</h1> +<h3 id="adguard-home">Adguard Home</h3> +<p><a href="https://github.com/AdguardTeam/AdGuardHome">Исходный код</a></p> +<blockquote> +<p><strong>Adguard Home</strong> - Межсетевой DNS сервер блокировщика рекламы и трекеров.</p> +</blockquote> +<h3 id="maddy-email">Maddy Email</h3> +<p><a href="https://maddy.email">Сайт</a> | <a href="https://github.com/foxcpp/maddy">Исходный код</a></p> +<blockquote> +<p><strong>Maddy</strong> - Составной почтовый сервер &ldquo;все в одном&rdquo;.</p> +</blockquote> +<h3 id="qbittorrent">qBittorrent</h3> +<p><a href="https://github.com/qbittorrent/qBittorrent">Исходный код</a></p> +<blockquote> +<p><strong>qBittorrent</strong> - Открытый торрент-клиент.</p> +</blockquote> +<hr> +<p>Исходный код указанных в этой статье сервисов (и не только) отзеркален на моём инстансе <strong><a href="https://git.sadium.cyou/mirrors">Forgejo</a></strong>.</p> + + + + + diff --git a/public/services/page/1/index.html b/public/services/page/1/index.html new file mode 100644 index 0000000..ca7fd15 --- /dev/null +++ b/public/services/page/1/index.html @@ -0,0 +1,10 @@ + + + + /services/ + + + + + + diff --git a/public/services/services/index.html b/public/services/services/index.html new file mode 100644 index 0000000..37aa795 --- /dev/null +++ b/public/services/services/index.html @@ -0,0 +1,354 @@ + + + + + :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

+
+

Публичные

+
+

Forgejo

+

Мой инстанс | Сайт | Исходный код | Регистрация открыта | Nextcloud OIDC

+
+

Forgejo, форк Gitea - Открытая легковесная “кузница” для создания ПО.

+
+

Однажды я сделаю PoW капчу…

+

Matrix Admin UI

+

Мой инстанс | Исходный код

+
+

Matrix Admin UI - Matrix Admin UI. ¯\_(ツ)_/¯

+
+

Matrix Element WebUI

+

Мой инстанс | Сайт | Исходный код

+
+

Element-web - Глянцевый клиент Matrix для совместной работы в Интернете.

+
+

Matrix Synapse

+

sadium.cyou | Сайт | Исходный код | Регистрация закрыта | Nextcloud OIDC

+
+

Synapse — домашний сервер Matrix с открытым исходным кодом, написанный и поддерживаемый Matrix.org Foundation. Вкратце, Matrix — это открытый стандарт связи в Интернете, поддерживающий федерацию, шифрование и VoIP.

+
+

Nextcloud

+

Мой инстанс | Сайт | Исходный код | Регистрация по премодерации | OIDC

+
+

Nextcloud - набор клиент-серверных программ для создания и использования хранилища данных.
+Является свободным аналогом облаков от Google, Яндекс, Mail.ru (нынешний VK Group), и т.д.

+
+

Owncast

+

Мой инстанс | Сайт | Исходный код

+
+

Owncast - автономный сервер видеотрансляций и веб-чатов для использования с существующим популярным программным обеспечением для вещания.

+
+

RSS-Bridge

+

Мой инстанс | Сайт | Исходный код

+
+

RSS-Bridge - программное обеспечение для создания Atom или RSS-каналов с веб-сайтов, у которых их нет.

+
+

Мостов куча, могу по просьбе добавить в список активных ещё какие-нибудь.

+ +

Мой инстанс веб-интерфейса | Сайт | Исходный код сервера | Исходный код WebUI

+
+

Shlink - Автономный сокращатель URL-адресов на основе PHP, который можно использовать для обслуживания сокращенных URL-адресов в вашем собственном домене.

+
+

Vaultwarden

+

Мой инстанс | Исходный код сервера | Исходный код WebUI | Регистрация открыта

+
+

Vaultwarden, форк Bitwarden - менеджера паролей с открытым кодом. Имеет приложения нескольких форматов, включая веб-интерфейс, настольные приложения, расширение браузера, мобильные приложения и CLI

+
+

Uptime Kuma

+

Мой инстанс | Исходный код

+
+

Uptime Kuma - Инструмент для мониторинга с возможностью самохостинга.

+
+
+

Личные/приватные

+

Adguard Home

+

Исходный код

+
+

Adguard Home - Межсетевой DNS сервер блокировщика рекламы и трекеров.

+
+

Maddy Email

+

Сайт | Исходный код

+
+

Maddy - Составной почтовый сервер “все в одном”.

+
+

qBittorrent

+

Исходный код

+
+

qBittorrent - Открытый торрент-клиент.

+
+
+

Исходный код указанных в этой статье сервисов (и не только) отзеркален на моём инстансе Forgejo.

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..e91719e --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,18 @@ + + + + + en/sitemap.xml + + 2023-12-10T00:00:00+00:00 + + + + + ru/sitemap.xml + + 2023-12-10T00:00:00+00:00 + + + + diff --git a/public/styles.css b/public/styles.css new file mode 100644 index 0000000..0d63005 --- /dev/null +++ b/public/styles.css @@ -0,0 +1,3 @@ +@font-face{font-display:swap;font-family:'Fira Code';font-style:normal;font-weight:400;src:url("../fonts/FiraCode-Regular.woff") format("woff")}@font-face{font-display:swap;font-family:'Fira Code';font-style:normal;font-weight:800;src:url("../fonts/FiraCode-Bold.woff") format("woff")}.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin:5px 0;text-decoration:none;text-align:center;border-radius:8;border:1px solid #FF6266;background:#FF6266;color:#221f29;font:inherit;font-weight:bold;appearance:none;cursor:pointer;outline:none}button:hover,.button:hover,a.button:hover{background:rgba(255,98,102,0.9)}button.outline,.button.outline,a.button.outline{background:transparent;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.link,.button.link,a.button.link{background:none;font-size:1rem}button.small,.button.small,a.button.small{font-size:.8rem}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;border:none;color:#FF6266;background:none;box-shadow:none;padding:0;margin:20px 0;max-width:100%}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-bottom:5px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none}input,textarea,select{background:transparent;color:#FF6266;border:1px solid #FF6266;border-radius:0;padding:10px;margin:5px 0;font:inherit;appearance:none}input:focus,input :active,textarea:focus,textarea :active,select:focus,select :active{border-color:#fff;outline:1px solid #fff}input:active,textarea:active,select:active{box-shadow:none}select{background:#221f29}select option{background:#221f29}::placeholder{color:rgba(255,98,102,0.5)}input[type="checkbox"]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px #221f29}input[type="checkbox"]:checked{background:#FF6266}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:'';background:repeating-linear-gradient(90deg, #FF6266, #FF6266 2px, transparent 0, transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.navigation-menu{display:flex;align-items:flex-start;justify-content:space-between;margin:20px 1px}@media (max-width: 684px){.navigation-menu{margin:0}}.navigation-menu__inner{display:flex;flex:1;flex-wrap:wrap;list-style:none;margin:0;padding:0}.navigation-menu__inner>li{flex:0 0 auto;margin-bottom:10px;white-space:nowrap}.navigation-menu__inner>li:not(:last-of-type){margin-right:20px}@media (max-width: 684px){.navigation-menu__inner{flex-direction:column;align-items:flex-start;padding:0}.navigation-menu__inner li{margin:0;padding:5px}}.navigation-menu .spacer{flex-grow:1 !important}.menu{display:flex;flex-direction:column;position:relative;list-style:none;padding:0;margin:0}.menu__trigger{margin-right:0 !important;color:#FF6266;user-select:none;cursor:pointer}.menu__dropdown{display:none;flex-direction:column;position:absolute;background:#221f29;box-shadow:0 10px rgba(34,31,41,0.8),-10px 10px rgba(34,31,41,0.8),10px 10px rgba(34,31,41,0.8);color:white;border:2px solid;margin:0;padding:10px;top:10px;left:0;list-style:none;z-index:99}.open .menu__dropdown{display:flex}.menu__dropdown>li{flex:0 0 auto}.menu__dropdown>li:not(:last-of-type){margin-bottom:10px}.menu__dropdown>li a{display:flex;padding:5px}@media (max-width: 684px){.menu--desktop{display:none}}.menu--mobile .menu__trigger{color:#FF6266;border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0 !important;position:relative;cursor:pointer;display:none}@media (max-width: 684px){.menu--mobile .menu__trigger{display:block}}@media (max-width: 684px){.menu--mobile .menu__dropdown{left:auto;right:0}}.menu--mobile li{flex:0 0 auto}.menu--mobile li:not(:last-of-type){margin-bottom:10px}.menu--language-selector .menu__trigger{color:#FF6266;border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0 !important;position:relative;cursor:pointer}@media (max-width: 684px){.menu--language-selector .menu__trigger{display:none}}.menu--language-selector .menu__dropdown{left:auto;right:0}.logo{display:flex;align-items:center;text-decoration:none;background:#FF6266;color:black;padding:5px 10px}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0;font-family:'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace;font-size:1rem;line-height:1.54;letter-spacing:-0.02em;background-color:#221f29;color:#fff;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga", "tnum", "zero", "ss01", "locl";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width: 684px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.left{margin-right:auto}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#FF6266;color:#221f29}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace !important;font-feature-settings:normal;background:rgba(255,98,102,0.2);color:#FF6266;padding:1px 6px;margin:0 2px;font-size:.95rem}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent !important;padding:20px 10px;margin:40px 0;font-size:.95rem !important;overflow:auto;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width: 684px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none !important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #FF6266;border-bottom:1px solid #FF6266;margin:40px 0;padding:25px}@media (max-width: 684px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:'>';display:block;position:absolute;left:-25px;color:#FF6266}blockquote.twitter-tweet{position:relative;background:rgba(255,98,102,0.1);font:inherit;color:inherit;border:1px solid #FF6266;padding-top:60px}blockquote.twitter-tweet p:before{content:''}blockquote.twitter-tweet:before{content:'> From Twitter:';position:absolute;top:20px;color:#FF6266;font-weight:bold}blockquote.twitter-tweet a{color:#FF6266}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,th,td{border:1px dashed #FF6266;padding:10px}th{color:#FF6266}ul,ol{margin-left:22px;padding:0}ul li,ol li{position:relative}@media (max-width: 684px){ul,ol{margin-left:20px}}ol{list-style:none;counter-reset:li}ol>li{counter-increment:li}ol>li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#FF6266;display:inline-block;text-align:right}ol>li>ol{margin-left:38px}ol>li>ol>li{counter-increment:li}ol>li>ol>li:before{content:counters(li, ".") " "}mark{background:#FF6266;color:#221f29}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid rgba(255,255,255,0.1)}.container.full,.container.center{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width: 684px){.container{padding:20px}}@media print{.container{display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:initial}}hr{width:100%;border:none;background:rgba(255,255,255,0.1);height:1px}.hidden{display:none}sup{line-height:0}.index-content{margin-top:20px}.framed{border:1px solid #FF6266;padding:20px}.framed *:first-child{margin-top:0}.framed *:last-child{margin-bottom:0}.posts{width:100%}.post{width:100%;text-align:left;margin:20px auto;padding:20px 0}.post:not(:last-of-type){border-bottom:1px solid rgba(255,255,255,0.1)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(255,98,102,0.7)}.post-meta>*:not(:first-child)::before{content:"::";display:inline-block;margin:0 8px}.post-title{position:relative;color:#FF6266;margin:0 0 15px;padding-bottom:15px;border-bottom:3px dotted #FF6266}.post-title:after{content:'';position:absolute;bottom:2px;display:block;width:100%;border-bottom:3px dotted #FF6266}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #FF6266;background:transparent;margin:40px 0;padding:20px}@media (max-width: 684px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:not(:empty):before{content:'-';position:absolute;left:-20px;color:#FF6266}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(255,98,102,0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255,255,255,0.5)}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:#221f29;color:rgba(255,255,255,0.3);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;flex-flow:row wrap;gap:10px}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;padding:0;appearance:none}@media (max-width: 684px){.button{flex:1}}.button a{display:flex;justify-content:center;flex:1;padding:8px 16px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:40px 0;flex-grow:0;opacity:.5}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;width:760px;max-width:100%}@media (max-width: 900px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-flow:row wrap;flex:1;align-items:center;font-size:1rem;justify-content:center}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>*:first-child:not(:only-child){margin-right:10px}.footer .copyright span{white-space:nowrap}code[class*="language-"],pre[class*="language-"]{color:#ccc;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#2d2d2d}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:rgba(153,122,102,0.08);background:linear-gradient(to right, rgba(153,122,102,0.1) 70%, rgba(153,122,102,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:rgba(153,122,102,0.4);color:#f5f2f0;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px white}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,0.2)}pre[class*="language-"].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*="language-"].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:0.8em;text-align:right}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:' ';display:block;padding-right:0.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user="root"]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity 0.3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,0.2);box-shadow:0 2px 0 0 rgba(0,0,0,0.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}code.language-css,code.language-scss,.token.boolean,.token.string,.token.entity,.token.url,.language-css .token.string,.language-scss .token.string,.style .token.string,.token.attr-value,.token.keyword,.token.control,.token.directive,.token.statement,.token.regex,.token.atrule,.token.number,.token.inserted,.token.important{color:#FF6266 !important}.token.tag-id,.token.atrule-id,.token.operator,.token.unit,.token.placeholder,.token.variable,.token.tag,.token.attr-name,.token.namespace,.token.deleted,.token.property,.token.class-name,.token.constant,.token.symbol{color:rgba(255,98,102,0.7) !important}.token.property,.token.function,.token.function-name,.token.deleted,code.language-javascript,code.language-html,.command-line-prompt>span:before{color:#9a9999 !important}.token.selector,.token.tag,.token.punctuation{color:white}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:rgba(255,255,255,0.3) !important}.token.namespace{opacity:.7 !important}pre[data-line]{position:relative}pre[class*="language-"]{margin:0;padding:0;overflow:auto}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(245,104,107,0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:rgba(153,122,102,0.4);color:#f5f2f0;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px white}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}.code-toolbar{position:relative;margin:40px 0;padding:20px;border:1px solid rgba(255,255,255,0.1)}.code-toolbar+.code-toolbar,.code-toolbar+.highlight,.code-toolbar+.highlight .code-toolbar{border-top:0;margin-top:calc(-1 * $code-margin)}.code-toolbar pre,.code-toolbar code{border:none}.code-toolbar code{display:block;color:inherit}.code-toolbar>.toolbar button{font-size:.8em !important;background:rgba(224,224,224,0.2) !important;color:#bbb !important;box-shadow:0 2px 0 0 rgba(0,0,0,0.2) !important;border-radius:0 !important;margin:6px !important;padding:10px !important;user-select:none}.collapsable-code{position:relative;width:100%;margin:40px 0}.collapsable-code input[type="checkbox"]{position:absolute;visibility:hidden}.collapsable-code input[type="checkbox"]:checked~pre,.collapsable-code input[type="checkbox"]:checked~.code-toolbar pre{height:0;padding:0;border-top:none}.collapsable-code input[type="checkbox"]:checked~.code-toolbar{padding:0;border-top:none}.collapsable-code input[type="checkbox"]:checked~.code-toolbar .toolbar{display:none}.collapsable-code input[type="checkbox"]:checked~label .collapsable-code__toggle:after{content:attr(data-label-expand)}.collapsable-code label{position:relative;display:flex;justify-content:space-between;min-width:30px;min-height:30px;margin:0;border-bottom:1px solid #f5686b;cursor:pointer}.collapsable-code__title{flex:1;color:#FF6266;padding:3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:#FF6266;border:1px solid #f5686b;border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code__toggle{color:#FF6266;font-size:16px;padding:3px 10px}.collapsable-code__toggle:after{content:attr(data-label-collapse)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0}.collapsable-code .code-toolbar{margin:0}.terms h3{font-size:initial}.terms ul{list-style:none}.terms ul li a{color:#FF6266}.terms ul li:not(:empty):before{content:'-';position:absolute;left:-20px;color:#FF6266}body .gist .blob-num,body .gist .blob-code-inner{border:none} + +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/public/styles.css.map b/public/styles.css.map new file mode 100644 index 0000000..32d82ca --- /dev/null +++ b/public/styles.css.map @@ -0,0 +1,45 @@ +{ + "version": 3, + "file": "styles.css", + "sourceRoot": "/mnt/2TB/sites/sadium", + "sources": [ + "css/base.scss", + "themes/hugo-theme-terminal/assets/css/variables.scss", + "themes/hugo-theme-terminal/assets/css/font.scss", + "themes/hugo-theme-terminal/assets/css/buttons.scss", + "themes/hugo-theme-terminal/assets/css/form.scss", + "themes/hugo-theme-terminal/assets/css/header.scss", + "themes/hugo-theme-terminal/assets/css/menu.scss", + "themes/hugo-theme-terminal/assets/css/logo.scss", + "themes/hugo-theme-terminal/assets/css/main.scss", + "themes/hugo-theme-terminal/assets/css/post.scss", + "themes/hugo-theme-terminal/assets/css/pagination.scss", + "themes/hugo-theme-terminal/assets/css/footer.scss", + "themes/hugo-theme-terminal/assets/css/prism.scss", + "themes/hugo-theme-terminal/assets/css/syntax.scss", + "themes/hugo-theme-terminal/assets/css/code.scss", + "themes/hugo-theme-terminal/assets/css/terms.scss", + "themes/hugo-theme-terminal/assets/css/gist.scss" + ], + "sourcesContent": [ + "$accent: #FF6266;\n@import \"variables\";\n\n@import \"font\";\n@import \"buttons\";\n@import \"form\";\n\n@import \"header\";\n@import \"menu\";\n@import \"logo\";\n@import \"main\";\n@import \"post\";\n@import \"pagination\";\n@import \"footer\";\n\n@import \"prism\";\n@import \"syntax\";\n@import \"code\";\n@import \"terms\";\n@import \"gist\";\n", + "/* COLOR VARIABLES */\n$background: mix($accent, #1D1E28, 2%);\n$color: white;\n$border-color: rgba(255, 255, 255, .1);\n\n/* MEDIA QUERIES */\n$phone: \"max-width: 684px\";\n$tablet: \"max-width: 900px\";\n", + "@font-face {\n font-display: swap;\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n src: url(\"../fonts/FiraCode-Regular.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 800;\n src: url(\"../fonts/FiraCode-Bold.woff\") format(\"woff\");\n}\n", + ".button-container {\n display: table;\n margin-left: auto;\n margin-right: auto;\n}\n\nbutton,\n.button,\na.button {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px 18px;\n margin: 5px 0;\n text-decoration: none;\n text-align: center;\n border-radius: 8;\n border: 1px solid $accent;\n background: $accent;\n color: $background;\n font: inherit;\n font-weight: bold;\n appearance: none;\n cursor: pointer;\n outline: none;\n\n &:hover {\n background: transparentize($accent, .1);\n }\n\n /* variants */\n\n &.outline {\n background: transparent;\n box-shadow: none;\n padding: 8px 18px;\n\n :hover {\n transform: none;\n box-shadow: none;\n }\n }\n\n &.link {\n background: none;\n font-size: 1rem;\n }\n\n /* sizes */\n\n &.small {\n font-size: .8rem;\n }\n\n &.wide {\n min-width: 200px;\n padding: 14px 24px;\n }\n}\n\na.read-more,\na.read-more:hover,\na.read-more:active {\n display: inline-flex;\n border: none;\n color: $accent;\n background: none;\n box-shadow: none;\n padding: 0;\n margin: 20px 0;\n max-width: 100%;\n}\n\n.code-toolbar {\n margin-bottom: 20px;\n\n .toolbar-item a {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 3px 8px;\n margin-bottom: 5px;\n text-decoration: none;\n text-align: center;\n font-size: 13px;\n font-weight: 500;\n border-radius: 8px;\n border: 1px solid transparent;\n appearance: none;\n cursor: pointer;\n outline: none;\n }\n}\n", + "input, textarea, select {\n background: transparent;\n color: $accent;\n border: 1px solid $accent;\n border-radius: 0;\n padding: 10px;\n margin: 5px 0;\n font: inherit;\n appearance: none;\n\n &:focus, :active {\n border-color: $color;\n outline: 1px solid $color;\n }\n\n &:active {\n box-shadow: none;\n }\n}\n\nselect {\n background: $background;\n\n option {\n background: $background;\n }\n}\n\n::placeholder {\n color: transparentize($accent, .5);\n}\n\ninput {\n &[type=\"checkbox\"] {\n vertical-align: middle;\n padding: 10px;\n box-shadow: inset 0 0 0 3px $background;\n\n &:checked {\n background: $accent;\n }\n }\n}\n", + ".header {\n display: flex;\n flex-direction: column;\n position: relative;\n\n @media print {\n display: none;\n }\n\n &__inner {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n &__logo {\n display: flex;\n flex: 1;\n\n &:after {\n content: '';\n background: repeating-linear-gradient(90deg, $accent, $accent 2px, transparent 0, transparent 10px);\n display: block;\n width: 100%;\n right: 10px;\n }\n\n a {\n flex: 0 0 auto;\n max-width: 100%;\n text-decoration: none;\n }\n }\n}\n", + "@mixin menu {\n display: none;\n flex-direction: column;\n $shadow-color: transparentize($background, .2);\n $shadow: 0 10px $shadow-color, -10px 10px $shadow-color, 10px 10px $shadow-color;\n position: absolute;\n background: $background;\n box-shadow: $shadow;\n color: white;\n border: 2px solid;\n margin: 0;\n padding: 10px;\n top: 10px;\n left: 0;\n list-style: none;\n z-index: 99;\n}\n\n@mixin header-menu-trigger {\n color: $accent;\n border: 2px solid;\n margin-left: 10px;\n height: 100%;\n padding: 3px 8px;\n margin-bottom: 0 !important;\n position: relative;\n cursor: pointer;\n}\n\n.navigation-menu {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin: 20px 1px;\n\n @media ($phone) {\n margin: 0;\n }\n\n &__inner {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n > li {\n flex: 0 0 auto;\n margin-bottom: 10px;\n white-space: nowrap;\n\n &:not(:last-of-type) {\n margin-right: 20px;\n }\n }\n\n @media ($phone) {\n flex-direction: column;\n align-items: flex-start;\n padding: 0;\n\n li {\n margin: 0;\n padding: 5px;\n }\n }\n }\n\n .spacer {\n flex-grow: 1 !important;\n }\n}\n\n.menu {\n display: flex;\n flex-direction: column;\n position: relative;\n list-style: none;\n padding: 0;\n margin: 0;\n\n &__trigger {\n margin-right: 0 !important;\n color: $accent;\n user-select: none;\n cursor: pointer;\n }\n\n &__dropdown {\n @include menu;\n\n .open & {\n display: flex;\n }\n\n > li {\n flex: 0 0 auto;\n\n &:not(:last-of-type) {\n margin-bottom: 10px;\n }\n\n a {\n display: flex;\n padding: 5px;\n }\n }\n }\n\n &--desktop {\n @media ($phone) {\n display: none\n }\n }\n\n &--mobile {\n .menu__trigger {\n @include header-menu-trigger;\n display: none;\n\n @media ($phone) {\n display: block;\n }\n }\n\n .menu__dropdown {\n @media ($phone) {\n left: auto;\n right: 0;\n }\n }\n\n li {\n flex: 0 0 auto;\n\n &:not(:last-of-type) {\n margin-bottom: 10px;\n }\n }\n }\n\n &--language-selector {\n .menu__trigger {\n @include header-menu-trigger;\n\n @media ($phone) {\n display: none;\n }\n }\n\n .menu__dropdown {\n left: auto;\n right: 0;\n }\n }\n}\n", + ".logo {\n display: flex;\n align-items: center;\n text-decoration: none;\n background: $accent;\n color: black;\n padding: 5px 10px;\n}\n", + "html {\n box-sizing: border-box;\n}\n\n*,\n*:before,\n*:after {\n box-sizing: inherit;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace;\n font-size: 1rem;\n line-height: 1.54;\n letter-spacing: -0.02em;\n background-color: $background;\n color: $color;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n font-feature-settings: \"liga\", \"tnum\", \"zero\", \"ss01\", \"locl\";\n font-variant-ligatures: contextual;\n -webkit-overflow-scrolling: touch;\n -webkit-text-size-adjust: 100%;\n\n @media ($phone) {\n font-size: 1rem;\n }\n}\n\n.headings--one-size {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n line-height: 1.3;\n\n &:not(first-child) {\n margin-top: 40px;\n }\n }\n\n h1,\n h2,\n h3 {\n font-size: 1.4rem;\n }\n\n h4,\n h5,\n h6 {\n font-size: 1.2rem;\n }\n}\n\na {\n color: inherit;\n\n /* Waiting for a better times... */\n /* &:has(code) {\n text-decoration-color: $accent;\n } */\n}\n\nimg {\n display: block;\n max-width: 100%;\n\n &.left {\n margin-right: auto;\n }\n\n &.center {\n margin-left: auto;\n margin-right: auto;\n }\n\n &.right {\n margin-left: auto;\n }\n}\n\np {\n margin-bottom: 20px;\n}\n\nfigure {\n display: table;\n max-width: 100%;\n margin: 25px 0;\n\n &.left {\n margin-right: auto;\n }\n\n &.center {\n margin-left: auto;\n margin-right: auto;\n }\n\n &.right {\n margin-left: auto;\n }\n\n figcaption {\n font-size: 14px;\n padding: 5px 10px;\n margin-top: 5px;\n background: $accent;\n color: $background;\n /* opacity: .8; */\n\n &.left {\n text-align: left;\n }\n\n &.center {\n text-align: center;\n }\n\n &.right {\n text-align: right;\n }\n }\n}\n\ncode, kbd {\n font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace !important;\n font-feature-settings: normal;\n background: transparentize($accent, .8);\n color: $accent;\n padding: 1px 6px;\n margin: 0 2px;\n font-size: .95rem;\n\n code, kbd {\n background: transparent;\n padding: 0;\n margin: 0;\n }\n}\n\npre {\n background: transparent !important;\n padding: 20px 10px;\n margin: 40px 0;\n font-size: .95rem !important;\n overflow: auto;\n border-top: 1px solid rgba(255, 255, 255, .1);\n border-bottom: 1px solid rgba(255, 255, 255, .1);\n\n + pre {\n border-top: 0;\n margin-top: -40px;\n }\n\n @media ($phone) {\n white-space: pre-wrap;\n word-wrap: break-word;\n }\n\n code {\n background: none !important;\n margin: 0;\n padding: 0;\n font-size: inherit;\n border: none;\n }\n}\n\nblockquote {\n border-top: 1px solid $accent;\n border-bottom: 1px solid $accent;\n margin: 40px 0;\n padding: 25px;\n\n @media ($phone) {\n padding-right: 0;\n }\n\n p:first-of-type {\n margin-top: 0;\n }\n\n p:last-of-type {\n margin-bottom: 0;\n }\n\n p {\n position: relative;\n }\n\n p:first-of-type:before {\n content: '>';\n display: block;\n position: absolute;\n left: -25px;\n color: $accent;\n }\n\n &.twitter-tweet {\n position: relative;\n background: transparentize($accent, .9);\n font: inherit;\n color: inherit;\n border: 1px solid $accent;\n padding-top: 60px;\n\n p:before {\n content: '';\n }\n\n &:before {\n content: '> From Twitter:';\n position: absolute;\n top: 20px;\n color: $accent;\n font-weight: bold;\n }\n\n a {\n color: $accent;\n }\n }\n}\n\ntable {\n table-layout: auto;\n border-collapse: collapse;\n width: 100%;\n margin: 40px 0;\n}\n\ntable,\nth,\ntd {\n border: 1px dashed $accent;\n padding: 10px;\n}\n\nth {\n color: $accent;\n}\n\nul,\nol {\n margin-left: 22px;\n padding: 0;\n\n li {\n position: relative;\n }\n\n @media ($phone) {\n margin-left: 20px;\n }\n}\n\nol {\n list-style: none;\n counter-reset: li;\n\n > li {\n counter-increment: li;\n\n &:before {\n content: counter(li);\n position: absolute;\n right: calc(100% + 10px);\n color: $accent;\n display: inline-block;\n text-align: right;\n }\n\n > ol {\n margin-left: 38px;\n\n > li {\n counter-increment: li;\n\n &:before {\n content: counters(li, \".\") \" \";\n }\n }\n }\n }\n}\n\nmark {\n background: $accent;\n color: $background;\n}\n\n.container {\n display: flex;\n flex-direction: column;\n padding: 40px;\n max-width: 864px;\n min-height: 100vh;\n border-right: 1px solid rgba(255, 255, 255, 0.1);\n\n &.full,\n &.center {\n border: none;\n margin: 0 auto;\n }\n\n &.full {\n max-width: 100%;\n }\n\n @media ($phone) {\n padding: 20px;\n }\n\n @media print {\n display: initial;\n }\n}\n\n.content {\n display: flex;\n flex-direction: column;\n\n @media print {\n display: initial;\n }\n}\n\nhr {\n width: 100%;\n border: none;\n background: $border-color;\n height: 1px;\n}\n\n.hidden {\n display: none;\n}\n\nsup {\n line-height: 0;\n}\n", + ".index-content {\n margin-top: 20px;\n}\n\n.framed {\n border: 1px solid $accent;\n padding: 20px;\n\n *:first-child {\n margin-top: 0;\n }\n\n *:last-child {\n margin-bottom: 0;\n }\n}\n\n.posts {\n width: 100%;\n}\n\n.post {\n width: 100%;\n text-align: left;\n margin: 20px auto;\n padding: 20px 0;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid $border-color;\n }\n\n &-meta {\n font-size: 1rem;\n margin-bottom: 10px;\n color: transparentize($accent, .3);\n\n & > *:not(:first-child) {\n &::before {\n content: \"::\";\n display: inline-block;\n margin: 0 8px;\n }\n }\n }\n\n &-title {\n $border: 3px dotted $accent;\n position: relative;\n color: $accent;\n margin: 0 0 15px;\n padding-bottom: 15px;\n border-bottom: $border;\n\n &:after {\n content: '';\n position: absolute;\n bottom: 2px;\n display: block;\n width: 100%;\n border-bottom: $border;\n }\n\n a {\n text-decoration: none;\n }\n }\n\n &-tags {\n display: block;\n margin-bottom: 20px;\n font-size: 1rem;\n opacity: .5;\n\n a {\n text-decoration: none;\n }\n }\n\n &-content {\n margin-top: 30px;\n }\n\n &-cover {\n border: 20px solid $accent;\n background: transparent;\n margin: 40px 0;\n padding: 20px;\n\n @media ($phone) {\n padding: 10px;\n border-width: 10px;\n }\n }\n\n ul {\n list-style: none;\n\n li:not(:empty):before {\n content: '-';\n position: absolute;\n left: -20px;\n color: $accent;\n }\n }\n}\n\n.post--regulation {\n h1 {\n justify-content: center;\n }\n\n h2 {\n justify-content: center;\n margin-bottom: 10px;\n\n & + h2 {\n margin-top: -10px;\n margin-bottom: 20px;\n }\n }\n}\n\n.hanchor {\n color: transparentize($accent, .1);\n text-decoration: none;\n margin-left: 10px;\n visibility: hidden;\n}\n\nh1:hover a, h2:hover a, h3:hover a, h4:hover a {\n visibility: visible;\n}\n\n.footnotes {\n color: transparentize($color, .5);\n}\n", + ".pagination {\n margin-top: 50px;\n\n @media print {\n display: none;\n }\n\n &__title {\n display: flex;\n text-align: center;\n position: relative;\n margin: 100px 0 20px;\n\n &-h {\n text-align: center;\n margin: 0 auto;\n padding: 5px 10px;\n background: $background;\n color: transparentize($color, .7);\n font-size: .8rem;\n text-transform: uppercase;\n text-decoration: none;\n letter-spacing: .1em;\n z-index: 1;\n }\n\n hr {\n position: absolute;\n left: 0;\n right: 0;\n width: 100%;\n margin-top: 15px;\n z-index: 0;\n }\n }\n\n &__buttons {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: row wrap;\n gap: 10px;\n\n a {\n text-decoration: none;\n }\n }\n}\n\n.button {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 1rem;\n padding: 0;\n appearance: none;\n\n @media($phone) {\n flex: 1;\n }\n\n a {\n display: flex;\n justify-content: center;\n flex: 1;\n padding: 8px 16px;\n text-decoration: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n &__text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n &.next .button__icon {\n margin-left: 8px;\n }\n\n &.previous .button__icon {\n margin-right: 8px;\n }\n}\n", + ".footer {\n padding: 40px 0;\n flex-grow: 0;\n opacity: .5;\n\n &__inner {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0;\n width: 760px;\n max-width: 100%;\n\n @media ($tablet) {\n flex-direction: column;\n }\n }\n\n a {\n color: inherit;\n }\n\n .copyright {\n display: flex;\n flex-flow: row wrap;\n flex: 1;\n align-items: center;\n font-size: 1rem;\n justify-content: center;\n\n &--user {\n margin: auto;\n text-align: center;\n }\n\n & > *:first-child:not(:only-child) {\n margin-right: 10px;\n }\n\n span {\n white-space: nowrap;\n }\n }\n}\n", + "/* PrismJS 1.24.1\nhttps://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+bash+c+csharp+cpp+cmake+coffeescript+csp+css-extras+diff+django+docker+elixir+elm+erlang+fsharp+flow+git+go+graphql+haml+handlebars+haskell+http+java+json+kotlin+latex+less+llvm+makefile+markdown+markup-templating+nasm+objectivec+ocaml+perl+php+php-extras+powershell+processing+pug+python+r+jsx+tsx+reason+ruby+rust+sass+scss+scala+scheme+sql+stylus+swift+textile+toml+twig+typescript+vim+visual-basic+wasm+yaml&plugins=line-highlight+line-numbers+jsonp-highlight+highlight-keywords+command-line+toolbar+copy-to-clipboard */\n/**\n * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML\n * Based on https://github.com/chriskempson/tomorrow-theme\n * @author Rose Pritchard\n */\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tcolor: #ccc;\n\tbackground: none;\n\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n\tfont-size: 1em;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tbackground: #2d2d2d;\n}\n\n/* Inline code */\n:not(pre) > code[class*=\"language-\"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.block-comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999;\n}\n\n.token.punctuation {\n\tcolor: #ccc;\n}\n\n.token.tag,\n.token.attr-name,\n.token.namespace,\n.token.deleted {\n\tcolor: #e2777a;\n}\n\n.token.function-name {\n\tcolor: #6196cc;\n}\n\n.token.boolean,\n.token.number,\n.token.function {\n\tcolor: #f08d49;\n}\n\n.token.property,\n.token.class-name,\n.token.constant,\n.token.symbol {\n\tcolor: #f8c555;\n}\n\n.token.selector,\n.token.important,\n.token.atrule,\n.token.keyword,\n.token.builtin {\n\tcolor: #cc99cd;\n}\n\n.token.string,\n.token.char,\n.token.attr-value,\n.token.regex,\n.token.variable {\n\tcolor: #7ec699;\n}\n\n.token.operator,\n.token.entity,\n.token.url {\n\tcolor: #67cdcc;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n\n.token.inserted {\n\tcolor: green;\n}\n\npre[data-line] {\n\tposition: relative;\n\tpadding: 1em 0 1em 3em;\n}\n\n.line-highlight {\n\tposition: absolute;\n\tleft: 0;\n\tright: 0;\n\tpadding: inherit 0;\n\tmargin-top: 1em; /* Same as .prism’s padding-top */\n\n\tbackground: hsla(24, 20%, 50%,.08);\n\tbackground: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));\n\n\tpointer-events: none;\n\n\tline-height: inherit;\n\twhite-space: pre;\n}\n\n@media print {\n\t.line-highlight {\n\t\t/*\n\t\t * This will prevent browsers from replacing the background color with white.\n\t\t * It's necessary because the element is layered on top of the displayed code.\n\t\t */\n\t\t-webkit-print-color-adjust: exact;\n\t\tcolor-adjust: exact;\n\t}\n}\n\n\t.line-highlight:before,\n\t.line-highlight[data-end]:after {\n\t\tcontent: attr(data-start);\n\t\tposition: absolute;\n\t\ttop: .4em;\n\t\tleft: .6em;\n\t\tmin-width: 1em;\n\t\tpadding: 0 .5em;\n\t\tbackground-color: hsla(24, 20%, 50%,.4);\n\t\tcolor: hsl(24, 20%, 95%);\n\t\tfont: bold 65%/1.5 sans-serif;\n\t\ttext-align: center;\n\t\tvertical-align: .3em;\n\t\tborder-radius: 999px;\n\t\ttext-shadow: none;\n\t\tbox-shadow: 0 1px white;\n\t}\n\n\t.line-highlight[data-end]:after {\n\t\tcontent: attr(data-end);\n\t\ttop: auto;\n\t\tbottom: .4em;\n\t}\n\n.line-numbers .line-highlight:before,\n.line-numbers .line-highlight:after {\n\tcontent: none;\n}\n\npre[id].linkable-line-numbers span.line-numbers-rows {\n\tpointer-events: all;\n}\npre[id].linkable-line-numbers span.line-numbers-rows > span:before {\n\tcursor: pointer;\n}\npre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {\n\tbackground-color: rgba(128, 128, 128, .2);\n}\n\npre[class*=\"language-\"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*=\"language-\"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n\n.command-line-prompt {\n\tborder-right: 1px solid #999;\n\tdisplay: block;\n\tfloat: left;\n\tfont-size: 100%;\n\tletter-spacing: -1px;\n\tmargin-right: 1em;\n\tpointer-events: none;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n.command-line-prompt > span:before {\n\tcolor: #999;\n\tcontent: ' ';\n\tdisplay: block;\n\tpadding-right: 0.8em;\n}\n\n.command-line-prompt > span[data-user]:before {\n\tcontent: \"[\" attr(data-user) \"@\" attr(data-host) \"] $\";\n}\n\n.command-line-prompt > span[data-user=\"root\"]:before {\n\tcontent: \"[\" attr(data-user) \"@\" attr(data-host) \"] #\";\n}\n\n.command-line-prompt > span[data-prompt]:before {\n\tcontent: attr(data-prompt);\n}\n\ndiv.code-toolbar {\n\tposition: relative;\n}\n\ndiv.code-toolbar > .toolbar {\n\tposition: absolute;\n\ttop: .3em;\n\tright: .2em;\n\ttransition: opacity 0.3s ease-in-out;\n\topacity: 0;\n}\n\ndiv.code-toolbar:hover > .toolbar {\n\topacity: 1;\n}\n\n/* Separate line b/c rules are thrown out if selector is invalid.\n IE11 and old Edge versions don't support :focus-within. */\ndiv.code-toolbar:focus-within > .toolbar {\n\topacity: 1;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item {\n\tdisplay: inline-block;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a {\n\tcursor: pointer;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > button {\n\tbackground: none;\n\tborder: 0;\n\tcolor: inherit;\n\tfont: inherit;\n\tline-height: normal;\n\toverflow: visible;\n\tpadding: 0;\n\t-webkit-user-select: none; /* for button */\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a,\ndiv.code-toolbar > .toolbar > .toolbar-item > button,\ndiv.code-toolbar > .toolbar > .toolbar-item > span {\n\tcolor: #bbb;\n\tfont-size: .8em;\n\tpadding: 0 .5em;\n\tbackground: #f5f2f0;\n\tbackground: rgba(224, 224, 224, 0.2);\n\tbox-shadow: 0 2px 0 0 rgba(0,0,0,0.2);\n\tborder-radius: .5em;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > a:focus,\ndiv.code-toolbar > .toolbar > .toolbar-item > button:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > button:focus,\ndiv.code-toolbar > .toolbar > .toolbar-item > span:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > span:focus {\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n\n", + "code.language-css,\ncode.language-scss,\n.token.boolean,\n.token.string,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.language-scss .token.string,\n.style .token.string,\n.token.attr-value,\n.token.keyword,\n.token.control,\n.token.directive,\n.token.statement,\n.token.regex,\n.token.atrule,\n.token.number,\n.token.inserted,\n.token.important {\n color: $accent !important;\n}\n\n.token.tag-id,\n.token.atrule-id,\n.token.operator,\n.token.unit,\n.token.placeholder,\n.token.variable,\n.token.tag,\n.token.attr-name,\n.token.namespace,\n.token.deleted,\n.token.property,\n.token.class-name,\n.token.constant,\n.token.symbol {\n color: transparentize($accent, .3) !important;\n}\n\n.token.property,\n.token.function,\n.token.function-name,\n.token.deleted,\ncode.language-javascript,\ncode.language-html,\n.command-line-prompt > span:before {\n color: mix($accent, #999, .9) !important;\n}\n\n.token.selector,\n.token.tag,\n.token.punctuation {\n color: white;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n color: rgba(255, 255, 255, .3) !important;\n}\n\n.token.namespace {\n opacity: .7 !important;\n}\n\npre[data-line] {\n position: relative;\n}\n\npre[class*=\"language-\"] {\n margin: 0;\n padding: 0;\n overflow: auto;\n}\n\n.line-highlight {\n position: absolute;\n left: 0;\n right: 0;\n padding: 0;\n margin: 0;\n background: transparentize(mix($accent, #999, 90%), .92);\n pointer-events: none;\n line-height: inherit;\n white-space: pre;\n}\n\n.line-highlight:before,\n.line-highlight[data-end]:after {\n content: attr(data-start);\n position: absolute;\n /* top: .4em; */\n left: .6em;\n min-width: 1em;\n padding: 0 .5em;\n background-color: hsla(24, 20%, 50%, .4);\n color: hsl(24, 20%, 95%);\n font: bold 65%/1.5 sans-serif;\n text-align: center;\n vertical-align: .3em;\n border-radius: 999px;\n text-shadow: none;\n box-shadow: 0 1px white;\n}\n\n.line-highlight[data-end]:after {\n content: attr(data-end);\n top: auto;\n bottom: .4em;\n}\n\n.line-numbers .line-highlight:before,\n.line-numbers .line-highlight:after {\n content: none;\n}\n\n.code-toolbar {\n $code-margin: 40px;\n\tposition: relative;\n\tmargin: $code-margin 0;\n\tpadding: 20px;\n\tborder: 1px solid rgba(255, 255, 255, .1);\n\n\t+ .code-toolbar,\n\t+ .highlight,\n\t+ .highlight .code-toolbar {\n\t\tborder-top: 0;\n\t\tmargin-top: calc(-1 * $code-margin);\n\t}\n\n\tpre, code {\n\t\tborder: none;\n\t}\n\n\tcode {\n\t\tdisplay: block;\n\t\tcolor: inherit;\n\t}\n\n > .toolbar {\n button {\n font-size: .8em !important;\n background: hsla(0,0%,87.8%,.2) !important;\n color: #bbb !important;\n box-shadow: 0 2px 0 0 rgba(0,0,0,.2) !important;\n border-radius: 0 !important;\n margin: 6px !important;\n padding: 10px !important;\n user-select:none\n }\n }\n}\n", + ".collapsable-code {\n $border-color: mix($accent, #999, 90%);\n\n position: relative;\n width: 100%;\n margin: 40px 0;\n\n input[type=\"checkbox\"] {\n position: absolute;\n visibility: hidden;\n }\n\n input[type=\"checkbox\"]:checked {\n ~ pre,\n ~ .code-toolbar pre {\n height: 0;\n padding: 0;\n border-top: none;\n }\n\n ~ .code-toolbar {\n padding: 0;\n border-top: none;\n\n .toolbar {\n display: none;\n }\n }\n\n ~ label .collapsable-code__toggle:after {\n content: attr(data-label-expand);\n }\n }\n\n label {\n position: relative;\n display: flex;\n justify-content: space-between;\n min-width: 30px;\n min-height: 30px;\n margin: 0;\n border-bottom: 1px solid $border-color;\n cursor: pointer;\n }\n\n &__title {\n flex: 1;\n color: $accent;\n padding: 3px 10px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n &__language {\n color: $accent;\n border: 1px solid $border-color;\n border-bottom: none;\n text-transform: uppercase;\n padding: 3px 10px;\n }\n\n &__toggle {\n color: $accent;\n font-size: 16px;\n padding: 3px 10px;\n\n &:after {\n content: attr(data-label-collapse);\n }\n }\n\n pre {\n margin-top: 0;\n\n &::first-line {\n line-height: 0;\n }\n }\n\n .code-toolbar {\n margin: 0;\n }\n}\n", + ".terms {\n h3 {\n font-size: initial;\n }\n\n ul {\n list-style: none;\n\n li {\n a {\n color: $accent;\n }\n }\n\n li:not(:empty):before {\n content: '-';\n position: absolute;\n left: -20px;\n color: $accent;\n }\n }\n}\n", + "body .gist .blob-num /* line numbers */,\nbody .gist .blob-code-inner\n{\n border: none;\n}\n\n" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/public/tags/codeberg/index.html b/public/tags/codeberg/index.html new file mode 100644 index 0000000..2f894d5 --- /dev/null +++ b/public/tags/codeberg/index.html @@ -0,0 +1,275 @@ + + + + + codeberg :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #codeberg

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/codeberg/index.xml b/public/tags/codeberg/index.xml new file mode 100644 index 0000000..b88f39f --- /dev/null +++ b/public/tags/codeberg/index.xml @@ -0,0 +1,83 @@ + + + + codeberg on Sadium + /tags/codeberg/ + Recent content in codeberg on Sadium + Hugo -- gohugo.io + ru + Sun, 10 Dec 2023 00:00:00 +0000 + + Как настроить Codeberg как провайдер входа Oauth2 для Nexcloud + /posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /posts/codeberg_x_nextcloud/ + Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. Пригодилось - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Создаём приложение в Codeberg и копируем куда-нибудь Client ID и Client secret. 2. Идём в параметры сервера Nextcloud, пункт Social Login, и создаём Custom Oauth2 на +. +Пункт Что вводить Внутреннее имя Codeberg Название Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg.org/login/oauth/userinfo Logout url Оставить пустым Client ID и Client secret вставить из 1 пункта Scope read:user Остальные после Не трогайте, если не уверены 3. + <p>Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. <br> +Пригодилось - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Создаём приложение в Codeberg</a> и копируем куда-нибудь Client ID и Client secret. <br> +<code>2.</code> Идём в параметры сервера Nextcloud, пункт <code>Social Login</code>, и создаём Custom Oauth2 на <code>+</code>.</p> +<table> +<thead> +<tr> +<th>Пункт</th> +<th>Что вводить</th> +</tr> +</thead> +<tbody> +<tr> +<td>Внутреннее имя</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Название</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>Оставить пустым</td> +</tr> +<tr> +<td>Client ID и Client secret</td> +<td>вставить из 1 пункта</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Остальные после</td> +<td>Не трогайте, если не уверены</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Ставим галку напротив пункта <code>Позволять пользователям подключать социальные логины к своим аккаунтам</code> и нажимаем <code>Сохранить</code> внизу страницы. <br> +<code>4.</code> Идём в режим Инкогнито вашего браузера, затем на страничку входа в ваше облако и копируем путь провайдера Codeberg - правая кнопка мыши, копируем ссылку, сохраняем куда-нибудь. <br> +Должно выглядеть примерно так - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Возвращаемся к ранее созданному <a href="https://codeberg.org/user/settings/applications">приложению Codeberg</a>, Нажимаем <code>Изменить</code> и вставляем ссылку из прошлого пункта в поле <code>URI для перенаправления</code>, нажимаем <code>Сохранить</code>.</p> +<p>Теперь попробуйте связать ваш аккаунт Codeberg и Nextcloud из пункта <code>Social Login</code> в настройках пользователя Nextcloud, должно работать. В теории, это также применимо к <code>Gitea</code>, потому что <a href="https://forgejo.org">Forgejo</a> это форк <a href="https://gitea.com">Gitea</a>.</p> +<p>Давеча сделал по этому поводу Issue на Github: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + diff --git a/public/tags/codeberg/page/1/index.html b/public/tags/codeberg/page/1/index.html new file mode 100644 index 0000000..c2a4c28 --- /dev/null +++ b/public/tags/codeberg/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/codeberg/ + + + + + + diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..aff879e --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,302 @@ + + + + + Tags :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+

Tags

+ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..0e69e83 --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,91 @@ + + + + Tags on Sadium + /tags/ + Recent content in Tags on Sadium + Hugo -- gohugo.io + ru + Sun, 10 Dec 2023 00:00:00 +0000 + + codeberg + /tags/codeberg/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /tags/codeberg/ + + + + + + nextcloud + /tags/nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /tags/nextcloud/ + + + + + + nvme + /tags/nvme/ + Sat, 07 Oct 2023 00:00:00 +0000 + + /tags/nvme/ + + + + + + сервер + /tags/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80/ + Sat, 07 Oct 2023 00:00:00 +0000 + + /tags/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80/ + + + + + + принтер + /tags/%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80/ + Sat, 09 Sep 2023 00:00:00 +0000 + + /tags/%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80/ + + + + + + софт + /tags/%D1%81%D0%BE%D1%84%D1%82/ + Sat, 09 Sep 2023 00:00:00 +0000 + + /tags/%D1%81%D0%BE%D1%84%D1%82/ + + + + + + wallpapers + /tags/wallpapers/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /tags/wallpapers/ + + + + + + обои + /tags/%D0%BE%D0%B1%D0%BE%D0%B8/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /tags/%D0%BE%D0%B1%D0%BE%D0%B8/ + + + + + + diff --git a/public/tags/nextcloud/index.html b/public/tags/nextcloud/index.html new file mode 100644 index 0000000..11dc0d3 --- /dev/null +++ b/public/tags/nextcloud/index.html @@ -0,0 +1,275 @@ + + + + + nextcloud :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #nextcloud

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/nextcloud/index.xml b/public/tags/nextcloud/index.xml new file mode 100644 index 0000000..e56a93d --- /dev/null +++ b/public/tags/nextcloud/index.xml @@ -0,0 +1,83 @@ + + + + nextcloud on Sadium + /tags/nextcloud/ + Recent content in nextcloud on Sadium + Hugo -- gohugo.io + ru + Sun, 10 Dec 2023 00:00:00 +0000 + + Как настроить Codeberg как провайдер входа Oauth2 для Nexcloud + /posts/codeberg_x_nextcloud/ + Sun, 10 Dec 2023 00:00:00 +0000 + + /posts/codeberg_x_nextcloud/ + Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. Пригодилось - https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/ +1. Создаём приложение в Codeberg и копируем куда-нибудь Client ID и Client secret. 2. Идём в параметры сервера Nextcloud, пункт Social Login, и создаём Custom Oauth2 на +. +Пункт Что вводить Внутреннее имя Codeberg Название Codeberg API Base URL https://codeberg.org Authorize url https://codeberg.org/login/oauth/authorize Token url https://codeberg.org/login/oauth/access_token Profile url https://codeberg.org/login/oauth/userinfo Logout url Оставить пустым Client ID и Client secret вставить из 1 пункта Scope read:user Остальные после Не трогайте, если не уверены 3. + <p>Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. <br> +Пригодилось - <a href="https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/">https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/</a></p> +<p><code>1.</code> <a href="https://codeberg.org/user/settings/applications">Создаём приложение в Codeberg</a> и копируем куда-нибудь Client ID и Client secret. <br> +<code>2.</code> Идём в параметры сервера Nextcloud, пункт <code>Social Login</code>, и создаём Custom Oauth2 на <code>+</code>.</p> +<table> +<thead> +<tr> +<th>Пункт</th> +<th>Что вводить</th> +</tr> +</thead> +<tbody> +<tr> +<td>Внутреннее имя</td> +<td>Codeberg</td> +</tr> +<tr> +<td>Название</td> +<td>Codeberg</td> +</tr> +<tr> +<td>API Base URL</td> +<td><a href="https://codeberg.org">https://codeberg.org</a></td> +</tr> +<tr> +<td>Authorize url</td> +<td><a href="https://codeberg.org/login/oauth/authorize">https://codeberg.org/login/oauth/authorize</a></td> +</tr> +<tr> +<td>Token url</td> +<td><a href="https://codeberg.org/login/oauth/access_token">https://codeberg.org/login/oauth/access_token</a></td> +</tr> +<tr> +<td>Profile url</td> +<td><a href="https://codeberg.org/login/oauth/userinfo">https://codeberg.org/login/oauth/userinfo</a></td> +</tr> +<tr> +<td>Logout url</td> +<td>Оставить пустым</td> +</tr> +<tr> +<td>Client ID и Client secret</td> +<td>вставить из 1 пункта</td> +</tr> +<tr> +<td>Scope</td> +<td>read:user</td> +</tr> +<tr> +<td>Остальные после</td> +<td>Не трогайте, если не уверены</td> +</tr> +</tbody> +</table> +<p><code>3.</code> Ставим галку напротив пункта <code>Позволять пользователям подключать социальные логины к своим аккаунтам</code> и нажимаем <code>Сохранить</code> внизу страницы. <br> +<code>4.</code> Идём в режим Инкогнито вашего браузера, затем на страничку входа в ваше облако и копируем путь провайдера Codeberg - правая кнопка мыши, копируем ссылку, сохраняем куда-нибудь. <br> +Должно выглядеть примерно так - <code>https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg</code> <br> +<code>5.</code> Возвращаемся к ранее созданному <a href="https://codeberg.org/user/settings/applications">приложению Codeberg</a>, Нажимаем <code>Изменить</code> и вставляем ссылку из прошлого пункта в поле <code>URI для перенаправления</code>, нажимаем <code>Сохранить</code>.</p> +<p>Теперь попробуйте связать ваш аккаунт Codeberg и Nextcloud из пункта <code>Social Login</code> в настройках пользователя Nextcloud, должно работать. В теории, это также применимо к <code>Gitea</code>, потому что <a href="https://forgejo.org">Forgejo</a> это форк <a href="https://gitea.com">Gitea</a>.</p> +<p>Давеча сделал по этому поводу Issue на Github: <a href="https://github.com/zorn-v/nextcloud-social-login/issues/440">https://github.com/zorn-v/nextcloud-social-login/issues/440</a></p> + + + + + diff --git a/public/tags/nextcloud/page/1/index.html b/public/tags/nextcloud/page/1/index.html new file mode 100644 index 0000000..dabebd7 --- /dev/null +++ b/public/tags/nextcloud/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/nextcloud/ + + + + + + diff --git a/public/tags/nvme/index.html b/public/tags/nvme/index.html new file mode 100644 index 0000000..817d57e --- /dev/null +++ b/public/tags/nvme/index.html @@ -0,0 +1,275 @@ + + + + + nvme :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #nvme

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/nvme/index.xml b/public/tags/nvme/index.xml new file mode 100644 index 0000000..eb25076 --- /dev/null +++ b/public/tags/nvme/index.xml @@ -0,0 +1,26 @@ + + + + nvme on Sadium + /tags/nvme/ + Recent content in nvme on Sadium + Hugo -- gohugo.io + ru + Sat, 07 Oct 2023 00:00:00 +0000 + + Не берите дешёвые M2 NMVE + /posts/rpi-rip-nvme/ + Sat, 07 Oct 2023 00:00:00 +0000 + + /posts/rpi-rip-nvme/ + Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад. +Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. + <p>Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад.</p> +<p>Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. Ну и какая-то там планка оперативки на 8ГБ частотой 2133МГц. Диск тоже, по факту, был со старого компа, просто на момент работы сервера на Малинке он у меня был чисто под виртуалки всякие. Это SSD SanDisk на 120Гб.</p> +<p>В ближайшее время я планирую проапгрейдить сервер новым процом, в неближайшее - диском, и хочу докинуть ещё плашку оперативы на 8ГБ, дабы был двухканал. Процессор этот будет Intel Core i5 7600. Брал его <a href="https://aliexpress.ru/item/1005003651636041.html">тут</a>. Хотел взять Xeon-E3 1245 v5, однако без плясок с бубнами и программатора, мне бы его не получилось завести на этой материнке, менять которую мне вообще ни разу не хочется, да и с бубном плясать тоже неохота. После хотелось бы взять SSD Samsung EVO, скорее всего <a href="https://www.dns-shop.ru/product/184d257ee33aed20/500-gb-25-sata-nakopitel-samsung-870-evo-mz-77e500bkr">этот</a>. Ну а плашку оперативы возьму <a href="https://www.citilink.ru/product/modul-pamyati-kingmax-ddr4-8gb-2133-dimm-ret-400808">эту</a>. В идеале бы ещё ИБПшник взять, но я не знаю, какой&hellip;</p> +<p>Может допишу ещё чего&hellip;</p> + + + + + diff --git a/public/tags/nvme/page/1/index.html b/public/tags/nvme/page/1/index.html new file mode 100644 index 0000000..93308e8 --- /dev/null +++ b/public/tags/nvme/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/nvme/ + + + + + + diff --git a/public/tags/wallpapers/index.html b/public/tags/wallpapers/index.html new file mode 100644 index 0000000..23e5ab2 --- /dev/null +++ b/public/tags/wallpapers/index.html @@ -0,0 +1,275 @@ + + + + + wallpapers :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #wallpapers

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/wallpapers/index.xml b/public/tags/wallpapers/index.xml new file mode 100644 index 0000000..9732837 --- /dev/null +++ b/public/tags/wallpapers/index.xml @@ -0,0 +1,35 @@ + + + + wallpapers on Sadium + /tags/wallpapers/ + Recent content in wallpapers on Sadium + Hugo -- gohugo.io + ru + Sat, 01 Jul 2023 00:00:00 +0000 + + Подборка обоев + /posts/walls/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /posts/walls/ + Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев. +Посмотреть их и забрать её можно тут. +О подборке: +Большая часть обоев взято с wallhaven.cc Содержит NSFW (около ~3-10%) Дополняется и обновляется как минимум еженедельно. У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. + <p>Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев.</p> +<p>Посмотреть их и забрать её можно <a href="https://cloud.sadium.cyou/s/walls">тут</a>.</p> +<p>О подборке:</p> +<ul> +<li>Большая часть обоев взято с <a href="https://wallhaven.cc">wallhaven.cc</a></li> +<li>Содержит NSFW (около ~3-10%)</li> +<li>Дополняется и обновляется как минимум еженедельно.</li> +</ul> +<p>У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + diff --git a/public/tags/wallpapers/page/1/index.html b/public/tags/wallpapers/page/1/index.html new file mode 100644 index 0000000..88c1a17 --- /dev/null +++ b/public/tags/wallpapers/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/wallpapers/ + + + + + + diff --git a/public/tags/обои/index.html b/public/tags/обои/index.html new file mode 100644 index 0000000..097246c --- /dev/null +++ b/public/tags/обои/index.html @@ -0,0 +1,275 @@ + + + + + обои :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #обои

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/обои/index.xml b/public/tags/обои/index.xml new file mode 100644 index 0000000..5ad68cd --- /dev/null +++ b/public/tags/обои/index.xml @@ -0,0 +1,35 @@ + + + + обои on Sadium + /tags/%D0%BE%D0%B1%D0%BE%D0%B8/ + Recent content in обои on Sadium + Hugo -- gohugo.io + ru + Sat, 01 Jul 2023 00:00:00 +0000 + + Подборка обоев + /posts/walls/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /posts/walls/ + Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев. +Посмотреть их и забрать её можно тут. +О подборке: +Большая часть обоев взято с wallhaven.cc Содержит NSFW (около ~3-10%) Дополняется и обновляется как минимум еженедельно. У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. + <p>Предлагаю вашему вниманию свою подборку обоев, которая уже достигла более 1500 обоев.</p> +<p>Посмотреть их и забрать её можно <a href="https://cloud.sadium.cyou/s/walls">тут</a>.</p> +<p>О подборке:</p> +<ul> +<li>Большая часть обоев взято с <a href="https://wallhaven.cc">wallhaven.cc</a></li> +<li>Содержит NSFW (около ~3-10%)</li> +<li>Дополняется и обновляется как минимум еженедельно.</li> +</ul> +<p>У некоторых обоев может быть качество ниже FullHD (1920x1080), поскольку я не смог их найти в более лучшем качестве. Если кто сможет найти, буду признателен, если кинете ссылку. +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + diff --git a/public/tags/обои/page/1/index.html b/public/tags/обои/page/1/index.html new file mode 100644 index 0000000..687b3f1 --- /dev/null +++ b/public/tags/обои/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/%D0%BE%D0%B1%D0%BE%D0%B8/ + + + + + + diff --git a/public/tags/принтер/index.html b/public/tags/принтер/index.html new file mode 100644 index 0000000..2378b30 --- /dev/null +++ b/public/tags/принтер/index.html @@ -0,0 +1,275 @@ + + + + + принтер :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #принтер

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/принтер/index.xml b/public/tags/принтер/index.xml new file mode 100644 index 0000000..c3f44d6 --- /dev/null +++ b/public/tags/принтер/index.xml @@ -0,0 +1,41 @@ + + + + принтер on Sadium + /tags/%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80/ + Recent content in принтер on Sadium + Hugo -- gohugo.io + ru + Sat, 09 Sep 2023 00:00:00 +0000 + + Мучения с принтером + /posts/ricoh_config/ + Sat, 09 Sep 2023 00:00:00 +0000 + + /posts/ricoh_config/ + Я всё думал, как завести свой принтер под Linux. И однажды наткнулся на пакет в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён. +Но недавно в очередных поисках я наткнулся на раздел на форуме Ubuntu. Там добрый человек поделился репозиторием - туть. +Однако я поступил по другому, не так, как написал человек на форуме. Последовательность +git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/ cd ricoh-sp100 sudo cp pstoricohddst-gdi /usr/lib/cups/filter sudo cp *.ppd /usr/share/cups/model + <p>Я всё думал, как завести свой принтер под Linux. <br> +И однажды наткнулся на <a href="https://aur.archlinux.org/packages/ricoh-sp100-git">пакет</a> в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён.</p> +<p>Но недавно в очередных поисках я наткнулся на <a href="https://forum.ubuntu.ru/index.php?PHPSESSID=b541bb569cce4b86e0a21bf1f69ca5ec&amp;topic=203120.msg2481757#msg2481757">раздел на форуме Ubuntu</a>. <br> +Там добрый человек поделился репозиторием - <a href="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/">туть</a>.</p> +<p>Однако я поступил по другому, не так, как написал человек на форуме. <br> +Последовательность</p> +<p><code>git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/</code> <br> +<code>cd ricoh-sp100</code> <br> +<code>sudo cp pstoricohddst-gdi /usr/lib/cups/filter</code> <br> +<code>sudo cp *.ppd /usr/share/cups/model</code></p> +<p>Если есть yay: <br> +<code>yay -S jbigkit inotify-tools</code></p> +<p>Если нет:<br> +<code>sudo pacman -S jbigkit inotify-tools</code></p> +<p>Как то так. Теперь идём и настраиваем наш принтер в своём рабочем окружении и радуемся жизни. <br> +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + diff --git a/public/tags/принтер/page/1/index.html b/public/tags/принтер/page/1/index.html new file mode 100644 index 0000000..7d8179b --- /dev/null +++ b/public/tags/принтер/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80/ + + + + + + diff --git a/public/tags/сервер/index.html b/public/tags/сервер/index.html new file mode 100644 index 0000000..6f763fb --- /dev/null +++ b/public/tags/сервер/index.html @@ -0,0 +1,275 @@ + + + + + сервер :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #сервер

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/сервер/index.xml b/public/tags/сервер/index.xml new file mode 100644 index 0000000..243ecdb --- /dev/null +++ b/public/tags/сервер/index.xml @@ -0,0 +1,26 @@ + + + + сервер on Sadium + /tags/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80/ + Recent content in сервер on Sadium + Hugo -- gohugo.io + ru + Sat, 07 Oct 2023 00:00:00 +0000 + + Не берите дешёвые M2 NMVE + /posts/rpi-rip-nvme/ + Sat, 07 Oct 2023 00:00:00 +0000 + + /posts/rpi-rip-nvme/ + Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад. +Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. + <p>Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud. Они-то, как раз-таки, лежали на отдельном рейде. И не только они, этот сайт, например, тоже. Так или иначе, я не собирался делать из Малинки серьёзный сервер. Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад.</p> +<p>Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём страком компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. Ну и какая-то там планка оперативки на 8ГБ частотой 2133МГц. Диск тоже, по факту, был со старого компа, просто на момент работы сервера на Малинке он у меня был чисто под виртуалки всякие. Это SSD SanDisk на 120Гб.</p> +<p>В ближайшее время я планирую проапгрейдить сервер новым процом, в неближайшее - диском, и хочу докинуть ещё плашку оперативы на 8ГБ, дабы был двухканал. Процессор этот будет Intel Core i5 7600. Брал его <a href="https://aliexpress.ru/item/1005003651636041.html">тут</a>. Хотел взять Xeon-E3 1245 v5, однако без плясок с бубнами и программатора, мне бы его не получилось завести на этой материнке, менять которую мне вообще ни разу не хочется, да и с бубном плясать тоже неохота. После хотелось бы взять SSD Samsung EVO, скорее всего <a href="https://www.dns-shop.ru/product/184d257ee33aed20/500-gb-25-sata-nakopitel-samsung-870-evo-mz-77e500bkr">этот</a>. Ну а плашку оперативы возьму <a href="https://www.citilink.ru/product/modul-pamyati-kingmax-ddr4-8gb-2133-dimm-ret-400808">эту</a>. В идеале бы ещё ИБПшник взять, но я не знаю, какой&hellip;</p> +<p>Может допишу ещё чего&hellip;</p> + + + + + diff --git a/public/tags/сервер/page/1/index.html b/public/tags/сервер/page/1/index.html new file mode 100644 index 0000000..3cf3bb8 --- /dev/null +++ b/public/tags/сервер/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80/ + + + + + + diff --git a/public/tags/софт/index.html b/public/tags/софт/index.html new file mode 100644 index 0000000..18dac83 --- /dev/null +++ b/public/tags/софт/index.html @@ -0,0 +1,275 @@ + + + + + софт :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +

Posts for: #софт

+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/public/tags/софт/index.xml b/public/tags/софт/index.xml new file mode 100644 index 0000000..d82bffb --- /dev/null +++ b/public/tags/софт/index.xml @@ -0,0 +1,41 @@ + + + + софт on Sadium + /tags/%D1%81%D0%BE%D1%84%D1%82/ + Recent content in софт on Sadium + Hugo -- gohugo.io + ru + Sat, 09 Sep 2023 00:00:00 +0000 + + Мучения с принтером + /posts/ricoh_config/ + Sat, 09 Sep 2023 00:00:00 +0000 + + /posts/ricoh_config/ + Я всё думал, как завести свой принтер под Linux. И однажды наткнулся на пакет в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён. +Но недавно в очередных поисках я наткнулся на раздел на форуме Ubuntu. Там добрый человек поделился репозиторием - туть. +Однако я поступил по другому, не так, как написал человек на форуме. Последовательность +git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/ cd ricoh-sp100 sudo cp pstoricohddst-gdi /usr/lib/cups/filter sudo cp *.ppd /usr/share/cups/model + <p>Я всё думал, как завести свой принтер под Linux. <br> +И однажды наткнулся на <a href="https://aur.archlinux.org/packages/ricoh-sp100-git">пакет</a> в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён.</p> +<p>Но недавно в очередных поисках я наткнулся на <a href="https://forum.ubuntu.ru/index.php?PHPSESSID=b541bb569cce4b86e0a21bf1f69ca5ec&amp;topic=203120.msg2481757#msg2481757">раздел на форуме Ubuntu</a>. <br> +Там добрый человек поделился репозиторием - <a href="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/">туть</a>.</p> +<p>Однако я поступил по другому, не так, как написал человек на форуме. <br> +Последовательность</p> +<p><code>git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/</code> <br> +<code>cd ricoh-sp100</code> <br> +<code>sudo cp pstoricohddst-gdi /usr/lib/cups/filter</code> <br> +<code>sudo cp *.ppd /usr/share/cups/model</code></p> +<p>Если есть yay: <br> +<code>yay -S jbigkit inotify-tools</code></p> +<p>Если нет:<br> +<code>sudo pacman -S jbigkit inotify-tools</code></p> +<p>Как то так. Теперь идём и настраиваем наш принтер в своём рабочем окружении и радуемся жизни. <br> +<a rel="me" href="https://social.exo.icu/@sl"></a> +</p> + + + + + diff --git a/public/tags/софт/page/1/index.html b/public/tags/софт/page/1/index.html new file mode 100644 index 0000000..e55a397 --- /dev/null +++ b/public/tags/софт/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/%D1%81%D0%BE%D1%84%D1%82/ + + + + + + diff --git a/public/tos/index.html b/public/tos/index.html new file mode 100644 index 0000000..ff2ac6e --- /dev/null +++ b/public/tos/index.html @@ -0,0 +1,302 @@ + + + + + Условия использования :: Sadium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ +
+
+
+

Условия использования

+
+

Общее положение

+

Данный документ - свод правил поведения. При использовании любых сервисов, размещённых в рамках проекта Sadium, администрация и, мы надеемся, сообщество, должны соблюдать данный свод правил.

+

Данный документ относится ко всем сервисам, размещенным в рамках проекта Sadium. Это означает, что данный свод правил нужно соблюдать при использовании сервисов, размещенных на домене и под-доменах *.sadium.cyou.

+

Сервис предоставляется “как есть”

+

Сервис - онлайн-ресурсы и ПО, размещенные в рамках проекта Sadium на домене и под-доменах *.sadium.cyou.

+

Вы понимаете и соглашаетесь с тем, что Сервис предоставляется «как есть» без каких-либо гарантий, что сервис не содержит ошибок или дефектов. Администрация Сервиса не несёт никакой ответственности за какую-либо неверную и/или несвоевременную доставку информации, правильность обработки предоставленных и/или копируемых данных, а равно за прямой или косвенный ущерб, вызванный использованием данного Сервиса.

+

Отказ от ответственности

+

Дополнительно сообщаем, что администрация проекта Sadium несёт ответственность только за контент, размещенный на “своих” сервисах. Администрация Sadium отказывается от ответвенности за размещение контента через “проксирующие” сервисы, ибо не имеет технической и правовой возможности его контроллировать.

+

Проект Sadium просит обратить внимание, что администрация не занимается модерированием каждого действия пользователей, в то же время контент может модерироваться/удаляться по обращению правообладателей, но только в том случае, если правообладатель сможет доказать авторство опубликованного на домене *.sadium.cyou контента.

+

Жалобы на контент принимаются только в письменном виде и в специальной для этого форме: - <ссылка на форму>

+
    +
  • Сервис считается “своим”, если веб-приложение, находящееся на домене *.sadium.cyou, либо его контент может контролироваться администрацией (изменение, создание, удаление), а так же если администраторы проекта Sadium имеют техническую возможность контролировать пользователей как сущность базы данных (удалять, создавать, изменять).
  • +
  • Сервис считается “проксирующим”, если веб-приложение, находящееся на домене *.sadium.cyou, по сути своей, является лишь альтернативным путём для получения контента, и контент никак не может быть изменен администрацией проекта Sadium.
  • +
+

Персональные данные

+

Предоставляя свои персональные данные при использовании Сервиса, вы даёте своё согласие на обработку и использование своих персональных данных для работы Сервиса. Администрация проекта Sadium не принуждает вас указывать свои “настоящие” персональные данные. +Администрация проекта Sadium не использует персональные данные пользователей в иных целях, если пользователь не изъявил обратного.

+

Воспрещается

+
    +
  • Обсуждать/распространять/хранить порнографические материалы с участием несовершеннолетних.
  • +
  • Назойливо-агрессивное поведение (преследования, необоснованное хамство на постоянной основе и т.п.)
  • +
  • Создавать аккаунт для компании/ИП/самозанятого пользователя, если цель создания аккаунта - извлечение прибыли.
  • +
  • Разглашать личные данные[1] пользователя без его согласия. Если пользователь (в не зависимости от его инстанса) потребует удаления своих личных данных со страницы пользователя, относящегося к проекту *.sadium.cyou - пользователь sadium.cyou обязан это сделать, в ином случае это сделает администрация.
  • +
  • Призывать к травле[2]. Одно дело - высказать своё мнение о пользователе. Совсем другое - мешать пользователю жить.
  • +
  • Рассылать спам.
  • +
+

Обращаем Ваше внимание:

+
    +
  • Несовпадение взглядов (политических, сексуальных, религиозных…) пользователя со взглядами администрации не является основанием для санкций.
  • +
+
+

[1] - Персональные данные или личные данные (ЛД) — любая информация, относящаяся прямо или косвенно к определенному пользователю. Любая информация, не опубликованная пользователем в открытый доступ будет считаться как ЛД пользователя.

+

В независимости от того, опубликованы или нет, ЛД всегда будут считаться:

+
    +
  • Паспортные данные, а именно совокупность таких данных, как ФИО, дата рождения, семейное положение.
  • +
  • Социальное и имущественное положение.
  • +
  • Информация о банковской карте, включая номер, PIN-код и CVV2/CVC2-коды.
  • +
  • Телефонный номер.
  • +
+

[2] - Призывом к травле может являться:

+
    +
  • Вмешательство в личную жизнь пользователя с целью негативного влияния на его ментальное и физическое состояние
  • +
  • Прямые и непосредственные призывы к насилию.
  • +
  • Призывы к насилию с использованием общих лозунгов.
  • +
  • Прямые и непосредственные призывы к дискриминации.
  • +
  • Призывы к дискриминации в виде общих лозунгов.
  • +
+
+

Некоторые фрагменты текста были взяты и адаптированы отсюда
+Данный текст ещё будет дорабатываться.

+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + diff --git a/resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.content b/resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.content new file mode 100644 index 0000000..0d63005 --- /dev/null +++ b/resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.content @@ -0,0 +1,3 @@ +@font-face{font-display:swap;font-family:'Fira Code';font-style:normal;font-weight:400;src:url("../fonts/FiraCode-Regular.woff") format("woff")}@font-face{font-display:swap;font-family:'Fira Code';font-style:normal;font-weight:800;src:url("../fonts/FiraCode-Bold.woff") format("woff")}.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 18px;margin:5px 0;text-decoration:none;text-align:center;border-radius:8;border:1px solid #FF6266;background:#FF6266;color:#221f29;font:inherit;font-weight:bold;appearance:none;cursor:pointer;outline:none}button:hover,.button:hover,a.button:hover{background:rgba(255,98,102,0.9)}button.outline,.button.outline,a.button.outline{background:transparent;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.link,.button.link,a.button.link{background:none;font-size:1rem}button.small,.button.small,a.button.small{font-size:.8rem}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;border:none;color:#FF6266;background:none;box-shadow:none;padding:0;margin:20px 0;max-width:100%}.code-toolbar{margin-bottom:20px}.code-toolbar .toolbar-item a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-bottom:5px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border-radius:8px;border:1px solid transparent;appearance:none;cursor:pointer;outline:none}input,textarea,select{background:transparent;color:#FF6266;border:1px solid #FF6266;border-radius:0;padding:10px;margin:5px 0;font:inherit;appearance:none}input:focus,input :active,textarea:focus,textarea :active,select:focus,select :active{border-color:#fff;outline:1px solid #fff}input:active,textarea:active,select:active{box-shadow:none}select{background:#221f29}select option{background:#221f29}::placeholder{color:rgba(255,98,102,0.5)}input[type="checkbox"]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px #221f29}input[type="checkbox"]:checked{background:#FF6266}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:'';background:repeating-linear-gradient(90deg, #FF6266, #FF6266 2px, transparent 0, transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.navigation-menu{display:flex;align-items:flex-start;justify-content:space-between;margin:20px 1px}@media (max-width: 684px){.navigation-menu{margin:0}}.navigation-menu__inner{display:flex;flex:1;flex-wrap:wrap;list-style:none;margin:0;padding:0}.navigation-menu__inner>li{flex:0 0 auto;margin-bottom:10px;white-space:nowrap}.navigation-menu__inner>li:not(:last-of-type){margin-right:20px}@media (max-width: 684px){.navigation-menu__inner{flex-direction:column;align-items:flex-start;padding:0}.navigation-menu__inner li{margin:0;padding:5px}}.navigation-menu .spacer{flex-grow:1 !important}.menu{display:flex;flex-direction:column;position:relative;list-style:none;padding:0;margin:0}.menu__trigger{margin-right:0 !important;color:#FF6266;user-select:none;cursor:pointer}.menu__dropdown{display:none;flex-direction:column;position:absolute;background:#221f29;box-shadow:0 10px rgba(34,31,41,0.8),-10px 10px rgba(34,31,41,0.8),10px 10px rgba(34,31,41,0.8);color:white;border:2px solid;margin:0;padding:10px;top:10px;left:0;list-style:none;z-index:99}.open .menu__dropdown{display:flex}.menu__dropdown>li{flex:0 0 auto}.menu__dropdown>li:not(:last-of-type){margin-bottom:10px}.menu__dropdown>li a{display:flex;padding:5px}@media (max-width: 684px){.menu--desktop{display:none}}.menu--mobile .menu__trigger{color:#FF6266;border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0 !important;position:relative;cursor:pointer;display:none}@media (max-width: 684px){.menu--mobile .menu__trigger{display:block}}@media (max-width: 684px){.menu--mobile .menu__dropdown{left:auto;right:0}}.menu--mobile li{flex:0 0 auto}.menu--mobile li:not(:last-of-type){margin-bottom:10px}.menu--language-selector .menu__trigger{color:#FF6266;border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0 !important;position:relative;cursor:pointer}@media (max-width: 684px){.menu--language-selector .menu__trigger{display:none}}.menu--language-selector .menu__dropdown{left:auto;right:0}.logo{display:flex;align-items:center;text-decoration:none;background:#FF6266;color:black;padding:5px 10px}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0;padding:0;font-family:'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace;font-size:1rem;line-height:1.54;letter-spacing:-0.02em;background-color:#221f29;color:#fff;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga", "tnum", "zero", "ss01", "locl";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width: 684px){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.left{margin-right:auto}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#FF6266;color:#221f29}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace !important;font-feature-settings:normal;background:rgba(255,98,102,0.2);color:#FF6266;padding:1px 6px;margin:0 2px;font-size:.95rem}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent !important;padding:20px 10px;margin:40px 0;font-size:.95rem !important;overflow:auto;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1)}pre+pre{border-top:0;margin-top:-40px}@media (max-width: 684px){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none !important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #FF6266;border-bottom:1px solid #FF6266;margin:40px 0;padding:25px}@media (max-width: 684px){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:'>';display:block;position:absolute;left:-25px;color:#FF6266}blockquote.twitter-tweet{position:relative;background:rgba(255,98,102,0.1);font:inherit;color:inherit;border:1px solid #FF6266;padding-top:60px}blockquote.twitter-tweet p:before{content:''}blockquote.twitter-tweet:before{content:'> From Twitter:';position:absolute;top:20px;color:#FF6266;font-weight:bold}blockquote.twitter-tweet a{color:#FF6266}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,th,td{border:1px dashed #FF6266;padding:10px}th{color:#FF6266}ul,ol{margin-left:22px;padding:0}ul li,ol li{position:relative}@media (max-width: 684px){ul,ol{margin-left:20px}}ol{list-style:none;counter-reset:li}ol>li{counter-increment:li}ol>li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#FF6266;display:inline-block;text-align:right}ol>li>ol{margin-left:38px}ol>li>ol>li{counter-increment:li}ol>li>ol>li:before{content:counters(li, ".") " "}mark{background:#FF6266;color:#221f29}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid rgba(255,255,255,0.1)}.container.full,.container.center{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width: 684px){.container{padding:20px}}@media print{.container{display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:initial}}hr{width:100%;border:none;background:rgba(255,255,255,0.1);height:1px}.hidden{display:none}sup{line-height:0}.index-content{margin-top:20px}.framed{border:1px solid #FF6266;padding:20px}.framed *:first-child{margin-top:0}.framed *:last-child{margin-bottom:0}.posts{width:100%}.post{width:100%;text-align:left;margin:20px auto;padding:20px 0}.post:not(:last-of-type){border-bottom:1px solid rgba(255,255,255,0.1)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(255,98,102,0.7)}.post-meta>*:not(:first-child)::before{content:"::";display:inline-block;margin:0 8px}.post-title{position:relative;color:#FF6266;margin:0 0 15px;padding-bottom:15px;border-bottom:3px dotted #FF6266}.post-title:after{content:'';position:absolute;bottom:2px;display:block;width:100%;border-bottom:3px dotted #FF6266}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #FF6266;background:transparent;margin:40px 0;padding:20px}@media (max-width: 684px){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none}.post ul li:not(:empty):before{content:'-';position:absolute;left:-20px;color:#FF6266}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(255,98,102,0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255,255,255,0.5)}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:#221f29;color:rgba(255,255,255,0.3);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;flex-flow:row wrap;gap:10px}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;padding:0;appearance:none}@media (max-width: 684px){.button{flex:1}}.button a{display:flex;justify-content:center;flex:1;padding:8px 16px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.footer{padding:40px 0;flex-grow:0;opacity:.5}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;width:760px;max-width:100%}@media (max-width: 900px){.footer__inner{flex-direction:column}}.footer a{color:inherit}.footer .copyright{display:flex;flex-flow:row wrap;flex:1;align-items:center;font-size:1rem;justify-content:center}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>*:first-child:not(:only-child){margin-right:10px}.footer .copyright span{white-space:nowrap}code[class*="language-"],pre[class*="language-"]{color:#ccc;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*="language-"],pre[class*="language-"]{background:#2d2d2d}:not(pre)>code[class*="language-"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:rgba(153,122,102,0.08);background:linear-gradient(to right, rgba(153,122,102,0.1) 70%, rgba(153,122,102,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:rgba(153,122,102,0.4);color:#f5f2f0;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px white}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,0.2)}pre[class*="language-"].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*="language-"].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:0.8em;text-align:right}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:' ';display:block;padding-right:0.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user="root"]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity 0.3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,0.2);box-shadow:0 2px 0 0 rgba(0,0,0,0.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}code.language-css,code.language-scss,.token.boolean,.token.string,.token.entity,.token.url,.language-css .token.string,.language-scss .token.string,.style .token.string,.token.attr-value,.token.keyword,.token.control,.token.directive,.token.statement,.token.regex,.token.atrule,.token.number,.token.inserted,.token.important{color:#FF6266 !important}.token.tag-id,.token.atrule-id,.token.operator,.token.unit,.token.placeholder,.token.variable,.token.tag,.token.attr-name,.token.namespace,.token.deleted,.token.property,.token.class-name,.token.constant,.token.symbol{color:rgba(255,98,102,0.7) !important}.token.property,.token.function,.token.function-name,.token.deleted,code.language-javascript,code.language-html,.command-line-prompt>span:before{color:#9a9999 !important}.token.selector,.token.tag,.token.punctuation{color:white}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:rgba(255,255,255,0.3) !important}.token.namespace{opacity:.7 !important}pre[data-line]{position:relative}pre[class*="language-"]{margin:0;padding:0;overflow:auto}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(245,104,107,0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:rgba(153,122,102,0.4);color:#f5f2f0;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px white}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}.code-toolbar{position:relative;margin:40px 0;padding:20px;border:1px solid rgba(255,255,255,0.1)}.code-toolbar+.code-toolbar,.code-toolbar+.highlight,.code-toolbar+.highlight .code-toolbar{border-top:0;margin-top:calc(-1 * $code-margin)}.code-toolbar pre,.code-toolbar code{border:none}.code-toolbar code{display:block;color:inherit}.code-toolbar>.toolbar button{font-size:.8em !important;background:rgba(224,224,224,0.2) !important;color:#bbb !important;box-shadow:0 2px 0 0 rgba(0,0,0,0.2) !important;border-radius:0 !important;margin:6px !important;padding:10px !important;user-select:none}.collapsable-code{position:relative;width:100%;margin:40px 0}.collapsable-code input[type="checkbox"]{position:absolute;visibility:hidden}.collapsable-code input[type="checkbox"]:checked~pre,.collapsable-code input[type="checkbox"]:checked~.code-toolbar pre{height:0;padding:0;border-top:none}.collapsable-code input[type="checkbox"]:checked~.code-toolbar{padding:0;border-top:none}.collapsable-code input[type="checkbox"]:checked~.code-toolbar .toolbar{display:none}.collapsable-code input[type="checkbox"]:checked~label .collapsable-code__toggle:after{content:attr(data-label-expand)}.collapsable-code label{position:relative;display:flex;justify-content:space-between;min-width:30px;min-height:30px;margin:0;border-bottom:1px solid #f5686b;cursor:pointer}.collapsable-code__title{flex:1;color:#FF6266;padding:3px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:#FF6266;border:1px solid #f5686b;border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code__toggle{color:#FF6266;font-size:16px;padding:3px 10px}.collapsable-code__toggle:after{content:attr(data-label-collapse)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0}.collapsable-code .code-toolbar{margin:0}.terms h3{font-size:initial}.terms ul{list-style:none}.terms ul li a{color:#FF6266}.terms ul li:not(:empty):before{content:'-';position:absolute;left:-20px;color:#FF6266}body .gist .blob-num,body .gist .blob-code-inner{border:none} + +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.json b/resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.json new file mode 100644 index 0000000..e7b8e7c --- /dev/null +++ b/resources/_gen/assets/scss/css/base.scss_3b33337114e481782feeb60752452e17.json @@ -0,0 +1 @@ +{"Target":"styles.css","MediaType":"text/css","Data":{}} \ No newline at end of file
+ +
+
+ + + + + + + + + +
+ + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

+ +

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

Приветствую!

+

Меня звать Сисадмин Линк, парень, 23 годика, я создатель данного сайта и хостер некоторых сервисов с открытым исходным кодом.

+

Работаю сисадмином в подразделении одного колледжа.

+

Это всё… пока что. + +

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

-)m^#{IPs3A! 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 aR3GSJEiz648hltsV)pni+|;b={r>=`f+|V? literal 0 HcmV?d00001 diff --git a/public/img/avatar.jpg b/public/img/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03cf5187b6d444266437cdd4ba547dfa6e6e21ab GIT binary patch literal 92115 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