Initial commit

This commit is contained in:
Rutra committed 2026-02-25 13:50:10 +01:00
commit 68c1143d3f
28 files changed
+337

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
# Environment variables
.env
# IDE files
.vscode/
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

+44
View File
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg
width="800px"
height="800px"
viewBox="0 0 24 24"
fill="none"
version="1.1"
id="svg4"
sodipodi:docname="code-svgrepo-com.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8" />
<sodipodi:namedview
id="namedview6"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.1136932"
inkscape:cx="204.27529"
inkscape:cy="414.83598"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="1920"
inkscape:window-y="36"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="M7 8L3 11.6923L7 16M17 8L21 11.6923L17 16M14 4L10 20"
stroke="#fff"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
id="path2" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg
width="800px"
height="800px"
viewBox="0 0 24 24"
fill="none"
version="1.1"
id="svg14"
sodipodi:docname="server-minimalistic-svgrepo-com.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs18" />
<sodipodi:namedview
id="namedview16"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.7875"
inkscape:cx="399.36508"
inkscape:cy="400"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="1920"
inkscape:window-y="36"
inkscape:window-maximized="1"
inkscape:current-layer="svg14" />
<path
d="M14 21H5C4.06812 21 3.60218 21 3.23463 20.8478C2.74458 20.6448 2.35523 20.2554 2.15224 19.7654C2 19.3978 2 18.9319 2 18C2 17.0681 2 16.6022 2.15224 16.2346C2.35523 15.7446 2.74458 15.3552 3.23463 15.1522C3.60218 15 4.06812 15 5 15H19C19.9319 15 20.3978 15 20.7654 15.1522C21.2554 15.3552 21.6448 15.7446 21.8478 16.2346C22 16.6022 22 17.0681 22 18C22 18.9319 22 19.3978 21.8478 19.7654C21.6448 20.2554 21.2554 20.6448 20.7654 20.8478C20.3978 21 19.9319 21 19 21H18"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path2" />
<path
d="M2 12C2 11.0681 2 10.6022 2.15224 10.2346C2.35523 9.74458 2.74458 9.35523 3.23463 9.15224C3.60218 9 4.06812 9 5 9H19C19.9319 9 20.3978 9 20.7654 9.15224C21.2554 9.35523 21.6448 9.74458 21.8478 10.2346C22 10.6022 22 11.0681 22 12C22 12.9319 22 13.3978 21.8478 13.7654C21.6448 14.2554 21.2554 14.6448 20.7654 14.8478C20.3978 15 19.9319 15 19 15H5C4.06812 15 3.60218 15 3.23463 14.8478C2.74458 14.6448 2.35523 14.2554 2.15224 13.7654C2 13.3978 2 12.9319 2 12Z"
stroke="#fff"
stroke-width="1.5"
id="path4" />
<path
d="M10 3H19C19.9319 3 20.3978 3 20.7654 3.15224C21.2554 3.35523 21.6448 3.74458 21.8478 4.23463C22 4.60218 22 5.06812 22 6C22 6.93188 22 7.39782 21.8478 7.76537C21.6448 8.25542 21.2554 8.64477 20.7654 8.84776C20.3978 9 19.9319 9 19 9H5C4.06812 9 3.60218 9 3.23463 8.84776C2.74458 8.64477 2.35523 8.25542 2.15224 7.76537C2 7.39782 2 6.93188 2 6C2 5.06812 2 4.60218 2.15224 4.23463C2.35523 3.74458 2.74458 3.35523 3.23463 3.15224C3.60218 3 4.06812 3 5 3H6"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path6" />
<circle
cx="5"
cy="12"
r="1"
fill="#fff"
id="circle8" />
<circle
cx="5"
cy="6"
r="1"
fill="#fff"
id="circle10" />
<circle
cx="5"
cy="18"
r="1"
fill="#fff"
id="circle12" />
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg
width="800px"
height="800px"
viewBox="0 0 24 24"
fill="none"
version="1.1"
id="svg16"
sodipodi:docname="video-frame-play-vertical-svgrepo-com.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs20" />
<sodipodi:namedview
id="namedview18"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.7875"
inkscape:cx="399.36508"
inkscape:cy="400"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="1920"
inkscape:window-y="36"
inkscape:window-maximized="1"
inkscape:current-layer="svg16" />
<path
d="M17 2.5L17 21.5"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path2" />
<path
d="M7 2.5L7 21.5"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path4" />
<path
d="M2 12L7 12M22 12L17 12"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path6" />
<path
d="M2.5 7L7 7M21.5 7L17 7"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path8" />
<path
d="M21.5 17.75C21.9142 17.75 22.25 17.4142 22.25 17C22.25 16.5858 21.9142 16.25 21.5 16.25V17.75ZM17 16.25C16.5858 16.25 16.25 16.5858 16.25 17C16.25 17.4142 16.5858 17.75 17 17.75V16.25ZM7 17.75C7.41421 17.75 7.75 17.4142 7.75 17C7.75 16.5858 7.41421 16.25 7 16.25L7 17.75ZM17 17.75L21.5 17.75V16.25L17 16.25V17.75ZM2 17.75L7 17.75L7 16.25L2 16.25L2 17.75Z"
fill="#fff"
id="path10" />
<path
d="M14 12C14 11.4722 13.4704 11.1162 12.4112 10.4043C11.3375 9.68271 10.8006 9.3219 10.4003 9.58682C10 9.85174 10 10.5678 10 12C10 13.4322 10 14.1483 10.4003 14.4132C10.8006 14.6781 11.3375 14.3173 12.4112 13.5957C13.4704 12.8838 14 12.5278 14 12Z"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path12" />
<path
d="M2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C21.352 4.28094 21.7133 5.37486 21.8731 7M22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2.64799 19.7191 2.28672 18.6251 2.12687 17"
stroke="#fff"
stroke-width="1.5"
stroke-linecap="round"
id="path14" />
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+51
View File
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg
width="800px"
height="800px"
viewBox="0 0 24 24"
fill="none"
version="1.1"
id="svg6"
sodipodi:docname="youtube-svgrepo-com.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs10" />
<sodipodi:namedview
id="namedview8"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="0.7875"
inkscape:cx="399.36508"
inkscape:cy="400"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="1920"
inkscape:window-y="36"
inkscape:window-maximized="1"
inkscape:current-layer="svg6" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M9.49614 7.13176C9.18664 6.9549 8.80639 6.95617 8.49807 7.13509C8.18976 7.31401 8 7.64353 8 8V16C8 16.3565 8.18976 16.686 8.49807 16.8649C8.80639 17.0438 9.18664 17.0451 9.49614 16.8682L16.4961 12.8682C16.8077 12.6902 17 12.3589 17 12C17 11.6411 16.8077 11.3098 16.4961 11.1318L9.49614 7.13176ZM13.9844 12L10 14.2768V9.72318L13.9844 12Z"
fill="#0F0F0F"
id="path2"
style="fill:#ffffff" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M0 12C0 8.25027 0 6.3754 0.954915 5.06107C1.26331 4.6366 1.6366 4.26331 2.06107 3.95491C3.3754 3 5.25027 3 9 3H15C18.7497 3 20.6246 3 21.9389 3.95491C22.3634 4.26331 22.7367 4.6366 23.0451 5.06107C24 6.3754 24 8.25027 24 12C24 15.7497 24 17.6246 23.0451 18.9389C22.7367 19.3634 22.3634 19.7367 21.9389 20.0451C20.6246 21 18.7497 21 15 21H9C5.25027 21 3.3754 21 2.06107 20.0451C1.6366 19.7367 1.26331 19.3634 0.954915 18.9389C0 17.6246 0 15.7497 0 12ZM9 5H15C16.9194 5 18.1983 5.00275 19.1673 5.10773C20.0989 5.20866 20.504 5.38448 20.7634 5.57295C21.018 5.75799 21.242 5.98196 21.4271 6.23664C21.6155 6.49605 21.7913 6.90113 21.8923 7.83269C21.9973 8.80167 22 10.0806 22 12C22 13.9194 21.9973 15.1983 21.8923 16.1673C21.7913 17.0989 21.6155 17.504 21.4271 17.7634C21.242 18.018 21.018 18.242 20.7634 18.4271C20.504 18.6155 20.0989 18.7913 19.1673 18.8923C18.1983 18.9973 16.9194 19 15 19H9C7.08058 19 5.80167 18.9973 4.83269 18.8923C3.90113 18.7913 3.49605 18.6155 3.23664 18.4271C2.98196 18.242 2.75799 18.018 2.57295 17.7634C2.38448 17.504 2.20866 17.0989 2.10773 16.1673C2.00275 15.1983 2 13.9194 2 12C2 10.0806 2.00275 8.80167 2.10773 7.83269C2.20866 6.90113 2.38448 6.49605 2.57295 6.23664C2.75799 5.98196 2.98196 5.75799 3.23664 5.57295C3.49605 5.38448 3.90113 5.20866 4.83269 5.10773C5.80167 5.00275 7.08058 5 9 5Z"
fill="#0F0F0F"
id="path4"
style="fill:#ffffff" />
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+16
View File
@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en" data-beasties-container>
<head>
<meta charset="utf-8">
<title>Portfolio</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<style>:root{--primary-color:#0c0;--secondary-color:#090;--tertiary-color:#060;--accent-color:rgb(231, 54, 10);--grey-color:#444;--dark-grey-color:#111}body{background-color:#000;margin:0;overflow:hidden;padding:0}.screen{animation:colorPulse 5s infinite ease-in-out;background-image:radial-gradient(var(--grey-color),var(--dark-grey-color));box-shadow:0 0 5vmin 1vmin #000 inset;box-sizing:border-box;font-family:Fira Mono,monospace;font-size:20px;height:100vh;overflow:hidden;padding:10vmin;width:100vw}.screen:before{animation:wave 10s infinite ease-in-out;content:"";height:20vh;left:0;opacity:.5;position:absolute;right:0;z-index:1}.screen:after{background-image:linear-gradient(transparent,transparent 3px,#222);background-size:4px 4px;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}@keyframes colorPulse{0%,to{color:var(--primary-color)}48%,52%{color:#090}50%{color:#060}}@keyframes wave{0%{box-shadow:0 -10vh 20vh var(--primary-color);top:-100vh}48%,52%{box-shadow:0 -10vh 20vh #090}50%{box-shadow:0 -10vh 20vh #060}to{box-shadow:0 -10vh 20vh var(--primary-color);top:200vh}}</style><link rel="stylesheet" href="styles-YPTPQTOE.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-YPTPQTOE.css"></noscript></head>
<body>
<div class="screen">
<app-root></app-root>
</div>
<script src="polyfills-5CFQRCPP.js" type="module"></script><script src="main-PKKUFFG3.js" type="module"></script></body>
</html>
+67
View File
@@ -0,0 +1,67 @@
var gE=Object.defineProperty,mE=Object.defineProperties;var vE=Object.getOwnPropertyDescriptors;var Sh=Object.getOwnPropertySymbols;var yE=Object.prototype.hasOwnProperty,DE=Object.prototype.propertyIsEnumerable;var Th=(e,t,n)=>t in e?gE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D=(e,t)=>{for(var n in t||={})yE.call(t,n)&&Th(e,n,t[n]);if(Sh)for(var n of Sh(t))DE.call(t,n)&&Th(e,n,t[n]);return e},L=(e,t)=>mE(e,vE(t));var Jl;function Ps(){return Jl}function Ut(e){let t=Jl;return Jl=e,t}var xh=Symbol("NotFound");function zr(e){return e===xh||e?.name==="\u0275NotFound"}function Bs(e,t){return Object.is(e,t)}var ke=null,Fs=!1,Xl=1,CE=null,Pe=Symbol("SIGNAL");function k(e){let t=ke;return ke=e,t}function $s(){return ke}var Gr={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Wr(e){if(Fs)throw new Error("");if(ke===null)return;ke.consumerOnSignalRead(e);let t=ke.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=ke.recomputing;if(r&&(n=t!==void 0?t.nextProducer:ke.producers,n!==void 0&&n.producer===e)){ke.producersTail=n,n.lastReadVersion=e.version;return}let i=e.consumersTail;if(i!==void 0&&i.consumer===ke&&(!r||bE(i,ke)))return;let o=Zr(ke),s={producer:e,consumer:ke,nextProducer:n,prevConsumer:i,lastReadVersion:e.version,nextConsumer:void 0};ke.producersTail=s,t!==void 0?t.nextProducer=s:ke.producers=s,o&&Oh(e,s)}function Ah(){Xl++}function Us(e){if(!(Zr(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===Xl)){if(!e.producerMustRecompute(e)&&!eo(e)){Vs(e);return}e.producerRecomputeValue(e),Vs(e)}}function eu(e){if(e.consumers===void 0)return;let t=Fs;Fs=!0;try{for(let n=e.consumers;n!==void 0;n=n.nextConsumer){let r=n.consumer;r.dirty||EE(r)}}finally{Fs=t}}function tu(){return ke?.consumerAllowSignalWrites!==!1}function EE(e){e.dirty=!0,eu(e),e.consumerMarkedDirty?.(e)}function Vs(e){e.dirty=!1,e.lastCleanEpoch=Xl}function qr(e){return e&&Nh(e),k(e)}function Nh(e){e.producersTail=void 0,e.recomputing=!0}function Xi(e,t){k(t),e&&Rh(e)}function Rh(e){e.recomputing=!1;let t=e.producersTail,n=t!==void 0?t.nextProducer:e.producers;if(n!==void 0){if(Zr(e))do n=nu(n);while(n!==void 0);t!==void 0?t.nextProducer=void 0:e.producers=void 0}}function eo(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let n=t.producer,r=t.lastReadVersion;if(r!==n.version||(Us(n),r!==n.version))return!0}return!1}function to(e){if(Zr(e)){let t=e.producers;for(;t!==void 0;)t=nu(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function Oh(e,t){let n=e.consumersTail,r=Zr(e);if(n!==void 0?(t.nextConsumer=n.nextConsumer,n.nextConsumer=t):(t.nextConsumer=void 0,e.consumers=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let i=e.producers;i!==void 0;i=i.nextProducer)Oh(i.producer,i)}function nu(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r!==void 0?r.prevConsumer=i:t.consumersTail=i,i!==void 0)i.nextConsumer=r;else if(t.consumers=r,!Zr(t)){let o=t.producers;for(;o!==void 0;)o=nu(o)}return n}function Zr(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function Hs(e){CE?.(e)}function bE(e,t){let n=t.producersTail;if(n!==void 0){let r=t.producers;do{if(r===e)return!0;if(r===n)break;r=r.nextProducer}while(r!==void 0)}return!1}function zs(e,t){let n=Object.create(_E);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(Us(n),Wr(n),n.value===Ji)throw n.error;return n.value};return r[Pe]=n,Hs(n),r}var Ls=Symbol("UNSET"),js=Symbol("COMPUTING"),Ji=Symbol("ERRORED"),_E=L(D({},Gr),{value:Ls,dirty:!0,error:null,equal:Bs,kind:"computed",producerMustRecompute(e){return e.value===Ls||e.value===js},producerRecomputeValue(e){if(e.value===js)throw new Error("");let t=e.value;e.value=js;let n=qr(e),r,i=!1;try{r=e.computation(),k(null),i=t!==Ls&&t!==Ji&&r!==Ji&&e.equal(t,r)}catch(o){r=Ji,e.error=o}finally{Xi(e,n)}if(i){e.value=t;return}e.value=r,e.version++}});function wE(){throw new Error}var kh=wE;function Ph(e){kh(e)}function ru(e){kh=e}var IE=null;function iu(e,t){let n=Object.create(Gs);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Fh(n);return r[Pe]=n,Hs(n),[r,s=>Yr(n,s),s=>ou(n,s)]}function Fh(e){return Wr(e),e.value}function Yr(e,t){tu()||Ph(e),e.equal(e.value,t)||(e.value=t,ME(e))}function ou(e,t){tu()||Ph(e),Yr(e,t(e.value))}var Gs=L(D({},Gr),{equal:Bs,value:void 0,kind:"signal"});function ME(e){e.version++,Ah(),eu(e),IE?.(e)}function P(e){return typeof e=="function"}function Qr(e){let n=e(r=>{Error.call(r),r.stack=new Error().stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Ws=Qr(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:
${n.map((r,i)=>`${i+1}) ${r.toString()}`).join(`
`)}`:"",this.name="UnsubscriptionError",this.errors=n});function no(e,t){if(e){let n=e.indexOf(t);0<=n&&e.splice(n,1)}}var pe=class e{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;let{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(let o of n)o.remove(this);else n.remove(this);let{initialTeardown:r}=this;if(P(r))try{r()}catch(o){t=o instanceof Ws?o.errors:[o]}let{_finalizers:i}=this;if(i){this._finalizers=null;for(let o of i)try{Lh(o)}catch(s){t=t??[],s instanceof Ws?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Ws(t)}}add(t){var n;if(t&&t!==this)if(this.closed)Lh(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(t)}}_hasParent(t){let{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){let{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){let{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&no(n,t)}remove(t){let{_finalizers:n}=this;n&&no(n,t),t instanceof e&&t._removeParent(this)}};pe.EMPTY=(()=>{let e=new pe;return e.closed=!0,e})();var su=pe.EMPTY;function qs(e){return e instanceof pe||e&&"closed"in e&&P(e.remove)&&P(e.add)&&P(e.unsubscribe)}function Lh(e){P(e)?e():e.unsubscribe()}var Tt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Kr={setTimeout(e,t,...n){let{delegate:r}=Kr;return r?.setTimeout?r.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){let{delegate:t}=Kr;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Zs(e){Kr.setTimeout(()=>{let{onUnhandledError:t}=Tt;if(t)t(e);else throw e})}function ro(){}var jh=au("C",void 0,void 0);function Vh(e){return au("E",void 0,e)}function Bh(e){return au("N",e,void 0)}function au(e,t,n){return{kind:e,value:t,error:n}}var cr=null;function Jr(e){if(Tt.useDeprecatedSynchronousErrorHandling){let t=!cr;if(t&&(cr={errorThrown:!1,error:null}),e(),t){let{errorThrown:n,error:r}=cr;if(cr=null,n)throw r}}else e()}function $h(e){Tt.useDeprecatedSynchronousErrorHandling&&cr&&(cr.errorThrown=!0,cr.error=e)}var lr=class extends pe{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,qs(t)&&t.add(this)):this.destination=xE}static create(t,n,r){return new Xr(t,n,r)}next(t){this.isStopped?lu(Bh(t),this):this._next(t)}error(t){this.isStopped?lu(Vh(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?lu(jh,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},SE=Function.prototype.bind;function cu(e,t){return SE.call(e,t)}var uu=class{constructor(t){this.partialObserver=t}next(t){let{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(r){Ys(r)}}error(t){let{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(r){Ys(r)}else Ys(t)}complete(){let{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){Ys(n)}}},Xr=class extends lr{constructor(t,n,r){super();let i;if(P(t)||!t)i={next:t??void 0,error:n??void 0,complete:r??void 0};else{let o;this&&Tt.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=()=>this.unsubscribe(),i={next:t.next&&cu(t.next,o),error:t.error&&cu(t.error,o),complete:t.complete&&cu(t.complete,o)}):i=t}this.destination=new uu(i)}};function Ys(e){Tt.useDeprecatedSynchronousErrorHandling?$h(e):Zs(e)}function TE(e){throw e}function lu(e,t){let{onStoppedNotification:n}=Tt;n&&Kr.setTimeout(()=>n(e,t))}var xE={closed:!0,next:ro,error:TE,complete:ro};var ei=typeof Symbol=="function"&&Symbol.observable||"@@observable";function st(e){return e}function du(...e){return fu(e)}function fu(e){return e.length===0?st:e.length===1?e[0]:function(n){return e.reduce((r,i)=>i(r),n)}}var U=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){let r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,i){let o=NE(n)?n:new Xr(n,r,i);return Jr(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(n){try{return this._subscribe(n)}catch(r){n.error(r)}}forEach(n,r){return r=Uh(r),new r((i,o)=>{let s=new Xr({next:a=>{try{n(a)}catch(c){o(c),s.unsubscribe()}},error:o,complete:i});this.subscribe(s)})}_subscribe(n){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(n)}[ei](){return this}pipe(...n){return fu(n)(this)}toPromise(n){return n=Uh(n),new n((r,i)=>{let o;this.subscribe(s=>o=s,s=>i(s),()=>r(o))})}}return e.create=t=>new e(t),e})();function Uh(e){var t;return(t=e??Tt.Promise)!==null&&t!==void 0?t:Promise}function AE(e){return e&&P(e.next)&&P(e.error)&&P(e.complete)}function NE(e){returLine truncated
`);return r>=0?n.slice(0,r):n}function Ca(e,t){return e?t?`${e} ${t}`:e:t||""}var YE=q({__forward_ref__:q});function Dn(e){return e.__forward_ref__=Dn,e.toString=function(){return vn(this())},e}function Te(e){return Nu(e)?e():e}function Nu(e){return typeof e=="function"&&e.hasOwnProperty(YE)&&e.__forward_ref__===Dn}function S(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function At(e){return{providers:e.providers||[],imports:e.imports||[]}}function co(e){return QE(e,Ea)}function Ru(e){return co(e)!==null}function QE(e,t){return e.hasOwnProperty(t)&&e[t]||null}function KE(e){let t=e?.[Ea]??null;return t||null}function Eu(e){return e&&e.hasOwnProperty(va)?e[va]:null}var Ea=q({\u0275prov:q}),va=q({\u0275inj:q}),M=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(t,n){this._desc=t,this.\u0275prov=void 0,typeof n=="number"?this.__NG_ELEMENT_ID__=n:n!==void 0&&(this.\u0275prov=S({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Ou(e){return e&&!!e.\u0275providers}var ku=q({\u0275cmp:q}),Pu=q({\u0275dir:q}),Fu=q({\u0275pipe:q}),Lu=q({\u0275mod:q}),so=q({\u0275fac:q}),mr=q({__NG_ELEMENT_ID__:q}),lg=q({__NG_ENV_ID__:q});function Cn(e){return typeof e=="string"?e:e==null?"":String(e)}function fg(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():Cn(e)}var pg=q({ngErrorCode:q}),JE=q({ngErrorMessage:q}),XE=q({ngTokenPath:q});function ju(e,t){return hg("",-200,t)}function ba(e,t){throw new E(-201,!1)}function hg(e,t,n){let r=new E(t,e);return r[pg]=t,r[JE]=e,n&&(r[XE]=n),r}function eb(e){return e[pg]}var bu;function gg(){return bu}function He(e){let t=bu;return bu=e,t}function Vu(e,t,n){let r=co(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;ba(e,"Injector")}var tb={},fr=tb,nb="__NG_DI_FLAG__",_u=class{injector;constructor(t){this.injector=t}retrieve(t,n){let r=pr(n)||0;try{return this.injector.get(t,r&8?null:fr,r)}catch(i){if(zr(i))return i;throw i}}};function rb(e,t=0){let n=Ps();if(n===void 0)throw new E(-203,!1);if(n===null)return Vu(e,void 0,t);{let r=ib(t),i=n.retrieve(e,r);if(zr(i)){if(r.optional)return null;throw i}return i}}function x(e,t=0){return(gg()||rb)(Te(e),t)}function m(e,t){return x(e,pr(t))}function pr(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ib(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function wu(e){let t=[];for(let n=0;n<e.length;n++){let r=Te(e[n]);if(Array.isArray(r)){if(r.length===0)throw new E(900,!1);let i,o=0;for(let s=0;s<r.length;s++){let a=r[s],c=ob(a);typeof c=="number"?c===-1?i=a.token:o|=c:i=a}t.push(x(i,o))}else t.push(x(r))}return t}function ob(e){return e[nb]}function Hn(e,t){let n=e.hasOwnProperty(so);return n?e[so]:null}function mg(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],o=t[r];if(n&&(i=n(i),o=n(o)),o!==i)return!1}return!0}function vg(e){return e.flat(Number.POSITIVE_INFINITY)}function _a(e,t){e.forEach(n=>Array.isArray(n)?_a(n,t):t(n))}function Bu(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function lo(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function yg(e,t,n,r){let i=e.length;if(i==t)e.push(n,r);else if(i===1)e.push(r,e[0]),e[0]=n;else{for(i--,e.push(e[i-1],e[i]);i>t;){let o=i-2;e[i]=e[o],i--}e[t]=n,e[t+1]=r}}function wa(e,t,n){let r=ci(e,t);return r>=0?e[r|1]=n:(r=~r,yg(e,r,t,n)),r}function Ia(e,t){let n=ci(e,t);if(n>=0)return e[n|1]}function ci(e,t){return sb(e,t,1)}function sb(e,t,n){let r=0,i=e.length>>n;for(;i!==r;){let o=r+(i-r>>1),s=e[o<<n];if(t===s)return o<<n;s>t?i=o:r=o+1}return~(i<<n)}var Gn={},ze=[],Ht=new M(""),$u=new M("",-1),Uu=new M(""),ao=class{get(t,n=fr){if(n===fr){let i=hg("",-201);throw i.name="\u0275NotFound",i}return n}};function Hu(e){return e[Lu]||null}function Wn(e){return e[ku]||null}function zu(e){return e[Pu]||null}function Dg(e){return e[Fu]||null}function zt(e){return{\u0275providers:e}}function Cg(e){return zt([{provide:Ht,multi:!0,useValue:e}])}function Eg(...e){return{\u0275providers:Gu(!0,e),\u0275fromNgModule:!0}}function Gu(e,...t){let n=[],r=new Set,i,o=s=>{n.push(s)};return _a(t,s=>{let a=s;ya(a,o,[],r)&&(i||=[],i.push(a))}),i!==void 0&&bg(i,o),n}function bg(e,t){for(let n=0;n<e.length;n++){let{ngModule:r,providers:i}=e[n];Wu(i,o=>{t(o,r)})}}function ya(e,t,n,r){if(e=Te(e),!e)return!1;let i=null,o=Eu(e),s=!o&&Wn(e);if(!o&&!s){let c=e.ngModule;if(o=Eu(c),o)i=c;else return!1}else{if(s&&!s.standalone)return!1;i=e}let a=r.has(i);if(s){if(a)return!1;if(r.add(i),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)ya(l,t,n,r)}}else if(o){if(o.imports!=null&&!a){r.add(i);let l;try{_a(o.imports,u=>{ya(u,t,n,r)&&(l||=[],l.push(u))})}finall Line truncated
`).forEach(n=>{let r=n.indexOf(":");if(r>0){let i=n.slice(0,r),o=n.slice(r+1).trim();this.addHeaderEntry(i,o)}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((n,r)=>{this.addHeaderEntry(r,n)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([n,r])=>{this.setHeaderEntries(n,r)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();let n=this.headers.get(t.toLowerCase());return n&&n.length>0?n[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,n){return this.clone({name:t,value:n,op:"a"})}set(t,n){return this.clone({name:t,value:n,op:"s"})}delete(t,n){return this.clone({name:t,value:n,op:"d"})}maybeSetNormalizedName(t,n){this.normalizedNames.has(n)||this.normalizedNames.set(n,t)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(n=>{this.headers.set(n,t.headers.get(n)),this.normalizedNames.set(n,t.normalizedNames.get(n))})}clone(t){let n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}applyUpdate(t){let n=t.name.toLowerCase();switch(t.op){case"a":case"s":let r=t.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(t.name,n);let i=(t.op==="a"?this.headers.get(n):void 0)||[];i.push(...r),this.headers.set(n,i);break;case"d":let o=t.value;if(!o)this.headers.delete(n),this.normalizedNames.delete(n);else{let s=this.headers.get(n);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(n),this.normalizedNames.delete(n)):this.headers.set(n,s)}break}}addHeaderEntry(t,n){let r=t.toLowerCase();this.maybeSetNormalizedName(t,r),this.headers.has(r)?this.headers.get(r).push(n):this.headers.set(r,[n])}setHeaderEntries(t,n){let r=(Array.isArray(n)?n:[n]).map(o=>o.toString()),i=t.toLowerCase();this.headers.set(i,r),this.maybeSetNormalizedName(t,i)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(n=>t(this.normalizedNames.get(n),this.headers.get(n)))}};var Wc=class{encodeKey(t){return DD(t)}encodeValue(t){return DD(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}};function KM(e,t){let n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(i=>{let o=i.indexOf("="),[s,a]=o==-1?[t.decodeKey(i),""]:[t.decodeKey(i.slice(0,o)),t.decodeValue(i.slice(o+1))],c=n.get(s)||[];c.push(a),n.set(s,c)}),n}var JM=/%(\d[a-f0-9])/gi,XM={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function DD(e){return encodeURIComponent(e).replace(JM,(t,n)=>XM[n]??t)}function Gc(e){return`${e}`}var On=class e{map;encoder;updates=null;cloneFrom=null;constructor(t={}){if(this.encoder=t.encoder||new Wc,t.fromString){if(t.fromObject)throw new E(2805,!1);this.map=KM(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(n=>{let r=t.fromObject[n],i=Array.isArray(r)?r.map(Gc):[Gc(r)];this.map.set(n,i)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();let n=this.map.get(t);return n?n[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,n){return this.clone({param:t,value:n,op:"a"})}appendAll(t){let n=[];return Object.keys(t).forEach(r=>{let i=t[r];Array.isArray(i)?i.forEach(o=>{n.push({param:r,value:o,op:"a"})}):n.push({param:r,value:i,op:"a"})}),this.clone(n)}set(t,n){return this.clone({param:t,value:n,op:"s"})}delete(t,n){return this.clone({param:t,value:n,op:"d"})}toString(){return this.init(),this.keys().map(t=>{let n=this.encoder.encodeKey(t);return this.map.get(t).map(r=>n+"="+this.encoder.encodeValue(r)).join("&")}).filter(t=>t!=="").join("&")}clone(t){let n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":let n=(t.op==="a"?this.map.get(t.param):void 0)||[];n.push(Gc(t.value)),this.map.set(t.param,n);break;case"d":if(t.value!==void 0){let r=this.map.get(t.param)||[],i=r.indexOf(Gc(t.value));i!==-1&&r.splice(i,1),r.length>0?this.map.set(t.param,r):this.map.delete(t.param)}else{this.map.delete(t.param);break}}}),this.cloneFrom=this.updates=null)}};var qc=class{map=new Map;set(t,n){return this.map.set(t,n),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}};function eS(e){switch(e) Line truncated
]`).replace("lheading",nE).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),Jx=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Xx=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,iE=/^( {2,}|\\)\n(?!\s*$)/,eA=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,$l=/[\p{P}\p{S}]/u,Eh=/[\s\p{P}\p{S}]/u,oE=/[^\s\p{P}\p{S}]/u,tA=Y(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Eh).getRegex(),sE=/(?!~)[\p{P}\p{S}]/u,nA=/(?!~)[\s\p{P}\p{S}]/u,rA=/(?:[^\s\p{P}\p{S}]|~)/u,iA=/\[[^\[\]]*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)|`[^`]*?`|<(?! )[^<>]*?>/g,aE=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,oA=Y(aE,"u").replace(/punct/g,$l).getRegex(),sA=Y(aE,"u").replace(/punct/g,sE).getRegex(),cE="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",aA=Y(cE,"gu").replace(/notPunctSpace/g,oE).replace(/punctSpace/g,Eh).replace(/punct/g,$l).getRegex(),cA=Y(cE,"gu").replace(/notPunctSpace/g,rA).replace(/punctSpace/g,nA).replace(/punct/g,sE).getRegex(),lA=Y("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,oE).replace(/punctSpace/g,Eh).replace(/punct/g,$l).getRegex(),uA=Y(/\\(punct)/,"gu").replace(/punct/g,$l).getRegex(),dA=Y(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),fA=Y(Dh).replace("(?:-->|$)","-->").getRegex(),pA=Y("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",fA).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ll=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,hA=Y(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Ll).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),lE=Y(/^!?\[(label)\]\[(ref)\]/).replace("label",Ll).replace("ref",yh).getRegex(),uE=Y(/^!?\[(ref)\](?:\[\])?/).replace("ref",yh).getRegex(),gA=Y("reflink|nolink(?!\\()","g").replace("reflink",lE).replace("nolink",uE).getRegex(),bh={_backpedal:Ns,anyPunctuation:uA,autolink:dA,blockSkip:iA,br:iE,code:Xx,del:Ns,emStrongLDelim:oA,emStrongRDelimAst:aA,emStrongRDelimUnd:lA,escape:Jx,link:hA,nolink:uE,punctuation:tA,reflink:lE,reflinkSearch:gA,tag:pA,text:eA,url:Ns},mA=L(D({},bh),{link:Y(/^!?\[(label)\]\((.*?)\)/).replace("label",Ll).getRegex(),reflink:Y(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ll).getRegex()}),fh=L(D({},bh),{emStrongRDelimAst:cA,emStrongLDelim:sA,url:Y(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/}),vA=L(D({},fh),{br:Y(iE).replace("{2,}","*").getRegex(),text:Y(fh.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),Fl={normal:Ch,gfm:Qx,pedantic:Kx},Ts={normal:bh,gfm:fh,breaks:vA,pedantic:mA},yA={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},QC=e=>yA[e];function dn(e,t){if(t){if(Ke.escapeTest.test(e))return e.replace(Ke.escapeReplace,QC)}else if(Ke.escapeTestNoEncode.test(e))return e.replace(Ke.escapeReplaceNoEncode,QC);return e}function KC(e){try{e=encodeURI(e).replace(Ke.percentDecode,"%")}catch{return null}return e}function JC(e,t){let n=e.replace(Ke.findPipe,(o,s,a)=>{let c=!1,l=s;for(;--l>=0&&a[l]==="\\";)c=!c;return c?"|":" |"}),r=n.split(Ke.splitPipe),i=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;i<r.length;i++)r[i]=r[i].trim().replace(Ke.slashPipe,"|");return r}function xs(e,t,n){let r=e.length;if(r===0)return"";let i=0;for(;i<r;){let o=e.charAt(r-i-1);if(o===t&&!n)i++;else if(o!==t&&n)i++;else break}return e.slice(0,r-i)}function DA(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]Line truncated
`).map(o=>{let s=o.match(n.other.beginningSpace);if(s===null)return o;let[a]=s;return a.length>=i.length?o.slice(i.length):o}).join(`
`)}var jl=class{options;rules;lexer;constructor(e){this.options=e||Hr}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:xs(n,`
`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=CA(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=xs(n,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:xs(t[0],`
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=xs(t[0],`
`).split(`
`),r="",i="",o=[];for(;n.length>0;){let s=!1,a=[],c;for(c=0;c<n.length;c++)if(this.rules.other.blockquoteStart.test(n[c]))a.push(n[c]),s=!0;else if(!s)a.push(n[c]);else break;n=n.slice(c);let l=a.join(`
`),u=l.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
${l}`:l,i=i?`${i}
${u}`:u;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(u,o,!0),this.lexer.state.top=d,n.length===0)break;let p=o.at(-1);if(p?.type==="code")break;if(p?.type==="blockquote"){let f=p,h=f.raw+`
`+n.join(`
`),w=this.blockquote(h);o[o.length-1]=w,r=r.substring(0,r.length-f.raw.length)+w.raw,i=i.substring(0,i.length-f.text.length)+w.text;break}else if(p?.type==="list"){let f=p,h=f.raw+`
`+n.join(`
`),w=this.list(h);o[o.length-1]=w,r=r.substring(0,r.length-p.raw.length)+w.raw,i=i.substring(0,i.length-f.raw.length)+w.raw,n=h.substring(o.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:r,tokens:o,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let o=this.rules.other.listItemRegex(n),s=!1;for(;e;){let c=!1,l="",u="";if(!(t=o.exec(e))||this.rules.block.hr.test(e))break;l=t[0],e=e.substring(l.length);let d=t[2].split(`
`,1)[0].replace(this.rules.other.listReplaceTabs,_=>" ".repeat(3*_.length)),p=e.split(`
`,1)[0],f=!d.trim(),h=0;if(this.options.pedantic?(h=2,u=d.trimStart()):f?h=t[1].length+1:(h=t[2].search(this.rules.other.nonSpaceChar),h=h>4?1:h,u=d.slice(h),h+=t[1].length),f&&this.rules.other.blankLine.test(p)&&(l+=p+`
`,e=e.substring(p.length+1),c=!0),!c){let _=this.rules.other.nextBulletRegex(h),X=this.rules.other.hrRegex(h),oe=this.rules.other.fencesBeginRegex(h),$=this.rules.other.headingBeginRegex(h),Me=this.rules.other.htmlBeginRegex(h);for(;e;){let ot=e.split(`
`,1)[0],fn;if(p=ot,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),fn=p):fn=p.replace(this.rules.other.tabCharGlobal," "),oe.test(p)||$.test(p)||Me.test(p)||_.test(p)||X.test(p))break;if(fn.search(this.rules.other.nonSpaceChar)>=h||!p.trim())u+=`
`+fn.slice(h);else{if(f||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||oe.test(d)||$.test(d)||X.test(d))break;u+=`
`+p}!f&&!p.trim()&&(f=!0),l+=ot+`
`,e=e.substring(ot.length+1),d=fn.slice(h)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(s=!0));let w=null,b;this.options.gfm&&(w=this.rules.other.listIsTask.exec(u),w&&(b=w[0]!=="[ ] ",u=u.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:l,task:!!w,checked:b,loose:!1,text:u,tokens:[]}),i.raw+=l}let a=i.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let c=0;c<i.items.length;c++)if(this.lexer.state.top=!1,i.items[c].tokens=this.lexer.blockTokens(i.items[c].text,[]),!i.loose){let l=i.items[c].tokens.filter(d=>d.type==="space"),u=l.length>0&&l.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=u}if(i.loose)for(let c=0;c<i.items.length;c++)i.items[c].loose=!0;return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=JC(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],o={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let s of r)this.rules.other.tableAlignRight.test(s)?o.align.push("right"):this.rules.other.tableAlignCenter.test(s)?o.align.push("center"):this.rules.other.tableAlignLeft.test(s)?o.align.push("left"):o.align.push(null);for(let s=0;s<n.length;s++)o.header.push({text:n[s],tokens:this.lexer.inline(n[s]),header:!0,align:o.align[s]});for(let s of i)o.rows.push(JC(s,o.header.length).map((a,c)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:o.align[c]})));return o}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let o=xs(n.slice(0,-1),"\\");if((n.length-o.length)%2===0)return}else{let o=DA(t[2],"()");if(o===-2)return;if(o>-1){let s=(t[0].indexOf("!")===0?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,s).trim(),t[3]=""}}let r=t[2],i="";if(this.options.pedantic){let o=this.rules.other.pedanticHrefTitle.exec(r);o&&(r=o[1],i=o[3])}else i=t[3]?t[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),XC(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=t[r.toLowerCase()];if(!i){let o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return XC(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[2])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,o,s,a=i,c=0,l=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+i);(r=l.exec(t))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(s=[...o].length,r[3]||r[4]){a+=s;continue}else if((r[5]||r[6])&&i%3&&!((i+s)%3)){c+=s;continue}if(a-=s,a>0)continue;s=Math.min(s,s+a+c);let u=[...r[0]][0].length,d=e.slice(0,i+r.index+u+s);if(Math.min(i,s)%2){let f=d.slice(1,-1);return{type:"em",raw:d,text:f,tokens:this.lexer.inlineTokens(f)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]==="@"?(n=t[1],r="mailto:"+n):(n=t[1],r=n),{type:"link",raw:t[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]==="@")n=t[0],r="mailto:"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(i!==t[0]);n=t[0],t[1]==="www."?r="http://"+t[0]:r=t[0]}return{type:"link",raw:t[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},Ln=class ph{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Hr,this.options.tokenizer=this.options.tokenizer||new jl,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:Ke,block:Fl.normal,inline:Ts.normal};this.options.pedantic?(n.block=Fl.pedantic,n.inline=Ts.pedantic):this.options.gfm&&(n.block=Fl.gfm,this.options.breaks?n.inline=Ts.breaks:n.inline=Ts.gfm),this.tokenizer.rules=n}static get rules(){return{block:Fl,inline:Ts}}static lex(t,n){return new ph(n).lex(t)}static lexInline(t,n){return new ph(n).inlineTokens(t)}lex(t){t=t.replace(Ke.carriageReturn,`
`),this.blockTokens(t,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let r=this.inlineQueue[n];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,n=[],r=!1){for(this.options.pedantic&&(t=t.replace(Ke.tabCharGlobal," ").replace(Ke.spaceLine,""));t;){let i;if(this.options.extensions?.block?.some(s=>(i=s.call({lexer:this},t,n))?(t=t.substring(i.raw.length),n.push(i),!0):!1))continue;if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length);let s=n.at(-1);i.raw.length===1&&s!==void 0?s.raw+=`
`:n.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length);let s=n.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(`
`)?"":`
`)+i.raw,s.text+=`
`+i.text,this.inlineQueue.at(-1).src=s.text):n.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.list(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.html(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.def(t)){t=t.substring(i.raw.length);let s=n.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=(s.raw.endsWith(`
`)?"":`
`)+i.raw,s.text+=`
`+i.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},n.push(i));continue}if(i=this.tokenizer.table(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.lheading(t)){t=t.substring(i.raw.length),n.push(i);continue}let o=t;if(this.options.extensions?.startBlock){let s=1/0,a=t.slice(1),c;this.options.extensions.startBlock.forEach(l=>{c=l.call({lexer:this},a),typeof c=="number"&&c>=0&&(s=Math.min(s,c))}),s<1/0&&s>=0&&(o=t.substring(0,s+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){let s=n.at(-1);r&&s?.type==="paragraph"?(s.raw+=(s.raw.endsWith(`
`)?"":`
`)+i.raw,s.text+=`
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):n.push(i),r=o.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length);let s=n.at(-1);s?.type==="text"?(s.raw+=(s.raw.endsWith(`
`)?"":`
`)+i.raw,s.text+=`
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):n.push(i);continue}if(t){let s="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){let r=t,i=null;if(this.tokens.links){let a=Object.keys(this.tokens.links);if(a.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)a.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,i.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);r=this.options.hooks?.emStrongMask?.call({lexer:this},r)??r;let o=!1,s="";for(;t;){o||(s=""),o=!1;let a;if(this.options.extensions?.inline?.some(l=>(a=l.call({lexer:this},t,n))?(t=t.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.escape(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.tag(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.link(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(a.raw.length);let l=n.at(-1);a.type==="text"&&l?.type==="text"?(l.raw+=a.raw,l.text+=a.text):n.push(a);continue}if(a=this.tokenizer.emStrong(t,r,s)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.codespan(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.br(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.del(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.autolink(t)){t=t.substring(a.raw.length),n.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(t))){t=t.substring(a.raw.length),n.push(a);continue}let c=t;if(this.options.extensions?.startInline){let l=1/0,u=t.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},u),typeof d=="number"&&d>=0&&(l=Math.min(l,d))}),l<1/0&&l>=0&&(c=t.substring(0,l+1))}if(a=this.tokenizer.inlineText(c)){t=t.substring(a.raw.length),a.raw.slice(-1)!=="_"&&(s=a.raw.slice(-1)),o=!0;let l=n.at(-1);l?.type==="text"?(l.raw+=a.raw,l.text+=a.text):n.push(a);continue}if(t){let l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return n}},Vl=class{options;parser;constructor(e){this.options=e||Hr}space(e){return""}code({text:e,lang:t,escaped:n}){let r=(t||"").match(Ke.notSpaceStart)?.[0],i=e.replace(Ke.endingNewline,"")+`
`;return r?'<pre><code class="language-'+dn(r)+'">'+(n?i:dn(i,!0))+`</code></pre>
`:"<pre><code>"+(n?i:dn(i,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote>
${this.parser.parse(e)}</blockquote>
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
`}hr(e){return`<hr>
`}list(e){let t=e.ordered,n=e.start,r="";for(let s=0;s<e.items.length;s++){let a=e.items[s];r+=this.listitem(a)}let i=t?"ol":"ul",o=t&&n!==1?' start="'+n+'"':"";return"<"+i+o+`>
`+r+"</"+i+`>
`}listitem(e){let t="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+dn(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
`}table(e){let t="",n="";for(let i=0;i<e.header.length;i++)n+=this.tablecell(e.header[i]);t+=this.tablerow({text:n});let r="";for(let i=0;i<e.rows.length;i++){let o=e.rows[i];n="";for(let s=0;s<o.length;s++)n+=this.tablecell(o[s]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
<thead>
`+t+`</thead>
`+r+`</table>
`}tablerow({text:e}){return`<tr>
${e}</tr>
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${dn(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=KC(e);if(i===null)return r;e=i;let o='<a href="'+e+'"';return t&&(o+=' title="'+dn(t)+'"'),o+=">"+r+"</a>",o}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=KC(e);if(i===null)return dn(n);e=i;let o=`<img src="${e}" alt="${n}"`;return t&&(o+=` title="${dn(t)}"`),o+=">",o}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:dn(e.text)}},_h=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},jn=class hh{options;renderer;textRenderer;constructor(t){this.options=t||Hr,this.options.renderer=this.options.renderer||new Vl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new _h}static parse(t,n){return new hh(n).parse(t)}static parseInline(t,n){return new hh(n).parseInline(t)}parse(t,n=!0){let r="";for(let i=0;i<t.length;i++){let o=t[i];if(this.options.extensions?.renderers?.[o.type]){let a=o,c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(a.type)){r+=c||"";continue}}let s=o;switch(s.type){case"space":{r+=this.renderer.space(s);continue}case"hr":{r+=this.renderer.hr(s);continue}case"heading":{r+=this.renderer.heading(s);continue}case"code":{r+=this.renderer.code(s);continue}case"table":{r+=this.renderer.table(s);continue}case"blockquote":{r+=this.renderer.blockquote(s);continue}case"list":{r+=this.renderer.list(s);continue}case"html":{r+=this.renderer.html(s);continue}case"def":{r+=this.renderer.def(s);continue}case"paragraph":{r+=this.renderer.paragraph(s);continue}case"text":{let a=s,c=this.renderer.text(a);for(;i+1<t.length&&t[i+1].type==="text";)a=t[++i],c+=`
`+this.renderer.text(a);n?r+=this.renderer.paragraph({type:"paragraph",raw:c,text:c,tokens:[{type:"text",raw:c,text:c,escaped:!0}]}):r+=c;continue}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return r}parseInline(t,n=this.renderer){let r="";for(let i=0;i<t.length;i++){let o=t[i];if(this.options.extensions?.renderers?.[o.type]){let a=this.options.extensions.renderers[o.type].call({parser:this},o);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){r+=a||"";continue}}let s=o;switch(s.type){case"escape":{r+=n.text(s);break}case"html":{r+=n.html(s);break}case"link":{r+=n.link(s);break}case"image":{r+=n.image(s);break}case"strong":{r+=n.strong(s);break}case"em":{r+=n.em(s);break}case"codespan":{r+=n.codespan(s);break}case"br":{r+=n.br(s);break}case"del":{r+=n.del(s);break}case"text":{r+=n.text(s);break}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return r}},As=class{options;block;constructor(e){this.options=e||Hr}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?Ln.lex:Ln.lexInline}provideParser(){return this.block?jn.parse:jn.parseInline}},EA=class{defaults=gh();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=jn;Renderer=Vl;TextRenderer=_h;Lexer=Ln;Tokenizer=jl;Hooks=As;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{let i=r;for(let o of i.header)n=n.concat(this.walkTokens(o.tokens,t));for(let o of i.rows)for(let s of o)n=n.concat(this.walkTokens(s.tokens,t));break}case"list":{let i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(o=>{let s=i[o].flat(1/0);n=n.concat(this.walkTokens(s,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r=D({},n);if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let o=t.renderers[i.name];o?t.renderers[i.name]=function(...s){let a=i.renderer.apply(this,s);return a===!1&&(a=o.apply(this,s)),a}:t.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=t[i.level];o?o.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level==="inline"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new Vl(this.defaults);for(let o in n.renderer){if(!(o in i))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let s=o,a=n.renderer[s],c=i[s];i[s]=(...l)=>{let u=a.apply(i,l);return u===!1&&(u=c.apply(i,l)),u||""}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new jl(this.defaults);for(let o in n.tokenizer){if(!(o in i))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let s=o,a=n.tokenizer[s],c=i[s];i[s]=(...l)=>{let u=a.apply(i,l);return u===!1&&(u=c.apply(i,l)),u}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new As;for(let o in n.hooks){if(!(o in i))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;let s=o,a=n.hooks[s],c=i[s];As.passThroughHooks.has(o)?i[s]=l=>{if(this.defaults.async&&As.passThroughHooksRespectAsync.has(o))return Promise.resolve(a.call(i,l)).then(d=>c.call(i,d));let u=a.call(i,l);return c.call(i,u)}:i[s]=(...l)=>{let u=a.apply(i,l);return u===!1&&(u=c.apply(i,l)),u}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,o=n.walkTokens;r.walkTokens=function(s){let a=[];return a.push(o.call(this,s)),i&&(a=a.concat(i.call(this,s))),a}}this.defaults=D(D({},this.defaults),r)}),this}setOptions(e){return this.defaults=D(D({},this.defaults),e),this}lexer(e,t){return Ln.lex(e,t??this.defaults)}parser(e,t){return jn.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r=D({},n),i=D(D({},this.defaults),r),o=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(t Line truncated
Please report this to https://github.com/markedjs/marked.`,e){let r="<p>An error occurred:</p><pre>"+dn(n.message+"",!0)+"</pre>";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}},Ur=new EA;function J(e,t){return Ur.parse(e,t)}J.options=J.setOptions=function(e){return Ur.setOptions(e),J.defaults=Ur.defaults,eE(J.defaults),J};J.getDefaults=gh;J.defaults=Hr;J.use=function(...e){return Ur.use(...e),J.defaults=Ur.defaults,eE(J.defaults),J};J.walkTokens=function(e,t){return Ur.walkTokens(e,t)};J.parseInline=Ur.parseInline;J.Parser=jn;J.parser=jn.parse;J.Renderer=Vl;J.TextRenderer=_h;J.Lexer=Ln;J.lexer=Ln.lex;J.Tokenizer=jl;J.Hooks=As;J.parse=J;var $8=J.options,dE=J.setOptions,U8=J.use,H8=J.walkTokens,z8=J.parseInline,fE=J,G8=jn.parse,W8=Ln.lex;function _A(e,t){if(e&1&&(v(0,"div",1),O(1,"img",5),g()),e&2){let n=re(2);y(),T("src",Ar(n.project.thumbnail),Lt)("alt",Ar(n.project.title))}}function wA(e,t){if(e&1&&(v(0,"div",6),C(1),g()),e&2){let n=t.$implicit;on("background-color",n.color),y(),ie(n.name)}}function IA(e,t){if(e&1&&(v(0,"div",0)(1,"h2"),C(2),g(),v(3,"p"),C(4),Ye(5,"date"),Ye(6,"date"),g(),Tn(7,_A,2,4,"div",1),v(8,"div",2),ne(9,wA,2,3,"div",3),g(),O(10,"div",4),g()),e&2){let n=re();y(2),ie(n.project.title),y(2),ut(" ",n.project.start?dt(5,6,n.project.start,"dd/MM/yyyy"):""," - ",n.project.end?dt(6,9,n.project.end,"dd/MM/yyyy"):""," "),y(3),xn(n.project.thumbnail?7:-1),y(2),T("ngForOf",n.project.tags),y(),T("innerHTML",n.parseMarkdown(n.project.content),If)}}var Ul=class e{constructor(t,n){this.apiService=t;this.sanitizer=n}projectId="";project={title:"",content:"",start:void 0,end:void 0,thumbnail:"",tags:[],trainings:[]};ngOnChanges(t){t.projectId&&t.projectId.currentValue&&this.apiService.getProjectByIdWithDetail(this.projectId).subscribe({next:n=>{this.project={title:n.data.title,content:n.data.content,start:n.data.start?new Date(n.data.start):void 0,end:n.data.end?new Date(n.data.end):void 0,thumbnail:n.data.thumbnail&&n.data.thumbnail.length>0?this.apiService.getBackendUrl()+n.data.thumbnail[0].url:"",tags:n.data.tags||[],trainings:n.data.trainings||[]}},error:n=>{console.error("Erreur lors de la r\xE9cup\xE9ration des d\xE9tails du projet:",n)}})}parseMarkdown(t){if(!t)return"";dE({breaks:!0,gfm:!0});try{let n=fE(t);return this.sanitizer.bypassSecurityTrustHtml(n)}catch(n){return console.error("Erreur lors du parsing markdown:",n),t}}static \u0275fac=function(n){return new(n||e)(I(De),I(Op))};static \u0275cmp=H({type:e,selectors:[["app-project-detail"]],inputs:{projectId:"projectId"},features:[Xt],decls:1,vars:1,consts:[[1,"container-detail-project","scrollbar"],[1,"image-container"],[1,"tags-container"],["class","tag",3,"background-color",4,"ngFor","ngForOf"],[1,"markdown-content",3,"innerHTML"],[3,"src","alt"],[1,"tag"]],template:function(n,r){n&1&&Tn(0,IA,11,12,"div",0),n&2&&xn(r.project?0:-1)},dependencies:[$e,Be,Or],styles:['.container-detail-project[_ngcontent-%COMP%]{padding:2em;border-radius:.5em;margin:1em 0;max-height:65vh;display:flex;flex-direction:column;row-gap:1.5em}.image-container[_ngcontent-%COMP%]{display:flex;justify-content:center}.image-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:320px;margin:1em auto 0;display:block}.tags-container[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin:.7em 0 1em}.container-detail-project[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;margin:1em 0}.container-detail-project[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%]{display:inline-block;background:var(--secondary-color);color:#111;border:1px dashed var(--primary-color);border-radius:.3em;padding:.3em .8em;margin:.2em .4em .2em 0;font-size:1em;font-family:inherit;box-shadow:0 0 6px var(--primary-color) inset;transition:background .2s,color .2s}.container-detail-project[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%]:hover{background:var(--primary-color);color:#0c0}.markdown-content[_ngcontent-%COMP%] h1, .markdown-content[_ngcontent-%COMP%] h2, .markdown-content[_ngcontent-%COMP%] h3, .markdown-content[_ngcontent-%COMP%] h4, .markdown-content[_ngcontent-%COMP%] h5, .markdown-content[_ngcontent-%COMP%] h6{color:var(--primary-color);margin-top:2em;margin-bottom:1em;font-weight:700;border-bottom:1px solid var(--primary-color)}.markdown-content[_ngcontent-%COMP%] h1{font-size:2em;border-bottom:2px solid var(--accent-color);padding-bottom:.3em}.markdown-content[_ngcontent-%COMP%] h2{font-size:1.5em;border-bottom:1px solid var(--primary-color);padding-bottom:.2em}.markdown-content[_ngcontent-%COMP%] h3{font-size:1.2em}.markdown-content[_ngcontent-%COMP%] h4, .markdown-content[_ngcontent-%COMP%] h5, .markdown-content[_ngcontent-%COMP%] h6{font-size:1em}.markdown-content[_ngcontent-%COMP%] p{margin-bottom:1em;color:var(--primary-color);line-height:1.6;font-family:Fira Mono,monospace}.markdown-content[_ngcontent-%COMP%] ul, .markdown-content[_ngcontent-%COMP%] ol{margin-bottom:1em;padding-left Line truncated
`))}}function kA(e,t){if(e&1&&(v(0,"li")(1,"a",13),C(2),g()()),e&2){let n=t.$implicit;y(),T("routerLink",Ze(3,AA))("queryParams",$o(4,NA,n.id)),y(),ue(" ",n.title)}}function PA(e,t){if(e&1&&(v(0,"div",12)(1,"h3"),C(2,"Projets r\xE9alis\xE9s :"),g(),v(3,"ul"),ne(4,kA,3,6,"li",11),g()()),e&2){let n=re().$implicit;y(4),T("ngForOf",n.projects)}}function FA(e,t){if(e&1&&(v(0,"div",2)(1,"div",3)(2,"div",4)(3,"h2"),C(4),g(),v(5,"span",5),C(6),Ye(7,"date"),Ye(8,"date"),g()(),v(9,"div",6),C(10),g()(),v(11,"div",7),ne(12,OA,5,1,"div",8)(13,PA,5,1,"div",9),g()()),e&2){let n=t.$implicit;y(4),ie(n.name),y(2),ut(" ",n.start?dt(7,6,n.start,"MM/yyyy"):""," - ",n.end?dt(8,9,n.end,"MM/yyyy"):"Pr\xE9sent"," "),y(4),ie(n.place),y(2),T("ngIf",n.skill),y(),T("ngIf",n.projects&&n.projects.length>0)}}var Hl=class e{constructor(t){this.apiService=t}trainings=[];ngOnInit(){this.apiService.getTrainings().subscribe({next:t=>{this.trainings=t.data.map(n=>({name:n.name,start:n.start?new Date(n.start):void 0,end:n.end?new Date(n.end):void 0,skill:n.skill,place:n.place,projects:n.projects||null}))},error:t=>{console.error("Erreur lors de la r\xE9cup\xE9ration des formations:",t),this.trainings=[{name:"erreur",start:void 0,end:void 0,skill:"erreur",place:"erreur",projects:null}]}}).add(()=>{console.log(this.trainings)})}static \u0275fac=function(n){return new(n||e)(I(De))};static \u0275cmp=H({type:e,selectors:[["app-training"]],decls:3,vars:1,consts:[[1,"container-trainings","scrollbar"],["class","section-training",4,"ngFor","ngForOf"],[1,"section-training"],[1,"training-header"],[1,"header-top"],[1,"duration"],[1,"place"],[1,"training-body"],["class","skills",4,"ngIf"],["class","projects",4,"ngIf"],[1,"skills"],[4,"ngFor","ngForOf"],[1,"projects"],[3,"routerLink","queryParams"]],template:function(n,r){n&1&&(v(0,"main",0),ne(1,FA,14,12,"div",1),O(2,"app-info"),g()),n&2&&(y(),T("ngForOf",r.trainings))},dependencies:[$e,Be,Yo,Ue,un,Or],styles:['.container-trainings[_ngcontent-%COMP%]{height:70vh;display:flex;flex-direction:column;gap:2rem;padding-right:1rem;padding-bottom:2rem}.section-training[_ngcontent-%COMP%]{border:1px solid var(--secondary-color, #090);padding:1.5rem;background:#0014004d;position:relative;box-shadow:0 0 10px #00ff000d}.section-training[_ngcontent-%COMP%]:before{content:"";position:absolute;top:-1px;left:-1px;width:10px;height:10px;border-top:2px solid var(--primary-color, #0c0);border-left:2px solid var(--primary-color, #0c0)}.section-training[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-bottom:2px solid var(--primary-color, #0c0);border-right:2px solid var(--primary-color, #0c0)}.training-header[_ngcontent-%COMP%]{margin-bottom:1.5rem;border-bottom:1px dashed var(--secondary-color, #090);padding-bottom:1rem}.header-top[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem}.section-training[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.4rem;text-transform:uppercase;color:var(--primary-color, #0c0);text-shadow:0 0 5px rgba(0,255,0,.3);letter-spacing:1px}.duration[_ngcontent-%COMP%]{font-family:monospace;font-size:.95rem;opacity:.8;color:var(--primary-color, #0c0)}.place[_ngcontent-%COMP%]{margin-top:.5rem;font-style:italic;opacity:.9;color:var(--muted, #8a8)}.training-body[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.skills[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .projects[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:0;font-size:1.1rem;margin-bottom:1rem;text-decoration:underline;text-underline-offset:4px;color:var(--primary-color, #0c0)}.skills[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], .projects[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0}.skills[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .projects[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding:.3rem 0 .3rem 1.2rem;position:relative;color:var(--primary-color, #0c0);transition:color .2s,text-shadow .2s}.skills[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before, .projects[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{content:">";position:absolute;left:0;color:var(--secondary-color, #090);font-weight:700}.projects[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover, .skills[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover{color:#fff;text-shadow:0 0 5px #fff}.projects[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none;color:inherit;display:block}@media (max-width: 900px){.training-body[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1.5rem}.header-top[_ngcontent-%COMP%]{flex-direction:column;gap:.2rem}}']})};var zl=class e{constructor(t){this.apiService=t}email="";subject="Contact depuis le portfolio";linkedin="";github="";ngOnInit(){this.apiService.getInformation().subscribe({next:t=>{this.email=t.data.contact,this.linkedin=t.data.linkedin,this.github=t.data.github},error:t=>{console.error("Erreur lors de la r\xE9cup\xE9ration des informations:",t) Line truncated
`))}}function UA(e,t){if(e&1&&(v(0,"li")(1,"a",13),C(2),g()()),e&2){let n=t.$implicit;y(),T("routerLink",Ze(3,jA))("queryParams",$o(4,VA,n.id)),y(),ue(" ",n.title," ")}}function HA(e,t){if(e&1&&(v(0,"div",12)(1,"h3"),C(2,"Projets li\xE9s :"),g(),v(3,"ul"),ne(4,UA,3,6,"li",11),g()()),e&2){let n=re().$implicit;y(4),T("ngForOf",n.projects)}}function zA(e,t){if(e&1&&(v(0,"div",2)(1,"div",3)(2,"div",4)(3,"h2"),C(4),g(),v(5,"span",5),C(6),Ye(7,"date"),Ye(8,"date"),g()(),v(9,"div",6),C(10),g()(),v(11,"div",7),ne(12,$A,5,1,"div",8)(13,HA,5,1,"div",9),g()()),e&2){let n=t.$implicit;y(4),ie(n.name),y(2),ut(" ",n.start?dt(7,6,n.start,"MM/yyyy"):""," - ",n.end?dt(8,9,n.end,"MM/yyyy"):"Actuel"," "),y(4),ie(n.place),y(2),T("ngIf",n.missions),y(),T("ngIf",n.projects&&n.projects.length>0)}}var Gl=class e{constructor(t){this.apiService=t}experiences=[];ngOnInit(){this.apiService.getExperiences().subscribe({next:t=>{this.experiences=t.data.map(n=>({name:n.name,start:n.start?new Date(n.start):void 0,end:n.end?new Date(n.end):void 0,missions:n.missions,place:n.place,projects:n.projects||null}))},error:t=>{console.error("Erreur lors de la r\xE9cup\xE9ration des exp\xE9riences:",t)}})}static \u0275fac=function(n){return new(n||e)(I(De))};static \u0275cmp=H({type:e,selectors:[["app-experience"]],decls:3,vars:1,consts:[[1,"container-experiences","scrollbar"],["class","section-experience",4,"ngFor","ngForOf"],[1,"section-experience"],[1,"experience-header"],[1,"header-top"],[1,"duration"],[1,"place"],[1,"experience-body"],["class","missions",4,"ngIf"],["class","projects",4,"ngIf"],[1,"missions"],[4,"ngFor","ngForOf"],[1,"projects"],[3,"routerLink","queryParams"]],template:function(n,r){n&1&&(v(0,"main",0),ne(1,zA,14,12,"div",1),O(2,"app-info"),g()),n&2&&(y(),T("ngForOf",r.experiences))},dependencies:[$e,Be,Yo,Ue,un,Or],styles:['.container-experiences[_ngcontent-%COMP%]{height:70vh;display:flex;flex-direction:column;gap:2rem;padding-right:1rem;padding-bottom:2rem}.section-experience[_ngcontent-%COMP%]{border:1px solid var(--secondary-color, #090);padding:1.5rem;background:#0014004d;position:relative;box-shadow:0 0 10px #00ff000d}.section-experience[_ngcontent-%COMP%]:before{content:"";position:absolute;top:-1px;left:-1px;width:10px;height:10px;border-top:2px solid var(--primary-color, #0c0);border-left:2px solid var(--primary-color, #0c0)}.section-experience[_ngcontent-%COMP%]:after{content:"";position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-bottom:2px solid var(--primary-color, #0c0);border-right:2px solid var(--primary-color, #0c0)}.experience-header[_ngcontent-%COMP%]{margin-bottom:1.5rem;border-bottom:1px dashed var(--secondary-color, #090);padding-bottom:1rem}.header-top[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem}.section-experience[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.4rem;text-transform:uppercase;color:var(--primary-color, #0c0);text-shadow:0 0 5px rgba(0,255,0,.3);letter-spacing:1px}.duration[_ngcontent-%COMP%]{font-family:monospace;font-size:.95rem;opacity:.8;color:var(--primary-color, #0c0)}.place[_ngcontent-%COMP%]{margin-top:.5rem;font-style:italic;opacity:.9;color:var(--muted, #8a8)}.experience-body[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.missions[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .projects[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:0;font-size:1.1rem;margin-bottom:1rem;text-decoration:underline;text-underline-offset:4px;color:var(--primary-color, #0c0)}.missions[_ngcontent-%COMP%] ul[_ngcontent-%COMP%], .projects[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0}.missions[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .projects[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding:.3rem 0 .3rem 1.2rem;position:relative;color:var(--primary-color, #0c0);transition:color .2s,text-shadow .2s}.missions[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before, .projects[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{content:">";position:absolute;left:0;color:var(--secondary-color, #090);font-weight:700}.projects[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover, .missions[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover{color:#fff;text-shadow:0 0 5px #fff}.projects[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none;color:inherit;display:block}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#0000001a}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 900px){.experience-body[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1.5rem}.header-top[_ngcontent-%COMP%]{flex-direction:column;gap:.2rem}}']})};var pE=[{path:"",component:Il},{path:"special",component:Ml},{path:"perks",component:Sl},{path:"project",component:Os},{path Line truncated
`))},styles:[".container-clock[_ngcontent-%COMP%]{text-align:center;font-size:3em}"]})};function JA(e,t){if(e&1){let n=Nn();v(0,"ul")(1,"li",3),K("click",function(){Ct(n);let i=re();return Et(i.toggleChild("radio-player"))}),O(2,"img",4),g(),v(3,"li",3),K("click",function(){Ct(n);let i=re();return Et(i.toggleChild("invader"))}),O(4,"img",5),g(),v(5,"li",3),K("click",function(){Ct(n);let i=re();return Et(i.toggleChild("clock"))}),O(6,"img",6),g()()}if(e&2){let n=re();qe(Nr("control-widget ",n.isEnabled?"":"hidden"))}}function XA(e,t){e&1&&O(0,"app-clock")}function eN(e,t){e&1&&O(0,"app-caps")}var Ql=class e{isEnabled=!0;activeChild="radio-player";toggleChild(t){this.activeChild=t}action(){this.isEnabled=!this.isEnabled;let t=document.querySelector(".container-widget");this.isEnabled?t.style.width="600px":t.style.width="35px"}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["app-widget"]],decls:9,vars:8,consts:[[1,"container-widget"],[1,"action-widget","button-theme",3,"click"],[3,"class"],[3,"click"],["src","/assets/icons/note_music.png","alt","",1,"filter-img",2,"width","2em"],["src","/assets/icons/invader.png","alt","",1,"filter-img",2,"width","2.1em"],["src","/assets/icons/clock.png","alt","",1,"filter-img",2,"width","2em"]],template:function(n,r){n&1&&(v(0,"div",0)(1,"button",1),K("click",function(){return r.action()}),C(2),g(),Tn(3,JA,7,3,"ul",2),v(4,"div")(5,"div"),O(6,"app-radio-player"),g(),Tn(7,XA,1,0,"app-clock")(8,eN,1,0,"app-caps"),g()()),n&2&&(y(2),ie(r.isEnabled?">":"<"),y(),xn(r.isEnabled?3:-1),y(),qe(Nr("children-widget scrollbar ",r.isEnabled?"":"hidden")),y(),qe(r.activeChild=="radio-player"?"":"hidden"),y(2),xn(r.isEnabled&&r.activeChild=="clock"?7:r.isEnabled&&r.activeChild=="invader"?8:-1))},dependencies:[Zl,Ki,Yl],styles:[".container-widget[_ngcontent-%COMP%]{position:fixed;right:0;bottom:0;border:2px solid var(--primary-color);display:flex;column-gap:.7em;background-color:#000;background-image:radial-gradient(#444,#111);box-shadow:0 0 5vmin 1vmin #000 inset;box-sizing:border-box;width:600px;height:350px;transition:height .4s cubic-bezier(.77,0,.175,1),width .4s cubic-bezier(.77,0,.175,1)}.action-widget[_ngcontent-%COMP%]{width:35px;border-radius:0;margin-right:0}.control-widget[_ngcontent-%COMP%]{padding-left:5px;list-style:none;display:flex;flex-direction:column;justify-content:space-evenly}.control-widget[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{cursor:pointer;width:auto}.children-widget[_ngcontent-%COMP%]{width:80%;display:flex;flex-direction:column;height:100%}.children-widget[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-top:auto;margin-bottom:auto}"]})};var Kl=class e{title=bt("portfolio");static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["app-root"]],decls:3,vars:0,template:function(n,r){n&1&&O(0,"app-header")(1,"router-outlet")(2,"app-widget")},dependencies:[Cs,Wl,Ql],encapsulation:2})};xp(Kl,hE).catch(e=>console.error(e));
+2
View File
@@ -0,0 +1,2 @@
var ce=globalThis;function te(t){return(ce.__Zone_symbol_prefix||"__zone_symbol__")+t}function ht(){let t=ce.performance;function n(I){t&&t.mark&&t.mark(I)}function a(I,s){t&&t.measure&&t.measure(I,s)}n("Zone");class e{static __symbol__=te;static assertZonePatched(){if(ce.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let s=e.current;for(;s.parent;)s=s.parent;return s}static get current(){return b.zone}static get currentTask(){return D}static __load_patch(s,i,r=!1){if(S.hasOwnProperty(s)){let E=ce[te("forceDuplicateZoneCheck")]===!0;if(!r&&E)throw Error("Already loaded patch: "+s)}else if(!ce["__Zone_disable_"+s]){let E="Zone:"+s;n(E),S[s]=i(ce,e,R),a(E,E)}}get parent(){return this._parent}get name(){return this._name}_parent;_name;_properties;_zoneDelegate;constructor(s,i){this._parent=s,this._name=i?i.name||"unnamed":"<root>",this._properties=i&&i.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,i)}get(s){let i=this.getZoneWith(s);if(i)return i._properties[s]}getZoneWith(s){let i=this;for(;i;){if(i._properties.hasOwnProperty(s))return i;i=i._parent}return null}fork(s){if(!s)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,s)}wrap(s,i){if(typeof s!="function")throw new Error("Expecting function got: "+s);let r=this._zoneDelegate.intercept(this,s,i),E=this;return function(){return E.runGuarded(r,this,arguments,i)}}run(s,i,r,E){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,s,i,r,E)}finally{b=b.parent}}runGuarded(s,i=null,r,E){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,s,i,r,E)}catch(x){if(this._zoneDelegate.handleError(this,x))throw x}}finally{b=b.parent}}runTask(s,i,r){if(s.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(s.zone||J).name+"; Execution: "+this.name+")");let E=s,{type:x,data:{isPeriodic:ee=!1,isRefreshable:M=!1}={}}=s;if(s.state===q&&(x===U||x===k))return;let he=s.state!=A;he&&E._transitionTo(A,d);let _e=D;D=E,b={parent:b,zone:this};try{x==k&&s.data&&!ee&&!M&&(s.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,E,i,r)}catch(Q){if(this._zoneDelegate.handleError(this,Q))throw Q}}finally{let Q=s.state;if(Q!==q&&Q!==X)if(x==U||ee||M&&Q===p)he&&E._transitionTo(d,A,p);else{let Te=E._zoneDelegates;this._updateTaskCount(E,-1),he&&E._transitionTo(q,A,q),M&&(E._zoneDelegates=Te)}b=b.parent,D=_e}}scheduleTask(s){if(s.zone&&s.zone!==this){let r=this;for(;r;){if(r===s.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${s.zone.name}`);r=r.parent}}s._transitionTo(p,q);let i=[];s._zoneDelegates=i,s._zone=this;try{s=this._zoneDelegate.scheduleTask(this,s)}catch(r){throw s._transitionTo(X,p,q),this._zoneDelegate.handleError(this,r),r}return s._zoneDelegates===i&&this._updateTaskCount(s,1),s.state==p&&s._transitionTo(d,p),s}scheduleMicroTask(s,i,r,E){return this.scheduleTask(new g(F,s,i,r,E,void 0))}scheduleMacroTask(s,i,r,E,x){return this.scheduleTask(new g(k,s,i,r,E,x))}scheduleEventTask(s,i,r,E,x){return this.scheduleTask(new g(U,s,i,r,E,x))}cancelTask(s){if(s.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(s.zone||J).name+"; Execution: "+this.name+")");if(!(s.state!==d&&s.state!==A)){s._transitionTo(V,d,A);try{this._zoneDelegate.cancelTask(this,s)}catch(i){throw s._transitionTo(X,V),this._zoneDelegate.handleError(this,i),i}return this._updateTaskCount(s,-1),s._transitionTo(q,V),s.runCount=-1,s}}_updateTaskCount(s,i){let r=s._zoneDelegates;i==-1&&(s._zoneDelegates=null);for(let E=0;E<r.length;E++)r[E]._updateTaskCount(s.type,i)}}let c={name:"",onHasTask:(I,s,i,r)=>I.hasTask(i,r),onScheduleTask:(I,s,i,r)=>I.scheduleTask(i,r),onInvokeTask:(I,s,i,r,E,x)=>I.invokeTask(i,r,E,x),onCancelTask:(I,s,i,r)=>I.cancelTask(i,r)};class f{get zone(){return this._zone}_zone;_taskCounts={microTask:0,macroTask:0,eventTask:0};_parentDelegate;_forkDlgt;_forkZS;_forkCurrZone;_interceptDlgt;_interceptZS;_interceptCurrZone;_invokeDlgt;_invokeZS;_invokeCurrZone;_handleErrorDlgt;_handleErrorZS;_handleErrorCurrZone;_scheduleTaskDlgt;_scheduleTaskZS;_scheduleTaskCurrZone;_invokeTaskDlgt;_invokeTaskZS;_invokeTaskCurrZone;_cancelTaskDlgt;_cancelTaskZS;_cancelTaskCurrZone;_hasTaskDlgt;_hasTaskDlgtOwner;_hasTaskZS;_hasTaskCurrZone;constructor(s,i,r){this._zone=s,this._parentDelegate=i,this._forkZS=r&&(r&&r.onFork?r:i._forkZS),this._forkDlgt=r&&(r.onFork?i:i._forkDlgt),this._forkCurrZone=r&&(r.onFork?this._zone:i._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:i._interceptZS),this._interceptDlgt=r&&(r.onIntercept?i:i._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this._zoLine truncated
`+o.stack:""))}catch(O){m=O}w&&(m.throwOriginal=!0),m.rejection=o,m.promise=h,m.zone=a.current,m.task=a.currentTask,y.push(m),e.scheduleMicroTask()}}}return h}let s=T("rejectionHandledHandler");function i(h){if(h[p]===R){try{let l=a[s];l&&typeof l=="function"&&l.call(this,{rejection:h[d],promise:h})}catch{}h[p]=S;for(let l=0;l<y.length;l++)h===y[l].promise&&y.splice(l,1)}}function r(h,l,o,u,v){i(h);let C=h[p],m=C?typeof u=="function"?u:J:typeof v=="function"?v:q;l.scheduleMicroTask(F,()=>{try{let O=h[d],N=!!o&&A===o[A];N&&(o[V]=O,o[X]=C);let Z=l.run(m,void 0,N&&m!==q&&m!==J?[]:[O]);I(o,!0,Z)}catch(O){I(o,!1,O)}},o)}let E="function ZoneAwarePromise() { [native code] }",x=function(){},ee=n.AggregateError;class M{static toString(){return E}static resolve(l){return l instanceof M?l:I(new this(null),U,l)}static reject(l){return I(new this(null),S,l)}static withResolvers(){let l={};return l.promise=new M((o,u)=>{l.resolve=o,l.reject=u}),l}static any(l){if(!l||typeof l[Symbol.iterator]!="function")return Promise.reject(new ee([],"All promises were rejected"));let o=[],u=0;try{for(let m of l)u++,o.push(M.resolve(m))}catch{return Promise.reject(new ee([],"All promises were rejected"))}if(u===0)return Promise.reject(new ee([],"All promises were rejected"));let v=!1,C=[];return new M((m,O)=>{for(let N=0;N<o.length;N++)o[N].then(Z=>{v||(v=!0,m(Z))},Z=>{C.push(Z),u--,u===0&&(v=!0,O(new ee(C,"All promises were rejected")))})})}static race(l){let o,u,v=new this((O,N)=>{o=O,u=N});function C(O){o(O)}function m(O){u(O)}for(let O of l)$(O)||(O=this.resolve(O)),O.then(C,m);return v}static all(l){return M.allWithCallback(l)}static allSettled(l){return(this&&this.prototype instanceof M?this:M).allWithCallback(l,{thenCallback:u=>({status:"fulfilled",value:u}),errorCallback:u=>({status:"rejected",reason:u})})}static allWithCallback(l,o){let u,v,C=new this((Z,G)=>{u=Z,v=G}),m=2,O=0,N=[];for(let Z of l){$(Z)||(Z=this.resolve(Z));let G=O;try{Z.then(B=>{N[G]=o?o.thenCallback(B):B,m--,m===0&&u(N)},B=>{o?(N[G]=o.errorCallback(B),m--,m===0&&u(N)):v(B)})}catch(B){v(B)}m++,O++}return m-=2,m===0&&u(N),C}constructor(l){let o=this;if(!(o instanceof M))throw new Error("Must be an instanceof Promise.");o[p]=k,o[d]=[];try{let u=D();l&&l(u(b(o,U)),u(b(o,S)))}catch(u){I(o,!1,u)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return M}then(l,o){let u=this.constructor?.[Symbol.species];(!u||typeof u!="function")&&(u=this.constructor||M);let v=new u(x),C=a.current;return this[p]==k?this[d].push(C,v,l,o):r(this,C,v,l,o),v}catch(l){return this.then(null,l)}finally(l){let o=this.constructor?.[Symbol.species];(!o||typeof o!="function")&&(o=M);let u=new o(x);u[A]=A;let v=a.current;return this[p]==k?this[d].push(v,u,l,l):r(this,v,u,l,l),u}}M.resolve=M.resolve,M.reject=M.reject,M.race=M.race,M.all=M.all;let he=n[_]=n.Promise;n.Promise=M;let _e=T("thenPatched");function Q(h){let l=h.prototype,o=c(l,"then");if(o&&(o.writable===!1||!o.configurable))return;let u=l.then;l[P]=u,h.prototype.then=function(v,C){return new M((O,N)=>{u.call(this,O,N)}).then(v,C)},h[_e]=!0}e.patchThen=Q;function Te(h){return function(l,o){let u=h.apply(l,o);if(u instanceof M)return u;let v=u.constructor;return v[_e]||Q(v),u}}return he&&(Q(he),ue(n,"fetch",h=>Te(h))),Promise[a.__symbol__("uncaughtPromiseErrors")]=y,M})}function Nt(t){t.__load_patch("toString",n=>{let a=Function.prototype.toString,e=j("OriginalDelegate"),c=j("Promise"),f=j("Error"),g=function(){if(typeof this=="function"){let _=this[e];if(_)return typeof _=="function"?a.call(_):Object.prototype.toString.call(_);if(this===Promise){let P=n[c];if(P)return a.call(P)}if(this===Error){let P=n[f];if(P)return a.call(P)}}return a.call(this)};g[e]=a,Function.prototype.toString=g;let T=Object.prototype.toString,y="[object Promise]";Object.prototype.toString=function(){return typeof Promise=="function"&&this instanceof Promise?y:T.call(this)}})}function Zt(t,n,a,e,c){let f=Zone.__symbol__(e);if(n[f])return;let g=n[f]=n[e];n[e]=function(T,y,w){return y&&y.prototype&&c.forEach(function(_){let P=`${a}.${e}::`+_,L=y.prototype;try{if(L.hasOwnProperty(_)){let H=t.ObjectGetOwnPropertyDescriptor(L,_);H&&H.value?(H.value=t.wrapWithCurrentZone(H.value,P),t._redefineProperty(y.prototype,_,H)):L[_]&&(L[_]=t.wrapWithCurrentZone(L[_],P))}else L[_]&&(L[_]=t.wrapWithCurrentZone(L[_],P))}catch{}}),g.call(n,T,y,w)},t.attachOriginToPatched(n[e],g)}function Lt(t){t.__load_patch("util",(n,a,e)=>{let c=Ie(n);e.patchOnProperties=rt,e.patchMethod=ue,e.bindArguments=Fe,e.patchMacroTask=mt;let f=a.__symbol__("BLACK_LISTED_EVENTS"),g=a.__symbol__("UNPATCHED_EVENTS");n[g]&&(n[f]=n[g]),n[f]&&(a[f]=a[g]=n[f]),e.patchEventPrototype=bt,e.patchEventTarget=vt,e.isIEOrEdge=yt,e.ObjectDefineProperty=Me,e.ObjectGetOwnPropertyDescriptor=pe,e.ObjectCreate=_t,e.ArraySlice=Tt,e.patchClass=ye,e.wrapWithCurrentZone=Ve,e.filterProperties=lt,e.attachOriginToPatched=fe,e._redefineProperty=Object.defineProperty,e.patchCallbacks=Zt,e.getGlobalObjects=()=>({globa Line truncated
+1
View File
@@ -0,0 +1 @@
:root{--primary-color: #0c0;--secondary-color: #090;--tertiary-color: #060;--accent-color: rgb(231, 54, 10);--grey-color: #444;--dark-grey-color: #111}body{background-color:#000;margin:0;overflow:hidden;padding:0}.screen{animation:colorPulse 5s infinite ease-in-out;background-image:radial-gradient(var(--grey-color),var(--dark-grey-color));box-shadow:0 0 5vmin 1vmin #000 inset;box-sizing:border-box;font-family:Fira Mono,monospace;font-size:20px;height:100vh;overflow:hidden;padding:10vmin;width:100vw}.screen:before{animation:wave 10s infinite ease-in-out;content:"";height:20vh;left:0;opacity:.5;position:absolute;right:0;z-index:1}.screen:after{background-image:linear-gradient(transparent,transparent 3px,#222);background-size:4px 4px;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}h1,h2,h3,h4,h5,h6,p,a{color:var(--primary-color);line-height:1.4;margin:0;position:relative;animation:colorPulse 5s infinite ease-in-out}h1,h2,h3,h4,h5,h6{font-weight:700;text-shadow:0 0 1px var(--primary-color)}a{text-decoration:none}p:last-child:after{animation:blink 1s infinite;content:"_"}.filter-img{filter:grayscale(100%) brightness(40%) sepia(100%) hue-rotate(50deg) saturate(1000%) contrast(.8)}.scrollbar{overflow-y:auto;overflow-x:hidden}.scrollbar::-webkit-scrollbar{width:12px}.scrollbar::-webkit-scrollbar-thumb{background-color:green;border-radius:6px}.tag{margin-left:1em;margin-right:1em;animation:none;padding:.3em .5em;cursor:pointer}.input-theme,select.input-theme,input.input-theme[type=text]{background:var(--dark-grey-color);color:var(--primary-color);border:2px solid var(--primary-color);border-radius:0;font-family:Fira Mono,monospace;padding:.5em 1em;margin-right:.5em;outline:none;transition:border-color .2s,box-shadow .2s}.input-theme:focus{border-color:var(--tertiary-color);box-shadow:0 0 12px var(--primary-color)}.button-theme{background:#222;color:inherit;border:2px solid var(--primary-color);font-family:Fira Mono,monospace;font-size:1.1em;padding:.2em;margin-right:.5em;cursor:pointer;transition:background .2s,border-color .2s}.button-theme:hover,.button-theme:focus{background:var(--primary-color);color:var(--dark-grey-color);border-color:var(--tertiary-color);box-shadow:0 0 16px var(--tertiary-color)}.button-theme>img{width:1.2em;vertical-align:middle}.button-theme:disabled,.button-theme[disabled]{background:var(--dark-grey-color);color:var(--grey-color);border-color:var(--grey-color);cursor:not-allowed;box-shadow:none}.button-accent{background-color:var(--accent-color);box-shadow:0 0 12px var(--accent-color)}.hidden{display:none}@keyframes colorPulse{0%,to{color:var(--primary-color)}48%,52%{color:#090}50%{color:#060}}@keyframes wave{0%{box-shadow:0 -10vh 20vh var(--primary-color);top:-100vh}48%,52%{box-shadow:0 -10vh 20vh #090}50%{box-shadow:0 -10vh 20vh #060}to{box-shadow:0 -10vh 20vh var(--primary-color);top:200vh}}@keyframes blink{50%{opacity:0}}@keyframes backgroundPulse{0%,to{background-color:#0c0}48%,52%{background-color:#090}50%{background-color:#060}}