From 53cac6ac398715731e6e9b3a6998f438a7feeba9 Mon Sep 17 00:00:00 2001 From: Thomas Durieux <5577568+tdurieux@users.noreply.github.com> Date: Sun, 8 Nov 2026 13:36:59 +0000 Subject: [PATCH] feat(ui): follow-up polish from design review rounds 88-91 One-row phone toolbar, errors page opens on server errors, one-row submit bar, publish warning after a source loads, three-column FAQ with a help card, queue range control in the Throughput card, shared admin table cards, dark-mode contrast and a stronger phone code scroll cue. Co-Authored-By: Claude Opus 5.5 --- public/asset-manifest.json | 4 +- public/css/all.min.css | 2 +- public/css/style.css | 72 ++++++++++++++++++++++++++++++ public/partials/admin/overview.htm | 2 +- public/partials/admin/queues.htm | 12 ++--- public/partials/anonymize.htm | 2 +- public/partials/explorer.htm | 2 +- public/partials/faq.htm | 7 +++ public/partials/icons.htm | 2 +- public/script/admin.js | 5 ++- public/script/vendor.min.js | 52 ++++++++++----------- 11 files changed, 122 insertions(+), 40 deletions(-) diff --git a/public/asset-manifest.json b/public/asset-manifest.json index 481e3f0..b95838f 100644 --- a/public/asset-manifest.json +++ b/public/asset-manifest.json @@ -1,8 +1,8 @@ { "core.min.js": "core.fefc61001a.min.js", - "vendor.min.js": "vendor.35208cb3e7.min.js", + "vendor.min.js": "vendor.ddf6179ad0.min.js", "mermaid.min.js": "mermaid.f848a72d16.min.js", - "all.min.css": "all.40fdc12309.min.css", + "all.min.css": "all.fb8a9e1005.min.css", "markdown.min.js": "markdown.1d3b1ed22a.min.js", "pdf.min.js": "pdf.4d9cc6ff49.min.js", "notebook.min.js": "notebook.c3144c18ae.min.js", diff --git a/public/css/all.min.css b/public/css/all.min.css index 90c63f6..392d94b 100644 --- a/public/css/all.min.css +++ b/public/css/all.min.css @@ -6,4 +6,4 @@ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}/*! * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'Font Awesome 5 Brands';font-weight:400}@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'Font Awesome 5 Free';font-weight:400}@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;font-display:block;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'Font Awesome 5 Free';font-weight:900}.nb-notebook{line-height:1.5}.nb-stderr,.nb-stdout{white-space:pre-wrap;margin:1em 0;padding:.1em .5em}.nb-stderr{background-color:#faa}.nb-cell+.nb-cell{margin-top:.5em}.nb-output table{border:1px solid #000;border-collapse:collapse}.nb-output th{font-weight:700}.nb-output td,.nb-output th{border:1px solid #000;padding:.25em;text-align:left;vertical-align:middle;border-collapse:collapse}.nb-notebook blockquote{border-left:5px solid #ccc;margin-left:0;padding-left:1em}.nb-cell{position:relative}.nb-raw-cell{white-space:pre-wrap;background-color:#f5f2f0;font-family:Consolas,Monaco,'Andale Mono',monospace;padding:1em;margin:.5em 0}.nb-output{min-height:1em;width:100%;overflow-x:scroll;border-right:1px dotted #ccc}.nb-output img{max-width:100%}.nb-input:before,.nb-output:before{position:absolute;font-family:monospace;color:#999;left:-7.5em;width:7em;text-align:right}.nb-input:before{content:"In [" attr(data-prompt-number) "]:"}.nb-output:before{content:"Out [" attr(data-prompt-number) "]:"}// Fix pandas dataframe formatting div[style="max-height:1000px;max-width:1500px;overflow:auto;"]{max-height:none!important}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,math,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.10"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.mermaid{text-align:center;margin:1em 0;overflow:auto}.mermaid svg{max-width:100%;height:auto}.dark-mode .mermaid{filter:invert(1) hue-rotate(180deg)}.dark-mode .mermaid svg{background:0 0}.dark-mode .mermaid .edgeLabel,.dark-mode .mermaid .nodeLabel{filter:invert(1) hue-rotate(180deg)}.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .node rect{stroke-width:2px}.mermaid .flowchart-link{stroke-width:2px}.mermaid .actor{fill:#f9f9f9;stroke:#333;stroke-width:2px}.mermaid .messageLine0,.mermaid .messageLine1{stroke:#333;stroke-width:1.5px}.mermaid .section0,.mermaid .section1,.mermaid .section2,.mermaid .section3{opacity:.8}.mermaid .pieChart .slice{opacity:.9}.markdown-body .mermaid{background:0 0;border:none;padding:10px}.mermaid .error{color:#d32f2f;font-family:monospace;font-size:12px;padding:10px;border:1px solid #d32f2f;border-radius:4px;background-color:#ffebee}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format('woff')}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.5;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{color:#fafbfc;background-color:#b31d28}.markdown-body .pl-c2{color:#fafbfc;background-color:#d73a49}.markdown-body .pl-c2::before{content:"^M"}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#22863a}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#005cc5}.markdown-body .pl-mi{font-style:italic;color:#24292e}.markdown-body .pl-mb{font-weight:700;color:#24292e}.markdown-body .pl-md{color:#b31d28;background-color:#ffeef0}.markdown-body .pl-mi1{color:#22863a;background-color:#f0fff4}.markdown-body .pl-mc{color:#e36209;background-color:#ffebda}.markdown-body .pl-mi2{color:#f6f8fa;background-color:#005cc5}.markdown-body .pl-mdr{font-weight:700;color:#6f42c1}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{text-decoration:underline;color:#032f62}.markdown-body .octicon{display:inline-block;vertical-align:text-top;fill:currentColor}.markdown-body a{background-color:transparent;-webkit-text-decoration-skip:objects}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit}.markdown-body strong{font-weight:bolder}.markdown-body h1{font-size:2em;margin:.67em 0}.markdown-body img{border-style:none}.markdown-body svg:not(:root){overflow:hidden}.markdown-body hr{box-sizing:content-box;height:0;overflow:visible}.markdown-body input{font:inherit;margin:0}.markdown-body input{overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{height:0;margin:15px 0;overflow:hidden;background:0 0;border:0;border-bottom:1px solid #dfe2e5}.markdown-body hr::before{display:table;content:""}.markdown-body hr::after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:0;margin-bottom:0}.markdown-body h1{font-size:32px;font-weight:600}.markdown-body h2{font-size:24px;font-weight:600}.markdown-body h3{font-size:20px;font-weight:600}.markdown-body h4{font-size:16px;font-weight:600}.markdown-body h5{font-size:14px;font-weight:600}.markdown-body h6{font-size:12px;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{padding-left:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px}.markdown-body .octicon{vertical-align:text-bottom}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:0}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #c6cbd1;border-bottom-color:#959da5;border-radius:3px;box-shadow:inset 0 -1px 0 #959da5}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{padding-bottom:.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#6a737d}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code{padding:0;padding-top:.2em;padding-bottom:.2em;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.dark-mode{--canvas-bg-color:#161412;--sidebar-bg-color:#1C1A17;--main-bg-color:#161412;--header-bg-color:#161412;--hover-bg-color:rgba(255, 255, 255, 0.05);--header-color:#FAF9F6;--color:#D6D1C5;--link-color:#7CC7BE;--link-hover-color:#A8DDD6;--border-color:#423D37;--border-soft:#2A2825;--btn-color:#FAF9F6;--input-color:#E6E1D8;--input-bg:#25231F;--primary-bg:#FAF9F6;--primary-hover-bg:#FFFFFF;--primary-color:#1A1815;--primary-active-color:#1A1815;--accent:#7CC7BE;--accent-soft:rgba(124, 199, 190, 0.12);--ink-muted:#A39D92;--ink-faint:#8A857C;--ink-soft:#B5AFA2;--status-ready:#5FB27A;--status-progress:#E0A94A;--status-error:#F08A82;--status-inactive:#8A857C;--status-error-soft:rgba(240, 138, 130, 0.08);--status-error-soft-hover:rgba(240, 138, 130, 0.14);--admin-nav-bg:#1A1918;--admin-nav-active:rgba(124, 199, 190, 0.12);--admin-stat-bg:#25231F;--paper-card:#2C2925;--paper-bg-alt:#211E1B;--highlight:#3A341E;background-color:var(--canvas-bg-color);color:var(--color)}body{--canvas-bg-color:#FAF9F6;--sidebar-bg-color:#FFFFFF;--header-bg-color:#FAF9F6;--header-color:#1A1815;--main-bg-color:#FAF9F6;--hover-bg-color:rgba(26, 24, 21, 0.05);--input-color:#1A1815;--color:#1A1815;--link-color:#1F6A64;--link-hover-color:#17544F;--border-color:#E6E1D8;--border-soft:#EDE9E1;--btn-color:#1A1815;--input-bg:#FFFFFF;--primary-bg:#1A1815;--primary-hover-bg:#000000;--primary-color:#FAF9F6;--primary-active-color:#FAF9F6;--accent:#1F6A64;--accent-soft:#E4F0EE;--ink-muted:#6F6A61;--ink-faint:#8A857C;--ink-soft:#4A4641;--paper-bg-alt:#F3F1EC;--paper-card:#FFFFFF;--highlight:#FFF3C4;--status-ready:#2F7A44;--status-progress:#946512;--status-error:#B42318;--status-inactive:#8A857C;--status-error-soft:rgba(180, 35, 24, 0.04);--status-error-soft-hover:rgba(180, 35, 24, 0.08);--radius-control:6px;--radius-button:8px;--button-height:36px;--button-font-size:14px;--button-line-height:20px;--button-padding-x:13px;--button-compact-height:32px;--radius-surface:10px;--font-serif:'Instrument Serif','Iowan Old Style',Georgia,serif;--font-sans:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;background-color:var(--canvas-bg-color);color:var(--color);font-family:var(--font-sans);font-size:14px;letter-spacing:-.005em;line-height:1.5}.fadeIn{opacity:1;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:.6s}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}.btn:active,.btn:focus{box-shadow:none}:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:focus-visible,.dropdown-item:focus-visible,.form-control:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}input:active,input:hover{box-shadow:none!important}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,select:-webkit-autofill:focus,select:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{border-color:var(--border-color);-webkit-text-fill-color:var(--color);-webkit-box-shadow:none;transition:background-color 1000s ease-in-out 0s}.custom-select,.form-control,input:-internal-autofill-selected{color:var(--input-color);background-color:var(--input-bg)!important;border-color:var(--border-color)}.form-control:focus{border-color:var(--border-color)}body,html{position:relative;height:100%;overflow-x:hidden}body{overflow-y:hidden}#app{flex:1 1 auto;min-height:0}.app-header{flex:0 0 auto}@media (min-width:992px){.app-header.is-contained .navbar{padding-left:max(40px,calc((100% - 1140px)/ 2 + 32px))!important;padding-right:max(40px,calc((100% - 1140px)/ 2 + 32px))!important}}.app-view{display:block;flex:1 1 auto;min-height:0;overflow-x:hidden!important;overflow-y:auto!important;max-width:100%}.markdown-body a,a{color:var(--link-color)}.markdown-body a:hover,a:hover{text-decoration:none;color:var(--link-hover-color)}.dropdown-menu a.dropdown-item{color:var(--color)}.dropdown-menu a.dropdown-item:hover{color:var(--color);text-decoration:none}.markdown-body .emoji{height:1.3em;margin:0;vertical-align:-.1em}.navbar.navbar-expand-lg{background:var(--header-bg-color)!important;border-bottom:1px solid var(--border-color);transition:background-color .5s ease;padding:10px max(20px,calc((100vw - 1200px)/ 2));font-family:var(--font-sans)}.navbar-toggler{border:1px solid var(--border-color)!important;color:var(--color)!important;width:44px;height:40px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control)!important}.navbar-toggler .navbar-toggler-icon{width:22px;height:22px}.navbar-toggler .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='%231A1815' stroke-width='2' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E")!important}.navbar .navbar-nav{align-items:center}.navbar .nav-link{display:inline-flex;align-items:center;font-size:13px;color:var(--ink-muted)!important;padding:6px 0!important;margin:0 12px;border-bottom:1px solid transparent;letter-spacing:-.005em;line-height:1}.navbar .nav-link:hover{color:var(--color)!important}.navbar .nav-link.active{color:var(--color)!important;border-bottom-color:var(--color)}.navbar .nav-link.nav-icon{padding:0!important;margin:0 8px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.navbar .nav-link .fa,.navbar .nav-link .fab{font-size:15px;line-height:1}.navbar #navbarSupportedContent{align-items:center}.navbar-brand{font-family:var(--font-serif)!important;font-size:20px!important;letter-spacing:-.01em;color:var(--color)!important;padding-right:18px;margin-right:12px;border-right:1px solid var(--border-color)}.navbar-brand em,.navbar-brand i{font-style:italic;font-weight:400}.navbar-dark .navbar-toggler{border-color:var(--border-color);color:var(--color)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='%231A1815' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar .btn-signin{display:inline-flex;align-items:center;height:32px;padding:0 14px!important;margin-left:6px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--color)!important;border-radius:var(--radius-control);font-size:13px;font-weight:500;line-height:1}.dark-mode .navbar .btn-signin{border-color:#5a554d;background:0 0}.navbar .btn-signin:hover{background:var(--hover-bg-color);border-color:var(--ink-faint);color:var(--color)!important}.navbar .nav-support{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;order:3;gap:6px;min-height:32px;margin-left:4px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink-muted);font-size:13px;font-weight:500;text-decoration:none}.navbar .nav-support:hover{background:var(--hover-bg-color);color:var(--color)}.navbar button.nav-link{background:0 0;border:0;cursor:pointer}.navbar .nav-link:focus-visible,.navbar .nav-support:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-control)}.navbar .nav-signin-m{display:none}@media (min-width:992px){.navbar>.nav-support{display:none!important}}.navbar .nav-support-inline{display:inline-flex!important;align-items:center;gap:6px}.navbar .nav-support-inline .ui-icon{width:15px;height:15px}@media (max-width:991px){.navbar .nav-signin-m{display:inline-flex;align-items:center;order:0;height:40px;padding:0 14px;margin-left:0;margin-right:8px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);color:var(--color);font-size:13px;font-weight:500;text-decoration:none}.navbar .nav-support{order:0;width:44px;min-height:44px;margin:0 8px 0 auto;padding:0}.navbar .nav-support-label{display:none}[class*=floatingchat-container-wrap],iframe.floatingchat-container{display:none!important}}.navbar .user-chip{display:inline-flex!important;align-items:center;gap:8px;padding:4px 12px 4px 6px!important;margin-left:6px;border:1px solid var(--border-color);border-radius:999px;background:var(--sidebar-bg-color);font-size:12.5px;color:var(--color)!important}.navbar .user-chip:hover{background:var(--hover-bg-color)}.navbar .user-chip img{width:22px;height:22px}.navbar .user-chip .user-chip-name{color:var(--color);font-weight:500}.navbar .user-chip::after{color:var(--ink-muted)}#navbarSupportedContent{padding-right:0}.generalMessage{display:block;text-align:center;color:var(--header-color)}.rgba-gradient{background:var(--canvas-bg-color);color:var(--color)}.paper-landing{overflow-x:clip}.paper-wrap{width:min(1076px,calc(100% - 64px));margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}.paper-eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.paper-hero{max-width:1140px;margin:0 auto;padding:40px 32px 0;display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.paper-hero h1.hero-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.025em;margin:14px 0 0;color:var(--color);text-wrap:balance}.paper-hero h1 .accent{color:var(--accent);font-style:italic}.hero-subtitle{margin-top:18px;font-size:17px;line-height:1.55;color:var(--ink-soft);max-width:30em;text-wrap:pretty}.paper-cta-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:26px}.btn-hero{display:inline-flex;align-items:center;font-family:var(--font-sans);border:1px solid var(--color);background:var(--color);color:var(--canvas-bg-color);padding:12px 20px;font-size:14px;font-weight:500;border-radius:var(--radius-control);letter-spacing:-.005em;transition:background .15s,border-color .15s,transform .1s}.btn-hero:hover{background:var(--primary-hover-bg);border-color:var(--primary-hover-bg);color:var(--canvas-bg-color);text-decoration:none;transform:translateY(-1px)}.btn-hero-ghost{background:0 0;border:1px solid var(--border-color);color:var(--color);padding:12px 20px;font-size:14px;font-weight:500;border-radius:var(--radius-control)}.btn-hero-ghost:hover{background:var(--hover-bg-color);border-color:var(--color);color:var(--color)}.paper-link-arrow{font-size:14px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--border-color)}.paper-link-arrow:hover{color:var(--color);text-decoration-color:var(--color)}.paper-reassure{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-muted)}.paper-reassure li{white-space:nowrap}@media (min-width:1100px){.paper-reassure{flex-wrap:nowrap}}.paper-reassure li::before{content:"\2713";color:var(--status-ready);margin-right:7px;font-size:14px;font-weight:600}.paper-frame{border-radius:var(--radius-surface);background:var(--paper-card);border:1px solid var(--border-color);box-shadow:0 24px 60px rgba(26,24,21,.1),0 2px 6px rgba(26,24,21,.04);overflow:hidden}.dark-mode .paper-frame{box-shadow:0 24px 60px rgba(0,0,0,.45)}.paper-frame-bar{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-bottom:1px solid var(--border-soft);background:var(--paper-bg-alt);font-family:var(--font-mono);font-size:11px;color:var(--ink-muted)}.paper-frame-bar .dots{display:flex;gap:5px}.paper-frame-bar .dots i{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--ink-faint) 45%,transparent)}.paper-frame-bar .url{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-frame img{display:block;width:100%;height:auto}.paper-hero-shot .paper-frame{width:100%}.hero-mock{display:grid;grid-template-columns:168px 1fr;min-height:360px;font-family:var(--font-sans);text-align:left}.hero-mock-tree{background:var(--paper-bg-alt);border-right:1px solid var(--border-soft);padding:12px 8px}.hero-mock-tree-title{font-size:11px;font-weight:600;color:var(--ink-muted);padding:0 8px 8px}.hero-mock-row{display:flex;align-items:center;gap:7px;height:26px;padding:0 8px;border-radius:var(--radius-control);font-size:12.5px;color:var(--ink-soft);white-space:nowrap}.hero-mock-row svg{width:14px;height:14px;flex-shrink:0;fill:none;stroke:var(--ink-muted);stroke-width:1.2;stroke-linejoin:round}.hero-mock-row.is-active{background:rgba(128,128,128,.15);color:var(--color);font-weight:500}.hero-mock-doc{min-width:0;background:var(--paper-card)}.hero-mock-doc-bar{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 18px;border-bottom:1px solid var(--border-soft);font-size:13px}.hero-mock-doc-bar span{font-size:12px;color:var(--ink-muted)}.hero-mock-doc-body{padding:18px 22px 22px;font-size:13.5px;line-height:1.6;color:var(--color)}.hero-mock-doc-body p{margin:0 0 10px}.hero-mock-h1{font-size:22px;font-weight:600;letter-spacing:-.01em;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--border-soft)}.hero-mock-h2{font-size:15px;font-weight:600;margin:16px 0 8px}.hero-mock-doc-body pre{margin:0 0 12px;padding:10px 12px;background:var(--paper-bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--color)}.hero-mock .redact{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:1px 5px;font-family:var(--font-mono);font-size:.88em}@media (max-width:575px){.hero-mock{grid-template-columns:1fr;min-height:0}.hero-mock-tree{display:none}}.paper-proof{margin-top:48px;padding-top:18px;padding-bottom:18px;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:12px 30px;align-items:center}.paper-proof-venues{display:flex;gap:22px;align-items:center;font-family:var(--font-serif);font-size:22px;letter-spacing:-.01em;color:var(--ink-soft)}.paper-proof-venues i{font-style:normal;font-family:var(--font-sans);font-size:14px;color:var(--ink-faint)}.paper-stats{margin-top:40px;padding-top:16px;border-top:1px solid var(--border-color)}.paper-stats-meta-left{display:inline-flex;align-items:center;gap:8px}.paper-stats-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}.paper-stats-meta-right{display:inline-flex;align-items:center;gap:6px}.paper-stats-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--status-ready)}.paper-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.paper-stat-card{display:flex;flex-direction:column;padding:22px 26px 20px 0;margin-right:26px;border-right:1px solid var(--border-color);min-width:0}.paper-stat-card:last-child{border-right:0;margin-right:0;padding-right:0}.paper-stat-value{font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--color);font-variant-numeric:tabular-nums}.paper-stat-label{margin-top:6px;font-size:13px;color:var(--ink-soft)}.paper-stat-value.is-pending{color:var(--ink-faint)}.paper-stat-bars{display:block;width:100%;height:34px;margin-top:18px;overflow:visible}.paper-stat-bars rect{fill:color-mix(in srgb,var(--ink-muted) 55%,transparent)}.paper-stat-bars rect.is-latest{fill:var(--accent)}.paper-stat-delta{margin-top:10px;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.paper-section-head{margin-top:88px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}.paper-section-head>p{padding-top:34px}@media (max-width:991px){.paper-section-head>p{padding-top:0}}.paper-qa h2,.paper-section-head h2{font-family:var(--font-serif);font-weight:400;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.05;letter-spacing:-.02em;margin:10px 0 0;color:var(--color);text-wrap:balance}.paper-feature-title em,.paper-qa h2 em,.paper-section-head h2 em{font-style:italic;color:var(--accent)}.paper-section-head p{font-size:15px;color:var(--ink-soft);max-width:32em;margin:0;line-height:1.6}.paper-preview{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.paper-preview .pane{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);overflow:hidden;min-width:0}.paper-preview .pane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.paper-preview .pane-label{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);white-space:nowrap}.paper-preview .pane-url{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.paper-preview .pane-body{padding:16px 18px;font-family:var(--font-mono);font-size:12.5px;line-height:1.9;color:var(--ink-soft)}.paper-preview .pane-body strong{color:var(--color);font-weight:600}.paper-preview .tok{color:var(--ink-faint)}.paper-preview .term{background:color-mix(in srgb,var(--status-error) 9%,transparent);color:inherit;border-radius:4px;padding:0 4px;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--status-error) 60%,transparent)}.dark-mode .paper-preview .term{background:color-mix(in srgb,var(--status-error) 16%,transparent)}.paper-preview .redact{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 5px}.paper-features{margin-top:28px;padding-top:28px;border-top:1px solid var(--border-color);display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}.paper-features-list{display:flex;flex-direction:column}.paper-feature{border-left:2px solid var(--border-soft);padding:16px 0 16px 20px;transition:border-color .2s}.paper-feature.is-on{border-left-color:var(--accent)}.paper-feature-tab{all:unset;display:block;position:relative;width:100%;cursor:pointer;color:inherit;border-radius:4px}.paper-feature:not(.is-on) .paper-feature-tab::after{content:"";position:absolute;right:4px;bottom:12px;width:8px;height:8px;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:rotate(45deg)}.paper-feature:not(.is-on) .paper-feature-tab:hover::after{border-color:var(--color)}.paper-feature.is-on .paper-feature-tab::after{content:"";position:absolute;right:4px;bottom:10px;width:8px;height:8px;border-right:1.5px solid var(--color);border-bottom:1.5px solid var(--color);transform:rotate(-135deg)}.paper-feature-tab:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.paper-feature-tab .paper-eyebrow{display:block;margin-bottom:6px}.paper-feature-title{display:block;font-family:var(--font-serif);font-size:24px;line-height:1.15;letter-spacing:-.015em;color:var(--color);transition:color .2s}.paper-feature-title em{color:inherit}.paper-feature-tab:hover .paper-feature-title,.paper-feature.is-on .paper-feature-title{color:var(--color)}.paper-feature.is-on .paper-feature-title em{color:var(--accent)}.paper-feature-more{display:none}.paper-feature.is-on .paper-feature-more{display:block}.paper-feature-more .paper-feature-title-m{display:none}.paper-feature-more p{font-size:14.5px;color:var(--ink-soft);line-height:1.55;margin:10px 0 12px;max-width:30em}.paper-features-stage{min-width:0}.paper-feature-panel{animation:paper-feature-in .25s ease-out}@keyframes paper-feature-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.paper-feature-panel{animation:none}}.paper-crop{position:relative;height:380px;overflow:hidden;background:var(--paper-card)}.paper-crop img{position:absolute;left:0;top:0;max-width:none;height:auto;display:block}.paper-crop-anonymize img{width:213%;transform:translate(-1.5%,-18%)}.paper-crop-review img{width:213%;transform:translate(0,-6.5%)}.paper-crop-manage img{width:213%;transform:translate(-12.3%,-6.5%)}.paper-qa{margin-top:88px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}.paper-qa h2{margin-bottom:12px}.paper-qa .q{border-top:1px solid var(--border-color);padding:18px 0}.paper-qa .q:last-child{border-bottom:1px solid var(--border-color)}.paper-qa .q a::after{content:none;display:inline-block;width:7px;height:7px;margin-left:10px;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:translateY(-2px) rotate(-45deg);transition:transform .15s,border-color .15s}.paper-qa .q a:hover::after{border-color:var(--accent);transform:translate(3px,-2px) rotate(-45deg)}.paper-qa .q a:hover{text-decoration:underline;text-underline-offset:3px}.paper-qa .q a{display:block;font-weight:500;font-size:15px;color:var(--color);margin-bottom:6px}.paper-qa .q a:hover{color:var(--accent);text-decoration:none}.paper-qa .q p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.6}@media (max-width:1100px){.paper-hero-shot .paper-frame{width:100%}}@media (max-width:991px){.paper-hero{grid-template-columns:1fr;gap:36px;padding-top:40px}.paper-qa,.paper-section-head{grid-template-columns:1fr;gap:16px}.paper-stats-grid{grid-template-columns:1fr 1fr}.paper-stat-card:nth-child(2n){border-right:0;margin-right:0;padding-right:0}.paper-stat-card:nth-child(-n+2){border-bottom:1px solid var(--border-color)}}@media (max-width:767px){.paper-wrap{width:calc(100% - 40px)}.paper-hero{padding-left:20px;padding-right:20px}.paper-reassure{flex-direction:column;gap:6px}.paper-hero h1.hero-title{font-size:clamp(2.4rem,11vw,3.25rem)}.hero-subtitle{font-size:16px}.paper-cta-row .btn-hero{width:100%;justify-content:center}.paper-proof{margin-top:48px}.paper-stat-card{padding:18px 16px 16px 0;margin-right:16px}.paper-stat-value{font-size:36px}.paper-qa,.paper-section-head{margin-top:72px}.paper-preview{grid-template-columns:1fr}.paper-preview .pane-body{font-size:11.5px;line-height:1.8}.paper-features{display:flex;flex-wrap:wrap;gap:0;padding-top:0;border-top:0;margin-top:24px}.paper-feature,.paper-features-list,.paper-features-stage{display:contents}.paper-feature-tab{order:1;flex:1 1 0;width:auto;padding:12px 0 10px;border-bottom:2px solid var(--border-color);border-radius:0;text-align:left}.paper-feature.is-on .paper-feature-tab{border-bottom-color:var(--color)}.paper-feature-tab .paper-eyebrow{margin:0;font-size:10.5px;letter-spacing:.08em}.paper-feature-tab .paper-feature-title{display:none}.paper-feature-panel{order:2;width:100%;margin-top:20px;animation:none}.paper-crop{height:240px}.paper-crop-anonymize img{width:230%;transform:translate(-1.5%,-8%)}.paper-crop-review img{width:240%;transform:translate(-1%,-8%)}.paper-crop-manage img{width:220%;transform:translate(-3%,-9%)}.paper-feature-more{order:3;width:100%}.paper-feature.is-on .paper-feature-more{margin-top:18px}.paper-feature-more .paper-feature-title-m{display:block;font-size:26px;line-height:1.1}.paper-feature-more p{max-width:none}.paper-footer-inner>.paper-footer-brand{grid-column:1/-1}.paper-footer-foot{flex-direction:column;gap:6px}}.dropdown-menu{background-color:var(--paper-card,var(--main-bg-color))!important;color:var(--color)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;box-shadow:0 12px 28px rgba(26,24,21,.08),0 2px 6px rgba(26,24,21,.05)!important;padding:6px!important;font-family:var(--font-sans);font-size:13px;min-width:11rem}.dropdown-menu .dropdown-item{color:var(--color)!important;padding:7px 10px!important;border-radius:5px;font-size:13px}.dropdown-menu .dropdown-item:focus,.dropdown-menu .dropdown-item:hover{background:var(--hover-bg-color)!important;color:var(--color)!important}.dropdown-menu .dropdown-divider{border-top-color:var(--border-color)!important;margin:4px 2px}.dropdown-menu .dropdown-header{color:var(--ink-muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.body,.file-content,.markdown-body{background-color:var(--main-bg-color)!important;color:var(--color)!important}.markdown-body table tr{background-color:var(--main-bg-color);border-top:1px solid var(--border-color)}.markdown-body table tr:nth-child(2n){background-color:var(--paper-bg-alt)}.markdown-body table td,.markdown-body table th{border:1px solid var(--border-color)}.file-content{padding:4px 7px;text-align:left;min-height:100%}.file-card{margin:16px 20px 28px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);overflow:clip}.file-card:not(.is-code) .file-card-head{position:sticky;top:0;z-index:2;border-radius:var(--radius-surface) var(--radius-surface) 0 0}.file-card.is-code{display:flex;flex-direction:column;height:calc(100% - 32px);margin-bottom:16px}.file-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:6px 8px 6px 16px;border-bottom:1px solid var(--border-color);background:var(--paper-card)}.dark-mode .file-card-head{background:var(--paper-card)}.file-card-meta{font-size:13px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.file-card-meta .sep{margin:0 8px;color:var(--ink-faint)}.file-card-head .btn{height:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;padding:0 10px}.file-card-head .btn-seg:not(.view-switch){gap:2px;padding-left:8px;margin-left:4px;border-left:1px solid var(--border-color)}.file-card-head .btn-seg:not(.view-switch)>.btn{border:0!important;border-radius:var(--radius-control)!important;margin:0!important;background:0 0!important;color:var(--ink-soft)}.file-card-head .btn-seg:not(.view-switch)>.btn:hover{background:var(--hover-bg-color)!important;color:var(--color)}.file-card-actions>.btn-seg:first-child,.file-card-head .btn-seg:not(.view-switch):has(>.btn:only-child){border-left:0;padding-left:0;margin-left:0}.file-card-head .btn.btn-icon-only{width:32px;padding:0!important;color:var(--ink-soft)}.file-card-head .btn.btn-icon-only:hover{color:var(--color);background:var(--hover-bg-color)!important}.file-card .file-card-body{flex:1 1 auto;min-height:0}.file-card-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}.file-card-path{display:none;align-items:center;gap:2px;min-width:0}.file-card-path .paths{overflow:hidden}.file-card-path+.file-card-meta,.file-card-path+.view-switch{margin-left:8px}.status-bar.is-redundant{display:none}.file-card-path{display:inline-flex}@media (max-width:767px){.file-card-head{flex-wrap:wrap;row-gap:0}.file-card-head .file-card-meta{order:3;flex-basis:100%;margin:0 0 6px!important;padding:0!important;border:0!important;font-size:12px;color:var(--ink-muted)}.file-card-head .file-card-meta .meta-extra{display:inline!important}.file-card-head .btn-ghost{color:var(--ink-soft)}.file-card-head .breadcrumb-root,.file-card-head .breadcrumb-root+.breadcrumb-item::before{display:none!important}.file-card-head .breadcrumb-item{padding-left:0}.file-card-head{gap:6px;padding:6px 8px 6px 16px}.file-card-actions{gap:2px}.file-card-actions .btn-seg{margin-left:4px}}@media (min-width:992px){.file-card-path+.file-card-meta{padding-left:14px;border-left:1px solid var(--border-color)}.file-card{margin-top:20px}.file-card.is-code{height:calc(100% - 36px)}}.card-files-btn{margin-right:4px}.leftCol-zip{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--ink-soft);text-decoration:none}.leftCol-zip:hover{color:var(--color);text-decoration:none}.leftCol-zip .ui-icon{width:15px;height:15px}.file-card-actions .btn-seg{margin-left:6px}.file-card-head .btn.btn-find,.file-card-head .btn.btn-goto{padding:0 10px;gap:6px;font-weight:400}@media (max-width:1180px){.file-card-head .btn-find .btn-find-label,.file-card-head .btn-goto .btn-find-label{display:none}.file-card-head .btn-find,.file-card-head .btn-goto{width:32px;padding:0!important}}@media (max-width:991px){.file-card-head .btn-find{width:32px;padding:0!important}.file-card-head .btn-find-label{display:none}}@media (max-width:767px){.file-card-head .btn-find{width:40px}}.ace_search{top:8px!important;right:12px!important;left:auto!important;background:var(--paper-card)!important;color:var(--color)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-surface)!important;box-shadow:0 8px 24px rgba(26,24,21,.14);padding:6px!important;font-family:var(--font-sans)!important;font-size:13px!important}.ace_search_field{background:var(--input-bg)!important;color:var(--input-color)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important;margin-right:4px!important;height:28px!important;padding:0 8px!important;font-family:var(--font-sans)!important}.ace_search_field:focus{border-color:var(--ink-muted)!important;outline:0;box-shadow:0 0 0 3px var(--hover-bg-color)}.ace_button,.ace_searchbtn{background:0 0!important;color:var(--ink-soft)!important;border:0!important;border-radius:var(--radius-control)!important;width:28px;height:28px!important;line-height:28px!important}.ace_button:hover,.ace_searchbtn:hover{background:var(--hover-bg-color)!important;color:var(--color)!important}.ace_button.checked{border-color:var(--accent)!important;color:var(--accent)!important}.ace_search_counter{color:var(--ink-soft)!important;font-size:13px;margin:0 8px 0 4px!important;font-variant-numeric:tabular-nums}.ace_search{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;max-width:none!important;width:auto!important}.dark-mode .ace_search{background:var(--paper-card)!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}.ace_search .ace_button[action=searchInSelection],.ace_search .ace_button[action=toggleReplace],.ace_search .ace_replace_form,.ace_search .ace_searchbtn[action=findAll]{display:none!important}.ace_search_field{width:200px!important}.ace_search_form{display:flex;align-items:center;margin:0!important;float:none!important}.ace_search_options{display:flex!important;align-items:center;gap:4px;margin:0!important;float:none!important;text-align:left!important}.ace_search_options .ace_button{width:28px;height:28px!important;line-height:26px!important;padding:0!important;border-radius:var(--radius-control)!important;font-size:12px!important;text-align:center}.ace_searchbtn_close{position:static!important;margin-left:2px}.ace_editor .ace_marker-layer .ace_selected-word{background:color-mix(in srgb,#e0a94a 30%,transparent)!important;border:0!important;border-radius:2px}.ace_editor.ace-chrome .ace_marker-layer .ace_selection,.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:#f2b544!important;box-shadow:0 0 0 1px #b7791f;border-radius:2px}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:#b7791f!important;box-shadow:0 0 0 1px #f2b544}.ace_editor .ace_indent-guide-active{background:0 0!important;box-shadow:inset 1px 0 0 var(--border-color)!important}.ace_searchbtn_close{filter:none!important;opacity:.6}.ace_prompt_container{background:var(--paper-card)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-surface)!important;box-shadow:0 12px 32px rgba(26,24,21,.16)!important}.btn.btn-ghost{background:0 0!important;border-color:transparent!important;color:var(--ink-muted)}.btn.btn-ghost:hover{background:var(--hover-bg-color)!important;color:var(--color)}.btn.btn-ghost.is-on{color:var(--color);background:var(--hover-bg-color)!important;box-shadow:none}.btn.btn-ghost:focus:not(:focus-visible):not(.is-on):not(:hover){background:0 0!important;box-shadow:none}.dark-mode .file-card-head .btn-seg .btn{background:0 0!important;border-color:var(--border-color)!important;color:var(--color);font-weight:500}.file-card-head .btn.btn-find,.file-card-head .btn.btn-goto{color:var(--ink-soft)}.file-card-head>.view-switch{gap:2px;padding:2px;border-radius:calc(var(--radius-control) + 2px);background:var(--hover-bg-color)}.file-card-head>.view-switch .btn{height:28px;min-height:28px;margin:0!important;border:0!important;border-radius:var(--radius-control)!important;background:0 0!important;color:var(--ink-soft);font-weight:500}.file-card-head>.view-switch .btn:hover{color:var(--color)}.file-card-head>.view-switch .btn.is-on{background:var(--paper-card)!important;color:var(--color);box-shadow:0 1px 2px rgba(26,24,21,.1),0 0 0 1px var(--border-color);cursor:default}.dark-mode .file-card-head>.view-switch .btn.is-on{background:#3d3934!important;box-shadow:none}.status-bar .btn.btn-ghost.btn-zip{color:var(--ink-soft)}.copy-path-btn{margin-left:-4px}@media (max-width:767px){.file-card-head .btn,.file-card-head .btn.btn-icon-only{height:40px;min-height:40px}.file-card-head .btn.btn-icon-only{width:40px}.copy-path-btn{display:none!important}}.file-card .ace_editor{height:100%!important}@media (max-width:767px){.file-card{margin:0;border:0;border-radius:0}.file-card.is-code{height:100%}.file-card-head{position:sticky;top:0;z-index:2;padding-left:16px}}.dir-card{margin:20px 20px 0;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);overflow:hidden}.dir-card+.file-card{margin-top:16px}.dir-card-head{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt)}.dark-mode .dir-card-head{background:#35312c}.dir-card-title{font-size:14px;font-weight:600;color:var(--color)}.dir-card-sub{font-size:13px;color:var(--ink-muted)}.dir-list{list-style:none;margin:0;padding:4px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0}.dir-row{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 16px;border:0;background:0 0;font:inherit;font-size:14px;color:var(--color);text-align:left;text-decoration:none;cursor:pointer}.dir-row:hover{background:var(--hover-bg-color);color:var(--color);text-decoration:none}.dir-row:hover .dir-name{text-decoration:underline;text-underline-offset:3px}.dir-row.is-current .dir-name{font-weight:600}.dir-icon{width:16px;height:16px;flex-shrink:0;fill:none;stroke:var(--ink-muted);stroke-width:1.2;stroke-linejoin:round}.dir-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-meta{flex-shrink:0;font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.dir-list:not(.is-expanded)>li:nth-child(n+9){display:none}.dir-more{display:block;width:100%;height:40px;border:0;border-top:1px solid var(--border-soft);background:0 0;font:inherit;font-size:13px;font-weight:500;color:var(--link-color);cursor:pointer}.dir-more:hover{background:var(--hover-bg-color)}@media (max-width:767px){.dir-card{margin:0;border:0;border-bottom:1px solid var(--border-color);border-radius:0}.dir-list{grid-template-columns:1fr}.dir-card+.file-card{margin-top:0}}.explorer-content .file-card .file-content.markdown-body{max-width:920px;margin:0;min-height:0;padding:28px 40px 48px;background:var(--paper-card)!important;font-family:var(--font-sans);font-size:15px;line-height:1.65}.explorer-content .markdown-body h1,.explorer-content .markdown-body h2{font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em;border-bottom:1px solid var(--border-color);padding-bottom:.3em}.explorer-content .markdown-body h1{font-size:28px;margin-top:0}.explorer-content .markdown-body h2{font-size:21px;margin-top:32px}.explorer-content .markdown-body h3{font-size:17px;font-weight:600;margin-top:24px}.explorer-content .markdown-body h4{font-size:15px;font-weight:600}.explorer-content .markdown-body img{border-radius:var(--radius-control)}.explorer-content .markdown-body p>a:only-child>img,.explorer-content .markdown-body p>img:only-child{border:1px solid var(--border-color)}.explorer-content .markdown-body code,.explorer-content .markdown-body pre{font-family:var(--font-mono);font-size:13px}.explorer-content .markdown-body pre{background:var(--paper-bg-alt)!important;border:1px solid var(--border-soft);border-radius:var(--radius-control);padding:14px 16px;line-height:1.55}.explorer-content .markdown-body :not(pre)>code{background:var(--hover-bg-color);border-radius:4px;padding:.15em .4em;font-size:.86em}@media (max-width:767px){.explorer-content .file-card .file-content.markdown-body{padding:20px 16px 72px;font-size:15px}.explorer-content .markdown-body h1{font-size:24px}}.ace_editor.ace-chrome,.ace_editor.ace-nord-dark{background:var(--paper-card)!important;color:var(--color)!important}.ace_editor.ace-chrome .ace_gutter,.ace_editor.ace-nord-dark .ace_gutter{background:color-mix(in srgb,var(--paper-bg-alt) 55%,var(--paper-card))!important;color:var(--ink-muted)!important;border-right:1px solid var(--border-soft)}.ace_editor .ace_gutter-cell{padding-right:14px;padding-left:12px;font-size:12px}@media (max-width:767px){.ace_editor .ace_gutter-cell{padding-right:8px;padding-left:6px}}.ace_editor .ace_gutter-active-line{background:0 0!important}.ace_editor .ace_indent-guide{background:0 0!important;box-shadow:inset 1px 0 0 var(--border-soft)}.ace_editor .ace_fold-widget{opacity:0;transition:opacity .15s}.ace_editor .ace_fold-widget.ace_closed,.ace_editor .ace_gutter:hover .ace_fold-widget{opacity:.7}.ace_editor .ace_marker-layer .ace_selection{background:var(--accent-soft)!important}.ace-chrome .ace_keyword,.ace-chrome .ace_storage{color:#b4362a}.ace-chrome .ace_string{color:#2b5a3e}.ace-chrome .ace_constant.ace_language,.ace-chrome .ace_constant.ace_numeric,.ace-chrome .ace_support.ace_constant{color:#1f6a64}.ace-chrome .ace_comment{color:#7a746a;font-style:italic}.ace-chrome .ace_entity.ace_name.ace_function,.ace-chrome .ace_support.ace_function{color:#6b45b8}.ace-chrome .ace_variable.ace_parameter{color:#8a5a12;font-style:normal}.ace-chrome .ace_entity.ace_name.ace_tag,.ace-chrome .ace_meta.ace_tag{color:#116329}.ace-chrome .ace_entity.ace_other.ace_attribute-name{color:#0550ae}.ace-chrome .ace_identifier,.ace-chrome .ace_paren,.ace-chrome .ace_punctuation,.ace-chrome .ace_variable{color:var(--color)}.ace-nord-dark .ace_keyword,.ace-nord-dark .ace_storage{color:#f2897d}.ace-nord-dark .ace_string{color:#9dd3a8}.ace-nord-dark .ace_constant.ace_language,.ace-nord-dark .ace_constant.ace_numeric,.ace-nord-dark .ace_support.ace_constant{color:#7cc7be}.ace-nord-dark .ace_comment{color:#9a948a;font-style:italic}.ace-nord-dark .ace_entity.ace_name.ace_function,.ace-nord-dark .ace_support.ace_function{color:#c9a8f5}.ace-nord-dark .ace_variable.ace_parameter{color:#e0a94a;font-style:normal}.ace-nord-dark .ace_entity.ace_name.ace_tag,.ace-nord-dark .ace_meta.ace_tag{color:#7ee787}.ace-nord-dark .ace_entity.ace_other.ace_attribute-name{color:#79c0ff}.ace-nord-dark .ace_identifier,.ace-nord-dark .ace_paren,.ace-nord-dark .ace_punctuation,.ace-nord-dark .ace_variable{color:var(--color)}.badge{font-size:75%;font-weight:500;padding:3px 8px;border-radius:10px;vertical-align:middle}.warning-feedback{width:100%;margin-top:.25rem;font-size:80%;color:#dc8e35}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--hover-bg-color)}.card-header .btn,.card-header .btn:focus,.card-header .btn:hover{border:none!important;background:0 0!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--button-height);padding:7px var(--button-padding-x);font:500 var(--button-font-size)/var(--button-line-height) var(--font-sans);vertical-align:middle;max-width:100%;transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease;color:var(--btn-color);border:1px solid var(--border-color);background:var(--paper-card);border-radius:var(--radius-button);white-space:nowrap}.btn:active,.btn:hover{color:var(--btn-color);border:1px solid var(--border-color);background-color:var(--hover-bg-color);box-shadow:none!important}.btn.btn-primary{color:var(--primary-color);background-color:var(--primary-bg)}.btn.btn-primary:active,.btn.btn-primary:hover{color:var(--primary-active-color);background-color:var(--primary-hover-bg)!important}.btn::placeholder{color:var(--color);opacity:1}.white_border{border:1px solid #fff;color:#fff}.leftCol{display:flex;position:relative;flex:0 0 auto;width:100%;z-index:9;flex-direction:column}.card,.leftCol,.sidePanel{background-color:var(--sidebar-bg-color);border:1px solid var(--border-color)}@media (min-width:768px){.leftCol{flex:0 0 var(--sidebar-w,280px);width:var(--sidebar-w,280px);height:100%}}.leftCol-search{padding:10px 12px 0}.tree-search-box{display:flex;align-items:center;gap:8px;background:var(--canvas-bg-color);border:1px solid var(--border-color);border-radius:8px;padding:7px 10px;transition:border-color .15s}.tree-search-box:focus-within{border-color:var(--ink-muted)}.tree-search-icon{font-size:12px;color:var(--ink-muted);flex-shrink:0}.tree-search-input{flex:1;border:none;outline:0;background:0 0;font-family:var(--font-sans);font-size:13px;color:var(--color);min-width:0}.tree-search-input::placeholder{color:var(--ink-muted)}.tree-search-kbd{font-family:var(--font-sans);font-size:11px;color:var(--ink-muted);background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:4px;padding:1px 6px;line-height:1.4;flex-shrink:0}.tree-search-clear{background:0 0;border:none;color:var(--ink-muted);font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.tree-search-clear:hover{color:var(--color)}.leftCol-project-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 4px;gap:8px}.project-name{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.project-file-count{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);white-space:nowrap;flex-shrink:0;margin-left:auto}.files{position:relative;display:block;overflow:auto;height:100%;padding:4px 6px}.files ul{list-style:none;margin:0;padding:0}.files li ul{padding-left:8px;margin-left:7px;border-left:1px solid var(--border-color)}.files .folder>ul{display:none}.files .folder.open>ul{display:block}.files .file,.files .folder{position:relative;color:var(--ink-soft);cursor:pointer;word-break:break-all}.files a{display:flex;align-items:center;gap:5px;min-height:26px;padding:2px 8px 2px 4px;font-family:var(--font-sans);font-size:13px;color:var(--ink-soft);border-radius:var(--radius-control);text-decoration:none;line-height:1.5;position:relative}.files a:hover{background:var(--hover-bg-color);color:var(--color);text-decoration:none}.files:focus{outline:0}.files a.tree-focused{background:var(--hover-bg-color);color:var(--color)}.files .file.active>a::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:0 2px 2px 0;background:var(--accent)}.files .file.active>a{border-radius:0 var(--radius-control) var(--radius-control) 0;background:rgba(128,128,128,.12);color:var(--color);font-weight:500}.files .file.active>a .tree-icon-file{color:var(--color)}.files .file.active>a .tree-count{color:var(--ink-muted)}.tree-icon-file,.tree-icon-folder{display:inline-block;flex-shrink:0}.tree-icon-folder{width:14px;height:12px;color:var(--ink-muted);opacity:.75}.tree-icon-folder svg{display:block;width:100%;height:100%;fill:currentColor;fill-opacity:0;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}.files .folder.open>a .tree-icon-folder{color:var(--ink-muted);opacity:1}.files .folder.open>a .tree-icon-folder svg{fill-opacity:.12}.tree-icon-file{width:16px;font-size:14px;text-align:center;color:var(--ink-muted)}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:12px;height:14px;flex-shrink:0;opacity:.8}.tree-toggle::after{content:"";display:block;width:6px;height:6px;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:translateX(-1px) rotate(-45deg);transition:transform .12s ease}.files .folder.open>a .tree-toggle::after{transform:translateY(-2px) rotate(45deg)}.tree-spacer{display:inline-block;width:12px;flex-shrink:0}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files a:not(:hover):not(.tree-focused) .tree-count{opacity:0}.tree-count{transition:opacity .12s;font-family:var(--font-sans);font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-muted);flex-shrink:0;margin-left:auto;padding-left:8px;opacity:.7}.files .folder>a{color:var(--color)}.files .file::before,.files .folder::before{display:none}.files .folder>a::after{display:none}.tree-search-path{color:var(--ink-muted);font-size:11px}.tree-search-empty{padding:16px 12px;color:var(--ink-muted);font-size:12.5px;font-family:var(--font-sans);text-align:center}.leftCol{background:var(--paper-bg-alt,#f3f1ec);border:0;border-right:1px solid var(--border-color)}.dark-mode .leftCol{background:var(--paper-bg-alt)}.dark-mode .explorer-content .markdown-body img{filter:brightness(.8)}.dark-mode .hero-mock-tree{background:#1f1d1a}.dark-mode .hero-mock-row.is-active{background:rgba(255,255,255,.1)}.dark-mode .files .file.active>a{background:rgba(255,255,255,.1)}.status-bar{background:var(--canvas-bg-color);border-bottom:1px solid var(--border-color);padding:8px 20px;min-height:48px}.paths .breadcrumb-item,.paths .breadcrumb-item a{font-family:var(--font-sans);font-size:14px;color:var(--ink-muted);letter-spacing:0}.paths .breadcrumb-root a{color:var(--link-color)}.paths .breadcrumb-root a:hover{text-decoration:underline;text-underline-offset:3px}.paths .breadcrumb-item.active,.paths .breadcrumb-item:last-child{color:var(--color);font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:0}.status-files-btn{display:none!important}.leftCol-resizer{display:none}@media (min-width:992px){.leftCol-resizer{display:block;position:absolute;top:0;bottom:0;left:calc(var(--sidebar-w,280px) - 3px);width:6px;cursor:col-resize;z-index:10}.leftCol-resizer:hover,body.is-resizing .leftCol-resizer{background:color-mix(in srgb,var(--accent) 35%,transparent)}body.is-resizing{cursor:col-resize;user-select:none}}.leftCol-hide{display:none;align-items:center;justify-content:center;width:26px;height:26px;margin-right:-6px;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-muted);cursor:pointer}.leftCol-hide:hover{background:var(--hover-bg-color);color:var(--color)}.leftCol-hide .ui-icon{width:16px;height:16px}@media (min-width:992px){.leftCol-hide{display:inline-flex}.explorer-page.files-hidden .leftCol{display:none!important}.explorer-page.files-hidden .status-files-btn{display:inline-flex!important}}@media (max-width:991px){.status-files-btn{display:inline-flex!important;flex-shrink:0}.explorer-page .sidebar-toggle{display:none!important}}@media (max-width:767px){.status-bar .btn,.status-bar .btn.btn-icon-only{min-height:40px}.status-bar .btn.btn-icon-only{width:40px}}.dark-mode .status-bar .btn{background:var(--paper-card)}.btn-seg{display:inline-flex}.btn-seg>.btn{border-radius:0;margin:0}.btn-seg>.btn+.btn{margin-left:-1px}.btn-seg>.btn:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.btn-seg>.btn:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.btn-seg>.btn:focus-visible,.btn-seg>.btn:hover{position:relative;z-index:1}.status-bar .btn{height:32px;min-height:32px;display:inline-flex;align-items:center;gap:6px}.status-bar .btn.btn-icon-only{padding-left:0;padding-right:0;width:32px;justify-content:center}.status-files-btn{gap:6px}@media (max-width:991px){.status-files-btn{height:40px!important;min-height:40px!important;padding:0 12px;border-radius:var(--radius-control)}}@media (max-width:767px){.file-card.is-code.no-wrap{position:relative}.file-card.is-code.no-wrap::after{content:"";position:absolute;top:46px;right:0;bottom:0;width:44px;pointer-events:none;background:linear-gradient(to right,transparent,var(--paper-card) 85%);z-index:20}.file-card-head .btn-goto{display:none!important}}@media (max-width:575px){.status-bar .btn-zip{display:none!important}.navbar .nav-support{display:none!important}.navbar .nav-signin-m{margin-left:auto}}.ace_editor .ace_gutter-cell{cursor:pointer}.ace_editor .ace_gutter-cell:hover{color:var(--color)}.status-bar .file-meta{flex:0 0 auto;margin-right:auto;font-size:12px;color:var(--ink-muted);white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width:575px){.status-bar .file-meta{display:none}}.paths .breadcrumb-item+.breadcrumb-item::before{content:'/';color:var(--ink-faint);padding:0 6px 0 3px}.last-update{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);padding:8px 10px;border-top:1px solid var(--border-color);letter-spacing:.02em}.ace_editor{height:100%}.ace_scroller{cursor:default}.status-bar{display:flex;align-items:center;gap:12px;background-color:var(--canvas-bg-color);padding:10px 14px;margin:0;border-bottom:1px solid var(--border-color);border-radius:0;flex-shrink:0}.status-bar-actions{display:flex;align-items:center;margin-left:auto;gap:10px;flex-shrink:0}.status-bar-actions .btn{display:inline-flex;align-items:center;gap:6px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);border-radius:6px;padding:4px 10px;font-size:12.5px;min-height:30px}.status-bar-actions .btn:hover{background:var(--hover-bg-color);color:var(--color)}.status-bar-actions .btn.btn-active{border-color:currentColor;font-weight:600}.paths{flex:0 1 auto;min-width:0;padding:0;margin:0;background-color:initial;border:none;border-radius:0;align-items:center;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap}.paths::-webkit-scrollbar{display:none}.paths a{color:var(--color)}.paths .breadcrumb-item{padding-left:3px}.paths .breadcrumb-item::before{padding-right:3px}.content{height:100%;overflow:scroll;padding-top:42px;background-color:var(--main-bg-color);text-align:center}.image-content{max-width:100%;max-height:100%;text-align:center;padding:4px}.pdf-viewer{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--main-bg-color)}.pdf-toolbar{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:4px 8px;border-bottom:1px solid var(--border-color,rgba(0,0,0,.12))}.pdf-toolbar-group{display:inline-flex;align-items:center;gap:4px}.pdf-toolbar-right{margin-left:auto}.pdf-toolbar-btn{border:0;background:0 0;color:inherit;padding:4px 8px;border-radius:4px;font-size:13px;line-height:1.2;cursor:pointer}.pdf-toolbar-btn:hover:not(:disabled){background-color:rgba(128,128,128,.18)}.pdf-toolbar-btn:disabled{opacity:.4;cursor:default}.pdf-toolbar-zoom{min-width:52px;font-variant-numeric:tabular-nums}.pdf-toolbar-page{width:3.5em;text-align:right;padding:2px 4px;font-size:13px;color:inherit;background:0 0;border:1px solid var(--border-color,rgba(0,0,0,.2));border-radius:4px}.pdf-toolbar-count{font-size:13px;opacity:.75;font-variant-numeric:tabular-nums}.pdf-pages{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 0}.pdf-viewer-page{margin:0 auto 12px}.pdf-viewer-page canvas{display:block;box-shadow:0 1px 4px rgba(0,0,0,.25)}.pdf-viewer-error{padding:24px;text-align:center;font-weight:700}.html-doc{display:block;height:100%}.html-doc-frame{display:block;width:100%;height:100%;border:0;background-color:#fff}.file-error{font-weight:700;font-size:50px;text-align:center}pdfviewer{display:block;padding:15px}pdfpageviewer{display:block;width:100%;margin-bottom:10px}notebook{display:block;text-align:left;padding:15px}@media (min-width:768px){notebook{padding-left:100px}}.nb-output td,.nb-output th{border:1px solid var(--border-color)!important}.paper-faq{max-width:1140px;margin:0 auto;padding:48px 32px 80px;font-family:var(--font-sans)}.paper-faq-hero{padding-bottom:40px;border-bottom:1px solid var(--border-color);margin-bottom:36px}.paper-faq-eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:32px}.paper-faq-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.6rem,5.5vw,4.6rem);line-height:1.03;letter-spacing:-.02em;color:var(--color);margin:0 0 22px;max-width:14em}.paper-faq-title em{font-style:italic;color:var(--color)}.paper-faq-lede{color:var(--ink-soft);font-size:17px;line-height:1.55;max-width:38em;margin:0}.paper-faq-lede a{color:var(--link-color);border-bottom:1px solid currentColor}.paper-faq-lede a:hover{color:var(--accent);border-bottom-color:var(--accent)}.paper-faq-body{display:grid;grid-template-columns:220px 1fr;gap:60px;align-items:start}.paper-faq-toc{position:sticky;top:32px;font-size:13.5px}.paper-faq-toc-head{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--border-color)}.paper-faq-toc nav{display:flex;flex-direction:column}.paper-faq-toc nav a{color:var(--ink-soft);padding:8px 0 8px 14px;border-left:2px solid transparent;text-decoration:none;margin-left:0}.paper-faq-toc nav a.active,.paper-faq-toc nav a:hover{color:var(--color);border-left-color:var(--color)}.faq-section{min-width:0}.faq-section>div{width:100%}.faq-section h4.faq-cat{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.2rem);letter-spacing:-.015em;color:var(--color);margin:0 0 6px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.faq-section h4.faq-cat i{display:none}.faq-section .panel-group{margin-bottom:56px}.faq-section .panel-default .panel-title a{display:block;position:relative;padding:22px 0 22px 42px;font-family:var(--font-serif);font-weight:400;font-size:20px;line-height:1.35;letter-spacing:-.005em;color:var(--color);text-decoration:none;cursor:pointer}.faq-section .panel-default .panel-title a:hover{color:var(--accent)}.faq-section .panel-heading{background:0 0;padding:0!important;border:none}.faq-section .panel-default{background:0 0;border:none;border-bottom:1px solid var(--border-soft);border-radius:0;margin-bottom:0!important;box-shadow:none}.faq-section .panel-default .panel-title{margin-bottom:0}.faq-section .panel-default .panel-title a:after{content:"−";position:absolute;left:0;right:auto;top:22px;transform:none;font-family:var(--font-mono);font-size:18px;line-height:1.35;color:var(--ink-muted);float:none;margin:0;font-weight:400}.faq-section .panel-default .panel-title a.collapsed:after{content:"+"}.faq-section .panel-default .panel-body{padding:0 0 22px 42px!important;color:var(--ink-soft);font-size:15px;line-height:1.65;border-top:none;max-width:68ch}.table{color:var(--color)}.dropdown-divider,.table td,.table th,hr{border-color:var(--border-color)}.table.repositories td{word-break:break-word}loc{display:block;position:relative;width:100%;height:5px}loc .lang{float:left;height:100%}.rounded-circle.fa{display:inline-block;font-size:75px;height:140px;width:140px;border:4px solid;line-height:140px;text-align:center}.featurette-divider{margin:4.5rem 0;border-color:var(--border-color)}.featurette-heading{font-family:var(--font-serif);font-weight:400;font-size:2rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:14px;color:var(--color)}.dark-mode .shadow{box-shadow:none}.dark-mode .overflow-auto::-webkit-scrollbar{width:10px}.dark-mode .overflow-auto::-webkit-scrollbar-track{-webkit-box-shadow:none;background:inherit;border-radius:0}.dark-mode .overflow-auto::-webkit-scrollbar-thumb{border-radius:10px;border:1px solid var(--border-color);background-color:var(--hover-bg-color)}.dark-mode .rgba-gradient{background:linear-gradient(135deg,#2a2d4a,#151728)}.section-number{padding-right:10px;font-weight:700;font-style:italic}.org-subscript-child{font-size:85%}.highlighted-line{position:absolute;background:rgba(100,200,100,.5);z-index:20}code,pre{font-family:"Fira Code","Courier New",Courier,monospace;line-height:1.1;color:var(--color)}.diff-file,.diff-index,.diff-lines{background:rgba(172,172,172,.5)}.diff-add{background:rgba(100,200,100,.5)}.diff-remove{background:rgba(200,100,100,.5)}.dashboard-title{font-size:1.4rem;font-weight:600;letter-spacing:-.01em}.quota-row{display:flex;gap:16px;margin-bottom:16px;padding:0}.quota-item{flex:1;min-width:0}.quota-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.quota-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;opacity:.7}.quota-value{font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums}.quota-progress{height:6px;border-radius:3px;background:var(--hover-bg-color)}.quota-progress .progress-bar{border-radius:3px}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:.8rem;font-weight:500;background:var(--primary-bg);color:var(--primary-color);border-radius:12px;line-height:1.4}.filter-chip-close{display:inline-flex;align-items:center;justify-content:center;background:0 0;border:none;color:inherit;opacity:.7;cursor:pointer;padding:0;min-width:24px;min-height:24px;margin:-6px -6px -6px 0;font-size:1rem;line-height:1;border-radius:999px}.filter-chip-close:hover{opacity:1}.repo-list{list-style:none;padding:0;margin:0}.repo-list-item{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-color);gap:12px}.repo-list-item:first-child{border-top:1px solid var(--border-color)}.repo-list-item.repo-inactive{opacity:.6}.repo-list-item-content{flex:1;min-width:0}.repo-list-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.repo-name{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--color);word-break:break-word}.repo-name:hover{color:var(--accent)}.repo-source{font-size:.85rem;opacity:.8;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.repo-date{opacity:.7}.repo-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:.8rem;opacity:.7}.repo-meta span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.repo-list-item-actions{flex-shrink:0;padding-top:2px;margin-left:14px}.repo-list-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;opacity:.5;font-size:.95rem;list-style:none;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color)}.repo-list-empty i{font-size:1.8rem}.type-badge{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;border-radius:4px;white-space:nowrap}.type-badge{font-family:var(--font-mono);letter-spacing:.06em;padding:2px 8px;border-radius:999px;border:1px solid var(--border-color);background:var(--paper-bg-alt,transparent)}.type-badge.type-pr,.type-badge.type-repo{background:var(--paper-bg-alt);color:var(--ink-muted);border-color:var(--border-color)}.dark-mode .type-badge.type-pr,.dark-mode .type-badge.type-repo{background:rgba(255,255,255,.06);color:var(--ink-muted);border-color:var(--border-color)}.type-badge.type-coauthor{background:rgba(99,102,241,.12);color:#4f46e5;border-color:rgba(99,102,241,.35);margin-left:6px}.dark-mode .type-badge.type-coauthor{background:rgba(129,140,248,.18);color:#7cc7be;border-color:rgba(165,180,252,.45)}.btn-group .btn:not(.btn-primary){background:var(--hover-bg-color)}.anonymize-page{display:flex;flex-direction:column;min-height:0}.anonymize-landing{flex:1 1 0;min-height:min-content;display:flex;align-items:center;justify-content:center;padding:20px}.anonymize-landing-inner{width:100%;max-width:600px}.anonymize-landing-inner h2{font-weight:700}.anonymize-workspace{display:flex;flex-direction:column;flex:1 1 0;min-height:0;background:var(--canvas-bg-color)}.anonymize-topbar{background:var(--paper-card);border-bottom:1px solid var(--border-color);padding:18px 28px;flex:0 0 auto}.anonymize-topbar-inner{max-width:1400px;margin:0 auto}.anonymize-topbar-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.anonymize-topbar-title{margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.4rem)}.anonymize-split{flex:1 1 auto;display:flex;min-height:0}.anonymize-form-col{flex:0 0 auto;width:100%;min-width:0;background:var(--canvas-bg-color);border-right:1px solid var(--border-color);overflow-y:auto}.anonymize-form-col .paper-settings-main{max-width:720px;padding:28px 32px 40px;margin:0}.anonymize-form-col .paper-settings-section:first-child{padding-top:0}.anonymize-form-col .anonymize-submit-bar{position:sticky;bottom:0;background:var(--canvas-bg-color);padding:14px 0 0;border-top:1px solid var(--border-color);margin-top:20px}.anonymize-form-col .anonymize-submit-bar .btn{width:100%;padding:12px 16px;font-size:15px}.anonymize-preview-col{flex:1 1 auto;min-width:0;overflow:auto;background:var(--paper-bg-alt);padding:28px 32px}.anonymize-preview-head{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.anonymize-preview-head .paper-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.anonymize-preview-sub{color:var(--ink-soft);font-size:13px}.anonymize-preview-body{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:28px 32px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}@media (max-width:700px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.paper-optional{font-family:var(--font-sans);font-weight:400;color:var(--ink-muted);text-transform:none;letter-spacing:0;font-size:11px;margin-left:6px}.paper-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.paper-plan-card{position:relative;display:block;padding:18px 20px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;margin:0}.paper-plan-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.paper-plan-card.selected{border-color:var(--color);box-shadow:0 0 0 2px var(--color) inset}.paper-plan-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.paper-plan-price{font-family:var(--font-serif);font-size:2rem;color:var(--color);margin:6px 0 4px}.paper-plan-price .paper-plan-per{font-family:var(--font-sans);font-size:12px;color:var(--ink-soft)}.paper-plan-desc{font-size:13px;color:var(--ink-soft)}.paper-plan-desc ul{padding-left:18px;margin:0}.paper-settings-copy{color:var(--ink-soft);font-size:13px;margin:0 0 14px}.anonymize-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin:18px 0 8px 0;padding-bottom:6px;border-bottom:1px solid var(--border-color);opacity:.7}.anonymize-section-title i{margin-right:4px}.anonymize-submit-bar{padding:12px 0 4px 0}.anonymize-submit-bar .btn{font-size:1rem;padding:10px 20px;font-weight:600}.anonymize-page .form-check{padding-top:4px;padding-bottom:4px}.anonymize-page .form-check-label{font-weight:500}.anonymize-preview-col{min-height:0;min-width:0}.pr-diff pre{overflow-x:auto;max-width:100%}@media (min-width:768px){.anonymize-form-col{height:100%;width:520px;flex:0 0 520px}.anonymize-preview-col{height:100%;flex:1}}@media (max-width:767px){.anonymize-workspace{flex:0 0 auto;min-height:0}.anonymize-topbar{padding:14px 16px}.anonymize-topbar-title{font-size:1.6rem;margin-top:2px}.anonymize-split{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.anonymize-form-col{width:100%!important;flex:0 0 auto!important;height:auto!important;border-right:none;border-bottom:1px solid var(--border-color);overflow:visible}.anonymize-form-col .paper-settings-main{padding:18px 16px 24px;max-width:none}.anonymize-form-col .anonymize-submit-bar{position:sticky;bottom:0;margin:20px -16px 0;padding:12px 16px;background:var(--canvas-bg-color);border-top:1px solid var(--border-color);z-index:10}.anonymize-form-col .anonymize-submit-bar .btn{width:100%;padding:12px 16px;font-size:15px}.anonymize-preview-col{width:100%;flex:0 0 auto;height:auto!important;max-height:none;padding:18px 16px 24px;overflow:visible}.anonymize-preview-body{padding:16px;border-radius:8px}.anonymize-preview-body .pr-diff pre,.anonymize-preview-body pre{overflow-x:auto;max-width:100%}.anonymize-landing-inner{padding:16px}}@media (min-width:1280px){.anonymize-form-col{width:620px;flex:0 0 620px}}@media (max-width:767px){.btn{min-height:38px;padding:6px 14px;font-size:14px}.btn-sm{min-height:34px;padding:5px 10px}.navbar .nav-link{padding:8px 12px}.navbar .nav-link .fa,.navbar .nav-link .fab{font-size:24px;line-height:32px}.container.page{padding-left:15px;padding-right:15px;max-width:100%}h1{font-size:1.6rem}h2{font-size:1.35rem}h3{font-size:1.15rem}.repo-list-item{flex-direction:column}.repo-list-item-actions{align-self:flex-start}.quota-row{flex-direction:column;gap:10px;padding:10px 12px}.dropdown-menu{position:absolute;right:0;left:auto}.form-group{margin-bottom:12px}.form-control{font-size:16px}.status-bar{gap:6px;padding:8px 10px}.status-bar .btn{font-size:12px;padding:4px 10px;min-height:32px}.status-bar .paths{font-size:11.5px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;-webkit-overflow-scrolling:touch}.status-bar .paths::-webkit-scrollbar{display:none}.status-bar-actions{flex-shrink:0;gap:4px}#home .display-4{font-size:1.8rem}#home h4.subtext-header{font-size:1rem}.progress:not(.quota-progress){min-width:120px!important}.badge{font-size:70%}.col-2.input-group{width:100%!important;max-width:100%;flex:0 0 100%}.color-text-secondary span{display:inline-block;margin-bottom:2px}.floatingchat-container-wrap{display:none!important}.anonymize-landing{align-items:flex-start;padding-top:60px}.anonymize-page .container-fluid>.row{height:auto!important;min-height:100%}.anonymize-form-col{width:100%!important;flex:0 0 100%!important;border-right:none;border-top:1px solid var(--border-color)}.anonymize-preview-col{height:auto!important;max-height:none}.anonymize-section-title{font-size:.8rem;margin:12px 0 8px 0}.anonymize-submit-bar{position:sticky;bottom:0;background:var(--sidebar-bg-color);padding:10px 0;margin:0 -12px;padding-left:12px;padding-right:12px;border-top:1px solid var(--border-color);z-index:10}.anonymize-submit-bar .btn{font-size:1rem;padding:12px 20px}.anonymize-page .form-check{padding-top:6px;padding-bottom:6px;min-height:36px}.anonymize-page .form-check-label{font-size:.95rem}.anonymize-page .card-body{padding:12px}.pr-title{font-size:1.15rem}.pr-diff pre{font-size:.75rem}.pr-comment .mb-1 h5{font-size:1rem}.nav-tabs .nav-link{padding:8px 12px;font-size:.9rem}}@media (min-width:768px) and (max-width:991px){.container.page{max-width:100%;padding-left:15px;padding-right:15px}.leftCol{flex:0 0 250px;width:250px}}.explorer-page{display:flex;height:100%;width:100%;background:var(--canvas-bg-color);position:relative}.explorer-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--canvas-bg-color)}.explorer-content{flex:1 1 auto;min-height:0;width:100%;overflow:auto}.leftCol-close,.leftCol-head{display:none}.leftCol-body{flex:1 1 auto;min-height:0;overflow:auto}.leftCol-foot{padding:8px 12px;border-top:1px solid var(--border-color);background:var(--paper-bg-alt)}.leftCol-foot .last-update{display:block;border-top:none;padding:0;font-family:var(--font-sans);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.5;color:var(--ink-muted)}.leftCol-foot{padding:10px 14px}.leftCol-backdrop{display:none}.paper-inline-warning{display:flex;align-items:flex-start;gap:8px;margin:8px;padding:10px 12px;background:rgba(138,107,30,.08);border:1px solid rgba(138,107,30,.35);border-radius:8px;color:var(--color);font-size:12.5px;line-height:1.4}.paper-inline-warning i{color:var(--status-progress);margin-top:2px;flex-shrink:0}.dark-mode .paper-inline-warning i{color:var(--status-progress)}@media (min-width:768px){.leftCol-body{padding:8px 4px}}.sidebar-toggle{display:none;align-items:center;gap:8px;position:fixed;bottom:18px;right:18px;z-index:1100;padding:10px 14px;background:var(--color);color:var(--canvas-bg-color);border:1px solid var(--color);border-radius:999px;font-family:var(--font-sans);font-size:13px;font-weight:500;box-shadow:0 6px 20px rgba(0,0,0,.15);cursor:pointer;outline:0}.sidebar-toggle:hover{background:var(--primary-hover-bg)}.sidebar-toggle:focus{outline:0}.sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:991px){.sidebar-toggle{display:inline-flex}.leftCol{position:fixed;top:0;left:0;bottom:0;width:min(86vw,340px);max-width:340px;z-index:1200;border:none;border-right:1px solid var(--border-color);transform:translateX(0);transition:transform .22s ease;box-shadow:4px 0 24px rgba(0,0,0,.18);background:var(--sidebar-bg-color)}.leftCol.collapsed{transform:translateX(-105%);box-shadow:none;pointer-events:none}.leftCol-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt)}.leftCol-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.leftCol-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:0 0;border:1px solid var(--border-color);border-radius:8px;color:var(--ink-muted);cursor:pointer}.leftCol-close:hover{color:var(--color);border-color:var(--color)}.leftCol-foot{display:block}.leftCol-body{padding:4px 0}.leftCol-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:1150;backdrop-filter:blur(2px)}.dark-mode .leftCol-backdrop{background:rgba(0,0,0,.5)}}.admin-nav{display:flex;gap:4px;padding:4px;margin:8px 0 20px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap}.admin-nav a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:7px;color:var(--ink-muted);text-decoration:none;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transition:background-color .15s,color .15s;white-space:nowrap}.admin-nav a:hover{background:var(--paper-bg-alt);color:var(--color)}.admin-nav a.active{background:var(--color);color:var(--paper-card)}.admin-nav a i{font-size:12px;width:14px;text-align:center}@media (max-width:767px){.admin-nav{flex-direction:column}.admin-nav a{justify-content:flex-start}}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:16px}.admin-stat-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px}.admin-stat-card .stat-value{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;line-height:1.1;color:var(--color)}.admin-stat-card .stat-label{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 12px}.admin-toolbar .form-control{max-width:320px}@media (max-width:767px){.admin-toolbar .form-control{max-width:100%;width:100%}}.pagination-compact{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.pagination-compact input{width:60px;text-align:center;flex-shrink:0}.pagination-compact .btn{padding:4px 10px;min-height:34px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);flex-shrink:0}.pagination-compact>span{white-space:nowrap}.admin-list-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-color)}.admin-list-item:last-child{border-bottom:none}.admin-list-item .item-main{flex:1;min-width:0}.admin-list-item .item-title{font-size:1rem;font-weight:600;margin-bottom:4px;word-break:break-word}.admin-list-item .item-meta{font-size:.85rem;opacity:.8}.admin-list-item .item-meta span{margin-right:12px;display:inline-block;margin-bottom:2px}.admin-list-item .item-actions{flex-shrink:0}@media (max-width:767px){.admin-list-item{flex-direction:column;gap:8px}.admin-list-item .item-actions{align-self:flex-start}}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.status-badge{font-family:var(--font-sans);font-weight:500;letter-spacing:.02em;border:1px solid transparent;text-transform:none;font-size:11.5px;padding:1px 9px 2px;border-radius:999px}.status-badge.status-ready{background:#e8f3ec;color:#2f7a44;border-color:#cfe6d6}.status-badge.status-error{background:#fbe7e7;color:#b42318;border-color:#f3c7c7}.status-badge.status-download,.status-badge.status-preparing{background:#e4f0ee;color:#1f6a64;border-color:#d4d8fa}.status-badge.status-expired,.status-badge.status-expiring,.status-badge.status-removed,.status-badge.status-removing{background:var(--paper-bg-alt);color:var(--ink-muted);border-color:var(--border-color)}.status-badge.status-active{background:#e8f3ec;color:#2f7a44;border-color:#cfe6d6}.queue-job-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 18px;margin-bottom:10px}.queue-job-card .job-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:8px}.queue-job-card .job-id{font-family:var(--font-mono);font-size:.95rem;color:var(--color);word-break:break-all;display:flex;align-items:center;gap:10px}.queue-job-card .job-timestamps{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:14px}.queue-job-card .job-actions{display:flex;gap:8px;margin-top:10px}.queue-job-card .job-actions .btn{font-size:12px;padding:4px 12px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color)}.admin-section-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.admin-section-header h2{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.admin-section-header h2 i{margin-right:6px;color:var(--ink-muted)}.admin-section-header .section-count{background:var(--paper-bg-alt);color:var(--ink-muted);border:1px solid var(--border-color);font-family:var(--font-mono);font-size:11px;padding:1px 10px;border-radius:999px}.user-detail-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:22px;margin-bottom:24px}.user-detail-card .user-header{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.user-detail-card .user-header img{border-radius:50%}.user-detail-card .user-header h2{margin:0;font-family:var(--font-serif);font-weight:400;font-size:1.6rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-detail-grid{display:grid;grid-template-columns:160px 1fr;gap:10px 20px;font-size:.92rem}.user-detail-grid .detail-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);white-space:nowrap;padding-top:2px}.user-detail-grid .detail-value{word-break:break-all;color:var(--color)}@media (max-width:767px){.user-detail-grid{grid-template-columns:1fr}.user-detail-grid .detail-label{margin-top:8px;border-top:1px solid var(--border-color);padding-top:8px}.user-detail-grid .detail-label:first-child{border-top:none;margin-top:0;padding-top:0}}.paper-empty{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 24px}.paper-empty-inner{max-width:560px;text-align:left}.paper-empty-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.025em;margin:18px 0 20px;color:var(--color)}.paper-empty-title em{color:var(--accent);font-style:italic}.paper-empty-lede{font-size:17px;line-height:1.55;color:var(--ink-soft);text-wrap:pretty}.paper-empty-cta{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.paper-page{max-width:1100px;margin:0 auto;padding:32px 32px 80px}@media (max-width:991px){.paper-page,.paper-page.container,.paper-page.container-fluid{padding:20px 18px 60px!important}.paper-page .row{margin-left:0;margin-right:0}.paper-page .row>.w-100,.paper-page .row>[class*=col]{padding-left:0;padding-right:0}.navbar.navbar-expand-lg{padding:10px 18px!important}.navbar .navbar-collapse{margin:10px -18px 0;padding:12px 18px 16px;border-top:1px solid var(--border-color);background:var(--header-bg-color)}.navbar .navbar-nav{align-items:stretch!important;gap:2px}.navbar .navbar-nav .nav-item,.navbar .navbar-nav .nav-link{width:100%}.navbar .nav-link{display:flex!important;align-items:center;justify-content:flex-start;margin:0!important;padding:12px 4px!important;border-bottom:1px solid var(--border-color)!important;border-radius:0;font-size:14px;line-height:1.2;gap:0;min-height:44px;box-sizing:border-box}.navbar .nav-link:not(.btn-signin):not(.user-chip){color:var(--color)!important}.navbar .nav-link .fa,.navbar .nav-link .fab,.navbar .nav-link .fas,.navbar .nav-link i{display:inline-flex!important;align-items:center;justify-content:center;width:28px;flex-shrink:0;font-size:16px;line-height:1;margin:0 10px 0 0!important}.navbar .navbar-nav .nav-item:last-child .nav-link,.navbar .navbar-nav>.nav-link:last-child{border-bottom-color:transparent!important}.navbar .nav-link.active{color:var(--color)!important;border-bottom-color:var(--border-color)!important}.navbar .nav-item>.nav-link:not(.btn-signin):not(.user-chip)::before{content:'';display:inline-block;width:28px;margin-right:10px;flex-shrink:0}.navbar .nav-link.nav-icon::before,.navbar .nav-link:has(>i)::before{display:none!important}.navbar .nav-link.nav-icon{width:100%!important;height:auto!important;justify-content:flex-start!important;padding:12px 4px!important}.navbar .nav-link.nav-icon::after{content:attr(title);font-family:var(--font-sans);font-size:14px;color:var(--color)}.navbar .btn-signin{display:inline-flex!important;width:auto!important;align-self:flex-start;justify-content:center;height:40px;padding:0 18px!important;margin:14px 0 0!important;border-radius:8px;border-bottom:none!important}.navbar .btn-signin i{margin:0 8px 0 0!important;width:auto!important}.navbar .user-chip-wrap{width:100%}.navbar .user-chip{display:flex!important;width:100%;margin:0!important;padding:10px 4px!important;background:0 0!important;border:none!important;border-bottom:1px solid var(--border-color)!important;border-radius:0!important;justify-content:flex-start;gap:0;min-height:44px}.navbar .user-chip::before{display:none!important}.navbar .user-chip img{width:28px!important;height:28px!important;margin-right:10px!important;flex-shrink:0}.navbar .user-chip .user-chip-name{font-size:14px;font-weight:500;color:var(--color)!important}.navbar .user-chip.dropdown-toggle::after{margin-left:auto;color:var(--ink-muted)}.navbar .user-chip-wrap .dropdown-menu{position:static!important;float:none;width:100%;margin:0!important;padding:0!important;background:0 0!important;border:none!important;box-shadow:none!important;transform:none!important}.navbar .user-chip-wrap .dropdown-menu .dropdown-item{padding:10px 4px 10px 42px!important;font-size:13.5px;color:var(--ink-muted)!important;background:0 0!important;border-bottom:1px solid var(--border-color);text-align:left!important}.navbar .user-chip-wrap .dropdown-menu .dropdown-item:last-child{border-bottom:none}.navbar .user-chip-wrap .dropdown-divider{display:none}.navbar-brand{border-right:none!important;padding-right:0!important;margin-right:0!important}.dark-mode .navbar .navbar-collapse{background:var(--header-bg-color);border-top-color:var(--border-color)}.dark-mode .navbar .nav-link{border-bottom-color:var(--border-color)!important}.dark-mode .navbar-toggler .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E")!important}}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--paper-bg-alt);border:1px solid var(--border-color);color:var(--ink-soft);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}.paper-progress{position:relative;height:auto;background:0 0;margin:18px 0 8px}.paper-progress::before{content:"";display:block;height:8px;background:var(--paper-bg-alt);border-radius:999px}.paper-progress .paper-progress-bar{position:absolute;top:0;left:0;height:8px;background:var(--color);border-radius:999px;transition:width .4s ease;min-width:4px}.paper-progress .paper-progress-label{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.paper-progress .paper-progress-pct{color:var(--color)}.paper-progress.paper-progress-ready .paper-progress-bar{background:var(--color)}.paper-error-card{margin-top:18px;padding:20px 22px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-left:3px solid var(--status-error);border-radius:10px;color:var(--color)}.dark-mode .paper-error-card{border-left-color:var(--status-error)}.paper-ratelimit-card{margin-top:18px;padding:20px 22px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-left:3px solid var(--status-progress);border-radius:10px;color:var(--color)}.dark-mode .paper-ratelimit-card{border-left-color:var(--status-progress)}.paper-ratelimit-head{display:flex;align-items:flex-start;gap:14px}.paper-ratelimit-head>i{font-size:18px;color:var(--status-progress);margin-top:4px;flex-shrink:0}.dark-mode .paper-ratelimit-head>i{color:var(--status-progress)}.paper-ratelimit-card strong{color:var(--color)}.paper-ratelimit-card{text-align:left;border-left-color:var(--status-progress)}.dark-mode .paper-ratelimit-card{border-left-color:var(--status-progress)}.paper-ratelimit-head>.ui-icon{width:18px;height:18px;margin-top:3px;flex-shrink:0;color:var(--status-progress)}.paper-ratelimit-card .paper-error-title{font-family:var(--font-sans);font-size:17px;font-weight:600}.paper-ratelimit-card .paper-error-msg{font-family:var(--font-sans);white-space:normal;margin-left:32px}.paper-ratelimit-card .paper-error-eyebrow{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.status-pill-ratelimit{border-color:var(--status-progress);color:var(--status-progress)}.dark-mode .status-pill-ratelimit{border-color:var(--status-progress);color:var(--status-progress)}.status-ratelimit{background:var(--status-progress)}.dark-mode .status-ratelimit{background:var(--status-progress)}.paper-error-head{display:flex;align-items:flex-start;gap:14px}.paper-error-head>i{font-size:18px;color:var(--status-error);margin-top:4px;flex-shrink:0}.dark-mode .paper-error-head>i{color:var(--status-error)}.paper-error-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.paper-error-title{font-family:var(--font-serif);font-size:1.4rem;line-height:1.2;margin-top:2px;color:var(--color)}.paper-error-msg{margin:12px 0 0;font-size:14px;line-height:1.55;color:var(--ink-soft);font-family:var(--font-mono);word-break:break-word;white-space:pre-wrap}.paper-error-hints{margin:14px 0 0;padding-left:18px;color:var(--ink-soft);font-size:13.5px;line-height:1.6}.paper-error-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.paper-detail-grid{display:grid;grid-template-columns:160px 1fr;gap:10px 20px;margin-top:18px;font-size:.92rem}.paper-detail-grid .detail-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);white-space:nowrap;padding-top:2px}.paper-detail-grid .detail-value{word-break:break-all;color:var(--color)}.paper-detail-grid .detail-value a{color:var(--color);border-bottom:1px solid var(--border-color)}.paper-detail-grid .detail-value a:hover{border-bottom-color:var(--color)}@media (max-width:700px){.paper-detail-grid{grid-template-columns:1fr;gap:4px 0}.paper-detail-grid .detail-label{padding-top:8px}}.paper-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:18px 0 28px}.paper-support-card{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;color:var(--color);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.paper-support-card:hover{border-color:var(--color);text-decoration:none;color:var(--color)}.paper-support-card .paper-support-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:center;gap:8px}.paper-support-card p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-soft)}.paper-support-card .paper-support-cta{margin-top:auto;font-size:13px;font-weight:500;color:var(--color);display:inline-flex;align-items:center;gap:6px}.paper-support-card:hover .paper-support-cta i{transform:translateX(2px)}.paper-support-card .paper-support-cta i{transition:transform .15s ease}.paper-kofi-wrap{border:1px solid var(--border-color);border-radius:10px;overflow:hidden;background:var(--paper-card)}.paper-kofi-wrap iframe{border:0;width:100%;height:650px;display:block}.dark-mode .paper-kofi-wrap iframe{filter:invert(.88) hue-rotate(180deg) sepia(.15) saturate(1.2) brightness(1.1) contrast(.85)}@media (max-width:700px){.paper-kofi-wrap iframe{height:720px}}.pr-page{min-height:100%;background:var(--canvas-bg-color)}.pr-page-inner{padding-top:24px;padding-bottom:60px}.pr-header{margin:6px 0 18px}.pr-title{margin:4px 0 10px;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;word-break:break-word}.pr-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.pr-header-meta .pr-meta-item{display:inline-flex;align-items:center;gap:6px}.pr-header-meta .pr-meta-item i{color:var(--ink-muted)}.pr-body-card{margin:18px 0 24px;padding:20px 22px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px}.pr-body-card .paper-section-eyebrow{margin-bottom:12px}.paper-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--border-color);margin:18px 0 0}.paper-tabs .paper-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:0 0;border:0;border-bottom:2px solid transparent;font-family:var(--font-sans);font-size:13.5px;font-weight:500;color:var(--ink-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px}.paper-tabs .paper-tab:hover{color:var(--color)}.paper-tabs .paper-tab.active{color:var(--color);border-bottom-color:var(--color)}.paper-tabs .paper-tab i{color:inherit;opacity:.85}.paper-tabs .paper-tab:active,.paper-tabs .paper-tab:focus,.paper-tabs .paper-tab:focus-visible{outline:0;box-shadow:none}.paper-tabs .paper-tab:focus-visible{color:var(--color);background:var(--hover-bg-color);border-radius:6px 6px 0 0}.pr-diff{margin:16px 0 28px;display:flex;flex-direction:column;gap:16px}.diff-file-block{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.diff-file-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--paper-bg-alt);border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:12.5px;color:var(--color)}.diff-file-icon{color:var(--ink-muted);flex-shrink:0}.diff-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.diff-file-status{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-color);color:var(--ink-muted);background:var(--paper-card)}.diff-file-status-added{color:#2f6b3e;border-color:rgba(47,107,62,.35);background:rgba(47,107,62,.08)}.diff-file-status-deleted{color:var(--status-error);border-color:rgba(161,58,46,.35);background:rgba(161,58,46,.08)}.diff-file-status-renamed{color:var(--status-progress);border-color:rgba(138,107,30,.35);background:rgba(138,107,30,.08)}.dark-mode .diff-file-status-added{color:#a7e2a7;border-color:rgba(167,226,167,.35);background:rgba(167,226,167,.08)}.dark-mode .diff-file-status-deleted{color:var(--status-error);border-color:rgba(255,139,123,.35);background:rgba(255,139,123,.08)}.dark-mode .diff-file-status-renamed{color:var(--status-progress);border-color:rgba(255,211,122,.35);background:rgba(255,211,122,.08)}.diff-file-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;table-layout:fixed}.diff-file-table tr.diff-row{vertical-align:top}.diff-file-table .diff-gutter{width:48px;padding:0 10px;text-align:right;color:var(--ink-muted);background:var(--paper-bg-alt);border-right:1px solid var(--border-color);user-select:none;font-variant-numeric:tabular-nums;vertical-align:top;white-space:nowrap}.diff-file-table .diff-gutter-new{border-right:1px solid var(--border-color)}.diff-file-table .diff-sign{width:18px;padding:0 6px;text-align:center;color:var(--ink-muted);background:var(--paper-bg-alt);user-select:none;vertical-align:top}.diff-file-table .diff-code{padding:1px 12px;white-space:pre-wrap;word-break:break-word;color:var(--color)}.diff-row-hunk td{background:var(--paper-bg-alt)!important;color:var(--ink-muted);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);font-size:12px;letter-spacing:.02em;padding-top:6px;padding-bottom:6px}.diff-row-hunk .diff-code{color:var(--ink-muted)}.diff-row-add .diff-code{background:rgba(47,107,62,.1);color:#1f4a2a}.diff-row-add .diff-gutter,.diff-row-add .diff-sign{background:rgba(47,107,62,.06);color:#2f6b3e}.diff-row-remove .diff-code{background:rgba(161,58,46,.1);color:#6e1f1a}.diff-row-remove .diff-gutter,.diff-row-remove .diff-sign{background:rgba(161,58,46,.06);color:var(--status-error)}.dark-mode .diff-row-add .diff-code{background:rgba(167,226,167,.1);color:#c9f0c9}.dark-mode .diff-row-add .diff-gutter,.dark-mode .diff-row-add .diff-sign{background:rgba(167,226,167,.06);color:#a7e2a7}.dark-mode .diff-row-remove .diff-code{background:rgba(255,139,123,.1);color:#ffc9c0}.dark-mode .diff-row-remove .diff-gutter,.dark-mode .diff-row-remove .diff-sign{background:rgba(255,139,123,.06);color:var(--status-error)}@media (max-width:700px){.diff-file-table{font-size:11.5px}.diff-file-table .diff-gutter{width:36px;padding:0 6px}.diff-file-table .diff-sign{width:14px;padding:0 4px}.diff-file-table .diff-code{padding:1px 8px}}.pr-comments{list-style:none;margin:16px 0 28px;padding:0;display:flex;flex-direction:column;gap:12px}.pr-comment{padding:16px 18px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px}.pr-comment-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border-color)}.pr-comment-author{font-weight:600;color:var(--color);font-size:14px;display:inline-flex;align-items:center;gap:6px}.pr-comment-author i{color:var(--ink-muted);font-size:12px}.pr-comment-date{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);letter-spacing:.02em}.pr-comment-body{color:var(--color);font-size:14px;line-height:1.6}.pr-comment-body :last-child{margin-bottom:0}@media (max-width:700px){.pr-page-inner{padding-top:14px;padding-bottom:40px}.pr-body-card{padding:14px 14px;border-radius:8px}.pr-comment{padding:12px 14px}.paper-tabs .paper-tab{padding:10px 12px;font-size:13px}.pr-diff pre{font-size:11.5px;padding:12px}}.toast{background-color:var(--paper-card)!important;color:var(--color)!important;border:1px solid var(--border-color)!important;border-radius:10px!important;box-shadow:0 8px 24px rgba(0,0,0,.08);backdrop-filter:none;min-width:280px;max-width:calc(100vw - 24px)}.toast .toast-header{background:0 0!important;color:var(--color)!important;border-bottom:1px solid var(--border-color)!important;font-family:var(--font-sans);padding:10px 12px}.toast .toast-header strong{font-weight:600;color:var(--color);letter-spacing:.01em}.toast .toast-header .close{color:var(--ink-muted)!important;text-shadow:none;opacity:.9;font-size:1.2rem}.toast .toast-header .close:hover{color:var(--color)!important;opacity:1}.toast .toast-body{color:var(--color)!important;padding:12px;font-size:14px;line-height:1.45}.dark-mode .toast{box-shadow:0 8px 24px rgba(0,0,0,.5)}.paper-crumbs{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);letter-spacing:0}.paper-crumbs .here,.paper-crumbs a{color:var(--color);text-decoration:none}.paper-page-title{font-family:var(--font-sans);font-weight:600;font-size:32px;line-height:1.2;letter-spacing:-.035em;margin:8px 0 6px;color:var(--color)}.paper-page-title em{color:inherit;font-style:normal}.paper-page-lede{color:var(--ink-soft);font-size:16px;max-width:640px;line-height:1.55}.paper-meta-rule{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin:22px 0 18px;padding:12px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);letter-spacing:.02em}.paper-meta-rule b{color:var(--color);font-weight:500}.paper-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:10px;padding:20px 22px}.dark-mode .paper-card{background:var(--admin-stat-bg)}.paper-section-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-weight:500;margin-bottom:10px;display:block}.paper-section-title{font-family:var(--font-serif);font-weight:400;font-size:22px;letter-spacing:-.01em;margin:0 0 8px}.paper-kbd{display:inline-block;font-family:var(--font-mono);font-size:10.5px;padding:1px 6px;border:1px solid var(--border-color);border-bottom-width:2px;border-radius:3px;background:var(--paper-card,#fff);color:var(--color)}.paper-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;padding:2px 8px;border:1px solid var(--border-color);border-radius:999px;color:var(--ink-soft);background:var(--paper-card,#fff);letter-spacing:.04em}.paper-pill.accent{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.paper-pill.good{border-color:#2f6b3e;color:#2f6b3e}.paper-pill.warn{border-color:var(--status-progress);color:var(--status-progress)}.paper-pill.bad{border-color:var(--status-error);color:var(--status-error)}.paper-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--border-color)}.paper-row:first-child{border-top:1px solid var(--border-color)}.paper-row .row-title{font-family:var(--font-serif);font-size:20px;letter-spacing:-.01em;line-height:1.2}.paper-row .row-title a{color:var(--color)}.paper-row .row-meta{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);letter-spacing:.03em;margin-top:6px;display:flex;flex-wrap:wrap;gap:14px}.paper-row .row-actions{display:flex;gap:6px;flex-shrink:0}.paper-form-step{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--border-color)}.paper-form-step:first-child{border-top:1px solid var(--border-color)}.paper-form-step .step-num{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);padding-top:4px;letter-spacing:.02em}.paper-form-step .step-title{font-family:var(--font-serif);font-size:22px;letter-spacing:-.01em;line-height:1.2;margin-bottom:4px}.paper-form-step .step-sub{color:var(--ink-soft);font-size:13.5px;margin-bottom:14px;text-wrap:pretty}.paper-field-label{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--color);margin-bottom:6px;display:block}.paper-switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:16px}.paper-switch-row+.paper-switch-row{border-top:1px dashed var(--border-soft)}.paper-switch-row .sw-label{font-weight:500}.paper-switch-row .sw-sub{display:block;font-size:12.5px;color:var(--ink-muted);margin-top:2px}.paper-page .custom-select,.paper-page .form-control{border-radius:6px;border-color:var(--border-color);font-size:14px;padding:8px 12px;height:auto;background:var(--input-bg);color:var(--input-color)}.paper-page .custom-select:focus,.paper-page .form-control:focus{color:var(--input-color);background:var(--input-bg);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.custom-select:focus,.form-control:focus,input:focus,select:focus,textarea:focus{color:var(--input-color)!important;background-color:var(--input-bg)!important}.form-control::selection,input::selection,textarea::selection{background:var(--accent-soft);color:var(--input-color)}.dark-mode .form-control::selection,.dark-mode input::selection,.dark-mode textarea::selection{background:rgba(124,199,190,.3);color:var(--input-color)}.btn.btn-ink{background:var(--color);color:var(--canvas-bg-color);border:1px solid var(--color);font-weight:500;border-radius:6px;padding:8px 14px}.btn.btn-ink:hover{background:var(--primary-hover-bg);color:var(--canvas-bg-color);border-color:var(--primary-hover-bg)}.btn.btn-accent{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:500;border-radius:6px}.btn.btn-accent:hover{background:#17544f;border-color:#17544f;color:#fff}.paper-page .dashboard-filter-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin:18px 0 0;flex-wrap:wrap}.paper-page .dashboard-filter-row .form-control{height:38px;background:var(--paper-card)}.paper-page .dashboard-filter-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.paper-page .dashboard-filter-row .btn-group .btn,.paper-page .dashboard-filter-row .dropdown-toggle{background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);height:38px;padding:0 14px;font-size:14px;font-weight:500;border-radius:var(--radius-control,6px);display:inline-flex;align-items:center;gap:6px;line-height:1}.paper-page .dashboard-filter-row .dropdown-toggle .filter-btn-label{color:var(--ink-muted);font-weight:500}.paper-page .dashboard-filter-row .dropdown-toggle .filter-btn-label::after{content:"·";margin-left:6px;color:var(--ink-faint)}.paper-page .dashboard-filter-row .dropdown-toggle .filter-btn-value{font-weight:500}.paper-page .dashboard-filter-row .dropdown-toggle .fas{font-size:11px;color:var(--ink-muted)}.paper-page .dashboard-filter-row .btn-group .btn:hover,.paper-page .dashboard-filter-row .dropdown-toggle:hover{background:var(--hover-bg-color);border-color:var(--border-color);color:var(--color)}.paper-page .dashboard-filter-row .btn-group{gap:0}.paper-page .dashboard-filter-row .btn-group .btn{border-radius:0;border-right-width:0}.paper-page .dashboard-filter-row .btn-group .btn:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.paper-page .dashboard-filter-row .btn-group .btn:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px;border-right-width:1px}.paper-page .dashboard-filter-row .btn-group .btn.btn-primary{background:var(--color);color:var(--canvas-bg-color);border-color:var(--color)}.paper-page .dashboard-filter-row .search-wrap{flex:1 1 280px;min-width:220px}.paper-page .quota-row{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:24px 0 0;padding:0;background:0 0;border:none;border-radius:0}.paper-page .quota-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);opacity:1}.paper-page .quota-value{font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;color:var(--color)}.paper-page .quota-value .quota-unlimited-tag{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);margin-left:4px}.paper-page .quota-track{height:6px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:999px;overflow:hidden;width:100%;min-width:0}.paper-page .quota-track .quota-fill{height:100%;min-width:2px;border-radius:999px;background:var(--color);transition:width .3s ease}.paper-page .quota-track.quota-warn .quota-fill{background:var(--status-progress)}.paper-page .quota-track.quota-danger .quota-fill{background:var(--status-error)}.paper-page .quota-track.quota-unlimited{background:repeating-linear-gradient(-45deg,var(--paper-bg-alt) 0 4px,var(--border-soft,var(--border-color)) 4px 6px)}.paper-page .repo-list{margin-top:8px}.paper-page .repo-list-item{padding:20px 0;gap:16px;border-bottom:1px solid var(--border-soft,var(--border-color))}.paper-page .repo-list-item:first-child{border-top:none}.paper-page .repo-list-item-header{gap:10px;margin-bottom:6px}.paper-page .repo-name{font-family:var(--font-mono);font-size:15px;color:var(--color)}.paper-page .repo-source{font-size:13px;color:var(--ink-soft);opacity:1;gap:10px}.paper-page .repo-source a{color:var(--ink-soft);border-bottom:1px dotted var(--border-color)}.paper-page .repo-source a:hover{color:var(--color)}.paper-page .repo-meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);opacity:1;gap:16px;margin-top:10px}.paper-page .type-badge{font-family:var(--font-mono);font-size:11px;padding:3px 8px;letter-spacing:.1em}.paper-page .repo-list-item-actions .dropdown-toggle{background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);border-radius:6px;font-size:13px;padding:6px 12px;height:auto}.paper-settings{max-width:1180px;margin:0 auto;padding:48px 32px 80px}.paper-settings .paper-page-title{max-width:14em}.paper-settings-body{display:grid;grid-template-columns:220px 1fr;gap:60px;margin-top:32px;border-top:1px solid var(--border-color);padding-top:28px}.paper-settings-toc{position:sticky;top:32px;align-self:start}.paper-settings-toc-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px}.paper-settings-toc nav{display:flex;flex-direction:column;gap:2px}.paper-settings-toc nav a{padding:8px 0 8px 14px;border-left:2px solid transparent;color:var(--ink-soft);font-size:14px;text-decoration:none}.paper-settings-toc nav a.active,.paper-settings-toc nav a:hover{color:var(--color);border-left-color:var(--color)}.paper-settings-main{min-width:0;max-width:720px}.paper-settings-section{padding:28px 0;border-bottom:1px solid var(--border-soft,var(--border-color))}.paper-settings-section:first-child{padding-top:0}.paper-settings-section:last-of-type{border-bottom:none}.paper-settings-section .form-group{margin-bottom:18px}.paper-settings-section .form-check{padding:10px 0 10px 28px;border-bottom:1px solid var(--border-soft,var(--border-color))}.paper-settings-section .form-check:last-child{border-bottom:none}.paper-settings-section .form-check-label{font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--color);cursor:pointer}.paper-settings-section .form-check-input{cursor:pointer;width:16px;height:16px;margin-top:3px;margin-left:-28px;accent-color:var(--color)}.paper-settings-section .form-text{color:var(--ink-soft);font-size:13px;margin-top:4px;max-width:48em}.paper-settings-section .paper-section-copy{margin:-4px 0 14px}.paper-settings-footer{padding-top:24px;display:flex;flex-direction:column;gap:14px}.paper-settings-footer .btn-ink{align-self:flex-start}.paper-settings-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.paper-settings-hint{font-size:13px;color:var(--ink-muted)}.paper-inline-alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-control,6px);border:1px solid var(--border-color);background:var(--paper-bg-alt);font-size:13px;color:var(--color)}.paper-inline-alert i{margin-top:2px;color:var(--ink-muted)}.paper-inline-alert-error{border-color:var(--status-error);background:var(--status-error-soft)}.paper-inline-alert-error i{color:var(--status-error)}.paper-account-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-surface,10px);background:var(--paper-card);margin-bottom:20px}.paper-account-card img{flex-shrink:0}.paper-account-identity{flex:1 1 auto;min-width:0}.paper-account-name{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--color)}.paper-account-meta{font-size:13px;color:var(--ink-muted);margin-top:2px}.paper-danger-zone{padding:16px;border:1px solid var(--status-error);border-radius:var(--radius-surface,10px);background:var(--status-error-soft)}.paper-danger-head{font-weight:600;font-size:14px;color:var(--status-error);margin-bottom:6px}.paper-danger-copy{font-size:13px;color:var(--ink-soft);max-width:52em;margin-bottom:12px}.paper-danger-zone .paper-inline-alert{margin-bottom:12px}.btn.btn-outline-danger{background:0 0;color:var(--status-error);border:1px solid var(--status-error);font-weight:500;border-radius:var(--radius-control,6px);padding:8px 14px}.btn.btn-outline-danger:hover{background:var(--status-error);color:#fff;border-color:var(--status-error)}.navbar .user-menu{min-width:260px}.navbar .user-menu .dropdown-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px!important}.navbar .user-menu .dropdown-item i{width:16px;margin-top:3px;font-size:13px;color:var(--ink-muted);text-align:center}.navbar .user-menu .dropdown-item span{display:flex;flex-direction:column;line-height:1.3}.navbar .user-menu .dropdown-item small{font-size:12px;color:var(--ink-muted)}.navbar .user-menu .dropdown-header{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:8px 10px 6px}.paper-field-label{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--color);margin-bottom:6px;display:block}@media (max-width:900px){.paper-settings-body{grid-template-columns:1fr;gap:24px}.paper-settings-toc{position:static}.paper-settings-toc nav{flex-direction:row;flex-wrap:wrap;gap:8px}.paper-settings-toc nav a{border-left:none;border-bottom:2px solid transparent;padding:4px 0}.paper-settings-toc nav a.active,.paper-settings-toc nav a:hover{border-bottom-color:var(--color);border-left:none}}.paper-table{display:block;margin-top:20px;background:0 0;border:none;border-top:1px solid var(--border-color);border-radius:0;overflow:visible}.paper-table .paper-table-head,.paper-table .paper-table-row{display:grid;grid-template-columns:minmax(280px,2.4fr) minmax(140px,1fr) 140px 90px 140px 52px;align-items:center;gap:18px;padding:12px 4px}.paper-table.paper-table-conferences .paper-table-head,.paper-table.paper-table-conferences .paper-table-row{grid-template-columns:minmax(280px,2.4fr) 140px 90px 220px 52px}.paper-table.paper-table-repos .paper-table-head,.paper-table.paper-table-repos .paper-table-row{grid-template-columns:minmax(280px,2.4fr) minmax(140px,1fr) 90px 140px 52px}.paper-table.paper-table-repos.has-bulk .paper-table-head,.paper-table.paper-table-repos.has-bulk .paper-table-row{grid-template-columns:28px minmax(280px,2.4fr) minmax(140px,1fr) 90px 140px 52px;gap:12px}.paper-table .admin-users-row{grid-template-columns:28px minmax(280px,2.4fr) 90px 120px 100px 52px!important;gap:12px!important}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(320px,3fr) 190px 90px 170px 52px;gap:20px;padding:8px 4px}.paper-table.paper-table-dashboard .cell-anon .anon-text{gap:2px}.paper-table.paper-table-dashboard .cell-anon .repo-name{padding:0}.paper-table .paper-table-head{background:0 0;border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);padding-top:8px;padding-bottom:8px}.paper-table .paper-table-head .sortable{cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:6px;background:0 0;border:none;padding:2px 0;margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:4px}.paper-table .paper-table-head .sortable:hover{color:var(--color)}.paper-table .paper-table-head .sortable.active{color:var(--color)}.paper-table .paper-table-head .sortable i{font-size:10px}.paper-table .paper-table-head .num,.paper-table .paper-table-row .num{text-align:right}.paper-table .paper-table-head .num .sortable{flex-direction:row-reverse}.paper-table .paper-table-row{border-top:1px solid var(--border-soft,var(--border-color));font-size:14px;transition:background-color .12s ease}.paper-table .paper-table-row:hover{background:var(--hover-bg-color)}.paper-table .paper-table-row.row-clickable{cursor:pointer}.paper-table .paper-table-row.repo-inactive>:not(.cell-actions){opacity:.55}.paper-table .paper-table-row.repo-error{background:var(--status-error-soft);border-left:2px solid var(--status-error);padding-left:6px}.paper-table .paper-table-row.repo-error:hover{background:var(--status-error-soft-hover)}.cell-status .status-sub.status-sub-error,.paper-table .cell-status .status-sub-error{color:var(--status-error)}.paper-table .cell-status .status-sub-warn{color:var(--status-progress)}.paper-table .cell-anon{display:flex;align-items:center;gap:12px;min-width:0}.paper-table .cell-anon .type-badge{flex-shrink:0;min-width:52px;justify-content:center}.paper-table .cell-anon .anon-text{min-width:0;display:flex;flex-direction:column;gap:3px}.paper-table .cell-anon .anon-title{display:flex;align-items:center;gap:8px;min-width:0}.paper-table .cell-anon .anon-title .type-badge{margin-left:0}.paper-table .cell-anon .repo-name{font-family:var(--font-mono);font-size:14px;color:var(--color);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%;padding:2px 0}.paper-table .cell-anon .repo-name-static{color:var(--ink-muted);font-style:italic}.paper-table .cell-anon .anon-sub{font-family:var(--font-sans);font-size:13px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:10px;min-width:0}.paper-table .cell-anon .anon-sub .anon-source{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-anon .anon-sub .conf-tag{flex:0 1 auto;min-width:72px;max-width:50%}.paper-table .cell-anon .anon-sub a{color:var(--ink-muted);border-bottom:1px dotted var(--border-color);padding:4px 0;margin:-4px 0}.paper-table .cell-anon .anon-sub a:hover{color:var(--color)}.paper-table .cell-anon .anon-sub .commit-hash{font-family:var(--font-mono);font-size:12px}.paper-table .cell-conf{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-conf span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-status{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:14px;color:var(--color);min-width:0}.paper-table .cell-status .status-line{display:inline-flex;align-items:center;gap:8px}.paper-table .cell-status .status-sub{flex-basis:100%;font-family:var(--font-sans);font-size:13px;line-height:1.3;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-views{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color)}.paper-table .cell-expires{font-family:var(--font-sans);font-size:13px;color:var(--ink-soft)}.paper-table .cell-expires .expires-never{color:var(--ink-muted)}.paper-table .cell-expires .expires-past{color:var(--ink-muted)}.paper-table .empty-dash{color:var(--ink-faint)}.paper-table .cell-actions{display:flex;justify-content:flex-end}.status-dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex-shrink:0;background:var(--status-inactive)}.status-dot.status-ready{background:var(--status-ready)}.status-dot.status-error{background:var(--status-error)}.status-dot.status-preparing,.status-dot.status-progress{background:var(--status-progress)}.status-dot.status-expired,.status-dot.status-removed{background:var(--status-inactive)}.dashboard-page{padding-bottom:96px}.dashboard-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;font-size:13px;color:var(--ink-muted)}.dashboard-meta .dashboard-count{font-variant-numeric:tabular-nums}.btn-link-inline{background:0 0;border:none;padding:2px 4px;margin:-2px 0;font:inherit;color:var(--link-color);cursor:pointer;border-radius:4px}.btn-link-inline:hover{color:var(--link-hover-color);text-decoration:underline}.btn.btn-outline-ink{background:0 0;color:var(--color);border:1px solid var(--border-color);font-weight:500;border-radius:var(--radius-control,6px);padding:8px 14px}.btn.btn-outline-ink:hover{background:var(--hover-bg-color);color:var(--color);border-color:var(--ink-faint)}.paper-page .dropdown-menu .dropdown-item-danger,.paper-page .dropdown-menu .dropdown-item-danger i{color:var(--status-error)}.paper-page .dropdown-menu .dropdown-item-danger:focus,.paper-page .dropdown-menu .dropdown-item-danger:hover{background:var(--status-error-soft-hover);color:var(--status-error)}.paper-page .dropdown-menu button.dropdown-item{width:100%;text-align:left;background:0 0;border:none}.paper-page .dropdown-menu .dropdown-divider{border-top-color:var(--border-soft,var(--border-color));margin:4px 0}.paper-table .paper-table-skeleton{pointer-events:none}.skeleton{display:block;background:var(--paper-bg-alt);border-radius:4px;position:relative;overflow:hidden}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--hover-bg-color),transparent);animation:skeleton-shimmer 1.4s infinite}.skeleton-line{height:12px}.skeleton-line+.skeleton-line{margin-top:8px}.skeleton-line-sm{height:10px}.skeleton-badge{width:52px;height:22px;border-radius:999px;flex-shrink:0}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skeleton::after{animation:none}}.paper-table .paper-table-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;color:var(--ink-muted);text-align:center;border-top:1px solid var(--border-soft,var(--border-color))}.paper-table .paper-table-empty>i{font-size:1.6rem;color:var(--ink-faint)}.paper-table .paper-table-empty-actions{display:flex;gap:8px;margin-top:8px}.bulk-bar{display:flex;align-items:center;gap:8px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;margin:8px 0}.paper-page.admin-page .paper-page-title{font-size:1.6rem;margin:4px 0}.paper-page.admin-page .paper-page-lede{display:none}.paper-page.admin-page .paper-crumbs{margin-bottom:4px}.paper-page.admin-page .admin-nav{margin:6px 0 12px}.admin-filter-toolbar{display:flex;flex-direction:column;gap:6px;margin:8px 0 12px;position:sticky;top:0;z-index:4;background:var(--canvas-bg-color);padding:6px 0;border-bottom:1px solid var(--border-soft,var(--border-color));box-shadow:0 1px 0 var(--canvas-bg-color)}@media (max-width:900px){.admin-filter-toolbar{position:static;box-shadow:none}}.admin-filter-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.admin-filter-row .search-wrap{flex:1;min-width:220px}.admin-filter-row .search-wrap .form-control{height:34px}.admin-filter-inline{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-muted)}.admin-filter-inline>label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0;white-space:nowrap}.admin-filter-inline .form-control-sm{height:28px;padding:2px 8px;font-size:12px}.admin-filter-inline input[type=search].form-control-sm,.admin-filter-inline input[type=text].form-control-sm{width:130px}.admin-filter-inline input[type=date].form-control-sm{width:130px}.admin-filter-inline select.form-control-sm{width:auto;min-width:88px}.admin-filter-inline .arrow{color:var(--ink-muted);font-size:11px}.admin-filter-spacer{flex:1}.admin-active-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--ink-muted)}.admin-active-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border:1px solid var(--border-color);border-radius:999px;background:var(--hover-bg-color);font-size:12px;color:var(--color)}.admin-active-chip .key{color:var(--ink-muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.admin-active-chip button{background:0 0;border:none;cursor:pointer;padding:0 4px;color:var(--ink-muted);font-size:12px;border-radius:50%}.admin-active-chip button:hover{color:#b42318}.admin-search-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);pointer-events:none;border:1px solid var(--border-color);border-radius:4px;padding:1px 5px;background:var(--paper-card)}.admin-filter-row .search-wrap{position:relative}.admin-filter-row .search-wrap .form-control{padding-right:40px}.paper-table-row.row-selected{background:rgba(47,122,68,.06)}.queue-state-pills{display:inline-flex;gap:6px;margin-left:8px;flex-wrap:wrap}.queue-state-pills .pill{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--ink-muted)}.queue-state-pills .pill-active{color:var(--status-progress);border-color:rgba(196,138,46,.4)}.queue-state-pills .pill-failed{color:#b42318;border-color:rgba(180,35,24,.4)}.queue-state-pills .pill-completed{color:#2f7a44;border-color:rgba(47,122,68,.3)}.queue-state-pills .pill-waiting{color:var(--ink-soft)}.queue-state-pills .pill-delayed{color:var(--ink-muted)}.admin-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 12px;font-size:13px}.admin-summary .summary-total{font-family:var(--font-serif);font-size:1.05rem;color:var(--color);margin-right:8px}.admin-summary .summary-meta{color:var(--ink-muted);font-size:12px;margin-right:8px}.admin-summary .summary-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--ink-muted);cursor:pointer;font-size:12px;user-select:none;transition:background-color .1s,border-color .1s}.admin-summary .summary-pill:hover{background:var(--hover-bg-color)}.admin-summary .summary-pill .count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color)}.admin-summary .summary-pill.active{background:var(--primary-bg);color:var(--primary-color);border-color:var(--primary-bg)}.admin-summary .summary-pill.active .count{color:inherit}.admin-summary .summary-pill.error .count{color:#b42318}.admin-summary .summary-pill.warn .count{color:var(--status-progress)}.admin-summary .summary-pill.ok .count{color:#2f7a44}.dark-mode .admin-summary .summary-pill.error .count{color:#f08a82}.dark-mode .admin-summary .summary-pill.warn .count{color:var(--status-progress)}.dark-mode .admin-summary .summary-pill.ok .count{color:#7dc894}.dark-mode .queue-state-pills .pill-active{color:var(--status-progress);border-color:rgba(232,185,112,.4)}.dark-mode .queue-state-pills .pill-failed{color:#f08a82;border-color:rgba(240,138,130,.4)}.dark-mode .queue-state-pills .pill-completed{color:#7dc894;border-color:rgba(125,200,148,.3)}.job-progress{flex:1;height:6px;background:var(--border-soft,var(--border-color));border-radius:999px;overflow:hidden;margin-left:12px;max-width:200px}.job-progress-bar{height:100%;background:#2f7a44;transition:width .3s}.paper-table-empty{padding:48px 4px;text-align:center;color:var(--ink-muted);display:flex;flex-direction:column;align-items:center;gap:8px;border-top:1px solid var(--border-soft,var(--border-color))}.paper-table-empty>i{font-size:1.6rem}.q-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:4px}.q-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.q-range-btns{display:inline-flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.q-range-btns .btn{border:none;border-radius:0;padding:5px 14px;font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);background:var(--paper-card)}.q-range-btns .btn+.btn{border-left:1px solid var(--border-color)}.q-range-btns .btn.active{background:var(--color);color:var(--paper-card)}.btn-dark{background:var(--color)!important;color:var(--paper-card)!important;border-color:var(--color)!important;border-radius:999px;padding:5px 18px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.04em}.q-cards{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}.q-card{flex:1;min-width:140px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.q-card:hover{border-color:var(--ink-muted)}.q-card.selected{border-color:var(--color);box-shadow:0 0 0 1px var(--color)}.q-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.q-dot{width:8px;height:8px;border-radius:50%;background:#2f7a44;flex-shrink:0}.q-dot-red{background:#b42318}.dark-mode .q-dot{background:#7dc894}.dark-mode .q-dot-red{background:#f08a82}.q-card-name{font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:var(--ink-muted);letter-spacing:.04em}.q-card-count{font-family:var(--font-serif);font-size:2rem;font-weight:400;line-height:1.1;color:var(--color);margin-bottom:6px}.q-card-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);letter-spacing:.04em}.q-card-bar{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden;margin-top:6px}.q-card-bar-fill{height:100%;background:#1f6a64;border-radius:2px;transition:width .3s}.dark-mode .q-card-bar-fill{background:#7cc7be}.q-detail{display:grid;grid-template-columns:1fr 320px;gap:16px;margin-bottom:20px}.q-throughput{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px}.q-chart-wrap{position:relative}.q-throughput canvas{width:100%;display:block}.q-chart-tooltip{position:absolute;pointer-events:none;background:var(--paper-card);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-family:var(--font-mono);font-size:11px;line-height:1.6;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:10}.q-chart-tooltip .q-tip-time{color:var(--ink-muted);margin-bottom:2px}.q-chart-tooltip .q-tip-completed{color:#1f6a64}.q-chart-tooltip .q-tip-failed{color:#b42318}.dark-mode .q-chart-tooltip .q-tip-completed{color:#7cc7be}.dark-mode .q-chart-tooltip .q-tip-failed{color:#f08a82}.q-chart-crosshair{position:absolute;top:0;width:1px;height:100%;background:var(--ink-muted);opacity:.3;pointer-events:none;z-index:9}.q-stats-panel{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px;display:flex;flex-direction:column}.q-section-label{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink-muted);text-transform:lowercase;letter-spacing:.04em;margin-bottom:14px}.q-section-right{float:right;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.q-legend-completed{color:#1f6a64}.q-legend-failed{color:#b42318;margin-left:8px}.q-legend-exec{color:var(--status-progress);margin-left:8px;letter-spacing:2px}.dark-mode .q-legend-completed{color:#7cc7be}.dark-mode .q-legend-failed{color:#f08a82}.dark-mode .q-legend-exec{color:var(--status-progress)}.q-chart-tooltip .q-tip-exec{color:var(--status-progress)}.dark-mode .q-chart-tooltip .q-tip-exec{color:var(--status-progress)}.q-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;flex:1}.q-stat-label{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.q-stat-value{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;color:var(--color);line-height:1.2}.q-stats-actions{display:flex;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-color)}.q-stats-actions .btn{font-family:var(--font-mono);font-size:11px;padding:6px 14px;border-radius:8px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color)}.q-jobs{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px}.q-jobs-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.q-state-filters{display:inline-flex;gap:6px;flex-wrap:wrap}.q-state-toggle{cursor:pointer;display:inline-flex;align-items:center}.q-state-toggle input{display:none}.q-state-chip{font-family:var(--font-mono);font-size:11px;padding:3px 10px;border-radius:10px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--ink-muted);transition:opacity .15s,background .15s;text-transform:capitalize}.q-state-toggle input:checked+.q-state-chip{opacity:1}.q-state-toggle input:not(:checked)+.q-state-chip{opacity:.4;text-decoration:line-through}.q-state-badge,.q-state-chip{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.q-state-badge{display:inline-block;padding:2px 8px;border-radius:8px}.q-state-active{background:#dbeafe;color:#1d4ed8}.q-state-waiting{background:#fef3c7;color:#92400e}.q-state-delayed{background:#e0e7ff;color:#4338ca}.q-state-failed{background:#fee2e2;color:#b91c1c}.q-state-completed{background:#dcfce7;color:#166534}.dark-mode .q-state-active{background:rgba(59,130,246,.2);color:#93bbfd}.dark-mode .q-state-waiting{background:rgba(251,191,36,.15);color:#fbbf24}.dark-mode .q-state-delayed{background:rgba(99,102,241,.2);color:#7cc7be}.dark-mode .q-state-failed{background:rgba(239,68,68,.2);color:#fca5a5}.dark-mode .q-state-completed{background:rgba(34,197,94,.15);color:#86efac}.q-cell-state{width:120px}.q-delay-hint{display:block;font-size:10px;color:var(--ink-muted);margin-top:2px;font-family:var(--font-mono)}.q-search-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.q-search-row .form-control{max-width:320px;height:34px}.q-auto-refresh{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.q-table{width:100%;border-collapse:collapse}.q-table thead th{font-family:var(--font-mono);font-size:9.5px;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;padding:8px 10px;border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap}.q-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .1s}.q-table tbody tr:hover{background:var(--paper-bg-alt)}.q-table tbody tr:last-child{border-bottom:none}.q-table tbody td{padding:10px 10px;font-size:.88rem;vertical-align:middle}.q-cell-id{font-family:var(--font-mono);font-size:12px;white-space:nowrap}.q-cell-id{display:flex;align-items:center;gap:8px}.q-chevron{font-size:9px;color:var(--ink-muted);transition:transform .15s;flex-shrink:0}.q-chevron-open{transform:rotate(90deg)}.q-cell-id a{color:var(--color)}.q-cell-payload{font-family:var(--font-mono);font-size:12px;color:var(--color)}.q-payload-detail{color:var(--ink-muted)}.q-cell-num{font-family:var(--font-mono);font-size:12px;text-align:center;white-space:nowrap}.q-cell-progress{min-width:120px}.q-progress-wrap{display:flex;align-items:center;gap:8px}.q-progress-bar{flex:1;height:6px;border-radius:3px;overflow:hidden;background-image:linear-gradient(to right,#1f6a64 var(--pct,0),var(--border-color) var(--pct,0))}.dark-mode .q-progress-bar{background-image:linear-gradient(to right,#7cc7be var(--pct,0),var(--border-color) var(--pct,0))}.q-progress-label{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);white-space:nowrap;min-width:32px;text-align:right}.q-cell-actions{text-align:right;white-space:nowrap}.q-cell-actions .btn{padding:3px 8px;font-size:11px;background:0 0;border:1px solid var(--border-color);color:var(--ink-muted)}.q-cell-actions .btn:hover{color:var(--color)}.q-row-failed{background:rgba(180,35,24,.04)}.dark-mode .q-row-failed{background:rgba(240,138,130,.06)}.q-error-detail{padding:4px 10px 12px;font-size:12px}.q-error-reason{color:#b42318;font-size:.82rem;margin-bottom:4px}.dark-mode .q-error-reason{color:#f08a82}.q-toast-error{background:#fbe7e7;color:#b42318;border:1px solid #f3c7c7;border-radius:8px;padding:10px 16px;margin-bottom:12px;font-family:var(--font-mono);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px}.dark-mode .q-toast-error{background:rgba(240,138,130,.1);color:#f08a82;border-color:rgba(240,138,130,.25)}.q-error-stack{font-size:.78rem;max-height:120px;overflow:auto;margin:4px 0 0;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px}.q-row-expanded>td{border-bottom-color:transparent}.q-detail-row>td{padding:0 10px 14px!important;border-bottom:1px solid var(--border-color)}.q-job-detail{background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:8px;padding:14px 16px}.q-job-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 20px;margin-bottom:10px}.q-job-detail-item{display:flex;flex-direction:column;gap:2px}.q-job-detail-label{font-family:var(--font-mono);font-size:9px;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.q-job-detail-value{font-family:var(--font-mono);font-size:12px;color:var(--color);word-break:break-all}.q-job-detail-value a{color:var(--color)}.q-job-detail-error{margin:8px 0}.q-job-detail-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.q-job-detail-actions .btn{font-family:var(--font-mono);font-size:11px;padding:5px 12px;border-radius:6px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color)}@media (max-width:900px){.q-detail{grid-template-columns:1fr}.q-cards{flex-direction:column}.q-card{min-width:100%}.q-jobs-header{flex-direction:column;align-items:flex-start}.q-tabs{flex-wrap:wrap}.q-search-row{flex-wrap:wrap}.q-search-row .form-control{max-width:100%;flex:1}.q-table{font-size:12px}.q-header{flex-direction:column}.q-job-detail-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.paper-table .paper-table-head{display:none}.paper-table .admin-users-row,.paper-table .paper-table-row,.paper-table.paper-table-conferences .paper-table-row,.paper-table.paper-table-repos .paper-table-row{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 0;grid-template-columns:none!important}.paper-table .cell-anon{flex:1 1 calc(100% - 52px);min-width:0;order:1}.paper-table .cell-actions{flex:0 0 auto;order:2;align-self:center}.paper-table .cell-conf,.paper-table .cell-expires,.paper-table .cell-status,.paper-table .cell-views{order:3;font-size:13px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:6px;text-align:left}.paper-table .cell-status{flex-wrap:nowrap;gap:6px;min-width:0}.paper-table .cell-status .status-sub{flex-basis:auto;font-size:13px;line-height:inherit}.paper-table .cell-status .status-sub::before{content:"·";margin-right:6px;color:var(--ink-faint)}.paper-table .cell-conf{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-views.num{text-align:left}.paper-table .paper-table-skeleton .cell-expires,.paper-table .paper-table-skeleton .cell-status,.paper-table .paper-table-skeleton .cell-views{flex:1 1 30%}.paper-table .cell-views::before{content:'\f06e';font-family:'Font Awesome 5 Free';font-weight:900;font-size:10px;color:var(--ink-muted)}.paper-table .cell-expires::before{content:'\f017';font-family:'Font Awesome 5 Free';font-weight:400;font-size:10px;color:var(--ink-muted)}.paper-table .cell-conf::before{content:'\f51c';font-family:'Font Awesome 5 Free';font-weight:900;font-size:10px;color:var(--ink-muted)}.paper-table-dashboard .cell-conf::before{content:none}.paper-table .cell-conf:has(.empty-dash),.paper-table .cell-expires:has(.empty-dash){display:none}.paper-table .cell-expires::before,.paper-table .cell-views::before{color:var(--ink-faint)}}.paper-page .dropdown-menu{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface,10px);box-shadow:0 12px 28px rgba(26,24,21,.08);padding:6px;min-width:220px;font-family:var(--font-sans);font-size:14px;color:var(--color);margin-top:6px}.paper-page .dropdown-menu .dropdown-header{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);padding:8px 10px 6px;font-weight:500}.paper-page .dropdown-menu .dropdown-item{border-radius:6px;padding:8px 10px;color:var(--color);font-size:14px;display:flex;align-items:center;gap:8px}.paper-page .dropdown-menu .dropdown-item:focus,.paper-page .dropdown-menu .dropdown-item:hover{background:var(--hover-bg-color);color:var(--color)}.paper-page .dropdown-menu .dropdown-item i{width:16px;font-size:13px;color:var(--ink-muted)}.paper-page .dropdown-menu .form-check.dropdown-item{padding:8px 10px 8px 36px!important;position:relative}.paper-page .dropdown-menu .form-check.dropdown-item .form-check-input{position:absolute;left:12px;top:50%;transform:translateY(-50%);margin:0;width:16px;height:16px;accent-color:var(--color);cursor:pointer}.paper-page .dropdown-menu .form-check.dropdown-item .form-check-label{font-family:var(--font-sans);font-size:14px;color:var(--color);font-weight:400;margin:0;cursor:pointer}.btn.btn-icon-dots{width:32px;height:32px;padding:0;border:1px solid transparent;background:0 0;color:var(--ink-muted);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.btn.btn-icon-dots:focus,.btn.btn-icon-dots:hover,.btn.btn-icon-dots[aria-expanded=true]{background:var(--hover-bg-color);border-color:var(--border-color);color:var(--color)}.btn.btn-icon-dots::after{display:none}.btn.btn-icon-dots i{font-size:15px}.paper-page .repo-list-empty{border-top:none;padding:56px 20px;color:var(--ink-muted)}.paper-page .filter-chip{background:var(--paper-bg-alt);color:var(--color);border:1px solid var(--border-color);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}@media (max-width:768px){.paper-page .paper-page-title{font-size:clamp(1.4rem,6vw,1.9rem);margin:4px 0 2px}.paper-page .paper-page-lede{font-size:13px;line-height:1.4;margin-bottom:0}.paper-page .btn-ink{padding:6px 12px;font-size:13px}.paper-page .quota-row{grid-template-columns:1fr;gap:12px;padding:0;margin:16px 0 0}.paper-page .dashboard-filter-row{padding:10px 0;margin-top:12px;gap:8px}.paper-page .quota-header{flex-direction:row;align-items:baseline;gap:8px}.paper-page .quota-value{white-space:nowrap}.paper-page .dashboard-filter-controls{width:100%}.paper-page .dashboard-filter-controls .btn-group{flex:1 1 100%;display:flex}.paper-page .dashboard-filter-controls .btn-group .btn{flex:1;justify-content:center}.paper-page .dashboard-filter-controls .dropdown{flex:1 1 0;min-width:0}.paper-page .dashboard-filter-controls .dropdown .dropdown-toggle{width:100%;justify-content:space-between}.paper-page .dashboard-filter-controls .dropdown .filter-btn-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:480px){.paper-page .paper-page-lede{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.empty-state{text-align:center;padding:40px 20px;opacity:.6}.empty-state i{font-size:2rem;margin-bottom:10px;display:block}.paper-page .progress{height:10px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:999px;overflow:hidden;margin-bottom:20px}.paper-page .progress .progress-bar{background:var(--color);color:var(--canvas-bg-color);font-family:var(--font-mono);font-size:10px;line-height:10px}.paper-page .progress .progress-bar.bg-success{background:var(--status-ready)!important}.paper-page .progress .progress-bar.bg-warning{background:var(--status-progress)!important;color:#fff}.paper-page .progress .progress-bar.bg-danger{background:var(--status-error)!important}.paper-page .progress .progress-bar.bg-dark{background:var(--ink-faint)!important}.paper-page .form>h5,.paper-page form>h5,.paper-page>h5{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:24px 0 8px}.paper-page .accordion .card{background:var(--paper-card,var(--sidebar-bg-color));border:1px solid var(--border-color);border-radius:8px!important;margin-bottom:8px;overflow:hidden}.paper-page .accordion .card+.card{border-top:1px solid var(--border-color)}.paper-page .accordion .card-header{background:0 0;border:none;padding:0}.paper-page .accordion .card-header .btn{color:var(--color)!important;font-family:var(--font-sans);font-weight:500;font-size:14px;padding:14px 18px!important;background:0 0!important;border:none!important;position:relative}.paper-page .accordion .card-header .btn::after{content:"+";position:absolute;right:18px;font-family:var(--font-serif);font-size:20px;color:var(--ink-muted)}.paper-page .accordion .card-header .btn:not(.collapsed)::after{content:"–"}.paper-page .accordion .card-body{padding:6px 18px 18px!important;border-top:1px solid var(--border-soft)}.paper-page .accordion .form-check-label{color:var(--color);font-weight:500;font-size:13.5px}.paper-page .accordion .form-text{color:var(--ink-muted);font-size:12px;margin-top:2px}.faq-section .panel-body code{font-family:var(--font-mono);font-size:13px;padding:1px 6px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:3px;color:var(--color)}.faq-section .panel-body a{color:var(--accent)}@media (max-width:820px){.paper-faq-body{grid-template-columns:1fr;gap:24px}.paper-faq-toc{position:static}}.paper-footer{margin-top:80px;padding:56px max(20px,calc((100% - 1076px)/ 2)) 28px;border-top:1px solid var(--border-color);background:var(--canvas-bg-color);font-family:var(--font-sans)}.paper-footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.paper-footer-brand .paper-footer-mark{font-family:var(--font-serif);font-size:22px;letter-spacing:-.01em;color:var(--color)}.paper-footer-brand .paper-footer-mark em{font-style:italic;font-weight:400}.paper-footer-tag{margin-top:10px;color:var(--ink-soft);font-size:13.5px;line-height:1.55;max-width:340px}.paper-footer-head{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.paper-footer-col a{display:block;color:var(--color);font-size:13.5px;padding:4px 0;text-decoration:none}.paper-footer-col a:hover{color:var(--accent)}.paper-footer-rule{height:1px;background:var(--border-color);margin:40px 0 16px}.paper-footer-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--ink-muted);font-family:var(--font-sans);letter-spacing:0}.paper-footer-foot .paper-footer-meta{font-family:var(--font-serif);font-style:italic;font-size:13.5px;letter-spacing:0;color:var(--ink-soft)}@media (max-width:768px){.paper-footer-inner{grid-template-columns:1fr 1fr}}.file.folder.truncated .truncated-warning{color:var(--status-progress);margin-left:4px;font-size:.85em;flex-shrink:0}.file.folder.truncated>a{color:var(--status-progress)}body{--bucket-error-bg:#FCEDED;--bucket-error-fg:#8A1F1F;--bucket-error-bd:#F0C4C4;--bucket-error-dot:#B53737;--bucket-warn-bg:#FFF3DF;--bucket-warn-fg:#7A4D00;--bucket-warn-bd:#F0D8A0;--bucket-warn-dot:#B07A2F;--bucket-info-bg:#EAF2EC;--bucket-info-fg:#2C5D3A;--bucket-info-bd:#C5DCCD;--bucket-info-dot:#5B8D6B;--card-shadow:0 1px 2px rgba(26, 24, 21, 0.04),0 4px 14px rgba(26, 24, 21, 0.05);--card-shadow-hover:0 1px 2px rgba(26, 24, 21, 0.06),0 8px 24px rgba(26, 24, 21, 0.08)}.dark-mode{--bucket-error-bg:rgba(255, 139, 123, 0.10);--bucket-error-fg:var(--status-error);--bucket-error-bd:rgba(255, 139, 123, 0.28);--bucket-error-dot:var(--status-error);--bucket-warn-bg:rgba(255, 211, 122, 0.10);--bucket-warn-fg:var(--status-progress);--bucket-warn-bd:rgba(255, 211, 122, 0.28);--bucket-warn-dot:var(--status-progress);--bucket-info-bg:rgba(152, 200, 168, 0.10);--bucket-info-fg:#98C8A8;--bucket-info-bd:rgba(152, 200, 168, 0.28);--bucket-info-dot:#98C8A8;--card-shadow:0 1px 2px rgba(0, 0, 0, 0.35),0 6px 18px rgba(0, 0, 0, 0.30);--card-shadow-hover:0 2px 4px rgba(0, 0, 0, 0.45),0 12px 28px rgba(0, 0, 0, 0.40)}.errors-page .errors-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 8px}.errors-page .errors-actions{display:flex;gap:6px}.errors-page .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:14px 0 18px}.errors-page .kpi-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--card-shadow);transition:box-shadow 160ms ease,transform 160ms ease}.errors-page .kpi-card:hover{box-shadow:var(--card-shadow-hover)}.errors-page .kpi-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.errors-page .kpi-value{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;line-height:1;margin-top:2px;color:var(--color)}.errors-page .kpi-card.kpi-error .kpi-value{color:var(--bucket-error-fg)}.errors-page .kpi-card.kpi-warn .kpi-value{color:var(--bucket-warn-fg)}.errors-page .kpi-card.kpi-info .kpi-value{color:var(--bucket-info-fg)}.errors-page .kpi-sub{font-size:.78rem;color:var(--ink-muted);font-style:italic}.errors-page .kpi-sub.up{color:var(--bucket-error-fg);font-style:normal}.errors-page .kpi-sub.down{color:var(--bucket-info-fg);font-style:normal}.errors-page .dropped-warn{color:var(--bucket-error-fg);font-weight:600;font-style:normal}.errors-page .volume-chart{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;margin-bottom:18px;box-shadow:var(--card-shadow)}.errors-page .volume-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.errors-page .volume-legend{display:flex;gap:14px;align-items:center;text-transform:none;letter-spacing:0;font-family:var(--font-sans)}.errors-page .volume-legend .dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:middle}.errors-page .dot.dot-error{background:var(--bucket-error-dot)}.errors-page .dot.dot-warn{background:var(--bucket-warn-dot)}.errors-page .dot.dot-info{background:var(--bucket-info-dot)}.errors-page .volume-bars{display:flex;align-items:flex-end;gap:4px;height:80px}.errors-page .volume-bar{display:flex;flex-direction:column-reverse;flex:1 1 0;min-width:6px;height:100%}.errors-page .volume-bar .seg{display:block;width:100%}.errors-page .seg.seg-error{background:var(--bucket-error-dot)}.errors-page .seg.seg-warn{background:var(--bucket-warn-dot)}.errors-page .seg.seg-info{background:var(--bucket-info-dot);opacity:.7}.errors-page .errors-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.errors-page .seg-tabs{display:inline-flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--paper-card)}.errors-page .seg-tabs button{background:0 0;border:none;padding:6px 14px;font-size:.85rem;cursor:pointer;color:var(--color);font-family:var(--font-sans)}.errors-page .seg-tabs button+button{border-left:1px solid var(--border-color)}.errors-page .seg-tabs button.active{background:var(--primary-bg);color:var(--primary-color)}.errors-page .errors-toolbar .search-wrap{position:relative;flex:1 1 320px;min-width:220px}.errors-page .errors-toolbar .search-wrap input{width:100%;padding:6px 10px 6px 32px;border:1px solid var(--border-color);border-radius:8px;font-family:var(--font-mono);font-size:.82rem;background:var(--input-bg);color:var(--input-color)}.errors-page .errors-toolbar .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-muted);font-size:.85rem}.errors-page .errors-toolbar .filter-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.72rem;color:var(--ink-muted)}.errors-page .errors-toolbar .select-wrap{display:inline-flex;align-items:center;gap:6px}.errors-page .errors-toolbar .select-wrap label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0}.errors-page .errors-toolbar .select-wrap select{background:var(--input-bg);color:var(--input-color);border:1px solid var(--border-color);border-radius:8px}.errors-page .errors-toolbar .autoref{display:inline-flex;gap:6px;align-items:center;font-size:.82rem;color:var(--color);cursor:pointer;margin:0}.errors-page .btn-icon{width:32px;padding:4px 0}.errors-page .errors-list{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow)}.errors-page .errors-list-head,.errors-page .errors-row-main{display:grid;grid-template-columns:110px 100px 100px 1fr 60px 70px;gap:16px;padding:18px 20px;align-items:start}.errors-page .errors-list-head{padding:12px 20px;align-items:center}.errors-page .errors-list-head{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt)}.errors-page .errors-row{border-bottom:1px solid var(--border-soft)}.errors-page .errors-row:last-child{border-bottom:none}.errors-page .errors-row.open{background:var(--paper-bg-alt)}.errors-page .errors-row-main{cursor:pointer}.errors-page .errors-row-main:hover{background:var(--hover-bg-color)}.errors-page .col-when .when-rel{font-size:.95rem;color:var(--color);font-variant-numeric:tabular-nums}.errors-page .col-when .when-abs{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-top:2px}.errors-page .col-sev{display:flex;align-items:center;gap:8px}.errors-page .sev-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.errors-page .sev-dot.sev-error{background:var(--bucket-error-dot)}.errors-page .sev-dot.sev-warn{background:var(--bucket-warn-dot)}.errors-page .sev-dot.sev-info{background:var(--bucket-info-dot)}.errors-page .sev-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;color:var(--color)}.errors-page .pill-module{display:inline-block;font-family:var(--font-mono);font-size:.78rem;background:var(--paper-bg-alt);color:var(--ink-soft);border:1px solid var(--border-color);padding:3px 10px;border-radius:6px}.errors-page .col-msg .msg-code{font-family:var(--font-mono);font-size:1rem;color:var(--color);font-weight:600}.errors-page .col-msg .msg-context{color:var(--ink-muted);font-style:italic;font-size:.88rem;margin-left:10px}.errors-page .col-msg .msg-detail{color:var(--ink-soft);font-family:var(--font-mono);font-size:.82rem;margin-left:10px}.errors-page .col-msg .msg-url{color:var(--ink-muted);font-family:var(--font-mono);font-size:.8rem;margin-top:6px;word-break:break-all}.errors-page .count-pill{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--primary-bg);color:var(--primary-color);font-family:var(--font-mono);font-size:.78rem;font-variant-numeric:tabular-nums}.errors-page .count-pill.count-pill-muted{background:0 0;color:var(--ink-muted);border:1px solid var(--border-color)}.errors-page .status-pill{display:inline-block;padding:2px 10px;border-radius:4px;font-family:var(--font-mono);font-size:.8rem;font-variant-numeric:tabular-nums;border:1px solid transparent}.errors-page .status-pill.status-error{background:var(--bucket-error-bg);color:var(--bucket-error-fg);border-color:var(--bucket-error-bd)}.errors-page .status-pill.status-warn{background:var(--bucket-warn-bg);color:var(--bucket-warn-fg);border-color:var(--bucket-warn-bd)}.errors-page .status-pill.status-info{background:var(--bucket-info-bg);color:var(--bucket-info-fg);border-color:var(--bucket-info-bd)}.errors-page .errors-row-detail{padding:0 16px 16px}.errors-page .detail-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color);margin-bottom:12px}.errors-page .detail-tabs button{background:0 0;border:0;border-bottom:2px solid transparent;padding:8px 12px;font-size:.85rem;cursor:pointer;color:var(--ink-muted);font-family:var(--font-sans)}.errors-page .detail-tabs button.active{color:var(--color);border-bottom-color:var(--color)}.errors-page .detail-body{display:grid;grid-template-columns:1fr 260px;gap:20px}.errors-page .detail-main pre{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;font-family:var(--font-mono);font-size:.85rem;line-height:1.7;color:var(--color);max-height:26em;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;box-shadow:var(--card-shadow)}.errors-page .related-list{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;max-height:22em;overflow:auto;box-shadow:var(--card-shadow)}.errors-page .stack-pre{line-height:1.45;white-space:pre;overflow-x:auto}.errors-page .related-row{display:flex;gap:10px;padding:6px 12px;align-items:center;border-bottom:1px solid var(--border-soft);font-size:.8rem}.errors-page .related-row:last-child{border-bottom:none}.errors-page .detail-actions{display:flex;gap:6px;align-items:center;margin-top:10px}.errors-page .copy-hint{font-size:.78rem;color:var(--bucket-info-fg)}.errors-page .detail-aside{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px;box-shadow:var(--card-shadow)}.errors-page .aside-block+.aside-block{margin-top:16px}.errors-page .aside-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:4px}.errors-page .aside-value{font-family:var(--font-serif);font-size:1.05rem;color:var(--color);word-break:break-word;line-height:1.3}.errors-page .aside-value.mono{font-family:var(--font-mono);font-size:.82rem}.errors-page .aside-sub{color:var(--ink-muted);font-style:italic;font-size:.8rem;font-family:var(--font-sans)}.errors-page .errors-pager{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:var(--ink-muted);font-size:.85rem}@media (max-width:720px){.errors-page .errors-list-head,.errors-page .errors-row-main{grid-template-columns:80px 80px 1fr 60px}.errors-page .errors-list-head .col-mod,.errors-page .errors-list-head .col-sev,.errors-page .errors-row-main .col-mod,.errors-page .errors-row-main .col-sev{display:none}.errors-page .detail-body{grid-template-columns:1fr}}.overview-page .ov-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:2px}.overview-page .ov-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle}.overview-page .ov-dot-ok{background:#2f7a44}.overview-page .ov-dot-warn{background:var(--status-progress)}.overview-page .ov-dot-idle{background:var(--ink-muted)}.dark-mode .overview-page .ov-dot-ok{background:#7dc894}.dark-mode .overview-page .ov-dot-warn{background:var(--status-progress)}.overview-page .ov-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:16px 0 22px}.overview-page .ov-kpi-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--card-shadow);transition:box-shadow 160ms ease}.overview-page .ov-kpi-card:hover{box-shadow:var(--card-shadow-hover)}.overview-page .ov-kpi-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.overview-page .ov-kpi-value{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;line-height:1;margin-top:2px;color:var(--color)}.overview-page .ov-kpi-value.ov-val-warn{color:#b42318}.dark-mode .overview-page .ov-kpi-value.ov-val-warn{color:#f08a82}.overview-page .ov-kpi-sub{font-size:.76rem;color:var(--ink-muted);margin-top:2px}.overview-page .ov-daily-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:-4px 0 22px}.overview-page .ov-daily-card{background:var(--primary-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;box-shadow:var(--card-shadow)}.overview-page .ov-daily-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.overview-page .ov-daily-value{font-family:var(--font-serif);font-size:2.35rem;font-weight:400;line-height:1;color:var(--accent,#1f6a64);margin-top:6px}.overview-page .ov-daily-sub{font-size:.76rem;color:var(--ink-muted);margin-top:5px}.dark-mode .overview-page .ov-daily-card{background:var(--paper-card)}.dark-mode .overview-page .ov-daily-value{color:#7cc7be}.overview-page .ov-chart-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.overview-page .ov-chart-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px 14px;box-shadow:var(--card-shadow)}.overview-page .ov-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.overview-page .ov-chart-title{font-family:var(--font-serif);font-size:1.05rem}.overview-page .ov-chart-legend{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-muted);display:flex;align-items:center;gap:5px}.overview-page .ov-dot-legend{display:inline-block;width:8px;height:8px;border-radius:50%}.overview-page .ov-dot-accent{background:var(--accent,#1f6a64)}.overview-page .ov-dot-ok-fill{background:#2f7a44}.overview-page .ov-dot-user-fill{background:#8b5e2e}.overview-page .ov-dot-new-user-fill{background:var(--status-progress)}.dark-mode .overview-page .ov-dot-ok-fill{background:#7dc894}.dark-mode .overview-page .ov-dot-user-fill{background:var(--status-progress)}.dark-mode .overview-page .ov-dot-new-user-fill{background:var(--status-progress)}.overview-page .ov-spark-bars{display:flex;align-items:flex-end;gap:3px;height:140px}.overview-page .ov-spark-col{flex:1;display:flex;align-items:flex-end;height:100%;position:relative}.overview-page .ov-spark-fill{width:100%;background:var(--accent,#1f6a64);border-radius:2px 2px 0 0;transition:height .3s ease;opacity:.55}.overview-page .ov-spark-fill-alt{background:#2f7a44}.overview-page .ov-spark-fill-user{background:#8b5e2e}.overview-page .ov-spark-fill-new-user{background:var(--status-progress)}.dark-mode .overview-page .ov-spark-fill-alt{background:#7dc894}.dark-mode .overview-page .ov-spark-fill-user{background:var(--status-progress)}.dark-mode .overview-page .ov-spark-fill-new-user{background:var(--status-progress)}.overview-page .ov-spark-col:hover .ov-spark-fill{opacity:1}.overview-page .ov-spark-col.has-tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);z-index:10;padding:6px 8px;border-radius:6px;background:var(--color);color:var(--canvas-bg-color);font-family:var(--font-mono);font-size:.68rem;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 120ms ease,transform 120ms ease}.overview-page .ov-spark-col.has-tip::before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%) translateY(4px);z-index:10;border:5px solid transparent;border-top-color:var(--color);opacity:0;pointer-events:none;transition:opacity 120ms ease,transform 120ms ease}.overview-page .ov-spark-col.has-tip:hover::after,.overview-page .ov-spark-col.has-tip:hover::before{opacity:1;transform:translateX(-50%) translateY(0)}.overview-page .ov-spark-x{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-muted);margin-top:6px}.overview-page .ov-triple-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:18px}.overview-page .ov-panel-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 20px;box-shadow:var(--card-shadow)}.overview-page .ov-panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.overview-page .ov-panel-title{font-family:var(--font-serif);font-size:1.05rem}.overview-page .ov-panel-meta{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.overview-page .ov-panel-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color);font-size:.82rem}.overview-page .ov-panel-foot a{color:var(--link-color);text-decoration:none}.overview-page .ov-panel-foot a:hover{text-decoration:underline}.overview-page .ov-performance{min-width:0;margin:22px 0}.overview-page .ov-performance-head{align-items:center;flex-wrap:wrap;gap:12px 20px}.overview-page .ov-performance-head h2{margin:0 0 4px}.overview-page .ov-performance-note{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--ink-muted)}.overview-page .ov-performance-head .ov-performance-note{margin:0}.overview-page .ov-performance-window{display:flex;align-items:center;gap:8px;flex-shrink:0}.overview-page .ov-performance-window label{margin:0;font-size:12px;color:var(--ink-muted)}.overview-page .ov-performance-window select{width:auto}.overview-page .ov-performance-tabs{margin:0 0 16px;gap:4px}.overview-page .ov-performance-tabs .paper-tab{white-space:nowrap}.overview-page .ov-metrics-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-control,8px)}.overview-page .ov-metrics-table{width:100%;border-collapse:collapse;color:var(--color);font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}.overview-page .ov-metrics-table td,.overview-page .ov-metrics-table th{padding:10px 12px;border-bottom:1px solid var(--border-color);vertical-align:middle;white-space:nowrap}.overview-page .ov-metrics-table thead th{background:var(--paper-bg-alt);color:var(--ink-muted);font-size:12px;font-weight:500}.overview-page .ov-metrics-table .num{text-align:right}.overview-page .ov-metrics-table tr:last-child>*{border-bottom:0}.overview-page .ov-metrics-table thead tr:last-child>*{border-bottom:1px solid var(--border-color)}.overview-page .ov-metrics-table tbody tr:hover{background:var(--hover-bg-color)}.overview-page .ov-metrics-table .ov-metric-name{min-width:190px;max-width:280px;text-align:left;white-space:normal;overflow-wrap:anywhere;font-weight:500}.overview-page .ov-metrics-table small{display:block;margin-top:3px;font-size:11px;font-weight:400;color:var(--ink-muted)}.overview-page .ov-metrics-table small .ui-icon{width:12px;height:12px}.overview-page .ov-metric-warning-row{background:rgba(196,138,46,.07)}.overview-page .ov-metric-warn,.overview-page .ov-metrics-table small.ov-metric-warn{color:#946519}.dark-mode .overview-page .ov-metric-warn,.dark-mode .overview-page .ov-metrics-table small.ov-metric-warn{color:var(--status-progress)}.overview-page .ov-performance-message{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;margin:0 0 16px;border:1px solid var(--border-color);border-radius:var(--radius-control,8px);font-size:13px;line-height:1.5}.overview-page .ov-performance-message span{flex:1;min-width:160px}.overview-page .ov-performance-warning{background:rgba(196,138,46,.07)}.overview-page .ov-performance-empty{margin:0;padding:24px 12px;text-align:center;font-size:13px;color:var(--ink-muted)}.overview-page .ov-performance-help{margin-top:16px;font-size:12px;line-height:1.6;color:var(--ink-muted)}.overview-page .ov-performance-help summary{width:fit-content;cursor:pointer}.overview-page .ov-performance-help p{margin:8px 0 0;max-width:80ch}@media (max-width:575px){.overview-page .ov-performance{padding:16px 12px}.overview-page .ov-performance-window{width:100%}.overview-page .ov-performance-window select{flex:1;min-width:0}.overview-page .ov-performance-tabs .paper-tab{flex:1;padding:10px 8px}}.overview-page .ov-stacked-bar{display:flex;height:18px;border-radius:6px;overflow:hidden;margin-bottom:14px}.overview-page .ov-bar-seg{min-width:2px;transition:width .4s ease}.overview-page .ov-bar-ready{background:#2f7a44}.overview-page .ov-bar-preparing{background:var(--status-progress)}.overview-page .ov-bar-error{background:#b42318}.overview-page .ov-bar-expired{background:#8a857c}.overview-page .ov-bar-removed{background:#b5afa2}.dark-mode .overview-page .ov-bar-ready{background:#7dc894}.dark-mode .overview-page .ov-bar-preparing{background:var(--status-progress)}.dark-mode .overview-page .ov-bar-error{background:#f08a82}.dark-mode .overview-page .ov-bar-expired{background:#6b665e}.dark-mode .overview-page .ov-bar-removed{background:#4a453e}.overview-page .ov-bar-legend{display:flex;flex-direction:column;gap:6px}.overview-page .ov-legend-item{display:flex;align-items:center;gap:8px;font-size:.82rem;text-decoration:none;color:inherit}.overview-page .ov-legend-item:hover{text-decoration:none;color:inherit}.overview-page .ov-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0}.overview-page .ov-legend-n{margin-left:auto;font-family:var(--font-mono);font-size:.8rem;font-weight:600}.overview-page .ov-error-bars{display:flex;flex-direction:column;gap:12px}.overview-page .ov-ebar-row{display:flex;align-items:center;gap:10px}.overview-page .ov-ebar-label{width:30px;flex-shrink:0;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;color:var(--ink-muted)}.overview-page .ov-ebar-track{flex:1;height:10px;background:var(--hover-bg-color);border-radius:5px;overflow:hidden}.overview-page .ov-ebar-fill{height:100%;border-radius:5px;transition:width .4s ease}.overview-page .ov-ebar-error{background:#b42318}.overview-page .ov-ebar-warn{background:var(--status-progress)}.overview-page .ov-ebar-info{background:var(--accent,#1f6a64)}.dark-mode .overview-page .ov-ebar-error{background:#f08a82}.dark-mode .overview-page .ov-ebar-warn{background:var(--status-progress)}.overview-page .ov-ebar-n{width:36px;text-align:right;font-family:var(--font-mono);font-size:.82rem;font-weight:600;flex-shrink:0}.overview-page .ov-routes-table{display:flex;flex-direction:column}.overview-page .ov-route-row{display:grid;grid-template-columns:1fr 60px 60px 60px;padding:8px 0;border-bottom:1px solid var(--border-soft,var(--border-color));text-decoration:none;color:inherit;font-size:.85rem;align-items:center}.overview-page .ov-route-row:last-child{border-bottom:none}.overview-page .ov-route-row:hover{background:var(--hover-bg-color);text-decoration:none;color:inherit}.overview-page .ov-route-head{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom:1px solid var(--border-color)}.overview-page .ov-route-head:hover{background:0 0}.overview-page .ov-route-name{font-family:var(--font-mono);font-size:.84rem}.overview-page .ov-route-n{text-align:right;font-family:var(--font-mono);font-size:.84rem}.overview-page .ov-route-lat{color:var(--ink-muted)}.overview-page .ov-n-bad{color:#b42318;font-weight:600}.dark-mode .overview-page .ov-n-bad{color:#f08a82}.overview-page .ov-services-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;box-shadow:var(--card-shadow);margin-bottom:18px}.overview-page .ov-services-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.overview-page .ov-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.overview-page .ov-svc{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border-soft,var(--border-color));border-radius:10px}.overview-page .ov-svc-dot{width:10px;height:10px;border-radius:50%;margin-top:3px;flex-shrink:0}.overview-page .ov-svc-info{display:flex;flex-direction:column;gap:1px;flex:1}.overview-page .ov-svc-name{font-family:var(--font-mono);font-size:.88rem;font-weight:600}.overview-page .ov-svc-meta{font-size:.76rem;color:var(--ink-muted)}.overview-page .ov-svc-detail{font-size:.74rem;color:var(--ink-muted);white-space:nowrap}@media (max-width:900px){.overview-page .ov-kpi-row{grid-template-columns:repeat(3,1fr)}.overview-page .ov-daily-row{grid-template-columns:repeat(3,1fr)}.overview-page .ov-triple-row{grid-template-columns:1fr}}@media (max-width:720px){.overview-page .ov-kpi-row{grid-template-columns:repeat(2,1fr)}.overview-page .ov-daily-row{grid-template-columns:1fr}.overview-page .ov-chart-row{grid-template-columns:1fr}.overview-page .ov-header{flex-direction:column;gap:8px}}@media (max-width:480px){.overview-page .ov-kpi-row{grid-template-columns:1fr 1fr}.overview-page .ov-services-grid{grid-template-columns:1fr 1fr}}.dashboard-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-bottom:12px}.dashboard-heading-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.dashboard-connections-link{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:var(--ink-muted);font-size:12px;line-height:1.5}.dashboard-connections-link:hover{color:var(--accent);text-decoration:none}.dashboard-connections-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}@media (max-width:767px){.dashboard-heading-actions{align-items:flex-start;padding-bottom:0;gap:4px}.dashboard-connections-link{min-height:44px}}.paper-settings-connection-link{display:flex;align-items:center;gap:12px;padding:18px 0;color:var(--color);font-size:14px}.paper-settings-connection-link>i{color:var(--ink-muted);font-size:18px}.paper-settings-connection-link>span:first-of-type{flex:1}.paper-settings-connection-link small{display:block;margin-top:4px;color:var(--ink-muted);font-size:12px}.paper-settings-connection-link:hover{color:var(--accent);text-decoration:none}.paper-settings-connection-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.connections-heading{margin-bottom:36px}.connections-heading .paper-page-title{font-size:clamp(38px,4.5vw,56px);margin-bottom:12px}.connections-heading .paper-page-lede{font-size:15px}.connections-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start;border-top:1px solid var(--border-color);padding-top:28px}.connections-grid>section{min-width:0}.connection-title,.connection-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.connection-top{margin-bottom:24px;min-height:28px}.connection-top>i{color:var(--ink-muted);font-size:24px}.connection-top>.fa-key{font-size:18px}.connection-title{margin-bottom:10px}.connections-page h2{font-family:inherit;font-size:21px;font-weight:600;letter-spacing:-.5px;margin:0}.connections-page p{font-size:14px;line-height:1.65;color:var(--ink-muted)}.connection-badge{background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;border-radius:5px;padding:4px 8px;white-space:nowrap}.connection-badge-muted{background:var(--paper-bg-alt);color:var(--ink-muted)}.connection-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-muted)}.connection-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.connection-status.is-connected{color:var(--status-ready)}.connection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0 16px}.connections-page .btn{font-size:13px;padding:9px 13px;white-space:normal}.connection-revoke p,.connections-page .connection-help{font-size:12px}.connection-link{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;background:0 0;color:var(--accent);font-size:13px;line-height:1.6;font-weight:500;text-align:left;cursor:pointer}.connection-link:hover{color:var(--link-hover-color);text-decoration:underline}.connection-link:disabled{color:var(--ink-muted);opacity:.65;cursor:not-allowed;text-decoration:none}.connection-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.connection-installations{list-style:none;padding:0;margin:18px 0;border-top:1px solid var(--border-soft)}.connection-installations li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0;font-size:12px;border-bottom:1px solid var(--border-soft)}.connection-revoke{border-top:1px solid var(--border-soft);padding-top:18px;margin-top:24px}.connection-danger{color:var(--status-error)}.connection-resources{margin-top:36px;padding-top:28px;border-top:1px solid var(--border-color)}.connection-count{color:var(--ink-muted);font-size:12px}.connection-empty{display:flex;align-items:center;gap:18px;padding:20px 0;margin:22px 0}.connection-empty>i{font-size:22px;color:var(--ink-muted)}.connection-empty h3{font-size:14px;font-weight:600;margin:0 0 5px}.connection-empty p{font-size:12px;margin:0}.connection-empty>a{margin-left:auto;flex-shrink:0}.connection-resource{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--border-color)}.connection-resource-name{flex:1;min-width:180px;overflow-wrap:anywhere;font-size:14px}.connection-resource-name small{display:block;color:var(--ink-muted);font-size:11px;margin-top:5px}.connection-resource-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.connection-resource-actions .connection-help{flex-basis:100%}.connections-page .connection-footnote{display:flex;align-items:baseline;gap:10px;margin-top:22px;font-size:12px}@media (max-width:767px){.connections-grid{grid-template-columns:1fr;gap:28px}.connections-grid>section+section{border-top:1px solid var(--border-color);padding-top:28px}.connection-empty{flex-wrap:wrap}.connection-empty>div{flex:1;min-width:180px}.connection-empty>a{margin-left:40px}.connection-resource-actions{flex-basis:100%}}.paper-table-empty-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.paper-table-empty-actions .btn>i{font-size:1em;line-height:1;color:inherit;margin-right:0!important}.auth-back{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-muted);margin-bottom:48px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.auth-intro,.auth-options{padding-top:28px}.auth-title-mobile{display:none}.auth-intro .paper-page-title{font-size:clamp(48px,5vw,76px);line-height:1.06;margin:18px 0 24px}.auth-intro .paper-page-lede{max-width:330px}.auth-options{display:grid;gap:28px}.auth-options h2{font-family:inherit;font-size:21px;font-weight:600;margin:0 0 10px}.auth-options p{font-size:14px;line-height:1.65;color:var(--ink-muted)}.auth-options .auth-existing{font-size:12px;border-left:2px solid var(--accent);padding-left:14px;margin:0}.auth-permissions{padding:6px 0 12px;list-style:none;font-size:13px;line-height:1.6}.auth-permissions li{display:flex;gap:10px;margin:12px 0}.auth-permissions i{color:var(--status-ready);margin-top:4px}.auth-continue{display:flex!important;align-items:center;justify-content:space-between;min-height:48px;padding:12px 16px!important}.auth-options small{display:block;font-size:12px;text-align:center;color:var(--ink-muted);margin-top:12px}.auth-legacy{border-top:1px solid var(--border-color);padding-top:24px}.auth-legacy h2{font-size:16px;margin:0}.auth-legacy p{font-size:13px}.source-url-label-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:8px}.source-url-label-row>.paper-field-label{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--color);margin-bottom:6px;display:block}.repo-access{margin:0}.repo-access-details{margin:12px 0 24px}.source-url-label-row .repo-access-switch{padding:2px}.source-url-label-row .repo-access-switch button{padding:6px 10px;font-size:12px;line-height:20px}.repo-access-main{display:flex;align-items:center;gap:10px;padding:0 0 8px;flex-wrap:wrap}.repo-access-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.repo-access-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border-color);border-radius:7px;flex-wrap:wrap}.repo-access-switch button{border:0;border-radius:4px;background:0 0;color:var(--ink-muted);padding:7px 10px;font:inherit;font-size:12px;cursor:pointer}.repo-access-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);opacity:1;cursor:default;font-weight:600}.repo-access-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.repo-access-details .btn{font-size:12px;padding:8px 12px}.repo-access-note{display:flex;gap:6px 16px;flex-wrap:wrap;padding:0;color:var(--ink-muted);font-size:11px;line-height:1.6}@media (max-width:767px){.auth-page{max-width:480px}.auth-back,.auth-intro .paper-eyebrow,.auth-title-desktop{display:none}.auth-title-mobile{display:inline}.auth-layout{grid-template-columns:1fr;gap:24px}.auth-intro,.auth-options{padding-top:0}.auth-intro .paper-page-title{font-size:40px;line-height:1.15;margin:6px 0 12px}.auth-intro .paper-page-lede{max-width:none;font-size:14px;margin:0}.auth-options{gap:24px}.auth-options .connection-top{margin-bottom:16px}.auth-options h2{font-size:18px}.auth-options p{font-size:13px;margin-bottom:12px}.auth-permissions{padding:0;margin:14px 0 20px;font-size:12px}.auth-permissions li{margin:8px 0}.auth-continue{font-size:14px}.auth-legacy{padding-top:20px}.auth-legacy h2{font-size:15px}.auth-legacy .connection-link{min-height:44px}.repo-access-controls{width:100%;gap:12px}}.text-muted{color:var(--ink-muted)!important}.anonymize-review-note,.draft-status{font-size:13px;color:var(--ink-muted)}.anonymize-review-note{padding:12px 0;margin:0}.anonymize-preview-status{padding:20px 32px;color:var(--ink-muted)}.anonymize-preview-status p{margin:0 0 12px}@media (max-width:575px){.dashboard-page .paper-page-lede{margin-bottom:8px}.dashboard-page .dashboard-heading-actions{gap:4px}.dashboard-page .dashboard-connections-link{min-height:32px}.dashboard-page .dashboard-filter-row{margin-top:12px}.anonymize-preview-status{padding:16px}}.paper-page .paper-page-title{font-size:32px}.paper-page.admin-page .paper-page-title{font-size:28px}.paper-page .paper-page-lede{font-size:14px;line-height:1.5}.paper-settings{padding-top:32px}.paper-settings-body{grid-template-columns:180px minmax(0,1fr);gap:40px;margin-top:24px;padding-top:24px;border-top:0}.paper-settings-main .paper-settings-section{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);padding:20px;margin-bottom:16px}.anonymize-page .paper-section-eyebrow,.paper-settings .paper-section-eyebrow{font-family:var(--font-sans);font-size:16px;font-weight:600;color:var(--color);text-transform:none;letter-spacing:-.01em;margin-bottom:12px}.paper-settings .paper-settings-toc-head{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.paper-settings-section .paper-section-copy{margin-top:0}.paper-settings .quota-row{gap:24px}.paper-settings .quota-header{flex-direction:column;align-items:flex-start;gap:4px}.paper-settings .quota-value{white-space:nowrap}.paper-settings .paper-settings-footer{padding:0 0 20px}.paper-settings .form-control{font-size:14px;border-color:var(--border-color);border-radius:var(--radius-control)}.paper-settings .form-check{padding-top:8px;padding-bottom:8px}.anonymize-page .btn-ink,.paper-page .btn-ink{background:var(--accent);color:#fff;border-color:var(--accent)}.dark-mode .anonymize-page .btn-ink,.dark-mode .paper-page .btn-ink{color:#1a1815}.anonymize-page .btn-ink:hover,.paper-page .btn-ink:hover{background:var(--accent);border-color:var(--accent);color:#fff;filter:brightness(.94)}.dark-mode .anonymize-page .btn-ink:hover,.dark-mode .paper-page .btn-ink:hover{color:#1a1815}.anonymize-page .btn-ink:active,.paper-page .btn-ink:active{filter:brightness(.9)}input[type=date],select{color-scheme:light}.dark-mode input[type=date],.dark-mode select{color-scheme:dark}.draft-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:10px 0}.draft-discard{padding:0;border:0;color:var(--accent);font:inherit;font-size:13px;text-decoration:underline;background:0 0;cursor:pointer}.conference-feedback{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-top:16px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);width:100%}.paper-table{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);margin-top:12px}.paper-table .paper-table-head{font-family:var(--font-sans);text-transform:none;letter-spacing:0;font-size:12px;background:var(--paper-bg-alt);border-radius:var(--radius-surface) var(--radius-surface) 0 0}.paper-table .paper-table-head,.paper-table .paper-table-row{padding-left:16px;padding-right:16px}.dashboard-page{--dashboard-space-xs:4px;--dashboard-space-sm:8px;--dashboard-space-md:12px;--dashboard-space-lg:16px;--dashboard-space-xl:24px;padding-top:var(--dashboard-space-xl)}.project-icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.project-type-svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.project-empty-icon{width:28px;height:28px;color:var(--ink-faint)}.project-type-icon{display:inline-flex;color:var(--ink-muted);flex-shrink:0}.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dashboard-space-lg)}.dashboard-heading .paper-page-title{font-size:28px;margin-bottom:var(--dashboard-space-xs)}.dashboard-heading .paper-page-lede{display:none}.dashboard-heading .btn{min-height:40px;display:inline-flex;gap:var(--dashboard-space-sm);align-items:center}.dashboard-new-mobile{display:none}.dashboard-quota{position:relative;margin:0;padding:0;border:0;background:0 0}.dashboard-quota>summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--paper-card);color:var(--color);font-family:var(--font-sans);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}.dashboard-quota>summary::-webkit-details-marker{display:none}.dashboard-quota>summary:hover,.dashboard-quota[open]>summary{background:var(--paper-bg-alt);border-color:var(--ink-faint)}.quota-summary-label{font-weight:600}.quota-summary-value{color:var(--ink-muted);font-variant-numeric:tabular-nums}.quota-summary-ring{width:18px;height:18px;flex-shrink:0;fill:none;stroke-width:2.5}.quota-ring-track{stroke:var(--border-color)}.quota-ring-fill{stroke:var(--accent);transform:rotate(-90deg);transform-origin:50% 50%}.quota-summary-ring.quota-warn .quota-ring-fill{stroke:var(--status-progress)}.quota-summary-ring.quota-danger .quota-ring-fill{stroke:var(--status-error)}.quota-ring-unlimited{stroke:var(--accent);stroke-width:1.7}.quota-summary-chevron{width:14px;height:14px;margin-left:2px;color:var(--ink-muted);transition:transform .15s ease}.dashboard-quota[open] .quota-summary-chevron{transform:rotate(180deg)}.dashboard-quota .quota-panel{position:absolute;z-index:25;top:calc(100% + 8px);left:0;width:344px;max-width:calc(100vw - 36px);padding:16px;border:1px solid var(--border-color);border-radius:12px;background:var(--paper-card);box-shadow:0 12px 36px rgba(26,24,21,.16)}.quota-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.quota-panel-heading h2{font:600 15px var(--font-sans);margin:0}.quota-panel-heading .project-close{margin:-8px -8px -8px 0}.paper-page .quota-usage{display:grid;grid-template-columns:1fr;gap:16px;margin:0;padding:0}.quota-usage .quota-item+.quota-item{padding-top:16px;border-top:1px solid var(--border-soft,var(--border-color))}.quota-usage .quota-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.quota-usage .quota-label{display:inline-flex;align-items:center;gap:8px;font:500 12px var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink-muted)}.quota-usage .quota-label .project-type-svg{width:16px;height:16px}.quota-usage .quota-value{display:flex;align-items:baseline;gap:4px;font:12px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-muted);margin-bottom:8px}.quota-usage .quota-value strong{font-size:20px;line-height:1.2;font-weight:600;color:var(--color)}.quota-percent,.quota-usage .quota-unlimited-tag{margin-left:auto;padding:2px 6px;border-radius:4px;background:var(--paper-bg-alt);font:11px var(--font-sans);color:var(--ink-muted);white-space:nowrap}.quota-warn>.quota-header .quota-percent{color:var(--status-progress)}.quota-danger>.quota-header .quota-percent{color:var(--status-error)}.quota-usage .quota-track{height:5px;border:0;background:var(--paper-bg-alt)}.quota-usage .quota-track .quota-fill{min-width:0;background:var(--accent)}.quota-remaining{margin:6px 0 0;color:var(--ink-muted);font-size:11px}.quota-remaining.quota-limit{color:var(--status-error)}.quota-loading{font-size:12px;color:var(--ink-muted);margin:12px 0 0}.dashboard-page .dashboard-filter-row{display:flex;align-items:center;gap:var(--dashboard-space-md);padding:0;margin:var(--dashboard-space-lg) 0 0;border:0;background:0 0}.dashboard-page .dashboard-filter-row .search-wrap{flex:1 1 240px;min-width:0}.dashboard-page .dashboard-filter-row .form-control{height:40px;padding:8px 12px;font-size:13px;background:var(--paper-card)}.dashboard-page .dashboard-filter-controls{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--dashboard-space-sm)}.dashboard-extra-filters{display:flex;gap:var(--dashboard-space-sm)}.dashboard-filters-toggle{display:none}.dashboard-page .dashboard-filter-row .btn-group .btn{border:0;background:0 0;border-radius:6px;height:36px;padding:6px 10px}.dashboard-page .dashboard-filter-row .btn-group .btn.btn-primary{background:var(--accent-soft);color:var(--accent)}.dashboard-page .dashboard-filter-row .btn-group .btn.btn-primary:active,.dashboard-page .dashboard-filter-row .btn-group .btn.btn-primary:hover{background:var(--accent-soft)!important;color:var(--accent)}.dashboard-page .dashboard-filter-row .dropdown-toggle{height:36px;padding:6px 10px}.dashboard-type-filter .project-type-svg{display:none}.sort-direction{width:14px;height:14px}.sort-direction.ascending{transform:rotate(180deg)}.dashboard-page .dashboard-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dashboard-space-sm) var(--dashboard-space-md);margin:var(--dashboard-space-md) 0 0;padding:0}.dashboard-view-tabs{display:flex;align-items:center;gap:var(--dashboard-space-lg)}.dashboard-view-short{display:none}.dashboard-view-tabs button{min-height:36px;border:0;border-bottom:2px solid transparent;border-radius:0;background:0 0;font:inherit;font-size:13px;color:var(--ink-muted);padding:4px 0}.dashboard-view-tabs button[aria-pressed=true]{color:var(--color);border-bottom-color:var(--color);font-weight:600}.attention-count{padding:1px 5px;margin-left:4px;border-radius:4px;background:var(--paper-bg-alt);font-size:11px;font-variant-numeric:tabular-nums}.attention-count.has-attention{color:var(--status-error)}.dashboard-count{margin-left:auto;font-size:12px;color:var(--ink-muted)}.dashboard-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--dashboard-space-sm);width:100%}.dashboard-page .filter-chip{display:inline-flex;font-family:var(--font-sans);font-size:11px;text-transform:none;letter-spacing:0;border-radius:6px}.dashboard-page .filter-chip .project-type-svg{width:12px;height:12px;margin-left:4px}.dashboard-page .filter-chip-close{min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;margin:-2px -4px -2px 2px}.dashboard-page .btn-link-inline{color:var(--ink-muted);font-size:12px}.dashboard-page .paper-table-dashboard{margin-top:var(--dashboard-space-md);border-left:0;border-right:0;border-radius:0}.dashboard-page .paper-table-dashboard .paper-table-head,.dashboard-page .paper-table-dashboard .paper-table-row{grid-template-columns:minmax(280px,3fr) 180px 72px 148px 64px;gap:var(--dashboard-space-lg);padding:8px 12px}.dashboard-page .paper-table-dashboard .paper-table-head{border-radius:0}.dashboard-page .paper-table .cell-anon{gap:var(--dashboard-space-sm)}.dashboard-page .paper-table .anon-text{flex:1}.dashboard-page .paper-table .repo-name{font-family:var(--font-sans);font-size:14px;font-weight:600}.dashboard-page .paper-table .anon-sub{display:flex;align-items:center;gap:var(--dashboard-space-sm);min-width:0}.anonymous-id{font-size:12px;font-family:var(--font-mono);color:var(--ink-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .paper-table .type-badge{font-family:var(--font-sans);letter-spacing:0;font-size:11px;text-transform:none;border-radius:6px}.dashboard-page .paper-table .status-sub{font-size:12px}.dashboard-page .paper-table .cell-conf{font-family:var(--font-sans);letter-spacing:0;text-transform:none}.dashboard-page .conf-tag .project-type-svg{width:14px;height:14px}.dashboard-row-meta{display:contents}.dashboard-page .cell-actions{gap:0;align-items:center}.copy-link-inline,.dashboard-page .btn-icon-dots,.project-close{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:0 0;color:var(--ink-muted);padding:0;width:32px;height:32px;min-width:32px;cursor:pointer}.copy-link-inline:focus-visible,.copy-link-inline:hover,.dashboard-page .btn-icon-dots:hover,.project-close:hover{background:var(--accent-soft);color:var(--accent)}.copy-link-inline:disabled{opacity:.5;cursor:wait}.mobile-meta-icon{display:none}.project-attention-action{display:inline-block;color:var(--accent);border:0;background:0 0;padding:0;font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.project-attention-action{text-align:left}.dashboard-page .cell-status .project-attention-action{flex-basis:100%}.project-details-row{width:100%;border-bottom:1px solid var(--border-color)}.project-details{padding:var(--dashboard-space-xl);background:var(--paper-bg-alt)}.project-details-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-sm)}.project-details-heading h2{font:600 16px var(--font-sans);margin:0}.project-details-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--dashboard-space-md) var(--dashboard-space-xl);margin:12px 0}.project-details-list dt{font-size:12px;color:var(--ink-muted);font-weight:500;margin-bottom:4px}.project-details-list dd{margin:0;font-size:13px;overflow-wrap:anywhere}.project-details-list code{color:var(--color);font-size:12px}.project-name-form{margin-top:var(--dashboard-space-lg);padding-top:var(--dashboard-space-lg);border-top:1px solid var(--border-color)}.project-name-form label{display:block;font-size:13px;font-weight:500;margin-bottom:4px}.project-name-form p,.project-progress-help{font-size:12px;color:var(--ink-muted);margin-bottom:8px}.project-name-controls{display:flex;gap:var(--dashboard-space-sm);max-width:560px}.project-name-controls .form-control{min-width:0;font-size:14px}.project-name-controls .btn{flex-shrink:0;min-height:40px}.project-name-form .project-name-error{color:var(--status-error)}.project-details-button{min-height:44px;padding:0 8px;border:0;border-radius:6px;background:0 0;font:inherit;font-size:12px;color:var(--ink-muted);cursor:pointer}.anonymize-page .anonymize-topbar-title{font-family:var(--font-sans);font-size:28px;font-weight:600}.anonymize-topbar{padding:16px 24px}.anonymize-form-col{background:var(--paper-bg-alt)}.anonymize-form-col .paper-settings-main{padding:20px 24px}.anonymize-form-col .paper-settings-section{padding:18px}.anonymize-form-col .paper-settings-section:first-child{padding-top:18px}.anonymize-form-col .anonymize-submit-bar{background:var(--paper-bg-alt);padding:12px 0}.anonymize-preview-head .paper-eyebrow{font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--color);text-transform:none;letter-spacing:0}.anonymize-preview-col{background:var(--canvas-bg-color);padding:24px}.anonymize-preview-head{flex-wrap:wrap;gap:6px 12px;margin-bottom:16px}.anonymize-preview-body{padding:24px}.anonymize-mobile-tabs,.anonymize-preview-empty,.mobile-preview-jump{display:none}.anonymize-page .repo-access-note{font-size:12px}@media (max-width:900px){.paper-settings-body{grid-template-columns:1fr;gap:18px}.paper-settings-toc{padding:0}.paper-settings-toc-head{display:none}.paper-table .paper-table-row{padding-left:14px;padding-right:14px}}@media (max-width:767px){.anonymize-page .paper-page-title,.paper-page .paper-page-title{font-size:24px}.paper-settings{padding:20px 16px 40px}.paper-settings-main .paper-settings-section{padding:16px}.anonymize-topbar{padding:12px 16px}.anonymize-topbar .paper-crumbs{display:none}.anonymize-mobile-tabs{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border-color);background:var(--paper-card)}.anonymize-mobile-tabs button{flex:1;font:inherit;font-size:13px;padding:10px;border:0;border-radius:6px;background:0 0;color:var(--ink-muted)}.anonymize-mobile-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.anonymize-page:not(.mobile-preview-active) .anonymize-preview-col{display:none}.mobile-preview-active .anonymize-form-col{display:none}.mobile-preview-active .anonymize-preview-empty{display:block;padding:24px 16px;color:var(--ink-muted)}.anonymize-form-col .paper-settings-main{padding:16px}.anonymize-form-col .anonymize-submit-bar{background:var(--paper-bg-alt)}.mobile-preview-jump{display:block;width:100%;min-height:44px}.anonymize-preview-col{padding:16px}.anonymize-preview-body{padding:16px}}@media (max-width:575px){.paper-settings .quota-header{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 8px}}@media (max-width:1100px) and (min-width:901px){.dashboard-page .dashboard-filter-row{flex-wrap:wrap}.dashboard-page .dashboard-filter-row .search-wrap{flex-basis:100%}.dashboard-page .dashboard-filter-controls{width:100%;justify-content:space-between}}@media (max-width:900px){.dashboard-page .paper-table.paper-table-dashboard .paper-table-row{gap:4px 8px;padding:8px 12px}.dashboard-page .paper-table .cell-anon{flex:1 1 calc(100% - 96px);min-width:0}.dashboard-page .paper-table .cell-actions{flex:0 0 88px}.dashboard-row-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;order:3;width:100%}.dashboard-page .dashboard-row-meta .cell-status{flex:1 1 80px;flex-wrap:wrap;gap:2px 8px}.dashboard-page .dashboard-row-meta .cell-expires,.dashboard-page .dashboard-row-meta .cell-views{flex-shrink:0;font-size:12px}.dashboard-page .cell-expires::before,.dashboard-page .cell-views::before{content:none}.dashboard-page .mobile-meta-icon{display:inline-block;width:14px;height:14px}.dashboard-page .dashboard-row-meta .status-sub-date{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-page .dashboard-row-meta .status-sub-error,.dashboard-page .dashboard-row-meta .status-sub-warn{flex-basis:100%;white-space:normal;overflow-wrap:anywhere}.dashboard-page .dashboard-row-meta .status-sub::before{content:none}.dashboard-page .project-attention-action{min-height:44px;display:inline-flex;align-items:center}.dashboard-page .paper-table .anon-sub .commit-hash,.dashboard-page .paper-table .anon-sub .conf-tag{display:none}}@media (max-width:767px){.container.dashboard-page{padding-top:12px}.dashboard-heading .paper-page-title{font-size:24px}.dashboard-heading-actions .btn-ink{min-height:44px}.dashboard-new-label{display:none}.dashboard-new-mobile{display:inline}.dashboard-quota>summary{min-height:44px;gap:6px;padding:10px;font-size:12px;line-height:20px}.dashboard-quota .quota-panel{max-height:calc(100dvh - 184px);overflow-y:auto;overscroll-behavior:contain}.dashboard-page .dashboard-filter-row{flex-wrap:wrap;gap:8px;margin-top:12px}.dashboard-page .dashboard-filter-row .search-wrap{flex:1 1 0}.dashboard-page .dashboard-filter-row .form-control{height:44px}.dashboard-page .dashboard-filters-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:8px;min-height:44px;background:0 0;border:0}.dashboard-page .dashboard-filter-controls{display:none;width:100%}.dashboard-page .dashboard-filter-controls.expanded{display:flex;flex-wrap:wrap;gap:8px}.dashboard-page .dashboard-filter-controls .btn-group{width:100%;display:flex}.dashboard-page .dashboard-filter-controls .btn-group .btn{flex:1;min-height:44px}.dashboard-extra-filters{display:flex;width:100%}.dashboard-page .dashboard-extra-filters .dropdown{flex:1;min-width:0}.dashboard-page .dashboard-extra-filters .dropdown-toggle{width:100%;height:44px}.dashboard-type-filter .type-filter-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-type-filter .project-type-svg{display:inline-block}.dashboard-page .dashboard-meta{margin-top:8px;gap:4px 8px}.dashboard-view-tabs{gap:16px}.dashboard-view-tabs button{min-width:44px;min-height:44px;font-size:12px}.dashboard-count{font-size:11px}.dashboard-count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.dashboard-view-long{display:none}.dashboard-view-short{display:inline}.dashboard-active-filters{display:contents}.dashboard-page .filter-chip{font-size:11px;padding:0 8px;min-height:44px;gap:4px}.dashboard-page .filter-chip-close{min-width:44px;min-height:44px;margin:0}.dashboard-page .btn-link-inline{min-height:44px;font-size:12px}.dashboard-page .paper-table-dashboard{width:calc(100% + 36px);margin:8px -18px 0;border-left:0;border-right:0;border-radius:0}.dashboard-page .paper-table .repo-name{font-size:13px}.project-details{padding:16px 12px}.project-details-list{grid-template-columns:1fr;gap:12px}.project-name-controls{flex-wrap:wrap}.project-name-controls .form-control{flex-basis:100%}.project-name-controls .btn{min-height:44px}}@media (max-width:360px){.dashboard-attention-prefix{display:none}.dashboard-attention-prefix+span{text-transform:capitalize}}.ui-icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.ui-icon{display:inline-block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:-3px}.ui-icon.sort-direction{width:14px;height:14px}.pr-title-row{display:flex;align-items:flex-start;gap:16px}.pr-title-row .pr-title{flex:1;min-width:0}.pr-title-row>.btn{flex-shrink:0}.ui-icon.record-type-icon{color:var(--ink-muted)}.btn .ui-icon,.dropdown-item .ui-icon{width:16px;height:16px}.btn-icon-dots .ui-icon{width:18px;height:18px}.anonymize-page .paper-page-title,.paper-page .paper-page-title{font-size:28px}.paper-faq,.paper-page{padding-top:24px}.paper-page .paper-page-lede{margin-bottom:16px;overflow-wrap:anywhere}.paper-page-title{overflow-wrap:anywhere}.anonymize-page .form-control,.paper-page .form-control{min-height:40px;font-family:var(--font-sans);font-size:14px;border-radius:var(--radius-control)}.anonymize-page textarea.form-control,.paper-page textarea.form-control{height:auto}.anonymize-page .btn,.paper-page .btn,.status-bar-actions .btn{min-height:var(--button-height);padding:7px var(--button-padding-x);font:500 var(--button-font-size)/var(--button-line-height) var(--font-sans);border-radius:var(--radius-button);gap:6px}.anonymize-page .btn.btn-sm,.paper-page .btn.btn-sm,.status-bar-actions .btn{min-height:var(--button-compact-height);padding:5px 10px;font-size:13px;border-radius:6px}.anonymize-page .btn-ink,.paper-page .btn-ink{min-height:40px;padding:9px 15px}.btn-hero>i,.btn>.project-type-svg,.btn>.ui-icon,.btn>i{width:16px;height:16px;margin:0!important;flex-shrink:0}.btn.dropdown-toggle::after{margin-left:0}.btn.disabled,.btn:disabled{cursor:not-allowed}.btn.disabled:hover,.btn:disabled:hover{filter:none}.paper-page .btn.btn-link{background:0 0;border-color:transparent}.auth-continue.btn{min-height:44px;padding:11px 16px!important}.anonymize-page .btn.btn-icon,.paper-page .btn.btn-icon{width:32px;height:32px;min-width:32px;min-height:32px;padding:0}.paper-page .btn.btn-icon-dots{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;background:0 0;color:var(--ink-muted)}.paper-page .btn-icon-dots:hover{background:var(--accent-soft);color:var(--accent)}.paper-page .btn-group .btn-primary:active,.paper-page .btn-group .btn-primary:hover{background:var(--accent-soft)!important;color:var(--accent)}.paper-page .paper-section-eyebrow{font-family:var(--font-sans);font-size:16px;font-weight:600;color:var(--color);text-transform:none;letter-spacing:0;margin-bottom:12px}.paper-page .paper-field-label{font-family:var(--font-sans);font-size:13px;letter-spacing:0}.paper-tabs .paper-tab{min-height:44px}.paper-pill,.status-pill{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none;border-radius:6px}.paper-meta-rule{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none;gap:12px 24px}.paper-meta-rule b:not(.commit-hash){font-family:var(--font-sans);font-weight:500}.connections-grid{gap:16px}.connections-grid>section{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);padding:20px}.connections-heading{margin-bottom:24px}.claim-page .claim-form,.status-page>.paper-settings-section{padding:20px;margin-top:24px;border:1px solid var(--border-color);border-radius:var(--radius-surface);background:var(--paper-card)}.claim-page .claim-form{max-width:640px}.status-page .anonymize-submit-bar{background:0 0;gap:8px;flex-wrap:wrap}.anonymize-landing{padding-top:32px}.paper-settings .quota-usage{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.paper-settings .quota-usage .quota-item+.quota-item{padding-top:0;border-top:0;padding-left:16px;border-left:1px solid var(--border-color)}.paper-settings .quota-usage .quota-header{flex-direction:row;align-items:center;flex-wrap:wrap}.paper-settings .quota-usage .quota-value{white-space:normal;flex-wrap:wrap}.paper-faq-hero{padding-bottom:24px;margin-bottom:24px}.paper-faq-toc-head{font-family:var(--font-sans);font-size:12px;text-transform:none;letter-spacing:0;margin-bottom:8px}.paper-faq-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}.paper-faq-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.4rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.02em;max-width:13em;margin-bottom:16px;text-wrap:balance}.paper-faq-title em{font-style:italic;color:var(--accent)}.paper-faq-lede{font-size:14px}.paper-faq-body{grid-template-columns:180px minmax(0,1fr);gap:40px}.faq-section h4.faq-cat{font:400 30px/1.15 var(--font-serif);letter-spacing:-.015em;padding-bottom:12px}.faq-section h4.faq-cat .ui-icon{display:none}.faq-section .panel-group{margin-bottom:32px}.faq-section .panel-default .panel-title a{font:500 15px/1.5 var(--font-sans);padding:16px 0 16px 28px;min-height:44px}.faq-section .panel-default .panel-body{padding-left:28px!important}.faq-section .panel-default .panel-title a:after{content:"";top:22px;width:8px;height:8px;border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);transform:translateX(4px) rotate(45deg);transition:transform .15s ease}.faq-section .panel-default .panel-title a.collapsed:after{content:"";transform:translateX(2px) rotate(-45deg)}.faq-section .panel-default .panel-title a:hover:after{border-color:var(--color)}.paper-faq-toc nav a.active{color:var(--color);font-weight:500}.paper-empty-title{font:600 32px/1.2 var(--font-sans);letter-spacing:-.025em}.paper-empty-title em{font-style:normal}.btn-hero{justify-content:center;gap:8px;min-height:48px;padding:13px 20px;font-size:15px;line-height:20px;background:var(--accent);border-color:var(--accent);color:#fff;border-radius:var(--radius-button)}.dark-mode .btn-hero{background:#1f6a64;border-color:#1f6a64;color:#fff}.btn-hero:hover{background:var(--accent);color:#fff;filter:brightness(.94)}.dark-mode .btn-hero:hover{background:#24786f;border-color:#24786f;color:#fff;filter:none}.paper-table:not(.paper-table-dashboard){border-left:0;border-right:0;border-radius:0}.paper-table:not(.paper-table-dashboard) .paper-table-head{border-radius:0}.paper-table .cell-anon{gap:8px}.paper-table .cell-anon .anon-text{flex:1}.paper-table-conferences .cell-anon .repo-name{font-family:var(--font-sans);font-weight:600}.paper-table .anon-sub>a,.paper-table .anon-sub>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.paper-table .anon-sub .ui-icon{width:14px;height:14px}.paper-page .filter-chip{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none;border-radius:6px}.paper-page .filter-chip-close .ui-icon{width:12px;height:12px}.admin-nav{gap:4px;border:0;border-bottom:1px solid var(--border-color);border-radius:0;padding:0 0 8px;background:0 0}.admin-nav a{font-family:var(--font-sans);font-size:13px;letter-spacing:0;text-transform:none;border-radius:6px;min-height:40px;padding:8px 12px}.admin-nav a.active{background:var(--accent-soft);color:var(--accent)}.admin-nav .ui-icon{width:16px;height:16px}.admin-filter-toolbar{background:0 0;border:0;padding:0}.admin-filter-inline>label,.admin-filter-inline>span{font-family:var(--font-sans);text-transform:none;letter-spacing:0}.admin-summary .summary-total{font-family:var(--font-sans);font-size:18px;font-weight:600}.admin-summary .summary-pill{font:500 13px/20px var(--font-sans);min-height:32px;padding:5px 10px;border-radius:6px}.admin-summary .summary-pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.admin-summary .summary-pill .count{font-family:var(--font-sans)}.admin-active-chip{font-family:var(--font-sans);font-size:12px}.admin-active-chip button .ui-icon{width:12px;height:12px}.user-detail-card .user-header h2{font:600 20px/1.4 var(--font-sans)}.errors-page .errors-toolbar .select-wrap label,.errors-page .volume-head,.overview-page .ov-panel-meta,.paper-detail-grid .detail-label,.paper-progress .paper-progress-label,.status-page .paper-error-eyebrow,.user-detail-grid .detail-label{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.overview-page .ov-chart-title,.overview-page .ov-panel-title,.paper-error-title{font:600 16px/1.4 var(--font-sans)}.paper-error-head>.ui-icon,.paper-ratelimit-head>.ui-icon{margin-top:3px;color:var(--status-error)}.paper-ratelimit-head>.ui-icon{color:var(--status-progress)}.errors-page .seg-tabs{border-radius:var(--radius-control)}.errors-page .seg-tabs button{min-height:36px;padding:7px 12px;font:500 14px/20px var(--font-sans)}.errors-page .seg-tabs button.active{background:var(--accent-soft);color:var(--accent)}.errors-page .errors-list,.errors-page .kpi-card:hover,.errors-page .volume-chart,.overview-page .ov-chart-card,.overview-page .ov-panel-card{box-shadow:none}.errors-page .kpi-value,.overview-page .ov-daily-value,.overview-page .ov-kpi-value,.q-card-count,.user-hero-name{font-family:var(--font-sans);font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.errors-page .kpi-label,.overview-page .ov-daily-label,.overview-page .ov-kpi-label,.q-card-name,.q-section-label,.user-hero-details .detail-label{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.overview-page .ov-daily-card{background:var(--paper-card);box-shadow:none;border-radius:var(--radius-surface)}.dark-mode .overview-page .ov-daily-value,.overview-page .ov-daily-value{color:var(--accent)}.errors-page .kpi-card,.overview-page .ov-kpi-card{box-shadow:none;border-radius:var(--radius-surface)}.q-card{border-radius:var(--radius-surface)}.q-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.q-range-btns{border-radius:var(--radius-control)}.q-job-detail-actions .btn,.q-range-btns .btn{font-family:var(--font-sans);font-size:13px}.q-range-btns .btn.active{background:var(--accent-soft);color:var(--accent)}.btn-dark{border-radius:var(--radius-control);font-family:var(--font-sans);font-size:12px}@media (max-width:900px){.paper-settings .quota-usage{grid-template-columns:1fr;gap:16px}.paper-settings .quota-usage .quota-item+.quota-item{padding-left:0;border-left:0;border-top:1px solid var(--border-color);padding-top:16px}.paper-table:not(.paper-table-dashboard) .paper-table-row{gap:4px 8px!important;padding:8px 12px}.paper-table:not(.paper-table-dashboard) .cell-anon{flex:1 1 calc(100% - 52px);order:1}.paper-table:not(.paper-table-dashboard) .cell-actions{order:2;flex:0 0 44px}.paper-table .admin-users-row>[role=cell]:first-child,.paper-table.paper-table-repos.has-bulk .paper-table-row>[role=cell]:first-child{flex:0 0 24px;order:0}.paper-table .admin-users-row .cell-anon,.paper-table.paper-table-repos.has-bulk .cell-anon{flex-basis:calc(100% - 84px)}.paper-table:not(.paper-table-dashboard) .cell-anon .anon-sub{font-size:12px;gap:6px}.paper-table:not(.paper-table-dashboard) .cell-status .status-sub{font-size:12px}.paper-table .cell-expires::before,.paper-table .cell-views::before{content:none}.paper-table .cell-expires .mobile-meta-icon,.paper-table .cell-views .mobile-meta-icon{display:inline-block;width:14px;height:14px}.paper-faq-body{grid-template-columns:1fr;gap:24px}}@media (max-width:767px){.paper-faq,.paper-page{padding-top:20px}.anonymize-page .paper-page-title,.paper-page .paper-page-title,.paper-page.admin-page .paper-page-title{font-size:24px}.paper-faq-title{font-size:40px}.anonymize-page .form-control,.paper-page .form-control{min-height:44px}.anonymize-page .btn,.connection-link,.draft-discard,.paper-faq-toc a,.paper-page .btn,.paper-settings-toc nav a{min-height:44px}.anonymize-page .btn,.paper-page .btn,.status-bar-actions .btn{min-height:44px;padding:11px 14px;font-size:14px;line-height:20px;white-space:normal}.anonymize-page .btn.btn-sm,.paper-page .btn.btn-sm{min-height:44px;padding:11px 12px;font-size:14px}.anonymize-page .btn.btn-icon,.copy-link-inline,.paper-page .btn.btn-icon,.paper-page .btn.btn-icon-dots,.project-close{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}.dashboard-page .dashboard-filter-row .btn-group .btn,.dashboard-page .dashboard-filter-row .dropdown-toggle{height:auto;min-height:44px;font-size:14px;padding:11px 10px}.dashboard-heading-actions .btn-ink{padding:11px 16px}.dashboard-page .dashboard-filters-toggle{padding:11px 10px}.errors-page .btn-icon,.pr-title-row .btn,.status-bar-actions .btn{min-width:44px;min-height:44px;padding:0}.status-bar-actions .btn{width:44px;height:44px}.errors-page .seg-tabs button,.paper-tab{min-height:44px}.errors-page .seg-tabs button{padding:11px 12px}.status-bar-actions{flex-wrap:wrap;max-width:100%}.leftCol-close,.tree-search-clear{min-width:44px;min-height:44px}.anonymize-landing{padding:20px 18px}.anonymize-landing .repo-access-switch button,.source-url-label-row .repo-access-switch button{min-height:44px;padding:11px 10px;font-size:13px}.paper-settings-body{margin-top:16px;padding-top:0;gap:16px}.paper-settings-toc nav{gap:0 12px}.paper-settings-toc nav a{display:inline-flex;align-items:center}.paper-faq{padding-left:18px;padding-right:18px}.paper-faq-toc nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 16px}.paper-faq-toc a{display:inline-flex;align-items:center;padding:8px 0;border-left:0;border-bottom:2px solid transparent;margin-left:0}.paper-faq-toc nav a.active,.paper-faq-toc nav a:hover{border-bottom-color:var(--accent);color:var(--accent)}.claim-page .claim-form,.status-page>.paper-settings-section{padding:16px;margin-top:16px}.admin-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:4px;max-width:100%;margin:8px 0 16px}.admin-nav a{flex-shrink:0;min-height:44px}.admin-summary .summary-pill{min-height:44px;padding:11px 12px;font-size:14px}.admin-active-chip button{min-width:44px;min-height:44px}.admin-filter-row{gap:8px}.admin-filter-row .admin-filter-inline{gap:8px;flex-wrap:wrap}.errors-page .kpi-grid{grid-template-columns:1fr 1fr;gap:12px}.q-cards{flex-direction:row}.q-card{min-width:130px}.q-header-actions{flex-wrap:wrap;gap:8px}}.file-error .viewer-error{width:100%;max-width:65ch;padding:2rem 1rem;overflow-wrap:anywhere;font-size:1rem;font-weight:400;text-align:left}.viewer-error .paper-empty-title{margin-bottom:1rem}.viewer-error p{line-height:1.6}.viewer-error .paper-error-actions{display:flex;flex-wrap:wrap;gap:.75rem}.markdown-body .markdown-alert{margin:1rem 0;padding:.5rem 1rem;border-left:4px solid var(--alert-color,#0969da)}.markdown-body .markdown-alert-note{--alert-color:#0969da}.markdown-body .markdown-alert-tip{--alert-color:#1a7f37}.markdown-body .markdown-alert-important{--alert-color:#8250df}.markdown-body .markdown-alert-warning{--alert-color:#9a6700}.markdown-body .markdown-alert-caution{--alert-color:#cf222e}.markdown-body .markdown-alert-title{color:var(--alert-color);font-weight:600;display:flex;align-items:center;gap:.5rem}.markdown-body .markdown-alert-title svg{fill:currentColor;flex-shrink:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}body.dark-mode .markdown-alert-note{--alert-color:#79c0ff}body.dark-mode .markdown-alert-tip{--alert-color:#7ee787}body.dark-mode .markdown-alert-important{--alert-color:#d2a8ff}body.dark-mode .markdown-alert-warning{--alert-color:#e3b341}body.dark-mode .markdown-alert-caution{--alert-color:#ff7b72}.markdown-body .emoji{display:inline;vertical-align:text-bottom}.markdown-body .footnotes{margin-top:2rem;border-top:1px solid var(--border-color,#d0d7de);padding-top:1rem;font-size:.875em}.markdown-body .katex-display{overflow-x:auto;overflow-y:hidden;padding:.25rem 0}.markdown-body .markdown-diagram{margin:1rem 0;border:1px solid var(--border-color,#d0d7de);padding:.75rem}.markdown-body .markdown-diagram svg{display:block;width:100%;max-height:360px}.markdown-body .markdown-diagram path{fill:#7cc7be;fill-opacity:.5;stroke:var(--link-color,#1f6a64);stroke-width:1;vector-effect:non-scaling-stroke}.markdown-body .diagram-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.markdown-body .diagram-controls button{min-width:44px;min-height:44px;padding:.25rem .75rem;border:1px solid var(--border-color,#d0d7de);background:var(--main-bg-color,#fff);color:inherit;border-radius:4px}.markdown-body .diagram-controls button:hover{background:var(--hover-bg-color,#f6f8fa)}.markdown-body .diagram-controls button:focus-visible{outline:2px solid var(--link-color,#0969da);outline-offset:2px}.markdown-body .hljs-keyword,.markdown-body .hljs-selector-tag{color:#cf222e}.markdown-body .hljs-attr,.markdown-body .hljs-string{color:#0a3069}.markdown-body .hljs-literal,.markdown-body .hljs-number,.markdown-body .hljs-title{color:#8250df}.markdown-body .hljs-comment{color:#57606a}body.dark-mode .markdown-body .hljs-keyword{color:#ff7b72}body.dark-mode .markdown-body .hljs-attr,body.dark-mode .markdown-body .hljs-string{color:#a5d6ff}body.dark-mode .markdown-body .hljs-literal,body.dark-mode .markdown-body .hljs-number,body.dark-mode .markdown-body .hljs-title{color:#d2a8ff}body.dark-mode .markdown-body .hljs-comment{color:#b1bac4}body.dark-mode .markdown-body .gh-light-mode-only,body:not(.dark-mode) .markdown-body .gh-dark-mode-only{display:none}@media (max-width:600px){.ov-cache .ov-performance-window{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}.ov-cache .ov-performance-window select{width:100%;min-width:0}}.viewer-loading{padding:24px clamp(16px,4vw,40px);min-height:280px;color:var(--color)}.viewer-loading-status{min-height:84px}.viewer-loading-status strong{display:block;font-size:15px;font-weight:600}.viewer-loading-name{display:block;margin-top:6px;font-family:monospace;font-size:13px;overflow-wrap:anywhere;opacity:.75}.viewer-loading-status p{margin:12px 0;font-size:14px}.viewer-loading-lines{display:grid;gap:14px;max-width:720px;padding-top:16px}.viewer-loading-lines span{height:9px;width:70%;background:var(--border-color);border-radius:3px}.viewer-loading-lines span:nth-child(3n+1){width:48%}.viewer-loading-lines span:nth-child(3n+2){width:88%}.ace_scrollbar-h{height:8px!important}.ace_scrollbar-h::-webkit-scrollbar{height:8px}.ace_scrollbar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink-faint) 55%,transparent);border-radius:4px}.ace_scrollbar::-webkit-scrollbar-track{background:0 0}.explorer-content,.explorer-main{background:var(--paper-card)}.explorer-content .dir-card,.explorer-content .file-card{margin:0!important;border:0;border-radius:0;background:0 0;overflow:visible}.explorer-content .file-card{min-height:100%}.explorer-content .file-card.is-code{height:100%!important;overflow:clip}.explorer-content .file-card-head{position:sticky;top:0;z-index:3;min-height:52px;padding:8px 12px 8px 32px;border-radius:0!important;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--paper-card) 90%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px)}.dark-mode .explorer-content .file-card-head{background:color-mix(in srgb,var(--paper-card) 90%,transparent)}.explorer-content .file-card .file-content.markdown-body{max-width:880px;padding:36px 32px 96px;background:0 0!important}.explorer-content .file-card .ace_editor{border-radius:0}.explorer-content .ace_editor.ace-chrome .ace_gutter,.explorer-content .ace_editor.ace-nord-dark .ace_gutter{background:var(--paper-card)!important;border-right:0}.explorer-content .ace_editor .ace_gutter-cell{padding-left:20px}.explorer-content .dir-card{border-bottom:1px solid var(--border-soft)}.explorer-content .dir-card-head{padding:14px 32px;background:0 0!important;border-bottom:0}.explorer-content .dir-row{padding:0 32px}.explorer-content .dir-card+.file-card{margin-top:0!important}@media (max-width:767px){.explorer-content .file-card-head{padding:6px 8px 6px 16px;min-height:0}.explorer-content .file-card .file-content.markdown-body{padding:20px 16px 72px}.explorer-content .ace_editor .ace_gutter-cell{padding-left:8px}.explorer-content .dir-card-head,.explorer-content .dir-row{padding-left:16px;padding-right:16px}}.leftCol-brand{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:0 14px;border-bottom:1px solid var(--border-soft)}.leftCol-logo{font-family:var(--font-serif);font-size:19px;letter-spacing:-.01em;color:var(--color)!important;text-decoration:none!important;white-space:nowrap}.leftCol-logo em{font-style:italic}.leftCol-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:999px;background:var(--hover-bg-color);font-size:11.5px;font-weight:500;color:var(--ink-soft);white-space:nowrap}.leftCol-badge .ui-icon{width:13px;height:13px;color:var(--status-ready)}.leftCol-search{padding-top:12px}.leftCol-links{display:flex;align-items:center;gap:14px;margin:0 0 10px;font-size:13px}.leftCol-links a{color:var(--ink-soft);text-decoration:none}.leftCol-links a:hover{color:var(--color);text-decoration:underline;text-underline-offset:3px}.leftCol-theme{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:auto;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-soft);cursor:pointer}.leftCol-theme:hover{background:var(--hover-bg-color);color:var(--color)}.leftCol-theme .ui-icon{width:16px;height:16px}.leftCol-foot .leftCol-zip{display:flex}.card-files-btn{display:none!important}@media (max-width:991px){.card-files-btn{display:inline-flex!important}}.card-files-btn.is-needed{display:inline-flex!important}@media (max-width:991px){.leftCol-brand{padding-right:60px}.leftCol-head{position:absolute;top:0;right:0;z-index:2;padding:4px 6px!important;border:0!important;background:0 0!important}.leftCol-head .leftCol-eyebrow{display:none}}@media (max-width:991px){.leftCol-head .leftCol-close{width:40px;height:40px;border:0!important;background:0 0!important;border-radius:var(--radius-control);color:var(--ink-soft)}.leftCol-head .leftCol-close:hover{background:var(--hover-bg-color)!important;color:var(--color)}.leftCol-brand{min-height:52px}}.leftCol-links .leftCol-donate{display:inline-flex;align-items:center;gap:5px}.leftCol-links .leftCol-donate .ui-icon{width:14px;height:14px}.leftCol-links .leftCol-donate:hover{color:var(--status-error);text-decoration:none}.leftCol-links .leftCol-donate:hover .ui-icon{fill:currentColor}.files .file.active>a{border-radius:var(--radius-control)!important}.files .file.active>a::before{left:4px!important;top:7px!important;bottom:7px!important;width:3px!important;border-radius:2px!important}.leftCol-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(20,18,16,.45)!important}@media (max-width:991px){.leftCol-head{right:6px!important}}.symbols{position:relative}.file-card-head .btn.btn-symbols{gap:6px;padding:0 10px;color:var(--ink-soft);font-weight:500}.symbols-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:300px;max-height:420px;overflow:auto;padding:6px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);box-shadow:0 12px 32px rgba(26,24,21,.16)}.symbols-head{padding:6px 8px 8px;font-size:12px;font-weight:600;color:var(--ink-muted)}.symbols-item{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 8px;border:0;border-radius:var(--radius-control);background:0 0;font:inherit;font-size:13px;color:var(--color);text-align:left;cursor:pointer}.symbols-item:focus-visible,.symbols-item:hover{background:var(--hover-bg-color);outline:0}.symbols-kind{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font:600 11px/1 var(--font-mono);flex-shrink:0}.symbols-kind.is-function{background:color-mix(in srgb,#6b45b8 14%,transparent);color:#6b45b8}.symbols-kind.is-class{background:color-mix(in srgb,#b4362a 14%,transparent);color:#b4362a}.dark-mode .symbols-kind.is-function{color:#c9a8f5}.dark-mode .symbols-kind.is-class{color:#f2897d}.symbols-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:12.5px}.symbols-line{font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}@media (max-width:1180px){.file-card-head .btn-symbols .btn-find-label{display:none}.file-card-head .btn-symbols{width:32px;padding:0!important}}.ace_search{top:0!important;left:0!important;right:0!important;border:0!important;border-bottom:1px solid var(--border-soft)!important;border-radius:0!important;box-shadow:none!important;padding:8px 12px 8px 8px!important;background:var(--paper-card)!important}.ace_search_field{border-color:var(--border-color)!important}.ace_search .ace_button{border:1px solid transparent!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent) 40%,transparent)!important}.ace_search_counter{color:var(--ink-soft)!important;font-size:13px!important}.ace_editor .ace_marker-layer .ace_selected-word{background:var(--accent-soft)!important}.ace_editor.ace-chrome .ace_marker-layer .ace_selection{background:color-mix(in srgb,var(--accent) 28%,transparent)!important;box-shadow:0 0 0 1px var(--accent)!important}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:color-mix(in srgb,var(--accent) 34%,transparent)!important;box-shadow:0 0 0 1px var(--accent)!important}.leftCol-foot{padding:10px 14px 12px}.leftCol-links{margin:0 0 6px;gap:12px}.leftCol-repo-actions{display:inline-flex}.leftCol-project-header .leftCol-hide{display:inline-flex}@media (max-width:991px){.leftCol-project-header button.leftCol-hide{display:none}}.ace-chrome .ace_string{color:#11704f!important}.ace-chrome .ace_entity.ace_name.ace_function,.ace-chrome .ace_support.ace_function{color:#5b3dc2!important}.ace-chrome .ace_keyword,.ace-chrome .ace_storage{color:#b02f22!important}.ace-chrome .ace_comment{color:#6f6a61!important}.ace-chrome .ace_keyword.ace_operator,.ace-chrome .ace_paren,.ace-chrome .ace_punctuation{color:#5c574f!important}.dark-mode .ace_editor.ace-nord-dark,.dark-mode .explorer-content,.dark-mode .explorer-content .ace_editor.ace-nord-dark .ace_gutter,.dark-mode .explorer-main{background:var(--canvas-bg-color)!important}.dark-mode .ace_search,.dark-mode .explorer-content .file-card-head{background:color-mix(in srgb,var(--canvas-bg-color) 92%,transparent)!important}.dark-mode .leftCol{background:var(--sidebar-bg-color)}.dark-mode .symbols-menu{background:#22201c}.paper-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.paper-stats-grid .paper-stat-card{padding-left:24px!important;padding-right:24px!important}.paper-stats-grid .paper-stat-card:first-child{padding-left:0!important}.paper-stat-value{font-size:40px!important}.paper-stats-grid .paper-stat-card{margin-right:0!important}.paper-stats-grid .paper-stat-card:last-child{border-right:0;padding-right:0!important}@media (max-width:767px){.paper-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.paper-stats-grid .paper-stat-card:nth-child(odd){padding-left:0!important}}.dark-mode .leftCol-foot,.leftCol-foot{background:0 0!important}.paper-faq-toc nav a.active,.paper-faq-toc nav a:hover{border-left-color:var(--accent)!important}.card-files-label{display:none}@media (max-width:991px){.file-card-head .card-files-btn{width:auto!important;padding:0 10px!important;gap:6px;border:1px solid var(--border-color)!important;color:var(--color)!important}.card-files-label{display:inline;font-size:13px;font-weight:500}}@media (max-width:767px){.file-card-head .btn.btn-icon-only{color:var(--color)!important}.file-card-head .file-card-meta .meta-extra{display:none!important}.file-card.is-code.no-wrap::after{width:64px!important}}.btn.btn-ghost.is-on{color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)!important}.explorer-content .ace_editor.ace-chrome .ace_gutter,.explorer-content .ace_editor.ace-nord-dark .ace_gutter{border-right:1px solid var(--border-soft)!important}.ace_search .ace_button{width:28px!important;height:28px!important;border:1px solid var(--border-color)!important;color:var(--ink-soft)!important;font-size:12px!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}.ace_search_counter{margin-left:2px!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(242,204,96,.38)!important;box-shadow:none!important}.ace_editor.ace-chrome .ace_marker-layer .ace_selection,.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:#f2cc60!important;box-shadow:0 0 0 1px #c69026!important}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:rgba(242,204,96,.55)!important}.explorer-content .file-card .file-content.markdown-body{margin:0 auto!important}.leftCol-project-header .leftCol-zipbtn{width:auto!important;gap:4px;padding:0 6px;font-size:11.5px;font-weight:600;letter-spacing:.02em}.leftCol-project-header .leftCol-zipbtn .ui-icon{width:13px;height:13px}.leftCol-brand{justify-content:space-between}.repo-panel{display:grid;gap:8px;padding:14px 14px 12px;border-bottom:1px solid var(--border-soft)}.repo-panel-title{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;color:var(--color)}.repo-panel-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-panel-title .ui-icon{width:16px;height:16px;flex-shrink:0;color:var(--ink-muted)}.repo-panel-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;color:var(--ink-soft)}.repo-panel-meta .last-update{font:inherit!important;color:inherit!important;padding:0;border:0}.repo-panel-meta>span+span::before{content:"·";margin-right:10px;color:var(--ink-faint)}.repo-panel-meta>.repo-panel-badge+span::before{content:none}.repo-panel-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 6px;border-radius:999px;background:color-mix(in srgb,var(--status-ready) 12%,transparent);color:var(--status-ready);font-size:11.5px;font-weight:600}.repo-panel-badge .ui-icon{width:12px;height:12px}.repo-panel-zip{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important}.repo-panel-zip:hover{background:var(--hover-bg-color);border-color:var(--ink-faint)}.repo-panel-zip .ui-icon{width:15px;height:15px}.dark-mode .repo-panel-zip{background:0 0}.leftCol-project-header{display:none!important}.leftCol-search{padding-top:12px;padding-bottom:4px}.tb-file{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding-left:10px;border-left:1px solid var(--border-color)}.file-card-head .btn.tb-btn{height:32px;gap:6px;padding:0 12px!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important;background:var(--paper-card)!important;color:var(--color)!important;font-size:13px;font-weight:500}.file-card-head .btn.tb-btn:hover{background:var(--hover-bg-color)!important;border-color:var(--ink-faint)!important}.file-card-head .btn.tb-btn .ui-icon{width:15px;height:15px}.file-card-head .btn.tb-btn-icon{width:32px;padding:0!important;justify-content:center}.dark-mode .file-card-head .btn.tb-btn{background:0 0!important}.file-card-actions>.tb-file:first-child{border-left:0;padding-left:0;margin-left:0}.tb-more{position:relative;display:none}.tb-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:220px;padding:6px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);box-shadow:0 12px 32px rgba(26,24,21,.18)}.tb-menu>a,.tb-menu>button{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 10px;border:0;border-radius:var(--radius-control);background:0 0;font:inherit;font-size:14px;color:var(--color)!important;text-align:left;text-decoration:none!important}.tb-menu>a:hover,.tb-menu>button:hover{background:var(--hover-bg-color)}.tb-menu .ui-icon{width:16px;height:16px;color:var(--ink-soft)}.tb-menu-check{margin-left:auto;color:var(--accent);font-weight:600}.tb-menu-sep{height:1px;margin:6px 4px;background:var(--border-soft)}@media (max-width:767px){.tb-more{display:inline-flex}.file-card-head .btn-find,.file-card-head .btn-goto,.file-card-head .btn-toggle,.file-card-head .symbols,.file-card-head .tb-file,.file-card-head .view-switch+.file-card-actions .tb-file{display:none!important}.file-card-head .tb-more-btn{width:40px!important;height:40px!important}.file-card-head .card-files-btn{height:40px!important}.file-card-path .paths .breadcrumb-item:last-child{font-size:15px}}.feat-mock{height:380px;overflow:hidden;background:var(--paper-card);font-family:var(--font-sans);color:var(--color)}.fm-form{padding:22px 26px;display:grid;gap:8px}.fm-label{font-size:12px;font-weight:600;color:var(--ink-soft);margin-top:6px}.fm-input{height:36px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--input-bg);font-size:13.5px}.fm-input-sm{width:150px}.fm-chips{display:flex;flex-wrap:wrap;gap:6px}.fm-chips span{padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--status-error) 9%,transparent);color:var(--color);font-size:12.5px;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--status-error) 55%,transparent)}.fm-chips .fm-chip-add{background:0 0;border:1px dashed var(--border-color);color:var(--ink-muted);text-decoration:none}.fm-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}.fm-toggles{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.fm-toggles span{padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-control);font-size:12.5px;color:var(--ink-muted)}.fm-toggles .is-on{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);color:var(--accent)}.fm-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.fm-share{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.fm-btn{padding:9px 14px;border-radius:var(--radius-button);background:var(--accent);color:#fff;font-size:13px;font-weight:600;white-space:nowrap}.dark-mode .fm-btn{background:#1f6a64}.fm-viewer{display:grid;grid-template-columns:150px 1fr;height:100%}.fm-tree{padding:14px 8px;background:var(--paper-bg-alt);border-right:1px solid var(--border-soft);font-size:12.5px}.fm-tree div{padding:5px 10px;border-radius:var(--radius-control);color:var(--ink-soft)}.fm-tree .is-folder::before{content:"▸ ";color:var(--ink-faint)}.fm-tree .is-active{background:rgba(128,128,128,.14);color:var(--color);font-weight:500;box-shadow:inset 3px 0 0 var(--accent)}.fm-code{min-width:0}.fm-code-bar{display:flex;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-soft);font-size:12.5px;color:var(--ink-muted)}.fm-code-bar b{color:var(--color);font-weight:600}.fm-code pre{margin:0;padding:12px 16px;font-family:var(--font-mono);font-size:12.5px;line-height:1.75;color:var(--color);background:0 0;white-space:pre}.fm-code .ln{display:inline-block;width:22px;margin-right:14px;text-align:right;color:var(--ink-faint)}.fm-code .k{color:#b02f22}.fm-code .f{color:#5b3dc2}.fm-code .s{color:#11704f}.fm-code .c{color:var(--ink-muted);font-style:italic}.dark-mode .fm-code .k{color:#f2897d}.dark-mode .fm-code .f{color:#c9a8f5}.dark-mode .fm-code .s{color:#9dd3a8}.fm-code .redact{padding:0 4px;border-radius:3px;background:var(--accent-soft);color:var(--accent);font-style:normal}.fm-dash{padding:12px 18px;font-size:13px}.fm-dash-head,.fm-dash-row{display:grid;grid-template-columns:1.7fr .9fr .5fr .9fr;gap:12px;align-items:center}.fm-dash-head{padding:8px 0;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;color:var(--ink-muted)}.fm-dash-row{padding:12px 0;border-bottom:1px solid var(--border-soft)}.fm-dash-row b{display:block;font-weight:600}.fm-dash-row i{display:block;font-style:normal;font-size:12px;color:var(--ink-muted);font-family:var(--font-mono)}.fm-dash-row.is-muted{color:var(--ink-muted)}.fm-dash .st{display:inline-flex;align-items:center;gap:6px}.fm-dash .st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.fm-dash .st.is-ready{color:var(--status-ready)}.fm-dash .st.is-progress{color:var(--status-progress)}.fm-dash .st.is-expired{color:var(--ink-muted)}@media (max-width:767px){.feat-mock{height:auto;min-height:260px}.fm-viewer{grid-template-columns:1fr}.fm-tree{display:none}.fm-dash-head span:nth-child(4),.fm-dash-row span:nth-child(4){display:none}.fm-dash-head,.fm-dash-row{grid-template-columns:1.6fr 1fr .5fr}.fm-row{grid-template-columns:1fr}}.paper-stat-delta{margin-top:6px!important;font-family:var(--font-sans)!important;font-size:13px!important;color:var(--ink-muted)!important}.paper-stats-grid .paper-stat-card{padding-top:22px!important;padding-bottom:22px!important}.paper-eyebrow,.paper-faq-eyebrow,.paper-stats-meta{font-family:var(--font-sans)!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:.06em!important;color:var(--ink-soft)!important}.paper-feature-tab .paper-eyebrow{font-size:12px!important}.paper-reassure li::before{color:var(--ink-soft)!important}.feat-mock{height:auto!important;min-height:300px}@media (max-width:767px){.file-card.is-code.no-wrap::after{display:none!important}.file-card.is-code.no-wrap .ace_scroller{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}.explorer-content .file-card-head{row-gap:6px;padding-top:8px;padding-bottom:8px}.file-card-path{flex:1 1 auto;gap:10px}.file-card-path .paths{flex:1 1 auto;min-width:0}.file-card-path .paths .breadcrumb-item:last-child{overflow:hidden;text-overflow:ellipsis}.file-card-head .card-files-btn{height:32px!important;border-radius:var(--radius-control)!important;padding:0 10px!important}.file-card-head .tb-more-btn{width:36px!important;height:32px!important}.file-card-head>.view-switch{order:4;margin-left:auto!important}.file-card-head .file-card-meta{order:3;flex-basis:auto!important;flex:1 1 auto;margin:0!important;align-self:center}}@media (min-width:768px){.explorer-content .file-card-head{padding-left:20px}.explorer-content .file-card .file-content.markdown-body{margin:0!important;padding-left:20px!important;padding-right:40px!important;max-width:900px}}.dark-mode .files .file.active>a{background:rgba(255,255,255,.13)!important}.dark-mode .btn.btn-ghost.is-on{background:rgba(124,199,190,.18)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.45)!important}.dark-mode .leftCol{background:#1e1b18!important}.ace_searchbtn_close{width:24px!important;height:24px!important;background-size:12px!important;opacity:.7}.ace_search_field:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.navbar .nav-link:not(.active):not(.btn-signin){color:var(--ink-soft)!important}.navbar .nav-support-inline{color:var(--ink-soft)!important}.paper-stat-delta{color:var(--ink-soft)!important}.paper-faq-toc-head,.paper-footer-head{font-family:var(--font-sans)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase;color:var(--ink-soft)!important}.paper-feature:not(.is-on) .paper-feature-tab::after{border-color:var(--ink-soft)!important;border-width:0 2px 2px 0!important}.faq-section .panel-default .panel-body{max-width:720px!important}.repo-panel-meta .last-update{flex-basis:100%}.repo-panel-meta .last-update::before{content:none!important}@media (max-width:767px){.file-card-head .file-card-path{flex:1 1 calc(100% - 56px)!important}.file-card-head .file-card-actions{order:1}.file-card-head .file-card-meta{order:3}.file-card-head>.view-switch{order:4}}.repo-panel{display:none!important}.repo-id{display:flex;align-items:center;gap:10px;padding:14px 14px 6px}.repo-id-tile{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 16%,var(--paper-card)),color-mix(in srgb,var(--accent) 6%,var(--paper-card)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.repo-id-tile .ui-icon{width:17px;height:17px}.repo-id-text{min-width:0}.repo-id-title{font-size:14px;font-weight:600;color:var(--color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-id-sub{margin-top:1px;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-id-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 14px 12px 58px;border-bottom:1px solid var(--border-soft);font-size:12.5px}.repo-id-count{color:var(--ink-muted);font-variant-numeric:tabular-nums}.repo-id-zip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-control);color:var(--link-color)!important;font-weight:500;text-decoration:none!important}.repo-id-zip:hover{background:var(--accent-soft)}.repo-id-zip .ui-icon{width:14px;height:14px}.leftCol-foot .leftCol-links{display:none!important}.acct-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.acct{position:relative;min-width:0}.acct-chip{display:inline-flex;align-items:center;gap:8px;max-width:150px;height:34px;padding:0 8px 0 4px;border:0;border-radius:var(--radius-control);background:0 0;font:inherit;font-size:13px;font-weight:500;color:var(--color);cursor:pointer}.acct-chip:hover,.acct-chip[aria-expanded=true]{background:var(--hover-bg-color)}.acct-chip img,.acct-initial{width:24px;height:24px;border-radius:50%;flex-shrink:0}.acct-initial{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.acct-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-caret{width:12px;height:12px;color:var(--ink-muted);transform:rotate(-90deg)}.acct-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:40;width:190px;padding:6px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);box-shadow:0 12px 32px rgba(26,24,21,.18)}.acct-menu a{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--radius-control);font-size:13.5px;color:var(--color)!important;text-decoration:none!important}.acct-menu a:hover{background:var(--hover-bg-color)}.acct-menu .ui-icon{width:16px;height:16px;color:var(--ink-soft)}.acct-signin{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important}.acct-signin:hover{background:var(--hover-bg-color);border-color:var(--ink-faint)}.dark-mode .acct-signin{background:0 0}.acct-icons{display:inline-flex;align-items:center;gap:2px}.acct-icons a,.acct-icons button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-soft)!important;cursor:pointer}.acct-icons a:hover,.acct-icons button:hover{background:var(--hover-bg-color);color:var(--color)!important}.acct-icons .acct-donate:hover{color:var(--status-error)!important}.acct-icons .ui-icon{width:17px;height:17px}.leftCol-foot{padding:8px 10px 10px 14px!important}.leftCol-foot .last-update{display:none}.file-card-head .card-files-btn,.file-card-head .card-files-btn.is-needed{width:34px!important;height:34px!important;padding:0!important;border:0!important;background:0 0!important;color:var(--ink-soft)!important}.file-card-head .card-files-btn:hover{background:var(--hover-bg-color)!important;color:var(--color)!important}.file-card-head .card-files-btn .ui-icon{width:19px;height:19px}.card-files-label{display:none!important}.tb-copy-m{display:none!important}@media (max-width:767px){.tb-copy-m{display:inline-flex!important;width:36px!important;height:34px!important}.file-card-head .file-card-path{flex:1 1 calc(100% - 96px)!important;gap:6px!important}}.ace_search{flex-direction:row}.ace_searchbtn_close{order:99;margin-left:auto!important;width:28px!important;height:28px!important}.ace_search .ace_button,.ace_searchbtn{color:var(--ink-soft)!important}.file-card-head .btn-find:focus:not(:focus-visible){background:0 0!important}.dark-mode .explorer-content .markdown-body img{filter:brightness(.92)!important}@media (max-width:767px){.file-card.is-code.no-wrap .ace_scroller{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 80px),rgba(0,0,0,.15) calc(100% - 8px),transparent)!important;mask-image:linear-gradient(to right,#000 calc(100% - 80px),rgba(0,0,0,.15) calc(100% - 8px),transparent)!important}}.acct-menu-head{padding:6px 10px 8px;margin-bottom:4px;border-bottom:1px solid var(--border-soft);font-size:12px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-menu-head b{color:var(--color);font-weight:600}@media (max-width:767px){.file-card.is-code.no-wrap{position:relative}.file-card.is-code.no-wrap::before{content:"Scroll \2194";position:absolute;right:12px;bottom:14px;z-index:25;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--color) 82%,transparent);color:var(--canvas-bg-color);font:600 12px/1 var(--font-sans);pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}.file-card-head>.view-switch{order:5!important;flex:1 1 100%;margin-left:0!important;display:grid!important;grid-template-columns:1fr 1fr}.file-card-head>.view-switch .btn{height:36px!important;min-height:36px!important;justify-content:center;font-size:14px}.file-card-head .file-card-meta{font-size:13px!important}}.acct-menu{width:240px}.acct-menu-head{white-space:normal;overflow-wrap:anywhere}.paper-feature .paper-feature-tab::after{border-width:0 1.5px 1.5px 0!important;border-color:var(--ink-soft)!important}.hero-mock-doc-bar span,.hero-mock-tree-title{color:var(--ink-soft)!important}.paper-frame-bar{color:var(--ink-soft)!important}.paper-frame-bar .dots i{background:color-mix(in srgb,var(--ink-muted) 55%,transparent)!important}.dark-mode .hero-mock-doc,.dark-mode .paper-frame{background:#24211d!important}.dark-mode .hero-mock-tree{background:#1c1a17!important}.dark-mode .paper-stats-grid .paper-stat-card{border-color:#3a3631!important}.dark-mode .paper-stats,.dark-mode .paper-stats-grid{border-color:#3a3631!important}.faq-section .panel-default .panel-body{padding-bottom:18px!important}.btn.btn-ghost.is-on{background:var(--hover-bg-color)!important;color:var(--accent)!important;box-shadow:none!important}.dark-mode .btn.btn-ghost.is-on{background:rgba(255,255,255,.08)!important;color:#7cc7be!important;box-shadow:none!important}.acct-chip .acct-caret,.acct-chip .acct-name{display:none}.acct-chip{padding:0 5px!important}.acct-chip img,.acct-initial{width:26px!important;height:26px!important}@media (min-width:768px){.explorer-content .file-card .file-content.markdown-body{margin:0 auto!important;padding-left:40px!important;padding-right:40px!important;max-width:920px}}.files .file.active>a::before{top:5px!important;bottom:5px!important}@media (max-width:767px){.explorer-content .ace_editor .ace_gutter-cell{padding-left:6px!important;padding-right:6px!important}}.repo-id,.repo-id-actions{display:none!important}.leftCol-search{display:flex;align-items:center;gap:6px;padding:12px 12px 8px!important}.leftCol-search .tree-search-box{flex:1 1 auto;min-width:0}.search-zip{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:1px solid var(--border-color);border-radius:8px;background:var(--canvas-bg-color);color:var(--ink-soft)!important}.search-zip:hover{background:var(--hover-bg-color);color:var(--color)!important;border-color:var(--ink-faint)}.search-zip .ui-icon{width:17px;height:17px}.dark-mode .search-zip{background:0 0}.support-cta{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 12px;border-radius:var(--radius-surface);background:color-mix(in srgb,#e5484d 9%,var(--paper-card));box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 22%,transparent);color:var(--color)!important;text-decoration:none!important;transition:background .15s,box-shadow .15s}.support-cta:hover{background:color-mix(in srgb,#e5484d 14%,var(--paper-card));box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 40%,transparent)}.support-cta .ui-icon{width:18px;height:18px;flex-shrink:0;color:#e5484d;fill:#e5484d}.support-cta span{display:grid;min-width:0}.support-cta b{font-size:13px;font-weight:600}.support-cta small{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark-mode .support-cta{background:color-mix(in srgb,#e5484d 12%,var(--sidebar-bg-color))}.leftCol-foot{padding:10px 12px 10px!important}.tb-file{display:inline-flex!important;align-items:stretch;gap:0!important;margin-left:8px;padding-left:0!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control);overflow:hidden}.tb-seg-btn{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;border:0;background:var(--paper-card);font:inherit;font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important;cursor:pointer}.tb-seg-btn+.tb-seg-btn{border-left:1px solid var(--border-color)}.tb-seg-btn:hover{background:var(--hover-bg-color)}.tb-seg-icon{width:34px;padding:0;color:var(--ink-soft)!important}.tb-seg-icon:hover{color:var(--color)!important}.tb-seg-icon .ui-icon{width:15px;height:15px}.dark-mode .tb-seg-btn{background:0 0}.file-card-actions>.tb-file:first-child{margin-left:0}.file-card-head .btn-find,.file-card-head .btn-goto,.file-card-head .btn-toggle{width:32px!important;height:32px!important}.file-card.is-code.no-wrap::before{content:none!important;display:none!important}.acct-chip{width:34px;height:34px;padding:0!important;justify-content:center;border-radius:50%!important;background:0 0!important}.acct-chip:hover,.acct-chip[aria-expanded=true]{background:var(--hover-bg-color)!important}.ace_searchbtn_close{margin-left:4px!important}.dark-mode .explorer-content .markdown-body img{filter:brightness(.9)!important}.snapshot-line{display:flex;align-items:center;gap:6px;padding:0 14px 8px;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden}.snapshot-line span{overflow:hidden;text-overflow:ellipsis}.snapshot-line .ui-icon{width:14px;height:14px;flex-shrink:0;color:var(--ink-muted)}.leftCol-search{padding-bottom:6px!important}@media (max-width:767px){.explorer-content .file-card-head .file-card-meta{display:none!important}.explorer-content .file-card-head{flex-wrap:nowrap!important;min-height:52px!important}.file-card-head .card-files-btn,.file-card-head .tb-copy-m,.file-card-head .tb-more-btn{width:40px!important;height:40px!important}.file-card-head .card-files-btn{background:var(--hover-bg-color)!important;color:var(--color)!important;border-radius:var(--radius-control)!important}.file-card-head .file-card-path{flex:1 1 auto!important}}.acct-menu{box-shadow:0 16px 40px rgba(26,24,21,.22),0 0 0 1px var(--border-color)!important;border:0!important}.dark-mode .acct-menu{background:#26231f;box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 0 1px #3a3631!important}.acct-chip{width:32px!important;height:32px!important}.acct-chip img,.acct-initial{width:30px!important;height:30px!important;font-size:13px!important}.ace_search{padding:6px 12px 6px 8px!important;min-height:40px}.ace_search_field{height:28px!important}.ace_search_options{gap:0!important;margin-left:4px!important}.ace_search_options .ace_button{border-radius:0!important;margin:0!important}.ace_search_options .ace_button+.ace_button{margin-left:-1px!important}.ace_search_options .ace_button:first-of-type{border-radius:var(--radius-control) 0 0 var(--radius-control)!important}.ace_search_options .ace_button:last-of-type{border-radius:0 var(--radius-control) var(--radius-control) 0!important}.ace_searchbtn_close{width:28px!important;height:28px!important;border-radius:var(--radius-control)!important;margin-left:8px!important;background-color:transparent!important;opacity:.65}.ace_searchbtn_close:hover{background-color:var(--hover-bg-color)!important;opacity:1}.ace_search_counter{color:var(--ink-soft)!important}.ace_editor .ace_marker-layer .ace_selected-word{background:color-mix(in srgb,var(--accent) 16%,transparent)!important}.ace_editor.ace-chrome .ace_marker-layer .ace_selection,.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:color-mix(in srgb,var(--accent) 34%,transparent)!important;box-shadow:0 0 0 1px var(--accent)!important}.dark-mode .btn.btn-ghost.is-on{background:rgba(124,199,190,.16)!important;color:#a8ddd6!important}.paper-features{grid-template-columns:1fr 1.4fr!important;gap:40px!important}.faq-section .panel-default .panel-title a:after{border-color:var(--ink-soft)!important}.paper-features .paper-feature.is-on .paper-feature-tab::after,.paper-features .paper-feature:not(.is-on) .paper-feature-tab::after{border-width:0 1.5px 1.5px 0!important;border-color:var(--ink-muted)!important}.markdown-body mark.redact-chip,.redact-chip{display:inline-block;padding:0 6px;margin:0 1px;border-radius:4px;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:.82em;font-weight:500;line-height:1.5;vertical-align:.06em;cursor:help;transition:background .1s}.redact-chip:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip{font-size:.7em;vertical-align:.18em}.dark-mode .redact-chip{background:rgba(124,199,190,.14);color:#a8ddd6}.ace_editor .ace_marker-layer .ace_redacted{position:absolute;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:3px}.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.16)}.meta-redact{color:var(--accent);font-weight:500}.explorer-page{display:grid!important;grid-template-columns:var(--sidebar-w,280px) minmax(0,1fr);grid-template-rows:44px minmax(0,1fr)}.viewer-bar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px 0 14px;border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt);z-index:20}.dark-mode .viewer-bar{background:var(--sidebar-bg-color)}.explorer-page>.leftCol{grid-row:2;grid-column:1;width:auto!important;flex:none!important;height:auto!important;min-height:0;border-top:0}.explorer-page>.explorer-main{grid-row:2;grid-column:2;min-height:0}.explorer-page.files-hidden{grid-template-columns:minmax(0,1fr)}.explorer-page.files-hidden>.explorer-main{grid-column:1/-1}.leftCol-resizer{top:44px!important}.card-files-btn.is-needed{display:none!important}.vb-left,.vb-right{display:flex;align-items:center;gap:4px;min-width:0}.vb-logo{font-family:var(--font-serif);font-size:18px;letter-spacing:-.01em;color:var(--color)!important;text-decoration:none!important;white-space:nowrap;margin-right:10px}.vb-logo em{font-style:italic}.vb-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-soft)!important;cursor:pointer;text-decoration:none!important}.vb-icon:hover{background:var(--hover-bg-color);color:var(--color)!important}.vb-icon .ui-icon{width:17px;height:17px}.vb-snapshot{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;margin-right:6px;border-radius:999px;background:var(--hover-bg-color);font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);white-space:nowrap;cursor:help}.vb-snapshot .ui-icon{width:13px;height:13px;color:var(--ink-muted)}.vb-support{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;margin-right:4px;border-radius:999px;background:color-mix(in srgb,#e5484d 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 28%,transparent);font-size:13px;font-weight:600;color:#c2353a!important;text-decoration:none!important}.vb-support:hover{background:color-mix(in srgb,#e5484d 16%,transparent)}.vb-support .ui-icon{width:15px;height:15px;fill:currentColor}.dark-mode .vb-support{color:#ff8a8e!important;background:rgba(229,72,77,.14)}.vb-signin{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;margin-left:6px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important}.vb-signin:hover{background:var(--hover-bg-color)}.dark-mode .vb-signin{background:0 0}.viewer-bar .acct{margin-left:6px}.viewer-bar .acct-menu{top:calc(100% + 8px);bottom:auto;left:auto;right:0}.explorer-page>.leftCol .leftCol-search{padding-top:12px!important}@media (max-width:991px){.explorer-page{grid-template-columns:minmax(0,1fr)}.explorer-page>.explorer-main{grid-column:1/-1}.vb-sidebar{display:none}.explorer-page>.leftCol{grid-row:auto}}@media (max-width:575px){.vb-bug,.vb-snapshot{display:none}.vb-support span{display:none}.vb-support{width:32px;padding:0;justify-content:center}}@media (max-width:991px){.explorer-page>.leftCol .leftCol-head{position:static!important;display:flex!important;align-items:center;justify-content:space-between;min-height:52px;padding:6px 8px 6px 16px!important;border-bottom:1px solid var(--border-soft)!important;background:0 0!important}.explorer-page>.leftCol .leftCol-head .leftCol-eyebrow{display:inline!important;font:600 15px/1 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--color)}.explorer-page>.leftCol .leftCol-close{width:44px!important;height:44px!important}.files a{min-height:38px!important;font-size:15px}}.vb-support{background:var(--paper-card)!important;box-shadow:inset 0 0 0 1px var(--border-color)!important;color:var(--color)!important;font-weight:500!important}.vb-support .ui-icon{color:#e5484d;fill:#e5484d}.vb-support:hover{background:var(--hover-bg-color)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 40%,var(--border-color))!important}.dark-mode .vb-support{background:0 0!important;color:var(--color)!important}.vb-snapshot{font-family:var(--font-sans)!important;font-variant-numeric:tabular-nums;font-size:12.5px!important}.file-card-path .breadcrumb-root a{color:var(--ink-soft)!important}.file-card-path .breadcrumb-root a:hover{color:var(--color)!important;text-decoration:underline}@media (max-width:767px){.viewer-bar{padding:0 6px 0 12px}.vb-icon,.vb-support{width:40px!important;height:40px!important}.vb-signin{height:36px}.file-card-head .card-files-btn{background:0 0!important;color:var(--ink-soft)!important}}.ace_search{background:var(--paper-bg-alt)!important;border-bottom:1px solid var(--border-color)!important;gap:6px!important}.dark-mode .ace_search{background:#1e1b18!important}.ace_search .ace_searchbtn{width:28px!important;height:28px!important;border-radius:var(--radius-control)!important;border:1px solid var(--border-color)!important;background:var(--paper-card)!important}.ace_searchbtn_close{order:99;margin-left:6px!important;border:1px solid transparent!important;background-position:center!important;opacity:.8!important}@media (max-width:767px){.file-card.is-code.no-wrap .ace_scroller{-webkit-mask-image:none!important;mask-image:none!important}.file-card.is-code.no-wrap .file-card-body{position:relative}.file-card.is-code.no-wrap .file-card-body::after{content:"";position:absolute;top:0;right:0;bottom:0;width:36px;z-index:8;pointer-events:none;background:linear-gradient(to right,color-mix(in srgb,var(--paper-card) 0,transparent),var(--paper-card) 85%)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 85%)}}.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.24)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.5)!important}.paper-reassure,.paper-stat-delta,.paper-stat-label{color:var(--ink-soft)!important}.paper-faq-title{font-size:clamp(2.2rem,4vw,3.1rem)!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--paper-card) 80%)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 80%)!important}}@media (max-width:575px){.vb-support{box-shadow:none!important;background:0 0!important;border-radius:var(--radius-control)!important}.vb-support:hover{background:var(--hover-bg-color)!important}}.meta-redact{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent)!important;font-size:12px;font-weight:600;cursor:default}.dark-mode .meta-redact{background:rgba(124,199,190,.14);color:#a8ddd6!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.6em!important;padding:1px 6px!important;vertical-align:.25em!important}.ace_search .ace_button{color:var(--ink-soft)!important;font-size:12.5px!important;font-weight:600!important;background:var(--paper-card)!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important;position:relative;z-index:1}.ace_search{align-items:center!important}.ace_search_counter{align-self:center;line-height:28px}.hero-mock-row.is-active{background:rgba(128,128,128,.12)!important;box-shadow:inset 3px 0 0 var(--accent)}.mobile-sub{display:none}@media (max-width:767px){.file-card-head .file-card-path{display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center}.file-card-head .file-card-path .card-files-btn{grid-row:1/span 2}.file-card-head .file-card-path .paths{grid-column:2}.mobile-sub{display:block;grid-column:2;margin-top:1px;font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-sub b{color:var(--accent);font-weight:600}.dark-mode .mobile-sub b{color:#a8ddd6}.vb-icon[href="/faq"]{display:none!important}}.ace_searchbtn_close{font-size:0!important;color:transparent!important;background-size:10px 10px!important;align-self:center}.acct-initial{background:var(--hover-bg-color)!important;color:var(--color)!important;box-shadow:inset 0 0 0 1px var(--border-color)}.acct-chip[aria-expanded=true] .acct-initial{background:var(--accent-soft)!important;color:var(--accent)!important}.viewer-bar .acct-menu{top:calc(100% + 12px)!important}.dark-mode .paper-frame{box-shadow:0 0 0 1px #3f3a34,0 24px 60px rgba(0,0,0,.5)!important}.faq-section .panel-default .panel-body{max-width:640px!important}.anonymize-landing{align-items:flex-start!important;padding-top:clamp(32px,9vh,88px)!important}.landing-url-row{display:flex;gap:8px;align-items:stretch}.landing-url-row .form-control{flex:1 1 auto;min-width:0}.landing-continue{flex-shrink:0;height:auto;min-height:46px;padding:0 20px;font-weight:600}@media (max-width:575px){.landing-url-row{flex-direction:column}.landing-continue{min-height:44px}.source-url-label-row{flex-direction:column;align-items:flex-start!important;gap:8px}}.paper-table.paper-table-dashboard{width:100%}.q-card-count,.q-stat-value{font-family:var(--font-sans)!important;font-variant-numeric:tabular-nums;font-weight:600}.paper-table .paper-table-head [role=columnheader],.paper-table-head>div,.q-stat-label{font-family:var(--font-sans)!important;font-size:12px!important;letter-spacing:.02em!important;color:var(--ink-soft)!important}.errors-page .kpi-card.kpi-info .kpi-value{color:var(--color)!important}.errors-page .col-msg,.errors-page .col-msg *{font-weight:400!important}.errors-page .col-msg .msg-code,.errors-page .msg-code{font-size:13px!important}.admin-page select,.anonymize-page select,.errors-page select,.paper-page select,.paper-table select{height:34px;padding:0 30px 0 10px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F6A61' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;appearance:none;font:inherit;font-size:13px;color:var(--input-color)}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.anonymize-page .form-control,.paper-page .form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page textarea{border:1px solid color-mix(in srgb,var(--ink-faint) 55%,var(--border-color))!important;border-radius:var(--radius-control)!important}.anonymize-page code,.paper-page code,.paper-page kbd{font-family:var(--font-mono)!important}.filter-chip.is-active .count,.paper-chip.is-active .count,.status-chip.active .count{color:inherit!important}.user-header h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.status-dot-wrap{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--ink-soft)}.user-actions{display:flex;flex-wrap:wrap;gap:8px}.user-detail-grid .detail-value.is-empty{color:var(--ink-muted);font-style:normal;font-family:var(--font-sans)!important}.admin-section-header h2{font-family:var(--font-sans)!important;font-size:15px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--color)!important}.errors-page .kpi-sub.down,.errors-page .kpi-sub.up{color:var(--ink-soft)!important}.errors-page .kpi-card.kpi-error .kpi-value{color:var(--color)!important}.errors-page .kpi-card.kpi-error:has(.kpi-value:not(:empty)) .kpi-value{color:var(--color)!important}.errors-page .kpi-label{font-family:var(--font-sans)!important}.errors-page .col-msg{font-family:var(--font-mono)!important;font-size:13px!important}.admin-page .admin-head,.admin-page .paper-page-head,.admin-page>header{min-height:92px}.admin-page .paper-page-title{min-height:44px;display:flex;align-items:center;margin-bottom:8px!important}.admin-page .errors-header,.admin-page .ov-header,.admin-page .q-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:8px!important}.admin-page .errors-header .paper-page-title,.admin-page .ov-header .paper-page-title,.admin-page .q-header .paper-page-title{margin-bottom:0!important}.admin-page .admin-nav{margin-top:0!important}.admin-page .paper-crumbs{min-height:20px;margin-bottom:4px!important}.dashboard-page,.paper-page{max-width:1112px}.landing-continue:disabled{background:var(--hover-bg-color)!important;border-color:var(--border-color)!important;color:var(--ink-muted)!important;opacity:1!important;box-shadow:none!important}.landing-continue:not(:disabled){background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.admin-summary .summary-pill{border-color:var(--border-color)!important;color:var(--color)!important;background:var(--paper-card)!important}.admin-summary .summary-pill::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--ink-faint);vertical-align:1px}.admin-summary .summary-pill.ok::before{background:var(--status-ready)}.admin-summary .summary-pill.progress::before,.admin-summary .summary-pill.warn::before{background:var(--status-progress)}.admin-summary .summary-pill.err::before,.admin-summary .summary-pill.error::before{background:var(--status-error)}.admin-summary .summary-pill .count{color:var(--ink-soft)!important;font-weight:600}.admin-summary .summary-pill.active{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important;color:var(--accent)!important}.admin-summary .summary-pill.active .count{color:var(--accent)!important}.admin-summary .summary-pill:has(.count:is(:empty)){opacity:.6}.admin-page .btn-dark,.admin-page .btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.btn-outline-danger{border:1px solid color-mix(in srgb,var(--status-error) 45%,transparent)!important;color:var(--status-error)!important;background:0 0!important}.admin-page .paper-table-head>*,.admin-page [role=columnheader],.admin-page h3,.errors-page th,.q-card-title,.q-header-label,.q-panel-title{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;color:var(--ink-soft)!important}.ov-flag{color:var(--status-error);font-weight:600}.overview-page .ov-daily-value{color:var(--color)!important}@media (max-width:767px){.paper-table.paper-table-dashboard{margin-left:0!important;margin-right:0!important;width:100%!important}.dashboard-meta{flex-wrap:wrap;row-gap:8px}.dashboard-active-filters{flex-basis:100%;flex-wrap:wrap}.anonymize-landing{padding-top:20px!important}.anonymize-landing .paper-page-lede{font-size:15px!important}}.anonymize-landing .source-privacy-note,.anonymize-landing .text-muted:has(.ui-icon){display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-top:12px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--status-progress) 9%,transparent);color:var(--color)!important;font-size:13px}.repo-access-note>span:has(.ui-icon){display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:9px 12px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--status-progress) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-progress) 25%,transparent);color:var(--color)!important;font-size:13px}.repo-access-note>span:has(.ui-icon) .ui-icon{color:var(--status-progress);flex-shrink:0;margin-top:2px}.admin-summary .summary-pill.active{background:var(--paper-card)!important;border-color:var(--border-color)!important;color:var(--color)!important}.admin-summary .summary-pill.active .count{color:var(--ink-soft)!important}.admin-summary .summary-pill:not(.active){background:0 0!important;border-style:dashed!important;color:var(--ink-muted)!important}.admin-summary .summary-pill:not(.active),.admin-summary .summary-pill:not(.active)>:not(.count){text-decoration:line-through;text-decoration-color:var(--ink-faint)}.admin-summary .summary-pill:not(.active) .count{text-decoration:none}.admin-summary .summary-pill:not(.active)::before{opacity:.45}.admin-page:has(.admin-users-row) .admin-summary .summary-pill:not(.active),.user-detail-card~* .admin-summary .summary-pill:not(.active){border-style:solid!important;text-decoration:none!important;color:var(--color)!important;background:var(--paper-card)!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill:not(.active)::before{opacity:1}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important;color:var(--accent)!important}.copy-link-inline{display:inline-flex!important;align-items:center;gap:6px;height:30px;padding:0 10px!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control);background:var(--paper-card)!important;color:var(--color)!important;font-size:13px;font-weight:500}.copy-link-inline:hover{background:var(--hover-bg-color)!important}.copy-link-inline .project-type-svg{width:14px;height:14px}@media (max-width:767px){.copy-link-label{display:none}.copy-link-inline{width:36px;justify-content:center;padding:0!important}}.overview-page .ov-val-warn{color:var(--color)!important}.ov-flag{color:var(--status-progress)!important}@media (max-width:767px){.admin-page .admin-nav{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent)}.admin-page .admin-nav::-webkit-scrollbar{display:none}.admin-page .admin-nav a{flex-shrink:0}.admin-page .ov-header,.admin-page .paper-page-title{text-align:left!important;justify-content:flex-start!important}.overview-page .ov-kpi-row>:last-child:nth-child(odd){grid-column:1/-1}.admin-summary{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}.admin-summary>*{flex-shrink:0}}.user-detail-grid .detail-value:first-of-type{font-family:var(--font-mono);font-size:13px}.user-header .type-badge{font-family:var(--font-sans)!important;letter-spacing:0!important;text-transform:none!important;font-weight:600}.errors-page .count-badge,.errors-page .msg-count,.errors-page [class*=count]{background:var(--hover-bg-color)!important;color:var(--color)!important}.ov-flag.critical{color:var(--status-error)!important}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(280px,3fr) 180px 70px 150px 150px!important}.paper-table.paper-table-dashboard .paper-table-row>:last-child{display:flex;justify-content:flex-end;align-items:center;gap:4px}.copy-link-inline{white-space:nowrap}@media (max-width:767px){.admin-filter-row,.admin-page form[class*=filter]{display:grid!important;grid-template-columns:1fr;gap:8px}.admin-page form[class*=filter] input,.admin-page form[class*=filter] select{width:100%!important}.admin-page form[class*=filter]>*{width:100%}.admin-page form[class*=filter] label{font-size:12px!important}}@media (min-width:768px){.copy-link-inline{width:auto!important;min-width:0!important}}@media (max-width:767px){.copy-link-inline{width:44px!important;height:44px!important}}.errors-list-head,.errors-list-head>span,.q-section-label{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;color:var(--ink-soft)!important}.errors-list-head>span{background:0 0!important}.q-state-chip{background:var(--paper-card)!important;color:var(--color)!important;border:1px solid var(--border-color)!important;text-transform:none!important;font-family:var(--font-sans)!important;letter-spacing:0!important}.q-state-chip::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--ink-faint)}.q-state-chip.q-state-active::before{background:var(--accent)}.q-state-chip.q-state-delayed::before,.q-state-chip.q-state-waiting::before{background:var(--status-progress)}.q-state-chip.q-state-failed::before{background:var(--status-error)}.q-state-chip.q-state-completed::before{background:var(--status-ready)}.role-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--hover-bg-color);font:600 12px/1 var(--font-sans);color:var(--color)}.user-header .type-badge{background:var(--hover-bg-color)!important;border:0!important}.admin-filter-inline label,.admin-page label{font-size:12px!important;color:var(--ink-soft)!important}.admin-page select,.admin-page select.form-control{padding-right:30px!important;background:var(--input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F6A61' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center!important;-webkit-appearance:none!important;appearance:none!important}.admin-page .paper-table-row .text-muted,.admin-page .paper-table-row [class*=meta]{color:var(--ink-soft)!important}.dashboard-page.container,.paper-page,.paper-page.container{max-width:1112px!important;padding-left:32px!important;padding-right:32px!important}@media (max-width:767px){.dashboard-page.container,.paper-page,.paper-page.container{padding-left:18px!important;padding-right:18px!important}}.page-head-row>a.btn{margin-top:6px}.paper-faq-toc nav,.paper-settings-toc nav{border-left:1px solid var(--border-color)}.paper-settings-toc nav a{margin-left:-1px;border-left:2px solid transparent}.paper-settings-toc nav a.active{border-left-color:var(--accent)!important;color:var(--color)}.paper-page textarea{resize:vertical}.paper-page input[type=date]{height:38px;padding:0 10px;color:var(--input-color);font-family:var(--font-sans)}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name actions" "meta meta";row-gap:6px}.paper-table.paper-table-dashboard .paper-table-row>:first-child{grid-area:name}.paper-table.paper-table-dashboard .paper-table-row>:last-child{grid-area:actions;align-self:start}.paper-table.paper-table-dashboard .paper-table-row>:not(:first-child):not(:last-child){grid-column:1/-1}.copy-link-inline{width:36px!important;height:36px!important}.admin-filter-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.admin-filter-toolbar>:first-child{grid-column:1/-1}.admin-filter-toolbar .admin-filter-inline{display:grid!important;gap:4px}.admin-filter-toolbar .admin-filter-inline label{margin:0}.admin-filter-toolbar>:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.overview-page .ov-header{align-items:flex-start!important;text-align:left!important}.overview-page .ov-header .paper-page-title{width:100%;justify-content:flex-start!important;text-align:left!important}}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{flex-wrap:wrap!important;align-items:flex-start!important;row-gap:6px}.paper-table.paper-table-dashboard .paper-table-row>.cell-anon{flex:1 1 0!important;min-width:0;order:1}.paper-table.paper-table-dashboard .paper-table-row>.cell-actions{flex:0 0 auto!important;order:2;width:auto!important;margin:0!important}.paper-table.paper-table-dashboard .paper-table-row>.dashboard-row-meta{flex:1 1 100%!important;order:3}.admin-filter-toolbar{display:block!important}.admin-filter-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.admin-filter-row>:first-child{grid-column:1/-1}.admin-filter-row .admin-filter-inline{display:grid!important;gap:4px;min-width:0}.admin-filter-row .admin-filter-inline input{width:100%!important}.admin-filter-row>:last-child{grid-column:1/-1;display:flex!important;justify-content:space-between;align-items:center;flex-direction:row!important}.admin-filter-row>:last-child .btn{width:auto!important}}.page-head-row .btn-primary,.paper-page .btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.dark-mode .paper-page .btn-primary{background:#1f6a64!important;border-color:#1f6a64!important}.q-section-right,.q-section-right *,.q-stat-label{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;color:var(--ink-soft)!important}.q-card .q-card-sub,[class*=q-card] small{font-family:var(--font-sans)!important}.quota-ring-track{stroke:var(--border-color)!important;stroke-width:3!important;fill:none}.quota-ring-fill{stroke:var(--accent)!important;stroke-width:3!important;fill:none;stroke-linecap:round;transform:rotate(-90deg);transform-origin:12px 12px;min-width:0}.quota-summary-ring{width:18px!important;height:18px!important}.errors-list-head .col-count,.errors-list-head .col-msg{background:0 0!important;font-family:var(--font-sans)!important;font-weight:600!important}.errors-page .col-count>*{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--hover-bg-color)!important;color:var(--color)!important;font:600 12px/1 var(--font-sans);box-shadow:none!important}.errors-page .col-count>*>*{background:0 0!important}.errors-page .col-when{display:flex;flex-direction:column;gap:0;line-height:1.3}.errors-page .errors-list>div:not(.errors-list-head){padding-top:10px!important;padding-bottom:10px!important;min-height:0!important}.errors-page .kpi-sub{font-style:normal!important;color:var(--ink-soft)!important}.q-legend-exec{display:inline-block;width:14px;height:0;border-top:2px dashed var(--ink-muted);vertical-align:middle;margin-right:4px}.admin-filter-row .admin-search,.admin-filter-row input[placeholder^=Search],.admin-filter-row input[type=search],.admin-filter-row>:first-child{flex:1 1 320px!important;min-width:280px}.repo-access-note>span:has(.ui-icon){background:var(--hover-bg-color)!important;box-shadow:none!important}.repo-access-note>span:has(.ui-icon) .ui-icon{color:var(--ink-soft)!important}.dark-mode .paper-table-row{background:0 0!important}.dark-mode .paper-table-row:hover{background:rgba(255,255,255,.04)!important}.dark-mode .btn-primary,.dark-mode .dashboard-page .btn-primary,.dark-mode .paper-page .btn-primary{background:#1f6a64!important;border-color:#1f6a64!important;color:#fff!important}.dark-mode .dashboard-type-filter.btn-primary{background:rgba(124,199,190,.16)!important;border-color:transparent!important;color:#a8ddd6!important}.paper-page .form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page textarea{border-color:var(--border-color)!important}.paper-page .form-control:focus,.paper-page textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.errors-page .col-count{background:0 0!important;box-shadow:none!important;display:flex;align-items:center}.errors-page .col-count::after,.errors-page .col-count::before{content:none!important;display:none!important}.errors-page .col-count .count-pill{width:auto!important;min-width:0!important}.paper-page .dashboard-type-filter.btn-primary{background:var(--accent-soft)!important;border-color:transparent!important;color:var(--accent)!important}.paper-page>.row{margin-left:0!important;margin-right:0!important}.paper-page>.row>[class*=col],.paper-page>.row>[class*=w-100]{padding-left:0!important;padding-right:0!important}.q-table th{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;color:var(--ink-soft)!important}.admin-page input:not([type=checkbox]),.claim-page input,.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=search],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea,.paper-page textarea.form-control{border:1px solid var(--border-color)!important}.dark-mode .admin-page input:not([type=checkbox]),.dark-mode .claim-page input,.dark-mode .paper-page input.form-control,.dark-mode .paper-page textarea{border-color:#5a554d!important}.landing-continue:disabled{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;opacity:.45!important}.overview-page .ov-kpi-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.admin-page .admin-nav{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;row-gap:4px}.admin-summary{flex-wrap:wrap!important;overflow:visible!important;row-gap:8px}.admin-page .paper-table-row .text-muted,.admin-page .paper-table-row [class*=meta]{white-space:normal!important}}.summary-total small{font-size:13px;font-weight:500;color:var(--ink-soft);margin-left:2px}@media (max-width:767px){.overview-page .ov-daily-row,.overview-page .ov-kpi-row,.overview-page [class*=ov-][class*="-row"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.overview-page .ov-kpi-card,.overview-page [class*=ov-daily-card]{min-width:0!important;width:auto!important}.overview-page .ov-kpi-row>:last-child:nth-child(odd){grid-column:1/-1}}.user-detail-grid .detail-value:nth-of-type(1){font-family:var(--font-mono)!important}.paper-table-empty .empty-title{display:block;font-size:15px;font-weight:600;color:var(--color);margin-bottom:4px}.paper-table-empty>span{max-width:440px;text-align:center}.paper-table-empty-actions{margin-top:12px;display:flex;gap:8px;justify-content:center}.q-action-sep{display:inline-block;width:1px;height:22px;margin:0 6px;background:var(--border-color);vertical-align:middle}.hidden-toggle{padding:0;border:0;background:0 0;color:var(--link-color);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ov-meter{height:4px;margin:6px 0 2px;border-radius:4px;background:var(--hover-bg-color);overflow:hidden}.ov-meter>span{display:block;height:100%;border-radius:4px;background:var(--ink-faint)}.ov-meter.warn>span{background:var(--status-progress)}.ov-meter.crit>span{background:var(--status-error)}.admin-filters-toggle{display:none}@media (max-width:767px){.admin-filters-toggle{display:inline-flex;margin:8px 0}.admin-filter-toolbar .admin-filter-row:not(.is-open)>:not(:first-child){display:none!important}.admin-filter-toolbar .admin-filter-row:not(.is-open){grid-template-columns:1fr!important}}.paper-settings-layout,.settings-layout{max-width:none!important}.paper-settings-layout>:last-child,.settings-layout>:last-child{max-width:none!important;flex:1 1 auto}.errors-list-head>span{font-weight:600!important}.errors-page .errors-list>div:not(.errors-list-head){min-height:56px!important}.reading-layout{display:grid;grid-template-columns:minmax(0,720px) 220px;justify-content:center;gap:48px;padding:0 32px}.reading-layout .file-content.markdown-body{max-width:none!important;margin:0!important;padding:40px 0 96px!important;font-size:16px!important;line-height:1.7!important}.reading-layout .markdown-body h1{font-size:34px!important;font-weight:600!important;letter-spacing:-.02em;border-bottom:0!important;margin-bottom:12px!important}.reading-layout .markdown-body h2{font-size:24px!important;font-weight:600!important;letter-spacing:-.01em;border-bottom:0!important;margin-top:44px!important;padding-bottom:0!important;scroll-margin-top:72px}.reading-layout .markdown-body h3{font-size:18px!important;margin-top:28px!important;scroll-margin-top:72px}.reading-layout .markdown-body>p:first-of-type{font-size:18px;color:var(--ink-soft)}.readme-toc{position:sticky;top:68px;align-self:start;margin-top:44px;max-height:calc(100% - 100px);overflow:auto;display:grid;gap:2px;font-size:13px}.readme-toc-head{font-size:12px;font-weight:600;color:var(--color);margin-bottom:8px}.readme-toc a{display:block;padding:4px 0 4px 12px;border-left:1px solid var(--border-color);color:var(--ink-soft)!important;text-decoration:none!important;line-height:1.35}.readme-toc a:hover{color:var(--color)!important;border-left-color:var(--ink-muted)}.readme-toc a.lvl-3{padding-left:24px;font-size:12.5px}@media (max-width:1199px){.reading-layout{grid-template-columns:minmax(0,760px)}.readme-toc{display:none}}@media (max-width:767px){.reading-layout{padding:0 16px}.reading-layout .file-content.markdown-body{padding:20px 0 72px!important}.reading-layout .markdown-body h1{font-size:26px!important}.reading-layout .markdown-body h2{font-size:20px!important}}.demo{margin-top:28px;display:grid;gap:14px}.demo-terms{display:grid;gap:6px}.demo-terms label{font-size:13px;font-weight:600;color:var(--color);margin:0}.demo-terms label span{font-weight:400;color:var(--ink-soft);margin-left:6px}.demo-terms input{height:42px;padding:0 14px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font:14px var(--font-mono);color:var(--color)}.demo-terms input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.demo-panes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.demo .pane{border:1px solid var(--border-color);border-radius:var(--radius-surface);background:var(--paper-card);overflow:hidden;display:flex;flex-direction:column}.demo .pane-header{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:12px;color:var(--ink-soft)}.demo .pane-label{font-weight:600;color:var(--color)}.demo .pane-url{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo .pane-after{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color))}.demo .pane-body{min-height:150px;padding:14px 16px;font:13px/1.75 var(--font-mono);color:var(--color);white-space:pre-wrap}.demo-input{border:0;resize:vertical;background:0 0;outline:0;width:100%}.demo-input:focus{background:color-mix(in srgb,var(--accent) 3%,transparent)}.demo-output .redact-chip{font-size:.92em}@media (max-width:767px){.demo-panes{grid-template-columns:1fr}}.paper-frame-bar .dots{display:none!important}.paper-frame-bar{justify-content:flex-start!important;height:32px!important;background:0 0!important}.paper-frame-bar .url{text-align:left!important;flex:none!important}.reading-layout .markdown-body>p:first-of-type{font-size:inherit!important;color:inherit!important}@media (max-width:767px){.mobile-sub b{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;background:var(--accent-soft);font-size:11.5px}.explorer-content .file-card-head{min-height:52px!important;padding-top:6px!important;padding-bottom:6px!important}.file-card-head .file-card-path{gap:4px!important;column-gap:4px!important}.file-card.is-code.no-wrap .file-card-body::after{width:48px!important;background:linear-gradient(to right,transparent,var(--paper-card) 60%)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 60%)!important}}.ace_search{justify-content:flex-start}.ace_searchbtn_close{margin-left:auto!important;order:99}.fm-chips span,.paper-preview .term{background:var(--hover-bg-color)!important;color:var(--ink-soft)!important;text-decoration-color:var(--ink-muted)!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.06)!important}.dark-mode .ace-nord-dark .ace_marker-layer .ace_redacted,.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.32)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.65)!important}.paper-link-arrow{font-size:15px!important}.paper-reassure{font-size:14px!important}.acct-menu-head,.dark-mode .acct-menu-head{color:var(--ink-soft)!important}.reading-layout{grid-template-columns:minmax(0,720px) 200px!important;gap:40px!important;padding:0 24px!important}.vb-snapshot{color:var(--ink-soft)!important;background:var(--paper-card)!important;box-shadow:inset 0 0 0 1px var(--border-color)}.paper-faq-lede a{color:var(--color)!important;border-bottom:1px solid var(--ink-faint)!important;text-decoration:none!important}.paper-faq-lede a:hover{border-bottom-color:var(--color)!important}.paper-qa,.paper-section-head{margin-top:96px!important}.ace-chrome .ace_constant.ace_language,.ace-chrome .ace_constant.ace_numeric,.ace-chrome .ace_support.ace_constant{color:#0550ae!important}.ace-nord-dark .ace_constant.ace_language,.ace-nord-dark .ace_constant.ace_numeric,.ace-nord-dark .ace_support.ace_constant{color:#79c0ff!important}.copy-url{display:inline-flex;align-items:center;gap:8px;max-width:230px;height:30px;padding:0 8px 0 10px;border:0;border-radius:var(--radius-control);background:var(--hover-bg-color);font:500 12.5px/1 var(--font-mono);color:var(--ink-soft);cursor:pointer;transition:background .12s,color .12s}.copy-url:hover{background:var(--accent-soft);color:var(--accent)}.copy-url:disabled{cursor:progress}.copy-url-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-url .project-type-svg{width:14px;height:14px;flex-shrink:0;opacity:.75}.copy-url:hover .project-type-svg{opacity:1}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(260px,3fr) 170px 64px 140px 280px!important}@media (max-width:767px){.copy-url{max-width:44px;padding:0;justify-content:center;width:40px;height:40px}.copy-url-text{display:none}}.dashboard-page .btn.dashboard-type-filter.btn-primary,.paper-page .btn.dashboard-type-filter.btn-primary{background:var(--accent-soft)!important;border-color:transparent!important;color:var(--accent)!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(242,204,96,.42)!important;box-shadow:none!important;border-radius:2px}.ace_editor.ace-chrome .ace_marker-layer .ace_selection{background:#f2cc60!important;box-shadow:0 0 0 1px #c69026!important}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:rgba(242,204,96,.55)!important;box-shadow:0 0 0 1px #f2cc60!important}.ace_searchbtn_close{background-image:none!important;width:28px!important;height:28px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:var(--radius-control)!important;opacity:1!important;color:var(--ink-soft)!important}.ace_searchbtn_close::before{content:"\00d7";font:400 20px/1 var(--font-sans);color:var(--ink-soft)}.ace_searchbtn_close:hover{background-color:var(--hover-bg-color)!important}.ace_search{padding:6px 12px!important}.readme-toc a.is-active{color:var(--color)!important;border-left:2px solid var(--accent)!important;margin-left:-.5px;font-weight:500}.demo .pane-after{box-shadow:none!important;border-color:var(--border-color)!important}.demo .pane-body{min-height:120px!important}.demo-input{resize:none!important}.vb-snapshot .vb-dot{margin:0 2px;color:var(--ink-faint)}.dark-mode .btn-hero,.dark-mode .btn-primary,.dark-mode .landing-continue:not(:disabled){background:#2b8a80!important;border-color:#2b8a80!important;color:#fff!important}.paper-reassure li::before{content:""!important;display:inline-block;width:14px;height:14px;margin-right:7px;vertical-align:-2px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}.nav-support-inline .nav-heart{width:14px;height:14px;color:#e5484d;fill:#e5484d}.fm-chips span{color:var(--color)!important}@media (max-width:767px){.vb-icon,.vb-support{width:36px!important;height:36px!important}.vb-signin{height:36px!important}.navbar .nav-signin-m,.navbar-toggler{height:36px!important;border-radius:var(--radius-control)!important}}.overview-page .ov-spark-fill,.overview-page .ov-spark-fill-alt,.overview-page .ov-spark-fill-new-user,.overview-page .ov-spark-fill-user{background:color-mix(in srgb,var(--accent) 70%,transparent)!important}.overview-page .ov-dot-legend{background:var(--accent)!important}.errors-page .bucket-info,.errors-page .col-sev .sev-info::before,.errors-page .errors-chart [class*=info]{background:var(--ink-faint)!important}.errors-header .btn-danger{background:0 0!important;color:var(--status-error)!important;border:1px solid color-mix(in srgb,var(--status-error) 45%,transparent)!important;margin-left:10px}.conferences-page .paper-table:has(.paper-table-empty) .paper-table-head{display:none!important}.copy-url{max-width:280px!important}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(240px,3fr) 150px 60px 130px 320px!important}.dark-mode .paper-table-dashboard .paper-table-row{background:0 0!important}.ace_editor .ace_marker-layer .ace_redacted{background:color-mix(in srgb,var(--accent) 18%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent)!important}.ace_searchbtn_close{margin-left:4px!important}.ace_search .ace_button{font-size:12px!important}.nav-support-inline .nav-heart,.support-cta .ui-icon,.vb-support .ui-icon{color:#c25b5e!important;fill:#c25b5e!important}.nav-support-inline:hover .nav-heart,.support-cta:hover .ui-icon,.vb-support:hover .ui-icon{color:#e5484d!important;fill:#e5484d!important}.vb-support{background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important}.dark-mode .nav-support-inline .nav-heart,.dark-mode .vb-support .ui-icon{color:#d9787b!important;fill:#d9787b!important}.readme-toc .toc-rail{border-left:1px solid var(--border-color)}.readme-toc a,.readme-toc a.is-active{border-left:0!important;margin-left:-1px!important;padding:5px 0 5px 13px!important;line-height:1.4}.readme-toc a.lvl-3{padding-left:25px!important}.readme-toc a:hover{box-shadow:inset 1px 0 0 var(--ink-muted)}.readme-toc a.is-active{box-shadow:inset 2px 0 0 var(--accent)!important}@media (min-width:992px){.demo-panes{grid-template-columns:1fr 1.4fr;gap:40px}}.fm-chips span{text-decoration:none!important}.dark-mode .btn-hero,.dark-mode .btn-primary,.dark-mode .landing-continue:not(:disabled){background:#237a71!important;border-color:#237a71!important}.dark-mode .paper-frame{box-shadow:0 0 0 1px #34302b,0 24px 60px rgba(0,0,0,.5)!important}.dark-mode .leftCol{background:#1d1a17!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.09)!important}.dark-mode .explorer-content .markdown-body img{filter:none!important}@media (max-width:767px){.viewer-bar{padding-left:12px!important;padding-right:12px!important}.vb-signin{height:30px!important;padding:0 10px!important}}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(240px,3fr) 190px 60px 120px 300px!important}.paper-table-dashboard .cell-status .status-sub-date{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.row-edit{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-control);color:var(--ink-soft)!important}.row-edit:hover{background:var(--hover-bg-color);color:var(--color)!important}.row-edit .ui-icon{width:16px;height:16px}.cell-actions{display:flex;align-items:center;gap:4px;justify-content:flex-end}.dashboard-filter-controls .btn-group[aria-label=Type]{background:var(--hover-bg-color);padding:3px;border-radius:calc(var(--radius-control) + 3px);gap:2px}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn{border:0!important;background:0 0!important;color:var(--ink-soft)!important;border-radius:var(--radius-control)!important;height:32px;box-shadow:none!important}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn.btn-primary{background:var(--paper-card)!important;color:var(--color)!important;box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px var(--border-color)!important}.admin-filter-row .form-control,.dashboard-page .dashboard-filter-row .form-control,.paper-page .search-wrap .form-control{border:1px solid #a39d92!important}.dark-mode .admin-filter-row .form-control,.dark-mode .dashboard-page .dashboard-filter-row .form-control,.dark-mode .paper-page .search-wrap .form-control{border-color:#4a443d!important}.ov-health{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 20px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--status-error,#b42318) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-error,#b42318) 30%,transparent);font-size:14px;color:var(--color)}.ov-health .ui-icon{width:18px;height:18px;flex:none;margin-top:1px;color:var(--status-error,#b42318)}.dark-mode .ov-health{background:rgba(240,138,130,.1);box-shadow:inset 0 0 0 1px rgba(240,138,130,.35)}.dark-mode .ov-health .ui-icon{color:#f08a82}.cell-anon .record-type-icon{display:none!important}.cell-anon{padding-left:0!important}.errors-page .errors-row-main{padding-top:10px!important;padding-bottom:10px!important;min-height:46px;align-items:center!important}.errors-page .col-when{display:flex;gap:8px;align-items:baseline}.errors-page .when-abs{font-size:12px}.errors-page .msg-code{font-family:var(--font-sans)!important;font-weight:500!important;font-size:13.5px!important}@media (max-width:767px){.viewer-bar .vb-icon,.viewer-bar .vb-signin,.viewer-bar .vb-support{height:36px!important;border-radius:var(--radius-control)!important;background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important;border:0!important}.viewer-bar .vb-icon,.viewer-bar .vb-support{width:36px!important}.viewer-bar .vb-signin{padding:0 12px!important}.file-card-head .card-files-btn,.file-card-head .tb-copy-m,.file-card-head .tb-more-btn{width:36px!important;height:36px!important;border-radius:var(--radius-control)!important;background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important;color:var(--color)!important}.file-card.is-code.no-wrap .file-card-body::after{width:64px!important;background:linear-gradient(to right,transparent,var(--paper-card) 70%)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 75%)!important}}.btn-toggle.is-on,.btn-toggle[aria-pressed=true]{color:var(--accent)!important;background:var(--accent-soft)!important}.dark-mode .btn-toggle.is-on{background:rgba(124,199,190,.14)!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.78em!important;padding:0 6px!important;vertical-align:.08em!important;font-weight:600!important}@media (min-width:1200px){.readme-toc{padding-top:10px}}.fm-toggles span{color:var(--color)!important}.dark-mode .paper-frame{border:0!important;box-shadow:0 0 0 1px #34302b,0 24px 60px rgba(0,0,0,.45)!important}.q-section-right .q-legend-completed{color:#2f7d4f!important}.q-section-right .q-legend-failed{color:#b42318!important}.dark-mode .q-section-right .q-legend-completed{color:#6fbf8a!important}.dark-mode .q-section-right .q-legend-failed{color:#f08a82!important}.q-chart-wrap canvas{max-height:180px}.avatar-fallback{width:28px;height:28px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--hover-bg-color);color:var(--ink-soft);font-size:12px;font-weight:600}.mono-id{font-family:var(--font-mono)!important;font-size:13px!important}.landing-continue:disabled{background:var(--hover-bg-color)!important;border-color:var(--border-color)!important;color:var(--ink-soft)!important;opacity:1!important;cursor:not-allowed}.paper-table .anon-sub,.paper-table .anon-sub *{font-size:12px}.dashboard-heading-actions{display:flex;align-items:center;gap:10px}.dashboard-heading-actions .dashboard-quota{position:relative;margin:0!important}.dashboard-heading-actions .quota-panel{right:0;left:auto!important}@media (max-width:767px){.admin-nav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:4px;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}.admin-nav::-webkit-scrollbar,.admin-summary::-webkit-scrollbar{display:none}.admin-nav a{flex:none;white-space:nowrap}.admin-summary{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:6px;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}.admin-summary>*{flex:none;white-space:nowrap}.paper-table .anon-sub{flex-wrap:wrap!important;white-space:normal!important;row-gap:2px}.paper-table .anon-sub>a,.paper-table .anon-sub>span{overflow:visible!important;text-overflow:clip!important;white-space:nowrap}.paper-table .cell-anon .repo-name{white-space:normal!important;overflow-wrap:anywhere;overflow:visible!important;text-overflow:clip!important}.overview-page .ov-kpi-sub{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.overview-page .ov-kpi-row{grid-template-columns:1fr 1fr!important}}.dashboard-page .dashboard-heading-actions{flex-direction:row!important;align-items:center!important;gap:10px!important}@media (max-width:767px){.admin-page .admin-nav{flex-wrap:nowrap!important;overflow-x:auto!important;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}header.viewer-bar .vb-icon,header.viewer-bar .vb-support{box-shadow:inset 0 0 0 1px var(--border-color)!important;background:0 0!important}}@media (max-width:767px){.dashboard-page .dashboard-heading{flex-direction:column!important;align-items:stretch!important;gap:12px}.dashboard-page .dashboard-heading-actions{justify-content:space-between!important;width:100%}.row-edit{display:none!important}}@media (max-width:767px){.paper-table-dashboard .copy-url{background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important}}@media (max-width:767px){.mobile-sub{display:flex!important;align-items:center;gap:6px;margin-top:3px!important}.mobile-sub>*+::before{content:"·";margin-right:6px;color:var(--ink-muted);font-weight:400}.mobile-sub>b::before{display:none}header.viewer-bar .vb-icon,header.viewer-bar .vb-support{box-shadow:none!important;background:0 0!important}.file-card-head .card-files-btn,.file-card-head .tb-copy-m,.file-card-head .tb-more-btn{box-shadow:none!important;background:0 0!important}.file-card-head .card-files-btn:active,.file-card-head .tb-copy-m:active,.file-card-head .tb-more-btn:active{background:var(--hover-bg-color)!important}.file-card-head{padding-top:6px!important;padding-bottom:6px!important}}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{box-shadow:none!important;border:0!important;padding:0 5px!important;font-weight:500!important}@media (min-width:1200px){.reading-layout{gap:40px!important}}.ace_search .ace_search_field:focus,.ace_search_field:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)!important;border-color:color-mix(in srgb,var(--accent) 70%,transparent)!important}.demo-terms label span,.paper-eyebrow,.paper-footer,.paper-footer a{color:var(--ink-soft)!important}.dark-mode .anonymize-page .btn-ink,.dark-mode .btn-hero,.dark-mode .btn-primary,.dark-mode .landing-continue,.dark-mode .page-head-row .btn-primary,.dark-mode .paper-page .btn-ink,.dark-mode .paper-page .btn-primary{background:#237a71!important;border-color:#237a71!important;color:#fff!important}.dark-mode .anonymize-page .btn-ink:hover,.dark-mode .btn-primary:hover,.dark-mode .paper-page .btn-ink:hover{background:#1e6b63!important;color:#fff!important;filter:none!important}.landing-continue,.landing-continue:disabled{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;opacity:1!important;cursor:pointer}.errors-page .seg.seg-info{background:var(--ink-faint)!important;opacity:1!important}.errors-page .dot-info,.errors-page .sev-dot.sev-info{background:var(--ink-muted)!important}@media (max-width:767px){.admin-page .admin-nav,.admin-summary{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent)!important;mask-image:linear-gradient(to right,#000 82%,transparent)!important;scroll-snap-type:x proximity}.admin-page .admin-nav a,.admin-summary>*{scroll-snap-align:start}.admin-page .admin-filters-toggle,.admin-page .dashboard-filters-toggle{width:auto!important}}.admin-filter-inline{display:inline-flex;align-items:center;gap:6px;margin-left:14px}.admin-filter-inline label{margin:0!important;font-size:12.5px;color:var(--ink-soft)}.admin-filter-row .form-control,.dashboard-page .dashboard-filter-row .form-control,.paper-page .search-wrap .form-control{border-color:var(--border-color)!important;height:36px!important}.admin-filter-row .form-control:focus,.dashboard-page .dashboard-filter-row .form-control:focus{border-color:var(--accent)!important}.dashboard-page .dashboard-filter-controls .btn,.dashboard-page .dashboard-filter-controls .dropdown-toggle{height:36px}.admin-page .cell-repos a,.paper-table [role=cell].num a{color:var(--color)!important;font-family:var(--font-sans)!important}.errors-page .col-count{font-weight:inherit!important;color:inherit!important}.errors-page .errors-row-main{min-height:52px!important;padding-top:8px!important;padding-bottom:8px!important}.connections-grid{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:stretch}@media (max-width:767px){.connections-grid{grid-template-columns:1fr!important}}.admin-page .admin-filter-inline .form-control,.admin-page .admin-filter-row .form-control,.admin-page .search-wrap .form-control{height:36px!important;min-height:36px!important;border:1px solid var(--border-color)!important;font-size:13.5px!important;padding-top:0!important;padding-bottom:0!important}.admin-page .admin-filter-inline .form-control:focus,.admin-page .admin-filter-row .form-control:focus{border-color:var(--accent)!important}.admin-page select.form-control{height:36px!important;border:1px solid var(--border-color)!important}.admin-page .paper-table .anon-sub{gap:0!important;column-gap:0!important}.admin-page .paper-table .anon-sub>a{border-bottom:0!important;text-decoration:none}.tb-menu-note{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px;color:var(--ink-soft)}.tb-menu-note .ui-icon{width:16px;height:16px}.readme-toc a{color:var(--ink-soft)!important;font-size:13.5px!important}.readme-toc a.lvl-3{font-size:13px!important}.readme-toc a.is-active{color:var(--accent)!important;font-weight:500!important}.dark-mode .readme-toc a.is-active{color:#a8ddd6!important}.ace_search_form .ace_searchbtn{border-radius:0!important;margin:0!important}.ace_search_form .ace_searchbtn.prev{border-radius:var(--radius-control) 0 0 var(--radius-control)!important;margin-left:8px!important}.ace_search_form .ace_searchbtn.next{border-radius:0 var(--radius-control) var(--radius-control) 0!important;margin-left:-1px!important}.ace_search .ace_searchbtn.next,.ace_search .ace_searchbtn.prev{box-shadow:none!important}.ace_editor .ace_marker-layer .ace_selected-word,.ace_editor .ace_marker-layer .ace_selection{box-shadow:none!important;border:0!important}@media (max-width:767px){.file-card-head{padding-left:12px!important;padding-right:12px!important}.file-card-head .file-card-path{column-gap:8px!important}}.dark-mode .files .file.active>a{background:rgba(255,255,255,.07)!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,700px) 190px!important;gap:40px!important;padding:0 24px!important}}.ace-chrome .ace_string{color:#0a3069!important}.ace-nord-dark .ace_string,.dark-mode .ace_editor .ace_string{color:#a5c8ff!important}.ace_editor .ace_marker-layer .ace_redacted{background:color-mix(in srgb,var(--accent) 20%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)!important;border-radius:3px}.ace_search .ace_button{height:28px!important;min-width:30px!important;font-size:12px!important;color:var(--ink-soft)!important;display:inline-flex!important;align-items:center;justify-content:center}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.ace_search_counter{font-size:12.5px!important;color:var(--ink-soft)!important}.ace_searchbtn_close::before{font-size:18px!important;font-weight:300!important}.btn-toggle.is-on{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)!important}.vb-snapshot{background:0 0!important;box-shadow:none!important;color:var(--ink-soft)!important;padding-left:4px!important;padding-right:4px!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.1)!important;color:#f2eee8!important}.paper-faq-title,.paper-hero h1,.paper-section-head h2{text-wrap:balance}@media (min-width:992px){.demo-panes{grid-template-columns:1fr 1fr!important;gap:20px!important}}.paper-faq details a:not(.btn),.paper-faq-a a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}@media (max-width:767px){.file-card.is-code .ace_gutter-cell{padding-left:8px!important;padding-right:8px!important}}.auto-refresh-label{font-family:var(--font-sans)!important}.ov-spark-fill{opacity:1!important;background:color-mix(in srgb,var(--accent) 70%,transparent)!important}.connections-grid .connection-link:not(.connection-danger){display:inline-flex;align-items:center;height:34px;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-control);color:var(--color)!important;text-decoration:none!important}.reading-layout .file-content.markdown-body,.reading-layout .markdown-body{padding-left:0!important;padding-right:0!important}.explorer-content .file-card .reading-layout .file-content.markdown-body{padding-left:0!important;padding-right:0!important}.admin-page h1.paper-page-title{margin:0!important;line-height:44px!important;min-height:44px}.admin-page .errors-header,.admin-page .ov-header,.admin-page .q-header{min-height:44px;margin:0 0 12px!important;display:flex;align-items:center;justify-content:space-between}.admin-page>h1.paper-page-title{margin-bottom:12px!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active .count{color:rgba(255,255,255,.8)!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active::before{display:none!important}.admin-page input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.ov-health{background:var(--paper-card)!important;box-shadow:inset 3px 0 0 var(--status-error,#b42318),inset 0 0 0 1px var(--border-color)!important}.dark-mode .ov-health{background:var(--paper-card)!important;box-shadow:inset 3px 0 0 #f08a82,inset 0 0 0 1px var(--border-color)!important}.dashboard-quota .quota-summary-ring{display:none!important}.errors-page .errors-row-main{min-height:44px!important}.errors-page .when-abs{display:none!important}@media (max-width:767px){.admin-summary{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;margin-left:0!important;margin-right:0!important;padding:0!important}.admin-summary .summary-pill{height:30px!important;padding:0 10px!important;font-size:13px!important}.admin-page .admin-nav{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;margin-left:0!important;margin-right:0!important;padding:0!important;gap:2px!important}.admin-page .admin-nav a{min-height:34px!important;padding:0 10px!important;font-size:13.5px!important}.admin-page .admin-nav a .ui-icon{display:none!important}}.fm-toggles span{display:inline-flex;align-items:center;gap:6px}.fm-toggles span::before{content:"";width:12px;height:12px;flex:none}.fm-toggles .is-on::before{background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/contain no-repeat}.faq-toc a,.paper-faq nav a,.paper-faq-toc a{text-decoration:none!important}@media (max-width:991px){.navbar .navbar-toggler{border-color:transparent!important;background:0 0!important;box-shadow:none!important}}.ace-chrome .ace_gutter-cell{color:#8a847a!important}.dark-mode .ace_editor .ace_gutter-cell{color:#7a746b!important}.ace-chrome .ace_keyword,.ace-chrome .ace_keyword.ace_operator.ace_new,.ace-chrome .ace_storage{color:#7a3e6e!important}.ace-chrome .ace_string{color:#6b5a1e!important}.ace-chrome .ace_entity.ace_name.ace_function,.ace-chrome .ace_support.ace_function{color:#2b2824!important;font-weight:500}.ace-chrome .ace_constant,.ace-chrome .ace_constant.ace_language,.ace-chrome .ace_constant.ace_numeric{color:#8a4b12!important}.ace-chrome .ace_comment{color:#8a847a!important;font-style:italic}.ace-chrome .ace_identifier,.ace-chrome .ace_variable{color:#2b2824!important}.ace-chrome .ace_keyword.ace_operator,.ace-chrome .ace_paren,.ace-chrome .ace_punctuation{color:#6e6860!important}.ace-chrome .ace_entity.ace_name.ace_tag,.ace-chrome .ace_support.ace_class,.ace-chrome .ace_support.ace_type{color:#7a3e6e!important}.ace-chrome .ace_entity.ace_other.ace_attribute-name{color:#8a4b12!important}.dark-mode .ace_editor .ace_entity.ace_name.ace_tag,.dark-mode .ace_editor .ace_keyword,.dark-mode .ace_editor .ace_storage,.dark-mode .ace_editor .ace_support.ace_type{color:#d7a6cb!important}.dark-mode .ace_editor .ace_string{color:#d9c08a!important}.dark-mode .ace_editor .ace_entity.ace_name.ace_function,.dark-mode .ace_editor .ace_identifier,.dark-mode .ace_editor .ace_support.ace_function,.dark-mode .ace_editor .ace_variable{color:#ece7df!important}.dark-mode .ace_editor .ace_constant,.dark-mode .ace_editor .ace_constant.ace_numeric,.dark-mode .ace_editor .ace_entity.ace_other.ace_attribute-name{color:#e0b070!important}.dark-mode .ace_editor .ace_comment{color:#8a847a!important;font-style:italic}.dark-mode .ace_editor .ace_keyword.ace_operator,.dark-mode .ace_editor .ace_paren,.dark-mode .ace_editor .ace_punctuation{color:#a39d92!important}.ace_editor .ace_marker-layer .ace_redacted{background:rgba(31,106,100,.22)!important;box-shadow:inset 0 0 0 1px rgba(31,106,100,.55)!important;border-radius:3px;mix-blend-mode:multiply}.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.26)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.6)!important;mix-blend-mode:screen}.ace-chrome .ace_gutter-cell{color:#77716a!important}.dark-mode .ace_editor .ace_gutter-cell{color:#8a847a!important}@media (min-width:1200px){.reading-layout{justify-content:center!important}}.fm-toggles span:not(.is-on)::before{display:none!important}.demo-panes .pane-header{display:flex;gap:10px;min-width:0}.demo-panes .pane-url{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.mobile-sub{font-size:12.5px!important;line-height:1.4}}.ov-live{font-size:12.5px;color:var(--ink-soft)}.admin-summary .summary-pill:not(.active) .count{text-decoration:none!important}.paper-table:not(.paper-table-dashboard) .paper-table-head,.paper-table:not(.paper-table-dashboard) .paper-table-row{column-gap:24px!important}.connection-label{font-size:12.5px;color:var(--ink-soft);margin-right:4px}.paper-table-dashboard .copy-url:hover{background:var(--hover-bg-color)!important;box-shadow:inset 0 0 0 1px var(--border-color)!important}.dashboard-page .dashboard-count button,.dashboard-page .show-hidden{font-size:13px!important}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name more" "meta meta" "link link"!important;row-gap:8px!important}.paper-table.paper-table-dashboard .paper-table-row>.cell-anon{grid-area:name!important;grid-column:auto!important;min-width:0}.paper-table.paper-table-dashboard .paper-table-row>.dashboard-row-meta{grid-area:meta!important;grid-column:auto!important}.paper-table.paper-table-dashboard .paper-table-row>.cell-actions{display:contents!important}.paper-table-dashboard .cell-actions>.copy-url{grid-area:link;width:100%!important;height:36px!important;padding:0 12px!important;justify-content:space-between!important;background:var(--hover-bg-color)!important;box-shadow:none!important}.paper-table-dashboard .cell-actions>.copy-url .copy-url-text{display:inline!important;min-width:0;overflow:hidden;text-overflow:ellipsis}.paper-table-dashboard .cell-actions>.dropdown{grid-area:more;align-self:start}.paper-table-dashboard .cell-actions>.project-details-button,.paper-table-dashboard .cell-actions>.row-edit{display:none!important}}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{padding-right:12px!important}}.vb-support{background:0 0!important;box-shadow:none!important;border:0!important}.vb-support:hover{background:var(--hover-bg-color)!important}.vb-snapshot{margin-right:8px!important}.paper-eyebrow,.paper-stat small,.paper-stat-sub,.paper-stats .sub{color:#5e5950!important}.dark-mode .paper-eyebrow,.dark-mode .paper-stat-sub{color:#b5aea3!important}.paper-qa,.paper-section-head{margin-top:80px!important}.demo{margin-bottom:0!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(242,204,96,.35)!important}.ace_editor .ace_marker-layer .ace_selection{background:rgba(232,184,58,.55)!important}.paper-faq details>:not(summary),.paper-faq-a{max-width:720px!important}.q-state-chip.q-state-active::before{background:var(--color)!important}.q-state-chip.q-state-delayed::before{background:var(--ink-muted)!important}.repo-access-note>span:last-child{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-control);background:color-mix(in srgb,#b7791f 8%,transparent);box-shadow:inset 3px 0 0 #b7791f;color:var(--color)!important}.repo-access-note>span:last-child .ui-icon{color:#9a6416;flex:none;margin-top:2px}.dark-mode .repo-access-note>span:last-child{background:rgba(224,176,112,.1);box-shadow:inset 3px 0 0 #e0b070}.repo-access-note>span:has(.ui-icon){background:color-mix(in srgb,#b7791f 8%,transparent)!important;box-shadow:inset 3px 0 0 #b7791f!important;color:var(--color)!important}.repo-access-note>span:has(.ui-icon) .ui-icon{color:#9a6416!important}.dark-mode .repo-access-note>span:has(.ui-icon){background:rgba(224,176,112,.1)!important;box-shadow:inset 3px 0 0 #e0b070!important}.dark-mode .repo-access-note>span:has(.ui-icon) .ui-icon{color:#e0b070!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,680px) 190px!important;padding:0 40px!important}}.ace-chrome .ace_entity.ace_name.ace_tag,.ace-chrome .ace_keyword,.ace-chrome .ace_storage,.ace-chrome .ace_support.ace_type{color:#93306a!important}.ace-chrome .ace_string{color:#7a5300!important}.ace-chrome .ace_constant,.ace-chrome .ace_constant.ace_numeric{color:#a14a0f!important}.dark-mode .ace_editor .ace_string{color:#cdb98e!important}.ace_editor .ace_marker-layer .ace_redacted{background:rgba(31,106,100,.28)!important;box-shadow:inset 0 0 0 1px rgba(31,106,100,.65)!important}.ace_search{background:var(--paper-card)!important;box-shadow:inset 0 1px 0 var(--border-color),inset 0 -1px 0 var(--border-color)!important}.ace_search .ace_search_field{height:32px!important;border-radius:var(--radius-control)!important}.ace_search .ace_searchbtn{height:32px!important}.paper-stats-dot{background:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.paper-stats-meta-right{color:var(--ink-soft)!important;font-weight:400!important}.paper-frame{box-shadow:0 0 0 1px var(--border-color),0 12px 32px rgba(40,30,20,.08)!important;border:0!important}.dark-mode .paper-frame{box-shadow:0 0 0 1px #34302b,0 12px 32px rgba(0,0,0,.4)!important}.paper-faq details>summary,.paper-faq summary{font-weight:600!important}@media (max-width:767px){.file-card-head .file-card-path{column-gap:12px!important}.file-card.is-code.no-wrap .file-card-body::after{width:72px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 65%)!important}}.dashboard-page .hidden-toggle{font-size:13px!important;color:var(--color)!important}.paper-table-dashboard .btn-icon-dots{width:32px!important;height:32px!important}.access-q{display:block;font-size:13px;color:var(--ink-soft);margin:4px 0 6px}.repo-access-note{max-width:none!important;width:100%}.repo-access-note>span:has(.ui-icon){width:100%}@media (max-width:767px){.anonymize-page .repo-access-switch,.anonymize-page [role=group][aria-label*=onnection]{width:100%!important;display:flex!important}.anonymize-page .repo-access-switch button{flex:1 1 0}}.admin-empty,.paper-table-empty{border:1px solid var(--border-color)!important;border-radius:var(--radius-surface,12px)!important;background:var(--paper-card)!important;padding:40px 24px!important;text-align:center}.dark-mode .paper-table-head{background:#26221e!important}.dark-mode .paper-table-row{background:#1e1b18}.paper-table:has(.paper-table-empty),:has(>.paper-table-empty:only-child){border-top:0!important;border-bottom:0!important;box-shadow:none!important}.ace_editor .ace_text-layer .ace_redacted{color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:3px;font-weight:500}.dark-mode .ace_editor .ace_text-layer .ace_redacted{color:#a8ddd6!important;background:rgba(124,199,190,.16)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.35)}.ace_editor .ace_marker-layer .ace_redacted{display:none!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.82em!important;padding:0 .2em!important;background:color-mix(in srgb,var(--accent) 9%,transparent)!important;box-shadow:none!important;border:0!important;line-height:1.1!important;vertical-align:baseline!important;font-weight:500!important}.vb-snapshot{color:var(--color)!important;opacity:.78}.ace_search{box-shadow:inset 0 -1px 0 var(--border-color)!important}.btn-find.is-on,.btn-toggle.is-on{color:var(--accent)!important;background:var(--accent-soft)!important}.readme-toc a{text-indent:0;padding-left:13px!important}.readme-toc a.lvl-3{padding-left:25px!important}@media (max-width:767px){.anonymize-page .repo-access,.repo-access{flex-wrap:wrap;width:100%}.repo-access-switch{display:flex!important;width:100%!important}.repo-access-switch button{flex:1 1 0!important;white-space:nowrap!important;justify-content:center}}.q-card.selected{box-shadow:none!important;border-color:color-mix(in srgb,var(--accent) 60%,transparent)!important}.dark-mode .paper-table-head{background:#2e2a25!important}.dark-mode .paper-table-row{background:#1c1a17!important}.ov-chart-legend{font-family:var(--font-sans)!important;font-size:12px!important;color:var(--ink-soft)!important}.readme-toc a.lvl-2{font-weight:500!important;color:var(--color)!important}.readme-toc a.lvl-3{font-size:12.5px!important;color:var(--ink-soft)!important;font-weight:400!important}.readme-toc a.is-active{color:var(--accent)!important}.readme-toc a.lvl-2+a.lvl-2,.readme-toc a.lvl-3+a.lvl-2{margin-top:4px}.dark-mode .ace_editor .ace_text-layer .ace_redacted,.dark-mode .redact-chip{color:#9fe0d7!important;background:rgba(124,199,190,.2)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.38)!important}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true]{color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)!important}.dark-mode .file-card-head .btn.btn-toggle.is-on{color:#a8ddd6!important;background:rgba(124,199,190,.14)!important}@media (max-width:767px){.file-card-head .file-card-path .card-files-btn{align-self:start!important}}@media (max-width:767px){.paper-hero-shot{max-height:300px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}}.dark-mode .hero-mock-doc,.dark-mode .paper-frame{background:#24211d!important}.paper-stats-meta-right{color:#5e5950!important}.dark-mode .paper-stats-meta-right{color:#b5aea3!important}.errors-page .status-pill.status-neutral{background:var(--hover-bg-color)!important;color:var(--ink-soft)!important;border-color:var(--border-color)!important}.connections-grid .btn,.connections-grid .connection-link:not(.connection-danger){height:36px!important;min-height:36px!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex!important;align-items:center}.claim-page .form-control,.claim-page input{border:1px solid var(--border-color)!important}@media (max-width:767px){.overview-page .ov-kpi-sub{white-space:nowrap!important;font-size:12px!important;overflow:visible!important}.overview-page .ov-kpi-row>:last-child:nth-child(odd){grid-column:1/-1}.admin-summary .summary-pill{height:28px!important}.admin-summary .summary-total{flex-basis:100%}.admin-page .paper-table:not(.paper-table-dashboard) .paper-table-row{position:relative;padding-right:44px!important}.admin-page .paper-table:not(.paper-table-dashboard) .paper-table-row>:last-child{position:absolute!important;top:10px;right:4px}.admin-page .paper-table .anon-sub>span{white-space:nowrap}}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true]{background:0 0!important;box-shadow:none!important;color:var(--accent)!important}.file-card-head .btn.btn-toggle.is-on:hover{background:var(--hover-bg-color)!important}.dark-mode .file-card-head .btn.btn-toggle.is-on{background:0 0!important;color:#a8ddd6!important}.ace-chrome .ace_string{color:#3d5a73!important}.dark-mode .ace_editor .ace_string{color:#afc4d6!important}.ace-chrome .ace_gutter-cell{color:#6b655d!important}.readme-toc a.lvl-2{color:var(--ink-soft)!important;font-weight:500!important}.readme-toc a.lvl-3{color:var(--ink-soft)!important;opacity:.9}.readme-toc a.is-active{color:var(--accent)!important}.readme-toc-head{font-size:12.5px!important}.vb-snapshot{opacity:1!important;color:var(--ink-soft)!important}@media (max-width:767px){.viewer-bar .vb-signin{height:32px!important}}.paper-footer-meta{font-size:15px!important;color:var(--ink-soft)!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.07)!important}@media (min-width:992px){.anonymize-landing{justify-content:flex-start!important;align-items:flex-start!important}.anonymize-landing-inner{margin-left:max(4px,calc((100vw - 1048px)/ 2 - 20px))!important;margin-right:auto!important;max-width:640px!important}}.paper-settings-body>:not(aside){max-width:none!important}.paper-settings-body .paper-card,.paper-settings-body section{max-width:none!important}.dark-mode .paper-table-row{background:0 0!important}.dark-mode .paper-table-head{background:#26231f!important}@media (max-width:767px){.overview-page .ov-kpi-sub{white-space:normal!important;font-size:12px!important;padding-right:4px}.dashboard-count{position:static!important;width:auto!important;height:auto!important;margin:0 0 0 auto!important;overflow:visible!important;clip:auto!important;font-size:12.5px!important}}.errors-page input[type=search]{font-family:var(--font-sans)!important}.paper-settings-body .form-text,.paper-settings-body .paper-field-help,.paper-settings-body small{max-width:none!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip{font-size:.7em!important;vertical-align:.12em!important}.ace_search{border-bottom:1px solid var(--border-color)!important;box-shadow:none!important;border-top:0!important}.ace_search .ace_button,.ace_search .ace_searchbtn{height:32px!important}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true]{background:var(--accent-soft)!important;color:var(--accent)!important;box-shadow:none!important}.dark-mode .file-card-head .btn.btn-toggle.is-on{background:rgba(124,199,190,.14)!important}@media (max-width:767px){.file-card-head .card-files-btn{width:32px!important;height:32px!important}.file-card-head .file-card-path{column-gap:8px!important}}.dark-mode .leftCol{background:#1c1a17!important}.dark-mode .explorer-content,.dark-mode .file-card{background:#141311!important}.nav-support-inline{color:var(--color)!important;font-weight:500!important}@media (min-width:992px){.anonymize-landing{padding-top:24px!important}.anonymize-landing-inner{padding-top:0!important;margin-top:0!important}}.anonymize-page .access-q+.btn-outline-ink{height:30px!important;padding:0 10px!important;font-size:13px!important}.admin-summary .summary-pill:not(.active){color:var(--ink-soft)!important}.volume-legend>span{display:inline-flex;align-items:center;gap:5px;margin-left:12px}.dark-mode .leftCol{background:#221f1b!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{box-shadow:inset -1px 0 0 var(--border-color),inset -10px 0 10px -10px rgba(0,0,0,.18)!important}}.readme-toc a.is-active{font-weight:600!important}.paper-stats-meta-right{color:var(--ink-soft)!important;font-weight:500!important;letter-spacing:inherit}.paper-faq details a:not(.btn),.paper-faq-a a,.paper-section a{text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)!important;text-decoration-thickness:1px!important}.volume-axis{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft);margin-top:6px}.errors-page .seg.seg-info{background:color-mix(in srgb,var(--ink-muted) 55%,transparent)!important}.paper-crumbs a{color:var(--ink-soft)!important}.paper-crumbs .here{color:var(--color)!important}.paper-table .mobile-meta-icon,.paper-table [role=cell]>.ui-icon{opacity:.45}@media (min-width:768px){.paper-table-dashboard .cell-expires{padding-left:24px!important}}.dark-mode .paper-table-dashboard .paper-table-head,.dark-mode .paper-table-head{background:0 0!important;box-shadow:inset 0 -1px 0 var(--border-color)!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.copy-url{max-width:none!important;justify-self:stretch}.paper-table.paper-table-dashboard .paper-table-row{padding-right:16px!important}.dashboard-filters-toggle{border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important;height:44px;padding:0 12px!important}.overview-page .ov-kpi-card{padding-left:14px!important;padding-right:14px!important}.overview-page .ov-kpi-sub{white-space:nowrap!important;font-size:11.5px!important}.admin-filter-row kbd,.search-wrap .kbd,.search-wrap kbd{display:none!important}}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{background:0 0!important;padding:0!important;font-size:.78em!important;color:var(--accent)!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:color-mix(in srgb,var(--accent) 30%,transparent)}.dark-mode .markdown-body h1 .redact-chip,.dark-mode .markdown-body h2 .redact-chip{color:#9fe0d7!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:56px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 55%)!important}}.readme-toc a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width:768px){.paper-table-dashboard .cell-expires,.paper-table-dashboard .paper-table-head>:nth-child(4){text-align:left!important;justify-content:flex-start!important;padding-left:24px!important}}.anonymize-page #sourceUrl-landing,.anonymize-page .form-control-lg{border:1px solid var(--border-color)!important}.anonymize-page .form-control-lg:focus{border-color:var(--accent)!important}.repo-access-note>span:has(.ui-icon){background:var(--accent-soft)!important;box-shadow:inset 3px 0 0 var(--accent)!important;color:var(--color)!important;font-size:13.5px}.repo-access-note>span:has(.ui-icon) .ui-icon{color:var(--accent)!important}.dark-mode .repo-access-note>span:has(.ui-icon){background:rgba(124,199,190,.1)!important;box-shadow:inset 3px 0 0 #7cc7be!important}.dark-mode .repo-access-note>span:has(.ui-icon) .ui-icon{color:#7cc7be!important}.readme-toc a{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::before{content:"Scroll \2192";position:absolute;right:10px;bottom:14px;z-index:9;font:500 12px/1 var(--font-sans);color:var(--ink-soft);background:var(--paper-card);box-shadow:0 0 0 1px var(--border-color),0 2px 6px rgba(0,0,0,.06);border-radius:999px;padding:6px 10px;pointer-events:none}}.ace-chrome .ace_string{color:#2d5f86!important}.ace-chrome .ace_keyword,.ace-chrome .ace_storage{color:#9a2b6b!important}.dark-mode .ace_editor .ace_string{color:#9cc3e6!important}.dark-mode .ace_editor .ace_keyword,.dark-mode .ace_editor .ace_storage{color:#e3a6d2!important}.reading-layout .markdown-body h1{font-size:34px!important;letter-spacing:-.015em}.errors-page .btn-group>.btn,.errors-page .btn-icon,.errors-page .form-control,.errors-page select{height:36px!important;min-height:36px!important}.errors-page .col-when .when-rel{font-size:13.5px!important}.q-danger-group{display:inline-flex;gap:6px;margin-left:auto;padding-left:12px;border-left:1px solid var(--border-color)}.q-stats-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.repo-access-note>span:has(.ui-icon){background:color-mix(in srgb,#b7791f 8%,transparent)!important;box-shadow:inset 3px 0 0 #b7791f!important}.repo-access-note>span:has(.ui-icon) .ui-icon{color:#9a6416!important}.dark-mode .repo-access-note>span:has(.ui-icon){background:rgba(224,176,112,.1)!important;box-shadow:inset 3px 0 0 #e0b070!important}.dark-mode .repo-access-note>span:has(.ui-icon) .ui-icon{color:#e0b070!important}@media (max-width:767px){.admin-page .paper-table [role=cell]:has(>input[type=checkbox]),.admin-page .paper-table input[type=checkbox],.admin-page .paper-table-head [role=columnheader]:has(>input[type=checkbox]){display:none!important}.admin-page .admin-filters-toggle,.admin-page .dashboard-filters-toggle{width:auto!important}}.q-danger-group{border-left:0!important;padding-left:0!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::before{animation:scrollHintOut .4s ease 2.6s forwards}}@keyframes scrollHintOut{to{opacity:0;visibility:hidden}}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{text-decoration:none!important;background:color-mix(in srgb,var(--accent) 8%,transparent)!important;padding:0 .15em!important;border-radius:4px}.readme-toc a.lvl-3{padding-left:29px!important}.ace_search .ace_button{color:var(--color)!important;opacity:.8}.ace_search .ace_button.checked{opacity:1}.dark-mode .files .file>a,.dark-mode .files .folder>a{color:#d8d2c8!important}.ov-live{display:inline-flex;align-items:center;gap:6px}.ov-live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.anon-sub .meta-sep{display:inline-flex;align-items:center;white-space:nowrap}@media (max-width:767px){.anon-sub{column-gap:0!important}}.connection-status-legacy{color:var(--ink-soft)!important}.connection-status-legacy::before{background:var(--ink-muted)!important}.q-detail{align-items:start!important}.q-chart-wrap canvas{max-height:200px}.admin-page .paper-table .cell-anon .anon-text:has(.meta-sep){overflow:hidden}.admin-page .paper-table .anon-sub:has(.meta-sep){display:flex!important;flex-wrap:wrap!important;margin-left:-14px!important;gap:0!important}.admin-page .paper-table .anon-sub:has(.meta-sep)>*{white-space:nowrap}.admin-page .paper-table .anon-sub:has(.meta-sep)>::before{content:"\00b7";display:inline-block;width:14px;text-align:center;color:var(--ink-muted)}.ace-chrome .ace_gutter-cell,.dark-mode .ace_editor .ace_gutter-cell{font-size:12px!important}.q-stats-actions{display:grid!important;grid-template-columns:auto auto 1fr;gap:8px;align-items:center}.q-danger-group{grid-column:1/-1;justify-self:start;margin:4px 0 0!important;padding:10px 0 0!important;border-top:1px solid var(--border-color)!important;width:100%;display:flex!important;gap:8px}@media (max-width:767px){.overview-page .ov-header{flex-wrap:nowrap!important;align-items:center!important}.ov-live{font-size:12px}.ov-live .ov-live-text-extra{display:none}.overview-page .ov-daily-card,.overview-page .ov-kpi-card{padding-left:14px!important;padding-right:14px!important}}.admin-page input[type=checkbox]{width:14px!important;height:14px!important}.demo-input-wrap{position:relative}.demo-input-wrap .demo-backdrop{position:absolute;inset:0;margin:0;overflow:hidden;color:var(--color);pointer-events:none;overflow-wrap:break-word}.demo-input-wrap .demo-input{position:relative;color:transparent!important;caret-color:var(--color);background:0 0!important;overflow-wrap:break-word}.demo-input-wrap .demo-input::selection{color:var(--color);background:color-mix(in srgb,var(--accent) 25%,transparent)}.demo-match{background:0 0;color:inherit;padding:0;border-radius:2px;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 55%,transparent);background-color:color-mix(in srgb,var(--accent) 10%,transparent)}.demo-output .redact-chip{font-size:12.5px!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::before{display:none!important}.file-card.is-code.no-wrap .file-card-body::after{width:36px!important;background:linear-gradient(to right,rgba(0,0,0,0),rgba(60,45,30,.1))!important;box-shadow:inset -1px 0 0 rgba(60,45,30,.18)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.45))!important;box-shadow:inset -1px 0 0 rgba(255,255,255,.12)!important}}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:44px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 70%)!important;box-shadow:inset -8px 0 10px -6px rgba(40,30,20,.28),inset -1px 0 0 rgba(40,30,20,.16)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(0,0,0,0),var(--canvas-bg-color) 70%)!important;box-shadow:inset -8px 0 10px -6px rgba(0,0,0,.6),inset -1px 0 0 rgba(255,255,255,.1)!important}}.q-chart-wrap{position:relative}.q-chart-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--paper-card);border-bottom:1px solid var(--border-color);text-align:center}.q-chart-empty strong{font-size:14px;font-weight:500;color:var(--color)}.q-chart-empty span{font-size:12.5px;color:var(--ink-soft)}.q-danger-group .btn{margin-left:0!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{background:0 0!important;padding:0!important;border-radius:0!important}.paper-settings-body .form-control,.paper-settings-body input[type=date],.paper-settings-body input[type=text],.paper-settings-body input[type=url],.paper-settings-body textarea{border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important}.admin-page .paper-table .cell-views .ui-icon{display:none!important}.admin-page:has(.admin-users-row) .paper-table-head,.admin-page:has(.admin-users-row) .paper-table-row{column-gap:40px!important}@media (max-width:767px){.overview-page .ov-header{justify-content:space-between!important}.ov-live{margin-left:0!important}}.dark-mode .paper-table-dashboard .paper-table-row{background:0 0!important}.mono-hash{font-family:var(--font-mono)!important;font-size:11.5px}.nav-heart-m{display:none}@media (max-width:991px){.nav-heart-m{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;color:#c25b5e}.nav-heart-m .ui-icon{width:18px;height:18px;fill:currentColor}.nav-heart-m+.nav-signin-m{margin-left:4px!important}}.file-card:has(.ace_search:not([style*=none])) .btn-find{color:var(--accent)!important;background:var(--accent-soft)!important}.paper-link-arrow{color:var(--color)!important;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent)!important}.paper-faq details p,.paper-faq details>:not(summary),.paper-faq-a{max-width:none!important}.paper-stat-value{font-family:var(--font-display,var(--font-serif))!important;font-weight:400!important;letter-spacing:-.01em}@media (max-width:767px){.ov-live-extra{display:none}.paper-table-dashboard .cell-views.num::after{content:" views";color:var(--ink-soft)}.paper-table-dashboard .cell-expires>span:not(.expires-never):not(.expires-past)::before{content:"Expires ";color:var(--ink-soft)}.admin-page .admin-filters-toggle{width:auto!important;height:36px!important;padding:0 12px!important}}.dashboard-quota summary{border:0!important;box-shadow:none!important;background:0 0!important;padding-left:0!important}.q-card.selected{background:var(--accent-soft)!important}.dark-mode .q-card.selected{background:rgba(124,199,190,.08)!important}.dark-mode .ov-meter .fill.critical,.dark-mode .ov-meter-fill.critical{background:#f08a82!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-family:inherit!important;font-weight:inherit!important;font-size:.9em!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)!important;padding:0 .25em!important;border-radius:6px!important;color:var(--accent)!important;text-decoration:none!important}.dark-mode .markdown-body h1 .redact-chip,.dark-mode .markdown-body h2 .redact-chip,.dark-mode .markdown-body h3 .redact-chip{background:rgba(124,199,190,.16)!important;color:#9fe0d7!important}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true],.file-card:has(.ace_search:not([style*=none])) .btn-find{background:0 0!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent)!important}.dark-mode .file-card-head .btn.btn-toggle.is-on,.dark-mode .file-card:has(.ace_search:not([style*=none])) .btn-find{background:0 0!important;color:#a8ddd6!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.5)!important}@media (min-width:768px){.file-card-head{padding-left:46px!important}}.breadcrumb-root{display:none!important}.breadcrumb-root+.breadcrumb-item::before{display:none!important}.ace_editor .ace_marker-layer .ace_selection{background:rgba(232,170,40,.65)!important;box-shadow:0 0 0 1px rgba(160,100,10,.6)!important}.ace_search_counter{color:var(--color)!important;opacity:.75}.dark-mode .files .file.active>a{background:rgba(255,255,255,.12)!important}.dark-mode .leftCol{box-shadow:inset -1px 0 0 rgba(255,255,255,.08)!important}.hero-mock-doc-bar span,.paper-stat-delta,.paper-stat-sub,.paper-stats .sub{color:#5e5950!important}.dark-mode .paper-stat-delta,.dark-mode .paper-stat-sub{color:#b5aea3!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.72em!important;font-weight:600!important;vertical-align:.1em;padding:.05em .3em!important}.is-unsynced{color:var(--ink-muted)!important;font-size:12.5px;font-family:var(--font-sans)!important}.q-dot.q-dot-idle{background:var(--ink-muted)!important}.dark-mode .paper-table,.dark-mode .paper-table-dashboard{background:0 0!important}.dark-mode .paper-table .paper-table-head{background:#24211d!important}.dark-mode .paper-table .paper-table-row{background:#141311!important}@media (min-width:768px){.file-card.is-code .file-card-head{padding-left:16px!important}.readme-toc{margin-left:16px}.reading-layout{grid-template-columns:minmax(0,660px) 190px!important;gap:56px!important}}.dark-mode .leftCol{box-shadow:none!important;border-right:1px solid var(--border-color)!important}.dark-mode .leftCol-resizer,.dark-mode .sidebar-resizer{background:0 0!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{box-shadow:none!important}.files .file.active>a::before{left:4px!important;top:6px!important;bottom:6px!important;width:3px!important;border-radius:2px!important}.hero-mock-row.is-active{box-shadow:inset 3px 0 0 var(--accent)!important;border-radius:6px}.fm-label,.paper-eyebrow,.paper-stats-meta-left,.paper-stats-meta-right{color:#57524a!important}.dark-mode .paper-eyebrow,.dark-mode .paper-stats-meta-left,.dark-mode .paper-stats-meta-right{color:#bdb6ab!important}.demo-match{box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--accent) 50%,transparent)!important}.redact-glue{white-space:nowrap}@media (min-width:768px){.file-card-head,.file-card.is-code .file-card-head{padding-left:20px!important}}.dark-mode .files .file.active>a{background:rgba(255,255,255,.08)!important}.files .file.active>a{position:relative}.files .file.active>a::before{left:0!important;top:4px!important;bottom:4px!important;width:3px!important;border-radius:0 2px 2px 0!important}.admin-page .paper-table [role=cell]>svg.ui-icon[aria-hidden],.paper-table .cell-expires .mobile-meta-icon{display:none!important}@media (max-width:767px){.admin-page .paper-table .cell-views.num::after{content:" views";color:var(--ink-soft)}}.dark-mode .paper-table .paper-table-row{background:#1e1b18!important}.dark-mode .paper-table .paper-table-head{background:#26231f!important}.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=email],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea,.paper-page textarea.form-control{border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important}.paper-page input:focus,.paper-page select:focus,.paper-page textarea:focus{border-color:var(--accent)!important}.q-detail{align-items:stretch!important}.q-throughput{display:flex;flex-direction:column}.q-throughput .q-chart-wrap{flex:1;min-height:180px}.admin-page .search-wrap{flex:0 1 420px!important;max-width:420px!important}@media (max-width:767px){.overview-page .ov-header{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important}.overview-page .ov-header .ov-live{margin:0 0 0 auto!important;align-self:center}}.hero-mock-count{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)!important;font-weight:600;font-size:11.5px}.dark-mode .hero-mock-count{background:rgba(124,199,190,.16);color:#a8ddd6!important}.vb-support{color:var(--ink-soft)!important;font-weight:400!important}.vb-support:hover{color:var(--color)!important}@media (max-width:767px){.file-card.is-code .ace_gutter-cell{padding-left:4px!important;padding-right:6px!important}.file-card.is-code .ace_scroller{left:30px!important}.file-card.is-code .ace_gutter{width:30px!important}}.md-find-bar{position:sticky;top:52px;z-index:5;display:flex;align-items:center;gap:10px;padding:8px 20px;background:var(--paper-card);border-bottom:1px solid var(--border-color)}.md-find-input{width:260px;height:32px;padding:0 10px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);color:var(--color);font:14px var(--font-sans)}.md-find-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.md-find-count{font-size:12.5px;color:var(--ink-soft);min-width:64px;font-variant-numeric:tabular-nums}.md-find-nav{display:inline-flex}.md-find-close,.md-find-nav button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--paper-card);color:var(--color)}.md-find-nav button:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.md-find-nav button:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0;margin-left:-1px}.md-find-nav button:disabled{opacity:.45}.md-find-close{border:0;background:0 0;font-size:20px;border-radius:var(--radius-control)}.md-find-close:hover{background:var(--hover-bg-color)}mark.md-find{background:rgba(242,204,96,.45);color:inherit;border-radius:2px;padding:0}mark.md-find.is-current{background:rgba(232,170,40,.8);box-shadow:0 0 0 1px rgba(160,100,10,.6)}@media (min-width:1280px){.viewer-bar a.vb-icon[href="/faq"]{width:auto!important;padding:0 10px!important;gap:6px}.viewer-bar a.vb-icon[href="/faq"]::after{content:"FAQ";font:500 13px var(--font-sans);color:var(--ink-soft)}}.file-card-head .btn-md-find.is-on{background:0 0!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent)!important}.md-find-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}@media (min-width:768px){.md-find-bar{padding-left:63px!important}}.md-find-input{width:240px!important}.file-card:has(.md-find-bar) .readme-toc{top:120px!important}.claim-page input,.claim-page textarea{border-color:var(--border-color)!important}.connection-status{font-size:12.5px!important}@media (max-width:767px){.admin-page .admin-filters-toggle::before{content:"";width:14px;height:14px;margin-right:6px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center/contain no-repeat}.admin-page .admin-filters-toggle{display:inline-flex!important;align-items:center}}.paper-faq-title{text-wrap:balance}.file-card-head,.md-find-bar{background:var(--paper-card)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important}.dark-mode .file-card-head,.dark-mode .md-find-bar{background:#141311!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,640px) 190px!important;gap:56px!important;justify-content:center!important;padding:0 24px!important}}.reading-layout .file-content.markdown-body{padding-top:32px!important}@media (min-width:1200px){.md-find-bar{padding-left:calc((100% - 886px)/ 2)!important}}@media (min-width:1280px){.viewer-bar a.vb-bug{width:auto!important;padding:0 10px!important;gap:6px}.viewer-bar a.vb-bug::after{content:"Report a bug";font:500 13px var(--font-sans);color:var(--ink-soft)}}.vb-snapshot{font-size:13px!important;color:var(--ink-soft)!important}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn,.dashboard-page .dashboard-filter-controls .dropdown-toggle,.dashboard-page .dashboard-filter-row .form-control{height:36px!important;min-height:36px!important}.dashboard-filter-controls .btn-group[aria-label=Type]{padding:0!important;height:36px;align-items:center}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn{height:30px!important;min-height:30px!important;margin:3px 0}.errors-page .errors-toolbar{flex-wrap:nowrap!important}.errors-page .errors-toolbar input[type=search]{min-width:0;flex:1 1 260px}.paper-table .paper-table-head{background:color-mix(in srgb,var(--hover-bg-color) 60%,transparent)!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,700px) 190px!important;gap:48px!important}}.md-find-bar{padding-top:4px!important;padding-bottom:4px!important}.md-find-input{height:30px!important}.md-find-input:focus{box-shadow:0 0 0 1px var(--accent)!important}.ace_editor .ace_marker-layer .ace_selection,mark.md-find.is-current{background:rgba(240,190,80,.6)!important;box-shadow:0 0 0 1px rgba(170,110,20,.5)!important}.viewer-bar .vb-right{gap:12px!important}.viewer-bar .vb-right>*{margin:0!important}.auto-refresh-label{white-space:nowrap!important}.errors-page .errors-toolbar{flex-wrap:wrap!important}.errors-page .errors-row-head,.errors-page .errors-thead,.paper-table .paper-table-head,.q-table thead th{background:#f3f1ec!important}.dark-mode .errors-page .errors-thead,.dark-mode .paper-table .paper-table-head,.dark-mode .q-table thead th{background:#24211d!important}.summary-show-label{font-size:12.5px;color:var(--ink-soft);margin-right:2px;align-self:center}.anon-sub a.mono-hash,.mono-hash{text-decoration:none!important;border-bottom:0!important}.errors-page .errors-list-head{background:#f3f1ec!important}.dark-mode .errors-page .errors-list-head{background:#24211d!important}.errors-page .errors-toolbar .search-wrap,.errors-page .errors-toolbar input[type=search]{flex:1 1 220px!important;max-width:340px!important;min-width:0!important}.errors-page .errors-toolbar{flex-wrap:nowrap!important;gap:8px!important}.faq-section .panel-default .panel-title a{padding:16px 32px 16px 0!important;position:relative;display:block}.faq-section .panel-default .panel-body{padding-left:0!important}.faq-section .panel-default .panel-title a:after{left:auto!important;right:6px!important}.md-find-bar{padding-left:20px!important}.vb-logo{font-size:19px!important}@media (max-width:767px){.vb-logo{font-size:18px!important}.admin-summary .summary-show-label{flex-basis:100%}}.btn-ghost-danger{background:0 0!important;border:1px solid transparent!important;color:#b42318!important;display:inline-flex;align-items:center;gap:6px}.btn-ghost-danger:hover{background:color-mix(in srgb,#b42318 8%,transparent)!important}.dark-mode .btn-ghost-danger{color:#f08a82!important}mark.md-find{background:rgba(242,204,96,.32)!important;box-shadow:none!important}mark.md-find.is-current{background:rgba(232,160,30,.85)!important;box-shadow:0 0 0 1px rgba(150,90,10,.7)!important;color:#2b2824!important}.md-find-opt{height:30px;min-width:32px;padding:0 8px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);color:var(--ink-soft);font:600 12px var(--font-sans)}.md-find-opt.is-on{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.md-find-nav button{color:var(--ink-soft)!important}.md-find-close{font-size:18px!important;font-weight:300!important;color:var(--ink-soft)!important}@media (min-width:768px){.file-card .ace_search{left:0!important;right:0!important;padding-left:20px!important;margin:0!important;max-width:none!important}}@media (min-width:768px){.md-find-bar{padding-left:71px!important}}@media (min-width:768px){.md-find-bar{padding-left:71px!important}.file-card .ace_search{overflow:visible!important}}@media (min-width:1200px){.file-card:has(.md-find-bar) .readme-toc,.readme-toc{top:120px!important}}.dark-mode .dashboard-filter-controls .btn-group[aria-label=Type]>.btn.btn-primary{background:#3a3631!important;color:#f2eee8!important;box-shadow:0 0 0 1px rgba(255,255,255,.14)!important}.admin-page .paper-table .user-name,.admin-page .paper-table .username,.admin-page:has(.admin-users-row) .cell-anon .repo-name,.admin-users-row .repo-name{font-family:var(--font-sans)!important;font-weight:600}.paper-page input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px!important;height:16px!important;margin:0;border:1.5px solid #a39d92;border-radius:4px;background:var(--paper-card);display:inline-grid;place-content:center;cursor:pointer;vertical-align:middle}.paper-page input[type=checkbox]::before{content:"";width:9px;height:9px;transform:scale(0);background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat}.paper-page input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.paper-page input[type=checkbox]:checked::before{transform:scale(1)}.paper-page input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dark-mode .paper-page input[type=checkbox]{border-color:#6e6860;background:0 0}.admin-page .detail-value:is(:empty),.detail-value.is-empty{color:var(--ink-muted)!important;font-style:italic}.paper-table-dashboard .btn-icon-dots,.row-edit{width:32px!important;height:32px!important;border-radius:var(--radius-control)}.paper-table-dashboard .btn-icon-dots:hover,.row-edit:hover{background:var(--hover-bg-color)!important}.q-state-toggle input[type=checkbox]{position:absolute;opacity:0;width:1px!important;height:1px!important;pointer-events:none}.q-state-toggle{position:relative;cursor:pointer}.q-state-toggle input:not(:checked)+.q-state-chip{opacity:.45;text-decoration:line-through}.q-state-toggle input:focus-visible+.q-state-chip{outline:2px solid var(--accent);outline-offset:2px}@media (min-width:768px){.md-find-bar{padding-left:31px!important}}.ace_search .ace_search_field,.anonymize-page .form-control,.md-find-input,.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea{border-radius:8px!important}.page-head-row .btn-primary,.paper-page .btn-ink,.paper-page .btn-primary{min-height:40px!important}.errors-page .errors-list-head>*,.paper-table .paper-table-head [role=columnheader],.paper-table .paper-table-head>div{font-weight:500!important;font-size:12.5px!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink-soft)!important}.admin-page .admin-section-header h2{font:600 18px/1.3 var(--font-sans)!important;display:inline-flex;align-items:center;gap:8px}.admin-page .admin-section-header h2 .ui-icon{width:16px;height:16px;color:var(--ink-soft)}.files .file.active>a{background:#e2ded7!important}.files .file.active>a::before{left:3px!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.09)!important}.admin-page:has(.admin-users-row) .paper-table-head,.admin-page:has(.admin-users-row) .paper-table-row{grid-template-columns:28px minmax(220px,320px) 120px 140px 1fr 40px!important}@media (max-width:767px){.mobile-sub{margin-top:3px!important}}.paper-faq-lede,.paper-page-lede{text-wrap:pretty;max-width:640px}.errors-page .status-pill.status-neutral:not([title=""])[title]{background:0 0!important;border-color:transparent!important;color:var(--ink-muted)!important}.md-find-bar{min-height:47px!important;padding-top:7px!important;padding-bottom:7px!important}.ace_search .ace_search_field:focus,.md-find-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}mark.md-find{background:rgba(246,224,138,.7)!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(246,224,138,.7)!important}.files .file.active>a{background:#e6e3dc!important}@media (min-width:1200px){.readme-toc{margin-top:32px!important;padding-top:0!important}}.errors-page .kpi-card.kpi-info .kpi-value{color:var(--ink-soft)!important;font-weight:500!important;font-size:26px!important}.errors-page .kpi-card.kpi-info{background:color-mix(in srgb,var(--paper-card) 70%,transparent)!important}.ov-meter span{background:var(--accent)}.ov-meter.warn span{background:#b7791f!important}.ov-meter.crit span{background:#b42318!important}@media (max-width:767px){.admin-summary .summary-show-label{flex-basis:auto!important}}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"name edit more" "meta meta meta" "link link link"!important;column-gap:2px!important}.paper-table-dashboard .cell-actions>.row-edit{display:inline-flex!important;grid-area:edit;align-self:start;align-items:center;justify-content:center}.dashboard-page .paper-table-dashboard .dashboard-row-meta{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:0!important;padding-left:26px;font-size:12.5px;color:var(--ink-soft)}.dashboard-page .dashboard-row-meta .cell-status{flex:0 0 auto!important}.dashboard-page .dashboard-row-meta .cell-status .status-line{gap:6px}.dashboard-page .dashboard-row-meta .cell-expires,.dashboard-page .dashboard-row-meta .cell-views{display:inline-flex!important;align-items:center;font-family:var(--font-sans,Inter,sans-serif)!important;font-size:12.5px!important;color:var(--ink-soft)!important;white-space:nowrap;margin:0!important;padding:0!important;text-align:left!important;justify-content:flex-start!important}.dashboard-page .dashboard-row-meta .cell-expires::before,.dashboard-page .dashboard-row-meta .cell-views::before{content:"·";margin:0 8px;color:var(--ink-muted)}.dashboard-page .dashboard-row-meta .cell-views .ui-icon,.dashboard-page .dashboard-row-meta .cell-views svg{display:none!important}.dashboard-page .dashboard-row-meta .cell-expires .cell-label,.dashboard-page .dashboard-row-meta .cell-expires small{font-size:inherit!important;color:inherit!important;margin-right:4px}}.dashboard-page .dashboard-quota>summary{border:1px solid var(--border-color)!important;border-radius:999px!important;padding:0 12px 0 10px!important;height:36px;min-height:36px!important;display:inline-flex!important;align-items:center;gap:8px;background:var(--paper-card)!important}.dashboard-page .dashboard-quota>summary:hover{background:var(--hover-bg-color)!important}.dashboard-page .dashboard-quota .quota-summary-ring{display:inline-block!important;width:16px;height:16px}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,660px) 176px!important;gap:56px!important;justify-content:center!important}}@media (max-width:767px){.admin-summary .summary-show-label{flex-basis:100%!important;margin:4px 0 -2px!important}.admin-summary .summary-meta{flex:1 1 auto}}.q-throughput:has(.q-chart-empty) .q-chart-wrap{flex:0 0 auto!important;min-height:120px!important;height:120px}.q-throughput:has(.q-chart-empty) .q-chart-wrap canvas{visibility:hidden}.q-chart-empty{border-bottom:0!important;border-radius:8px}@media (min-width:768px){.md-find-bar{padding-left:20px!important}.file-card .ace_search{padding-left:20px!important}.file-card .ace_search .ace_search_form{margin-left:0!important}}@media (min-width:768px){.file-card .ace_search{left:0!important;padding-left:0!important}}@media (min-width:1200px){.md-find-bar{padding-left:max(20px,calc((100% - 892px)/ 2))!important}}.q-throughput:has(.q-chart-empty) .q-chart-wrap{flex:1 1 auto!important;height:auto!important;min-height:160px!important}.q-danger-group{align-items:center;flex-wrap:wrap}.q-danger-group::before{content:"Clear jobs";flex-basis:100%;font-size:12px;color:var(--ink-soft);margin-bottom:2px}.q-legend .q-legend-item,.q-legend button,.q-legend span{font-size:12px!important}.q-state-filters .q-state-toggle,.q-state-filters .q-state-toggle *{font-size:12px!important}.admin-nav a.active,.admin-nav a.router-link-active{background:0 0!important;color:var(--accent)!important;box-shadow:inset 0 -2px 0 var(--accent)!important;border-radius:0!important}.admin-nav a:not(.active):hover{background:0 0!important;color:var(--color)!important;box-shadow:inset 0 -2px 0 var(--border-color)!important}.dark-mode .q-card.selected,.q-card.selected{background:var(--paper-card)!important;border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.errors-page .kpi-card .kpi-value,.errors-page .kpi-card.kpi-info .kpi-value,.errors-page .kpi-card.kpi-warn .kpi-value{color:var(--color)!important;font-weight:600!important;font-size:28px!important}.errors-page .kpi-card.kpi-info{background:var(--paper-card)!important}.paper-table-dashboard .btn-icon-dots,.paper-table-dashboard .row-edit{color:var(--color)!important;opacity:.72}.paper-table-dashboard .btn-icon-dots:hover,.paper-table-dashboard .row-edit:hover{opacity:1}@media (max-width:767px){.paper-table-dashboard .cell-actions>.dropdown,.paper-table-dashboard .cell-actions>.row-edit{margin-top:-6px}}@media (min-width:1280px){.viewer-bar a.vb-bug,.viewer-bar a.vb-icon[href="/faq"]{width:32px!important;padding:0!important}.viewer-bar a.vb-bug::after,.viewer-bar a.vb-icon[href="/faq"]::after{content:none!important}}.markdown-body h2{margin-bottom:12px!important}.markdown-body h3{margin-top:32px!important;margin-bottom:8px!important}.markdown-body h4{margin-top:24px!important;margin-bottom:6px!important;color:var(--ink-soft)!important}@media (min-width:768px){.file-card .ace_search{padding-left:16px!important}}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:48px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 55%)!important;box-shadow:inset -1px 0 0 var(--border-color)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(20,19,17,0),#141311 55%)!important}}.connections-page .connection-actions{flex-wrap:nowrap!important;align-items:center;gap:12px!important}.connections-page .connection-actions .connection-link{white-space:nowrap}.paper-table-dashboard .paper-table-head .col-link{font-size:inherit;color:inherit}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:40px!important;background:linear-gradient(to right,rgba(40,32,24,0),rgba(40,32,24,.07)),linear-gradient(to right,rgba(255,255,255,0),#fff 70%)!important;border-right:2px solid rgba(40,32,24,.12)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.35)),linear-gradient(to right,rgba(20,19,17,0),#141311 70%)!important;border-right-color:rgba(255,255,255,.08)}}.connections-page .connection-actions .btn{white-space:nowrap}.connections-page .connection-refresh{width:36px;height:36px;justify-content:center;padding:0!important;border-radius:var(--radius-control,8px);margin-left:auto}.faq-section .faq-cat,.faq-section .panel-group{max-width:720px}.ace-chrome .ace_gutter-cell{color:#5f5a52!important}.connections-grid{align-items:start!important}.connection-installations{border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important}.anonymize-page .form-control,.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea,.paper-page textarea.form-control{border-color:#c2baac!important}.dark-mode .anonymize-page .form-control,.dark-mode .paper-page input.form-control,.dark-mode .paper-page input[type=date],.dark-mode .paper-page input[type=text],.dark-mode .paper-page input[type=url],.dark-mode .paper-page select.form-control,.dark-mode .paper-page textarea{border-color:#4a453e!important}.paper-page input::placeholder,.paper-page textarea::placeholder{color:#a39b8e!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.dropdown,.paper-table-dashboard .cell-actions>.dropdown>.btn-icon-dots,.paper-table-dashboard .cell-actions>.row-edit{width:36px!important;height:36px!important;margin-top:-4px!important;align-self:start!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}}.anonymize-page .repo-access-switch{border:0!important;background:0 0!important;padding:0!important;box-shadow:none!important;gap:0!important;display:inline-flex!important;align-items:center;width:auto!important;font-size:12.5px;color:var(--ink-soft)}.anonymize-page .repo-access-switch::before{content:"Access:";margin-right:6px;color:var(--ink-soft)}.anonymize-page .repo-access-switch button{background:0 0!important;border:0!important;box-shadow:none!important;padding:2px 4px!important;height:auto!important;min-height:0!important;font-size:12.5px!important;font-weight:500!important;color:var(--ink-soft)!important;flex:0 0 auto!important;border-radius:4px!important}.anonymize-page .repo-access-switch button+button::before{content:"·";margin-right:8px;color:var(--ink-muted)}.anonymize-page .repo-access-switch button[aria-pressed=true]{color:var(--color)!important;font-weight:600!important;opacity:1!important}.anonymize-page .repo-access-switch button:not([aria-pressed=true]):hover{color:var(--accent)!important;text-decoration:underline}.anonymize-page .repo-access-switch button .ui-icon{display:none!important}.ace_editor .ace_marker-layer .ace_selection,mark.md-find.is-current{background:rgba(240,206,90,.95)!important;box-shadow:0 0 0 1.5px #5c4a12!important;color:inherit!important}.dark-mode .ace_editor .ace_marker-layer .ace_selection,.dark-mode mark.md-find.is-current{background:rgba(214,178,60,.55)!important;box-shadow:0 0 0 1.5px #f2d77a!important}.ace_search .ace_search_field,.md-find-input,.paper-page input:not([type=checkbox]):not([type=radio]):not([type=range]),.paper-page select,.paper-page textarea{border-color:#cfc7b9!important}.dark-mode .md-find-input,.dark-mode .paper-page input:not([type=checkbox]):not([type=radio]):not([type=range]),.dark-mode .paper-page select,.dark-mode .paper-page textarea{border-color:#48433c!important}.ace_search .ace_search_field:focus,.md-find-input:focus,.paper-page input:focus,.paper-page select:focus,.paper-page textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.q-dot.q-dot-idle{background:#2f7d4f!important}.dark-mode .q-dot.q-dot-idle{background:#6fbf8a!important}@media (min-width:1200px){.readme-toc{margin-top:0!important;padding-top:0!important}}@media (min-width:1200px){.readme-toc{margin-top:-30px!important}}.anonymize-workspace .anonymize-topbar{background:var(--paper-bg,var(--background))!important;border-bottom:1px solid var(--border-color)!important}.anonymize-workspace .type-badge{font-family:var(--font-sans)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;font-weight:600!important;padding:2px 8px!important;border-radius:999px!important;background:var(--hover-bg-color)!important;color:var(--ink-soft)!important;border:0!important;vertical-align:middle}.anonymize-page input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px!important;height:16px!important;margin:2px 0 0;border:1.5px solid #a39d92;border-radius:4px;background:var(--paper-card);display:inline-grid;place-content:center;cursor:pointer;flex:0 0 16px}.anonymize-page input[type=checkbox]::before{content:"";width:9px;height:9px;transform:scale(0);background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat}.anonymize-page input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.anonymize-page input[type=checkbox]:checked::before{transform:scale(1)}.anonymize-page input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}.anonymize-page input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dark-mode .anonymize-page input[type=checkbox]{border-color:#6e6860;background:0 0}.anonymize-page #commit{font-family:var(--font-mono, "JetBrains Mono", monospace)!important;font-size:13px!important}.anonymize-page .form-control,.anonymize-page select,.anonymize-page textarea{border-color:#cfc7b9!important}.dark-mode .anonymize-page .form-control,.dark-mode .anonymize-page select,.dark-mode .anonymize-page textarea{border-color:#48433c!important}.anonymize-page .form-control:focus,.anonymize-page select:focus,.anonymize-page textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.anonymize-review-note{font-size:12.5px!important;color:var(--ink-soft)!important;margin:0 0 8px!important}.anonymize-page .form-check-input[type=checkbox]{position:absolute!important;margin-left:-28px!important;margin-top:3px!important}.anonymize-page .repo-access-controls:not(:has(button,a)),.anonymize-page .repo-access-main:not(:has(button,a)){display:none!important}.anonymize-page .repo-access-note:not(:has(span+span)){margin-top:0!important}.anonymize-form-col .anonymize-submit-bar{position:sticky;bottom:0;z-index:3;background:var(--paper-bg-alt)!important;border-top:1px solid var(--border-color);padding:12px 0 16px!important;margin-top:8px}.anonymize-form-col .anonymize-submit-bar::before{content:"";position:absolute;left:0;right:0;top:-25px;height:24px;background:linear-gradient(to bottom,transparent,var(--paper-bg-alt));pointer-events:none}.anonymize-form-col .anonymize-review-note,.anonymize-form-col .draft-status{font-size:12.5px!important;color:var(--ink-soft)!important;margin:0 0 6px!important;padding:0 2px}.anonymize-form-col .anonymize-review-note::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--status-progress,#b7791f);margin-right:8px;vertical-align:1px}.anonymize-page .repo-access-switch button[aria-pressed=true]{color:var(--accent)!important;box-shadow:inset 0 -2px 0 var(--accent)!important;border-radius:0!important}.anonymize-page .input-group-append .btn-icon{height:40px!important;width:40px!important;min-height:40px!important;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #cfc7b9!important;border-radius:8px!important;margin-left:8px!important;background:var(--paper-card)!important}.dark-mode .anonymize-page .input-group-append .btn-icon{border-color:#48433c!important}.custom-select,input.form-control,select.form-control,textarea.form-control{border-color:#cfc7b9!important}.dark-mode .custom-select,.dark-mode input.form-control,.dark-mode select.form-control,.dark-mode textarea.form-control{border-color:#48433c!important}input.form-control:focus,select.form-control:focus,textarea.form-control:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}@media (max-width:767px){.paper-table-dashboard .cell-views.num::after{content:"views"!important;margin-left:4px}}@media (min-width:768px){.paper-table-dashboard .cell-views.num::after{content:none!important}}@media (max-width:767px){.admin-page .paper-table:not(.users-table) .cell-views.num::after{margin-left:4px}}.markdown-body li .redact-chip,.markdown-body p .redact-chip{line-height:1!important;padding-top:1px!important;padding-bottom:1px!important;vertical-align:baseline}.dark-mode .explorer-sidebar,.dark-mode .leftCol{background:#1e1c19!important}.errors-page .seg-tabs,.q-range-btns{display:inline-flex!important;gap:2px!important;padding:3px!important;background:var(--hover-bg-color)!important;border:0!important;border-radius:9px!important}.errors-page .seg-tabs button,.q-range-btns .btn{border:0!important;background:0 0!important;color:var(--ink-soft)!important;border-radius:7px!important;height:28px!important;min-height:28px!important;padding:0 10px!important;font-size:13px!important;font-weight:500!important;box-shadow:none!important}.errors-page .seg-tabs button.active,.q-range-btns .btn.active{background:var(--paper-card)!important;color:var(--color)!important;box-shadow:0 1px 2px rgba(40,32,24,.12),0 0 0 1px rgba(40,32,24,.06)!important}.dark-mode .errors-page .seg-tabs button.active,.dark-mode .q-range-btns .btn.active{background:#2c2925!important;box-shadow:0 0 0 1px rgba(255,255,255,.06)!important}.ace_search .ace_search_field,.md-find-input{border-width:1px!important}.ace_search .ace_search_field:focus,.md-find-input:focus{outline:0!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.anonymize-form-col .anonymize-review-note{color:#8a5a12!important;font-weight:500}.dark-mode .anonymize-form-col .anonymize-review-note{color:#e3b062!important}@media (max-width:767px){.anonymize-form-col .anonymize-submit-bar{position:sticky!important;bottom:0!important;padding:12px 0 calc(12px + env(safe-area-inset-bottom))!important}}@media (max-width:767px){.anonymize-form-col{overflow:visible!important}.anonymize-page .form-group+.form-group,.anonymize-page .form-row>[class*=col]+[class*=col]{margin-top:0!important}.anonymize-page .input-group-append .btn-icon{height:44px!important;width:44px!important}}#sourceUrl,#sourceUrl-landing{border-color:#cfc7b9!important}.dark-mode #sourceUrl,.dark-mode #sourceUrl-landing{border-color:#48433c!important}#sourceUrl-landing:focus,#sourceUrl:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.anonymize-form-col .anonymize-review-note{color:#6e470c!important}.dark-mode .anonymize-preview-col .markdown-body h1,.dark-mode .anonymize-preview-col .markdown-body h2,.dark-mode .anonymize-preview-col .markdown-body hr{border-color:var(--border-color)!important}.dark-mode .q-dot.q-dot-idle,.q-dot.q-dot-idle{background:var(--ink-muted)!important}.ace_search .ace_search_counter,.md-find-count{color:var(--color)!important;font-weight:500!important;font-variant-numeric:tabular-nums;font-size:12.5px!important}.readme-toc a:not(.is-active){color:#57524a!important}.dark-mode .readme-toc a:not(.is-active){color:#b8b1a6!important}.viewer-bar .vb-support{margin-right:8px!important}:root{--redact-bar:#1F1C19;--redact-ink:#5A544C;--redact-reveal:#F4EFE6}.dark-mode{--redact-bar:#000000;--redact-ink:#3E3A35;--redact-reveal:#F4EFE6}.demo-output .redact-chip,.hero .redact,.hero-mock .redact,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip,.markdown-body h4 mark.redact-chip,.markdown-body mark.redact-chip,span.redact{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:none!important;border:0!important;border-radius:2px!important;padding:0 .28em!important;text-decoration:none!important;font-weight:inherit;letter-spacing:.02em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:color .12s ease;cursor:help}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.demo-output .redact-chip:hover,.markdown-body mark.redact-chip:hover,span.redact:hover{color:var(--redact-reveal)!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip{font-size:inherit!important;vertical-align:baseline!important;padding:0 .2em!important}.ace_text-layer .ace_redacted{background:var(--redact-bar)!important;color:var(--redact-ink)!important;border-radius:2px;box-shadow:none!important;text-decoration:none!important}.dark-mode .ace_text-layer .ace_redacted{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.meta-redact{background:0 0!important;color:var(--ink-soft)!important;box-shadow:none!important;padding:0!important;display:inline-flex!important;align-items:center;gap:6px;font-weight:500!important}.meta-redact::before{content:"";width:14px;height:8px;border-radius:1.5px;background:var(--redact-bar);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted{background:var(--redact-bar)!important;color:var(--redact-ink)!important;border-radius:2px!important}.ace_editor .ace_text-layer .ace_redacted{box-shadow:none!important}.dark-mode .ace_editor .ace_text-layer .ace_redacted{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.dark-mode .demo-output .redact-chip:hover,.dark-mode .markdown-body mark.redact-chip:hover{color:var(--redact-reveal)!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{color:#3e3933!important}.dark-mode .meta-redact{color:var(--ink-soft)!important}.dark-mode .hero-mock-count,.hero-mock-count{background:0 0!important;color:var(--ink-soft)!important;padding:0!important;gap:6px;font-weight:500!important}.hero-mock-count::before{content:"";width:12px;height:7px;border-radius:1.5px;background:var(--redact-bar);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}@media (max-width:767px){.dark-mode .mobile-sub b,.mobile-sub b{background:0 0!important;color:var(--ink-soft)!important;padding:0!important;gap:5px;font-weight:500!important}.mobile-sub b::before{content:"";width:12px;height:7px;border-radius:1.5px;background:var(--redact-bar);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}}:root{--redact-bar:#E4DED3;--redact-ink:#8A8378;--redact-reveal:#2B2824}.dark-mode{--redact-bar:#34302A;--redact-ink:#8F887D;--redact-reveal:#F1ECE3}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted,.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact,.demo-output .redact-chip,.markdown-body mark.redact-chip,span.redact{box-shadow:none!important;border-radius:3px!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{color:var(--redact-ink)!important}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip{box-shadow:none!important}.hero-mock-count::before,.meta-redact::before,.mobile-sub b::before{box-shadow:none!important}:root{--redact-bar:#EEEAE2;--redact-ink:#8C8478;--redact-reveal:#2B2824;--redact-deboss:inset 0 1px 2px rgba(60,48,32,.18),inset 0 0 0 1px rgba(60,48,32,.06)}.dark-mode{--redact-bar:#0E0D0B;--redact-ink:#7A746A;--redact-reveal:#F1ECE3;--redact-deboss:inset 0 1px 2px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.05)}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact,.demo-output .redact-chip,.markdown-body mark.redact-chip,span.redact{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:var(--redact-deboss)!important;border-radius:4px!important;padding:.05em .45em!important;font-family:var(--font-mono, "JetBrains Mono", monospace)!important;font-size:.78em!important;font-weight:500!important;letter-spacing:.02em!important;line-height:1.4!important;vertical-align:.08em!important;white-space:nowrap}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip{font-size:.55em!important;vertical-align:.3em!important;color:var(--redact-ink)!important;padding:.15em .5em!important}.demo-output .redact-chip:hover,.markdown-body mark.redact-chip:hover,span.redact:hover{color:var(--redact-reveal)!important}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:var(--redact-deboss)!important;border-radius:3px!important}.hero-mock-count::before,.meta-redact::before,.mobile-sub b::before{background:var(--redact-bar)!important;box-shadow:var(--redact-deboss)!important;border-radius:2px!important}:root{--slot-bg:#E3DCD0;--slot-bg-sel:#D3CBBD;--slot-num:#1F5F5A}.dark-mode{--slot-bg:#3A352F;--slot-bg-sel:#4A443C;--slot-num:#7CC7BE}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact,.demo-output .redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip,.markdown-body h4 mark.redact-chip,.markdown-body mark.redact-chip,.redact-slot,span.redact{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;min-width:2.5em!important;height:1.12em!important;padding:0 .32em!important;margin:0 .06em!important;background:var(--slot-bg)!important;color:var(--slot-num)!important;box-shadow:none!important;border:0!important;border-radius:3px!important;vertical-align:-.2em!important;line-height:1!important;font-size:inherit!important;letter-spacing:0!important;text-decoration:none!important;cursor:help;white-space:nowrap}.markdown-body mark.redact-chip i,.redact-slot i,span.redact i{font:700 .66em/1 var(--font-sans,Inter,sans-serif)!important;font-style:normal!important;color:var(--slot-num)!important}.demo-output .redact-chip{font:700 .66em/1 var(--font-sans,Inter,sans-serif)!important;min-width:3.8em!important;height:1.7em!important;vertical-align:-.35em!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{height:.95em!important;vertical-align:-.1em!important;border-radius:4px!important}.files .redact-slot{min-width:2.3em!important;height:1.08em!important;vertical-align:-.18em!important}.files .file.active>a .redact-slot,.files a[aria-current] .redact-slot{background:var(--slot-bg-sel)!important}.breadcrumb .redact-slot{vertical-align:-.22em!important}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted{position:relative;color:transparent!important;background:var(--slot-bg)!important;box-shadow:none!important;border-radius:3px!important}.ace_editor .ace_text-layer .ace_redacted::after{position:absolute;right:.35em;top:50%;transform:translateY(-50%);font:700 9.5px/1 var(--font-sans,Inter,sans-serif);color:var(--slot-num)}.hero-mock-count::before,.meta-redact::before,.mobile-sub b::before{background:var(--slot-bg)!important;box-shadow:none!important;border-radius:2px!important}.files .tree-name{display:inline-flex;align-items:center;gap:0;min-width:0}.files .tree-name .redact-slot{vertical-align:middle!important;margin:0 .08em!important}.markdown-body li mark.redact-chip,.markdown-body p mark.redact-chip{vertical-align:-.16em!important}.ace_editor .ace_marker-layer .ace_selection,mark.md-find.is-current{background:rgba(240,196,70,.95)!important;box-shadow:0 0 0 2px rgba(196,140,20,.55)!important}.dark-mode .ace_editor .ace_marker-layer .ace_selection,.dark-mode mark.md-find.is-current{background:rgba(214,170,50,.6)!important;box-shadow:0 0 0 2px rgba(240,200,90,.55)!important}.demo-output .redact-chip,span.redact i{font-size:10px!important}.dark-mode{--slot-num:#8FD6CC}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{min-width:1.9em!important;height:.78em!important;vertical-align:0!important;padding:0 .22em!important}.viewer-bar .vb-right{gap:4px!important}.viewer-bar .vb-right .vb-icon{width:34px!important;height:34px!important;margin:0!important}.viewer-bar .vb-support{margin-right:10px!important}.viewer-bar .vb-snapshot{margin-right:14px!important}@media (max-width:767px){.mobile-sub{font-size:13px!important;color:#5f5a52!important}.dark-mode .mobile-sub{color:#b3aca1!important}}.file-card-meta{overflow:visible!important}:root{--control-border:#CFC7B9}.dark-mode{--control-border:#48433C}.admin-page .btn:not(.btn-ink):not(.btn-primary):not(.btn-outline-danger):not(.summary-pill),.admin-page select,.anonymize-page #branch,.anonymize-page #sourceUrl,.anonymize-page #sourceUrl-landing,.anonymize-page .form-control-lg,.anonymize-page select.form-control,.dashboard-page .dashboard-quota>summary,.dashboard-page .dropdown-toggle,.dashboard-page .filter-btn,.errors-page select,.q-range-btns+.btn{border-color:var(--control-border)!important}.anonymize-page #sourceUrl-landing:focus,.anonymize-page #sourceUrl:focus{border-color:var(--accent)!important}.errors-page .seg-tabs{height:36px!important;align-items:center}.errors-page .seg-tabs button{height:30px!important}.admin-page .admin-toolbar .btn,.admin-page .btn-export,.admin-page a.btn[href*=export],.admin-page button[title*=xport]{height:36px!important;min-height:36px!important}@media (max-width:767px){.paper-table .cell-views{gap:0!important}}@media (min-width:1200px){.anonymize-workspace .anonymize-split,.anonymize-workspace .anonymize-topbar-inner{max-width:1048px;margin-left:auto!important;margin-right:auto!important}.anonymize-workspace .anonymize-topbar{padding-left:0!important;padding-right:0!important}.anonymize-workspace .anonymize-form-col{padding-left:0!important}}@media (max-width:767px){.anonymize-form-col .anonymize-submit-bar{margin:8px 0 0!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important}.anonymize-form-col .anonymize-submit-bar .btn{border-radius:10px!important}}.img-unavailable{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px dashed var(--control-border);border-radius:8px;font-size:12.5px;color:var(--ink-soft);background:var(--hover-bg-color)}.anonymize-form-col .draft-status{color:var(--ink-soft)!important}.errors-page .errors-toolbar .form-control,.errors-page .errors-toolbar select,.errors-page form select{border-color:var(--control-border)!important}@media (min-width:1200px){.anonymize-workspace .anonymize-form-col,.anonymize-workspace .anonymize-form-col .paper-section,.anonymize-workspace .anonymize-form-col form{padding-left:0!important}.anonymize-workspace .anonymize-form-col{background:0 0!important;padding-right:24px!important}.anonymize-workspace .anonymize-form-col .anonymize-submit-bar,.anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:var(--paper-bg,var(--background))!important}.anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:linear-gradient(to bottom,transparent,var(--paper-bg,#faf9f6))!important}}@media (max-width:767px){.anonymize-page .form-row>.form-group,.anonymize-page .form-row>[class*=col] .form-group{margin-bottom:14px!important}.anonymize-page .form-row>[class*=col]{margin-bottom:0!important;padding-bottom:0!important}}@media (min-width:1200px){.anonymize-workspace .anonymize-form-col .anonymize-submit-bar{background:#faf9f6!important}.anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:linear-gradient(to bottom,rgba(250,249,246,0),#faf9f6)!important}.dark-mode .anonymize-workspace .anonymize-form-col .anonymize-submit-bar{background:#161412!important}.dark-mode .anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:linear-gradient(to bottom,rgba(22,20,18,0),#161412)!important}}:root{--slot-num:#0F4F4A}.dark-mode{--slot-num:#A8E6DD;--slot-bg:#3F3A33}.markdown-body li mark.redact-chip,.markdown-body p mark.redact-chip,.markdown-body td mark.redact-chip,span.redact{display:inline-block!important;height:1.08em!important;line-height:1.08em!important;vertical-align:-.17em!important;min-width:2.5em!important;text-align:right!important;padding:0 .34em!important}.breadcrumb .redact-slot i,.files .redact-slot i,.markdown-body li mark.redact-chip i,.markdown-body p mark.redact-chip i,.markdown-body td mark.redact-chip i,span.redact i{font-size:max(10.5px,.72em)!important;line-height:inherit!important;vertical-align:top!important;font-weight:700!important}.markdown-body h1 mark.redact-chip i,.markdown-body h2 mark.redact-chip i,.markdown-body h3 mark.redact-chip i{font-size:.62em!important}.ace_editor .ace_text-layer .ace_redacted::after{font-size:10.5px!important}.demo-output .redact-chip{font-size:11px!important}.errors-page .bar-info,.errors-page .vol-info,.errors-page [class*=seg-info]{opacity:.45}.connections-grid{align-items:stretch!important}.connections-grid>section{display:flex;flex-direction:column}.connections-grid>section .connection-installations{margin-top:auto!important;border-top:1px solid var(--border-color);border-bottom:0!important}.navbar .nav-link.active,.site-nav .nav-link.active,header .nav-link.active{color:var(--color)!important;box-shadow:inset 0 -2px 0 var(--accent)!important;border-bottom-color:transparent!important}@media (max-width:767px){.anonymize-topbar .paper-crumbs{display:block!important;margin-bottom:4px;font-size:13px}}.anonymize-form-col .draft-discard{background:0 0;border:0;padding:0 0 0 6px;font-size:12.5px;font-weight:500;color:var(--color)!important;text-decoration:underline;text-underline-offset:3px}.anonymize-form-col .draft-discard:hover{color:#b42318!important}@media (max-width:767px){.mobile-sub b{display:inline-flex!important;align-items:center;gap:5px;font-weight:400!important;color:inherit!important}.mobile-sub b::before{content:""!important;display:inline-block!important;width:12px;height:7px;border-radius:2px;background:var(--slot-bg)!important}.mobile-sub span:has(+b)::after{content:"·";margin:0 6px;opacity:.7}}.demo-output .redact-chip,span.redact{display:inline-block!important;height:1.15em!important;line-height:1.15em!important;vertical-align:-.2em!important;text-align:right!important}.demo-output .redact-chip{font-size:11px!important;min-width:3.4em!important}.ace-chrome .ace_gutter-cell{color:#5a554d!important}.dark-mode .ace_editor .ace_gutter-cell{color:#a39c91!important}.files .file.active>a{background:#e2ded6!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,700px) 176px!important;gap:44px!important}}@media (hover:none){.anonymize-page .repo-access-switch button:not([aria-pressed=true]):hover{color:var(--ink-soft)!important;text-decoration:none!important}}.connections-grid>section .connection-installations{margin-top:16px!important}.dashboard-page .dashboard-quota .quota-summary-ring{display:none!important}.dashboard-page .dashboard-quota>summary::before{content:"";width:28px;height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--quota-pct,5%),var(--border-color) 0);flex:0 0 28px}.paper-table-dashboard .row-open{margin-right:2px}@media (max-width:767px){.paper-table-dashboard .cell-actions>.row-open{display:none!important}}.dashboard-page .dashboard-quota>summary::before{width:32px;height:5px;flex-basis:32px;background:linear-gradient(to right,var(--accent) 0 max(3px,var(--quota-pct,5%)),#d9d3c8 0)!important}.dark-mode .dashboard-page .dashboard-quota>summary::before{background:linear-gradient(to right,#7cc7be 0 max(3px,var(--quota-pct,5%)),#3a352f 0)!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,680px) 176px!important;gap:44px!important}.md-find-bar{padding-left:max(20px,calc((100% - 900px)/ 2))!important}}.breadcrumb .redact-slot i,.files .redact-slot i,.markdown-body li mark.redact-chip i,.markdown-body p mark.redact-chip i,.markdown-body td mark.redact-chip i,span.redact i{font-size:max(11px,.8em)!important;letter-spacing:.01em}.files .file.active>a{background:#ebe7e0!important}.files .file.active>a .redact-slot{background:#d6cec0!important}.demo-output .redact-chip{font-size:12px!important;height:1.3em!important;line-height:1.3em!important;min-width:3em!important;vertical-align:-.28em!important;padding:0 .4em!important}.paper-table-dashboard .cell-actions{gap:4px!important}.paper-table-dashboard .cell-actions>.copy-url{margin-right:6px!important}.paper-table-dashboard .btn-icon-dots,.paper-table-dashboard .row-edit{width:32px!important;height:32px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:8px}.paper-table-dashboard .btn-icon-dots:hover,.paper-table-dashboard .row-edit:hover{background:var(--hover-bg-color)!important}.anonymize-page #commit{text-overflow:ellipsis}@media (max-width:767px){.anonymize-page .form-grid-2{row-gap:0!important;gap:0!important}.anonymize-page .form-grid-2>.form-group{margin-bottom:16px!important}}.connections-grid>section .connection-installations{border-top:0!important;padding-top:0!important}.vb-help{position:relative;display:inline-flex}.vb-help-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:8px;background:0 0;color:var(--ink-soft);font:500 13px var(--font-sans,Inter,sans-serif);cursor:pointer}.vb-help-btn:hover,.vb-help-btn[aria-expanded=true]{background:var(--hover-bg-color);color:var(--color)}.vb-help-menu{position:absolute;top:calc(100% + 8px)!important;right:0;left:auto;min-width:250px;z-index:50}.vb-help-menu a{display:flex;gap:10px;align-items:flex-start}.vb-help-menu small{display:block;font-size:12px;color:var(--ink-soft);font-weight:400;margin-top:1px}@media (max-width:767px){.viewer-bar .vb-help{display:none!important}}.paper-table-dashboard .paper-table-head .col-link{padding-left:0!important;margin-left:-16px}@media (min-width:768px){.anonymize-workspace .anonymize-topbar{padding-top:12px!important;padding-bottom:12px!important}.anonymize-workspace .anonymize-topbar .paper-crumbs{margin-bottom:2px!important}.anonymize-workspace .anonymize-topbar .paper-page-title,.anonymize-workspace .anonymize-topbar h1{font-size:26px!important;margin:0!important}}#sourceUrl-landing::placeholder,#terms::placeholder,.form-control::placeholder,input::placeholder,textarea::placeholder{color:#a39b8e!important;opacity:1!important}.dark-mode .form-control::placeholder,.dark-mode input::placeholder,.dark-mode textarea::placeholder{color:#6f695f!important}.q-dot-active,.q-state-filters .q-legend-active,.q-state-filters [class*=active]>.q-dot,.q-state-toggle .q-dot-active{background:var(--accent)!important}@media (max-width:767px){.mobile-sub b{font-size:inherit!important;gap:6px!important;margin-left:0!important;padding-left:0!important}.mobile-sub span:has(+b)::after{margin:0 6px 0 6px!important}.mobile-sub b::before{width:14px!important;height:8px!important;background:#d6cec0!important}.file-card-head{min-height:56px!important}}.markdown-body h1 mark.redact-chip i,.markdown-body h2 mark.redact-chip i{font-weight:600!important;font-size:.58em!important}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{min-width:1.6em!important;padding:0 .18em!important}.readme-toc a.lvl-3{font-size:12.5px!important;color:#6e685f!important}.dark-mode .readme-toc a.lvl-3{color:#9c958a!important}.file-card-head .file-card-tools,.file-card-head .view-tools{margin-right:10px!important;padding-right:10px!important;border-right:1px solid var(--border-color)!important}.files .file.active>a{background:#e5e0d8!important}.files .file.active>a .redact-slot{background:#cec5b5!important}.markdown-body li mark.redact-chip,.markdown-body p mark.redact-chip,.markdown-body td mark.redact-chip{vertical-align:-.1em!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:24px!important;transition:opacity .15s}.file-card.at-right-edge .file-card-body::after{opacity:0!important}}.hero-mock .is-active,.hero-mock [class*=active]{position:relative}.hero-mock .is-active::before{left:0!important}.anonymize-form-col form{padding-bottom:36px!important}.connections-grid>section p{font-size:13.5px!important;line-height:1.55!important}.connections-grid>section>.btn,.connections-grid>section>a.btn{width:auto!important;align-self:flex-start}@media (max-width:767px){.paper-table-dashboard .cell-actions>.dropdown,.paper-table-dashboard .cell-actions>.dropdown>.btn-icon-dots,.paper-table-dashboard .cell-actions>.row-edit{width:40px!important;height:40px!important}.dashboard-page .dashboard-row-meta .cell-expires,.dashboard-page .dashboard-row-meta .cell-status,.dashboard-page .dashboard-row-meta .cell-views{padding:0!important;margin:0!important}.dashboard-page .dashboard-row-meta .cell-expires::before,.dashboard-page .dashboard-row-meta .cell-views::before{margin:0 7px!important;width:auto!important}.dashboard-page .dashboard-row-meta .status-line{padding:0!important;margin:0!important}.dashboard-page .dashboard-row-meta .cell-expires .cell-label{margin-right:4px!important}}.connection-installations,.connection-installations li{border:0!important;padding-bottom:0!important;margin-bottom:0!important}.connection-installations li{padding-top:0!important}.connections-page .connection-refresh{margin-left:0!important}.anonymize-form-col .anonymize-submit-bar::before{display:none!important}.anonymize-form-col .anonymize-submit-bar{border-top:1px solid var(--border-color)!important;box-shadow:0 -6px 12px -10px rgba(40,32,24,.18)}.anonymize-form-col form{padding-bottom:24px!important}.img-unavailable{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;min-height:72px;border:1px solid var(--border-color)!important;border-style:solid!important;background:var(--hover-bg-color);font:500 12.5px var(--font-sans,Inter,sans-serif)!important;color:var(--ink-soft)}.img-unavailable::before{content:"";width:16px;height:13px;border:1.5px solid currentColor;border-radius:2px;opacity:.7;background:linear-gradient(135deg,transparent 55%,currentColor 55% 62%,transparent 62%)}.admin-summary .summary-pill:not(.active) .count{text-decoration:none!important;opacity:1!important;color:var(--ink-soft)!important}.admin-summary .summary-pill:not(.active)::before{background:#8a8680!important}.dashboard-page .dashboard-quota>summary::before{width:44px!important;flex-basis:44px!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,664px) 176px!important;gap:40px!important}.md-find-bar{padding-left:max(20px,calc((100% - 880px)/ 2))!important}}.file-card-head .tb-file{margin-left:8px!important;position:relative}.file-card-head .tb-file::before{content:"";position:absolute;left:-9px;top:6px;bottom:6px;width:1px;background:var(--border-color)}.tree-search-input::placeholder{color:#8a8378!important}.tree-search-kbd{color:#6e685f!important;border:1px solid var(--border-color)!important;background:var(--paper-card)!important}@media (max-width:767px){.mobile-sub{gap:0!important;column-gap:0!important}.mobile-sub span:has(+b)::after,.mobile-sub>span+span::before{margin:0 6px!important}.mobile-sub b::before{margin:0!important}.file-card-head{min-height:52px!important;padding-top:6px!important;padding-bottom:6px!important}}.errors-page .dot-info,.errors-page .seg-info{background:#cfc9bf!important;opacity:1!important}.dark-mode .errors-page .dot-info,.dark-mode .errors-page .seg-info{background:#4a453e!important}.errors-page .dot-error,.errors-page .seg-error{background:#b42318!important}.errors-page .dot-warn,.errors-page .seg-warn{background:#b7791f!important}.dark-mode .leftCol,.dark-mode .viewer-bar{background:#221f1b!important}.paper-table-dashboard .copy-url{box-shadow:inset 0 0 0 1px var(--control-border,#cfc7b9)!important;background:var(--paper-card)!important}.paper-table-dashboard .copy-url .ui-icon,.paper-table-dashboard .copy-url svg{width:15px!important;height:15px!important;color:var(--color)!important;opacity:.75}.paper-table-dashboard .copy-url:hover{background:var(--hover-bg-color)!important}@media (min-width:1200px){.anonymize-workspace .anonymize-preview-col{padding-right:0!important}}.anonymize-submit-bar .draft-status{display:block;margin:0 0 8px!important;font-size:12.5px!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.row-open{display:inline-flex!important;grid-area:auto}.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto auto auto!important;grid-template-areas:"name open edit more" "meta meta meta meta" "link link link link"!important}.paper-table-dashboard .cell-actions>.row-open{grid-area:open;width:40px!important;height:40px!important;align-self:start;margin-top:-4px}}.overview-page :is(.ov-kpi,.ov-card,.kpi-card):has(.ov-meter.crit){border-color:rgba(180,35,24,.45)!important;box-shadow:inset 3px 0 0 #b42318!important}.overview-page :is(.ov-kpi,.ov-card,.kpi-card):has(.ov-meter.warn):not(:has(.ov-meter.crit)){border-color:rgba(183,121,31,.45)!important;box-shadow:inset 3px 0 0 #b7791f!important}.dark-mode{--slot-bg:#46403A}.faq-section .panel-default .panel-title a:after{transform:rotate(45deg)!important}.faq-section .panel-default .panel-title a[aria-expanded=true]:after{transform:rotate(-135deg)!important}.overview-page .ov-kpi-card:has(.ov-meter.crit){border-color:rgba(180,35,24,.45)!important;box-shadow:inset 3px 0 0 #b42318!important}.overview-page .ov-kpi-card:has(.ov-meter.warn):not(:has(.ov-meter.crit)){border-color:rgba(183,121,31,.45)!important;box-shadow:inset 3px 0 0 #b7791f!important}@media (max-width:767px){.paper-table-dashboard .cell-anon,.paper-table-dashboard .cell-anon a,.paper-table-dashboard .cell-anon strong,.paper-table-dashboard .cell-anon>*{min-width:0}.paper-table-dashboard .cell-anon .anon-name,.paper-table-dashboard .cell-anon .anon-title,.paper-table-dashboard .cell-anon .anon-title>a{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important;display:block}}.admin-page .summary-pill.ok::before,.users-page .summary-pill.ok::before{background:var(--status-ready,#2f7d4f)!important}.admin-page .summary-pill.error::before{background:var(--status-error,#b42318)!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.row-open{display:none!important}.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"name edit more" "meta meta meta" "link link link"!important}.paper-table-dashboard .cell-anon .anon-title,.paper-table-dashboard .cell-anon .anon-title>a{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}}.ace-chrome .ace_keyword,.ace-chrome .ace_storage,.ace-chrome .ace_storage.ace_type{color:#7a3e6b!important}.dark-mode .ace_editor .ace_keyword,.dark-mode .ace_editor .ace_storage{color:#d3a3c6!important}.dark-mode{--slot-bg:#4A443D;--slot-num:#9FE0D6}.faq-hero h1,.faq-page h1,.paper-page-title{text-wrap:balance}@media (min-width:1200px){.readme-toc{margin-top:-18px!important}}@media (min-width:768px){.leftCol-search{height:52px!important;min-height:52px!important;box-sizing:border-box;display:flex!important;align-items:center;padding-top:0!important;padding-bottom:0!important;border-bottom:1px solid var(--border-color)!important;margin-bottom:6px!important}}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:32px!important;background:linear-gradient(to right,rgba(255,255,255,0),#fff 75%)!important;border-right:2px solid rgba(40,32,24,.14)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(20,19,17,0),#141311 75%)!important;border-right-color:rgba(255,255,255,.1)}}.anonymize-form-col form{padding-bottom:0!important}.anonymize-form-col .anonymize-submit-bar{margin-bottom:0!important}.errors-page .kpi-filter{cursor:pointer;transition:border-color .12s,box-shadow .12s}.errors-page .kpi-filter:hover{border-color:var(--control-border,#cfc7b9)!important}.errors-page .kpi-filter.is-selected{border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.errors-page .kpi-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px} \ No newline at end of file + */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'Font Awesome 5 Brands';font-weight:400}@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'Font Awesome 5 Free';font-weight:400}@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;font-display:block;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'Font Awesome 5 Free';font-weight:900}.nb-notebook{line-height:1.5}.nb-stderr,.nb-stdout{white-space:pre-wrap;margin:1em 0;padding:.1em .5em}.nb-stderr{background-color:#faa}.nb-cell+.nb-cell{margin-top:.5em}.nb-output table{border:1px solid #000;border-collapse:collapse}.nb-output th{font-weight:700}.nb-output td,.nb-output th{border:1px solid #000;padding:.25em;text-align:left;vertical-align:middle;border-collapse:collapse}.nb-notebook blockquote{border-left:5px solid #ccc;margin-left:0;padding-left:1em}.nb-cell{position:relative}.nb-raw-cell{white-space:pre-wrap;background-color:#f5f2f0;font-family:Consolas,Monaco,'Andale Mono',monospace;padding:1em;margin:.5em 0}.nb-output{min-height:1em;width:100%;overflow-x:scroll;border-right:1px dotted #ccc}.nb-output img{max-width:100%}.nb-input:before,.nb-output:before{position:absolute;font-family:monospace;color:#999;left:-7.5em;width:7em;text-align:right}.nb-input:before{content:"In [" attr(data-prompt-number) "]:"}.nb-output:before{content:"Out [" attr(data-prompt-number) "]:"}// Fix pandas dataframe formatting div[style="max-height:1000px;max-width:1500px;overflow:auto;"]{max-height:none!important}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,math,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.10"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.mermaid{text-align:center;margin:1em 0;overflow:auto}.mermaid svg{max-width:100%;height:auto}.dark-mode .mermaid{filter:invert(1) hue-rotate(180deg)}.dark-mode .mermaid svg{background:0 0}.dark-mode .mermaid .edgeLabel,.dark-mode .mermaid .nodeLabel{filter:invert(1) hue-rotate(180deg)}.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .node rect{stroke-width:2px}.mermaid .flowchart-link{stroke-width:2px}.mermaid .actor{fill:#f9f9f9;stroke:#333;stroke-width:2px}.mermaid .messageLine0,.mermaid .messageLine1{stroke:#333;stroke-width:1.5px}.mermaid .section0,.mermaid .section1,.mermaid .section2,.mermaid .section3{opacity:.8}.mermaid .pieChart .slice{opacity:.9}.markdown-body .mermaid{background:0 0;border:none;padding:10px}.mermaid .error{color:#d32f2f;font-family:monospace;font-size:12px;padding:10px;border:1px solid #d32f2f;border-radius:4px;background-color:#ffebee}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format('woff')}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.5;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{color:#fafbfc;background-color:#b31d28}.markdown-body .pl-c2{color:#fafbfc;background-color:#d73a49}.markdown-body .pl-c2::before{content:"^M"}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#22863a}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#005cc5}.markdown-body .pl-mi{font-style:italic;color:#24292e}.markdown-body .pl-mb{font-weight:700;color:#24292e}.markdown-body .pl-md{color:#b31d28;background-color:#ffeef0}.markdown-body .pl-mi1{color:#22863a;background-color:#f0fff4}.markdown-body .pl-mc{color:#e36209;background-color:#ffebda}.markdown-body .pl-mi2{color:#f6f8fa;background-color:#005cc5}.markdown-body .pl-mdr{font-weight:700;color:#6f42c1}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{text-decoration:underline;color:#032f62}.markdown-body .octicon{display:inline-block;vertical-align:text-top;fill:currentColor}.markdown-body a{background-color:transparent;-webkit-text-decoration-skip:objects}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit}.markdown-body strong{font-weight:bolder}.markdown-body h1{font-size:2em;margin:.67em 0}.markdown-body img{border-style:none}.markdown-body svg:not(:root){overflow:hidden}.markdown-body hr{box-sizing:content-box;height:0;overflow:visible}.markdown-body input{font:inherit;margin:0}.markdown-body input{overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{height:0;margin:15px 0;overflow:hidden;background:0 0;border:0;border-bottom:1px solid #dfe2e5}.markdown-body hr::before{display:table;content:""}.markdown-body hr::after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:0;margin-bottom:0}.markdown-body h1{font-size:32px;font-weight:600}.markdown-body h2{font-size:24px;font-weight:600}.markdown-body h3{font-size:20px;font-weight:600}.markdown-body h4{font-size:16px;font-weight:600}.markdown-body h5{font-size:14px;font-weight:600}.markdown-body h6{font-size:12px;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{padding-left:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px}.markdown-body .octicon{vertical-align:text-bottom}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body::before{display:table;content:""}.markdown-body::after{display:table;clear:both;content:""}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:0}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #c6cbd1;border-bottom-color:#959da5;border-radius:3px;box-shadow:inset 0 -1px 0 #959da5}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{padding-bottom:.3em;font-size:2em;border-bottom:1px solid #eaecef}.markdown-body h2{padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#6a737d}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code{padding:0;padding-top:.2em;padding-bottom:.2em;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.dark-mode{--canvas-bg-color:#161412;--sidebar-bg-color:#1C1A17;--main-bg-color:#161412;--header-bg-color:#161412;--hover-bg-color:rgba(255, 255, 255, 0.05);--header-color:#FAF9F6;--color:#D6D1C5;--link-color:#7CC7BE;--link-hover-color:#A8DDD6;--border-color:#423D37;--border-soft:#2A2825;--btn-color:#FAF9F6;--input-color:#E6E1D8;--input-bg:#25231F;--primary-bg:#FAF9F6;--primary-hover-bg:#FFFFFF;--primary-color:#1A1815;--primary-active-color:#1A1815;--accent:#7CC7BE;--accent-soft:rgba(124, 199, 190, 0.12);--ink-muted:#A39D92;--ink-faint:#8A857C;--ink-soft:#B5AFA2;--status-ready:#5FB27A;--status-progress:#E0A94A;--status-error:#F08A82;--status-inactive:#8A857C;--status-error-soft:rgba(240, 138, 130, 0.08);--status-error-soft-hover:rgba(240, 138, 130, 0.14);--admin-nav-bg:#1A1918;--admin-nav-active:rgba(124, 199, 190, 0.12);--admin-stat-bg:#25231F;--paper-card:#2C2925;--paper-bg-alt:#211E1B;--highlight:#3A341E;background-color:var(--canvas-bg-color);color:var(--color)}body{--canvas-bg-color:#FAF9F6;--sidebar-bg-color:#FFFFFF;--header-bg-color:#FAF9F6;--header-color:#1A1815;--main-bg-color:#FAF9F6;--hover-bg-color:rgba(26, 24, 21, 0.05);--input-color:#1A1815;--color:#1A1815;--link-color:#1F6A64;--link-hover-color:#17544F;--border-color:#E6E1D8;--border-soft:#EDE9E1;--btn-color:#1A1815;--input-bg:#FFFFFF;--primary-bg:#1A1815;--primary-hover-bg:#000000;--primary-color:#FAF9F6;--primary-active-color:#FAF9F6;--accent:#1F6A64;--accent-soft:#E4F0EE;--ink-muted:#6F6A61;--ink-faint:#8A857C;--ink-soft:#4A4641;--paper-bg-alt:#F3F1EC;--paper-card:#FFFFFF;--highlight:#FFF3C4;--status-ready:#2F7A44;--status-progress:#946512;--status-error:#B42318;--status-inactive:#8A857C;--status-error-soft:rgba(180, 35, 24, 0.04);--status-error-soft-hover:rgba(180, 35, 24, 0.08);--radius-control:6px;--radius-button:8px;--button-height:36px;--button-font-size:14px;--button-line-height:20px;--button-padding-x:13px;--button-compact-height:32px;--radius-surface:10px;--font-serif:'Instrument Serif','Iowan Old Style',Georgia,serif;--font-sans:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;background-color:var(--canvas-bg-color);color:var(--color);font-family:var(--font-sans);font-size:14px;letter-spacing:-.005em;line-height:1.5}.fadeIn{opacity:1;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:.6s}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}.btn:active,.btn:focus{box-shadow:none}:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:focus-visible,.dropdown-item:focus-visible,.form-control:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}input:active,input:hover{box-shadow:none!important}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,select:-webkit-autofill:focus,select:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{border-color:var(--border-color);-webkit-text-fill-color:var(--color);-webkit-box-shadow:none;transition:background-color 1000s ease-in-out 0s}.custom-select,.form-control,input:-internal-autofill-selected{color:var(--input-color);background-color:var(--input-bg)!important;border-color:var(--border-color)}.form-control:focus{border-color:var(--border-color)}body,html{position:relative;height:100%;overflow-x:hidden}body{overflow-y:hidden}#app{flex:1 1 auto;min-height:0}.app-header{flex:0 0 auto}@media (min-width:992px){.app-header.is-contained .navbar{padding-left:max(40px,calc((100% - 1140px)/ 2 + 32px))!important;padding-right:max(40px,calc((100% - 1140px)/ 2 + 32px))!important}}.app-view{display:block;flex:1 1 auto;min-height:0;overflow-x:hidden!important;overflow-y:auto!important;max-width:100%}.markdown-body a,a{color:var(--link-color)}.markdown-body a:hover,a:hover{text-decoration:none;color:var(--link-hover-color)}.dropdown-menu a.dropdown-item{color:var(--color)}.dropdown-menu a.dropdown-item:hover{color:var(--color);text-decoration:none}.markdown-body .emoji{height:1.3em;margin:0;vertical-align:-.1em}.navbar.navbar-expand-lg{background:var(--header-bg-color)!important;border-bottom:1px solid var(--border-color);transition:background-color .5s ease;padding:10px max(20px,calc((100vw - 1200px)/ 2));font-family:var(--font-sans)}.navbar-toggler{border:1px solid var(--border-color)!important;color:var(--color)!important;width:44px;height:40px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control)!important}.navbar-toggler .navbar-toggler-icon{width:22px;height:22px}.navbar-toggler .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='%231A1815' stroke-width='2' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E")!important}.navbar .navbar-nav{align-items:center}.navbar .nav-link{display:inline-flex;align-items:center;font-size:13px;color:var(--ink-muted)!important;padding:6px 0!important;margin:0 12px;border-bottom:1px solid transparent;letter-spacing:-.005em;line-height:1}.navbar .nav-link:hover{color:var(--color)!important}.navbar .nav-link.active{color:var(--color)!important;border-bottom-color:var(--color)}.navbar .nav-link.nav-icon{padding:0!important;margin:0 8px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.navbar .nav-link .fa,.navbar .nav-link .fab{font-size:15px;line-height:1}.navbar #navbarSupportedContent{align-items:center}.navbar-brand{font-family:var(--font-serif)!important;font-size:20px!important;letter-spacing:-.01em;color:var(--color)!important;padding-right:18px;margin-right:12px;border-right:1px solid var(--border-color)}.navbar-brand em,.navbar-brand i{font-style:italic;font-weight:400}.navbar-dark .navbar-toggler{border-color:var(--border-color);color:var(--color)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='%231A1815' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar .btn-signin{display:inline-flex;align-items:center;height:32px;padding:0 14px!important;margin-left:6px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--color)!important;border-radius:var(--radius-control);font-size:13px;font-weight:500;line-height:1}.dark-mode .navbar .btn-signin{border-color:#5a554d;background:0 0}.navbar .btn-signin:hover{background:var(--hover-bg-color);border-color:var(--ink-faint);color:var(--color)!important}.navbar .nav-support{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;order:3;gap:6px;min-height:32px;margin-left:4px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink-muted);font-size:13px;font-weight:500;text-decoration:none}.navbar .nav-support:hover{background:var(--hover-bg-color);color:var(--color)}.navbar button.nav-link{background:0 0;border:0;cursor:pointer}.navbar .nav-link:focus-visible,.navbar .nav-support:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-control)}.navbar .nav-signin-m{display:none}@media (min-width:992px){.navbar>.nav-support{display:none!important}}.navbar .nav-support-inline{display:inline-flex!important;align-items:center;gap:6px}.navbar .nav-support-inline .ui-icon{width:15px;height:15px}@media (max-width:991px){.navbar .nav-signin-m{display:inline-flex;align-items:center;order:0;height:40px;padding:0 14px;margin-left:0;margin-right:8px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);color:var(--color);font-size:13px;font-weight:500;text-decoration:none}.navbar .nav-support{order:0;width:44px;min-height:44px;margin:0 8px 0 auto;padding:0}.navbar .nav-support-label{display:none}[class*=floatingchat-container-wrap],iframe.floatingchat-container{display:none!important}}.navbar .user-chip{display:inline-flex!important;align-items:center;gap:8px;padding:4px 12px 4px 6px!important;margin-left:6px;border:1px solid var(--border-color);border-radius:999px;background:var(--sidebar-bg-color);font-size:12.5px;color:var(--color)!important}.navbar .user-chip:hover{background:var(--hover-bg-color)}.navbar .user-chip img{width:22px;height:22px}.navbar .user-chip .user-chip-name{color:var(--color);font-weight:500}.navbar .user-chip::after{color:var(--ink-muted)}#navbarSupportedContent{padding-right:0}.generalMessage{display:block;text-align:center;color:var(--header-color)}.rgba-gradient{background:var(--canvas-bg-color);color:var(--color)}.paper-landing{overflow-x:clip}.paper-wrap{width:min(1076px,calc(100% - 64px));margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}.paper-eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.paper-hero{max-width:1140px;margin:0 auto;padding:40px 32px 0;display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.paper-hero h1.hero-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.025em;margin:14px 0 0;color:var(--color);text-wrap:balance}.paper-hero h1 .accent{color:var(--accent);font-style:italic}.hero-subtitle{margin-top:18px;font-size:17px;line-height:1.55;color:var(--ink-soft);max-width:30em;text-wrap:pretty}.paper-cta-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:26px}.btn-hero{display:inline-flex;align-items:center;font-family:var(--font-sans);border:1px solid var(--color);background:var(--color);color:var(--canvas-bg-color);padding:12px 20px;font-size:14px;font-weight:500;border-radius:var(--radius-control);letter-spacing:-.005em;transition:background .15s,border-color .15s,transform .1s}.btn-hero:hover{background:var(--primary-hover-bg);border-color:var(--primary-hover-bg);color:var(--canvas-bg-color);text-decoration:none;transform:translateY(-1px)}.btn-hero-ghost{background:0 0;border:1px solid var(--border-color);color:var(--color);padding:12px 20px;font-size:14px;font-weight:500;border-radius:var(--radius-control)}.btn-hero-ghost:hover{background:var(--hover-bg-color);border-color:var(--color);color:var(--color)}.paper-link-arrow{font-size:14px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--border-color)}.paper-link-arrow:hover{color:var(--color);text-decoration-color:var(--color)}.paper-reassure{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-muted)}.paper-reassure li{white-space:nowrap}@media (min-width:1100px){.paper-reassure{flex-wrap:nowrap}}.paper-reassure li::before{content:"\2713";color:var(--status-ready);margin-right:7px;font-size:14px;font-weight:600}.paper-frame{border-radius:var(--radius-surface);background:var(--paper-card);border:1px solid var(--border-color);box-shadow:0 24px 60px rgba(26,24,21,.1),0 2px 6px rgba(26,24,21,.04);overflow:hidden}.dark-mode .paper-frame{box-shadow:0 24px 60px rgba(0,0,0,.45)}.paper-frame-bar{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-bottom:1px solid var(--border-soft);background:var(--paper-bg-alt);font-family:var(--font-mono);font-size:11px;color:var(--ink-muted)}.paper-frame-bar .dots{display:flex;gap:5px}.paper-frame-bar .dots i{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--ink-faint) 45%,transparent)}.paper-frame-bar .url{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-frame img{display:block;width:100%;height:auto}.paper-hero-shot .paper-frame{width:100%}.hero-mock{display:grid;grid-template-columns:168px 1fr;min-height:360px;font-family:var(--font-sans);text-align:left}.hero-mock-tree{background:var(--paper-bg-alt);border-right:1px solid var(--border-soft);padding:12px 8px}.hero-mock-tree-title{font-size:11px;font-weight:600;color:var(--ink-muted);padding:0 8px 8px}.hero-mock-row{display:flex;align-items:center;gap:7px;height:26px;padding:0 8px;border-radius:var(--radius-control);font-size:12.5px;color:var(--ink-soft);white-space:nowrap}.hero-mock-row svg{width:14px;height:14px;flex-shrink:0;fill:none;stroke:var(--ink-muted);stroke-width:1.2;stroke-linejoin:round}.hero-mock-row.is-active{background:rgba(128,128,128,.15);color:var(--color);font-weight:500}.hero-mock-doc{min-width:0;background:var(--paper-card)}.hero-mock-doc-bar{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 18px;border-bottom:1px solid var(--border-soft);font-size:13px}.hero-mock-doc-bar span{font-size:12px;color:var(--ink-muted)}.hero-mock-doc-body{padding:18px 22px 22px;font-size:13.5px;line-height:1.6;color:var(--color)}.hero-mock-doc-body p{margin:0 0 10px}.hero-mock-h1{font-size:22px;font-weight:600;letter-spacing:-.01em;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--border-soft)}.hero-mock-h2{font-size:15px;font-weight:600;margin:16px 0 8px}.hero-mock-doc-body pre{margin:0 0 12px;padding:10px 12px;background:var(--paper-bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--color)}.hero-mock .redact{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:1px 5px;font-family:var(--font-mono);font-size:.88em}@media (max-width:575px){.hero-mock{grid-template-columns:1fr;min-height:0}.hero-mock-tree{display:none}}.paper-proof{margin-top:48px;padding-top:18px;padding-bottom:18px;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:12px 30px;align-items:center}.paper-proof-venues{display:flex;gap:22px;align-items:center;font-family:var(--font-serif);font-size:22px;letter-spacing:-.01em;color:var(--ink-soft)}.paper-proof-venues i{font-style:normal;font-family:var(--font-sans);font-size:14px;color:var(--ink-faint)}.paper-stats{margin-top:40px;padding-top:16px;border-top:1px solid var(--border-color)}.paper-stats-meta-left{display:inline-flex;align-items:center;gap:8px}.paper-stats-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}.paper-stats-meta-right{display:inline-flex;align-items:center;gap:6px}.paper-stats-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--status-ready)}.paper-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.paper-stat-card{display:flex;flex-direction:column;padding:22px 26px 20px 0;margin-right:26px;border-right:1px solid var(--border-color);min-width:0}.paper-stat-card:last-child{border-right:0;margin-right:0;padding-right:0}.paper-stat-value{font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--color);font-variant-numeric:tabular-nums}.paper-stat-label{margin-top:6px;font-size:13px;color:var(--ink-soft)}.paper-stat-value.is-pending{color:var(--ink-faint)}.paper-stat-bars{display:block;width:100%;height:34px;margin-top:18px;overflow:visible}.paper-stat-bars rect{fill:color-mix(in srgb,var(--ink-muted) 55%,transparent)}.paper-stat-bars rect.is-latest{fill:var(--accent)}.paper-stat-delta{margin-top:10px;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.paper-section-head{margin-top:88px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}.paper-section-head>p{padding-top:34px}@media (max-width:991px){.paper-section-head>p{padding-top:0}}.paper-qa h2,.paper-section-head h2{font-family:var(--font-serif);font-weight:400;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.05;letter-spacing:-.02em;margin:10px 0 0;color:var(--color);text-wrap:balance}.paper-feature-title em,.paper-qa h2 em,.paper-section-head h2 em{font-style:italic;color:var(--accent)}.paper-section-head p{font-size:15px;color:var(--ink-soft);max-width:32em;margin:0;line-height:1.6}.paper-preview{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.paper-preview .pane{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);overflow:hidden;min-width:0}.paper-preview .pane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.paper-preview .pane-label{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);white-space:nowrap}.paper-preview .pane-url{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.paper-preview .pane-body{padding:16px 18px;font-family:var(--font-mono);font-size:12.5px;line-height:1.9;color:var(--ink-soft)}.paper-preview .pane-body strong{color:var(--color);font-weight:600}.paper-preview .tok{color:var(--ink-faint)}.paper-preview .term{background:color-mix(in srgb,var(--status-error) 9%,transparent);color:inherit;border-radius:4px;padding:0 4px;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--status-error) 60%,transparent)}.dark-mode .paper-preview .term{background:color-mix(in srgb,var(--status-error) 16%,transparent)}.paper-preview .redact{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 5px}.paper-features{margin-top:28px;padding-top:28px;border-top:1px solid var(--border-color);display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}.paper-features-list{display:flex;flex-direction:column}.paper-feature{border-left:2px solid var(--border-soft);padding:16px 0 16px 20px;transition:border-color .2s}.paper-feature.is-on{border-left-color:var(--accent)}.paper-feature-tab{all:unset;display:block;position:relative;width:100%;cursor:pointer;color:inherit;border-radius:4px}.paper-feature:not(.is-on) .paper-feature-tab::after{content:"";position:absolute;right:4px;bottom:12px;width:8px;height:8px;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:rotate(45deg)}.paper-feature:not(.is-on) .paper-feature-tab:hover::after{border-color:var(--color)}.paper-feature.is-on .paper-feature-tab::after{content:"";position:absolute;right:4px;bottom:10px;width:8px;height:8px;border-right:1.5px solid var(--color);border-bottom:1.5px solid var(--color);transform:rotate(-135deg)}.paper-feature-tab:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.paper-feature-tab .paper-eyebrow{display:block;margin-bottom:6px}.paper-feature-title{display:block;font-family:var(--font-serif);font-size:24px;line-height:1.15;letter-spacing:-.015em;color:var(--color);transition:color .2s}.paper-feature-title em{color:inherit}.paper-feature-tab:hover .paper-feature-title,.paper-feature.is-on .paper-feature-title{color:var(--color)}.paper-feature.is-on .paper-feature-title em{color:var(--accent)}.paper-feature-more{display:none}.paper-feature.is-on .paper-feature-more{display:block}.paper-feature-more .paper-feature-title-m{display:none}.paper-feature-more p{font-size:14.5px;color:var(--ink-soft);line-height:1.55;margin:10px 0 12px;max-width:30em}.paper-features-stage{min-width:0}.paper-feature-panel{animation:paper-feature-in .25s ease-out}@keyframes paper-feature-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.paper-feature-panel{animation:none}}.paper-crop{position:relative;height:380px;overflow:hidden;background:var(--paper-card)}.paper-crop img{position:absolute;left:0;top:0;max-width:none;height:auto;display:block}.paper-crop-anonymize img{width:213%;transform:translate(-1.5%,-18%)}.paper-crop-review img{width:213%;transform:translate(0,-6.5%)}.paper-crop-manage img{width:213%;transform:translate(-12.3%,-6.5%)}.paper-qa{margin-top:88px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}.paper-qa h2{margin-bottom:12px}.paper-qa .q{border-top:1px solid var(--border-color);padding:18px 0}.paper-qa .q:last-child{border-bottom:1px solid var(--border-color)}.paper-qa .q a::after{content:none;display:inline-block;width:7px;height:7px;margin-left:10px;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:translateY(-2px) rotate(-45deg);transition:transform .15s,border-color .15s}.paper-qa .q a:hover::after{border-color:var(--accent);transform:translate(3px,-2px) rotate(-45deg)}.paper-qa .q a:hover{text-decoration:underline;text-underline-offset:3px}.paper-qa .q a{display:block;font-weight:500;font-size:15px;color:var(--color);margin-bottom:6px}.paper-qa .q a:hover{color:var(--accent);text-decoration:none}.paper-qa .q p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.6}@media (max-width:1100px){.paper-hero-shot .paper-frame{width:100%}}@media (max-width:991px){.paper-hero{grid-template-columns:1fr;gap:36px;padding-top:40px}.paper-qa,.paper-section-head{grid-template-columns:1fr;gap:16px}.paper-stats-grid{grid-template-columns:1fr 1fr}.paper-stat-card:nth-child(2n){border-right:0;margin-right:0;padding-right:0}.paper-stat-card:nth-child(-n+2){border-bottom:1px solid var(--border-color)}}@media (max-width:767px){.paper-wrap{width:calc(100% - 40px)}.paper-hero{padding-left:20px;padding-right:20px}.paper-reassure{flex-direction:column;gap:6px}.paper-hero h1.hero-title{font-size:clamp(2.4rem,11vw,3.25rem)}.hero-subtitle{font-size:16px}.paper-cta-row .btn-hero{width:100%;justify-content:center}.paper-proof{margin-top:48px}.paper-stat-card{padding:18px 16px 16px 0;margin-right:16px}.paper-stat-value{font-size:36px}.paper-qa,.paper-section-head{margin-top:72px}.paper-preview{grid-template-columns:1fr}.paper-preview .pane-body{font-size:11.5px;line-height:1.8}.paper-features{display:flex;flex-wrap:wrap;gap:0;padding-top:0;border-top:0;margin-top:24px}.paper-feature,.paper-features-list,.paper-features-stage{display:contents}.paper-feature-tab{order:1;flex:1 1 0;width:auto;padding:12px 0 10px;border-bottom:2px solid var(--border-color);border-radius:0;text-align:left}.paper-feature.is-on .paper-feature-tab{border-bottom-color:var(--color)}.paper-feature-tab .paper-eyebrow{margin:0;font-size:10.5px;letter-spacing:.08em}.paper-feature-tab .paper-feature-title{display:none}.paper-feature-panel{order:2;width:100%;margin-top:20px;animation:none}.paper-crop{height:240px}.paper-crop-anonymize img{width:230%;transform:translate(-1.5%,-8%)}.paper-crop-review img{width:240%;transform:translate(-1%,-8%)}.paper-crop-manage img{width:220%;transform:translate(-3%,-9%)}.paper-feature-more{order:3;width:100%}.paper-feature.is-on .paper-feature-more{margin-top:18px}.paper-feature-more .paper-feature-title-m{display:block;font-size:26px;line-height:1.1}.paper-feature-more p{max-width:none}.paper-footer-inner>.paper-footer-brand{grid-column:1/-1}.paper-footer-foot{flex-direction:column;gap:6px}}.dropdown-menu{background-color:var(--paper-card,var(--main-bg-color))!important;color:var(--color)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;box-shadow:0 12px 28px rgba(26,24,21,.08),0 2px 6px rgba(26,24,21,.05)!important;padding:6px!important;font-family:var(--font-sans);font-size:13px;min-width:11rem}.dropdown-menu .dropdown-item{color:var(--color)!important;padding:7px 10px!important;border-radius:5px;font-size:13px}.dropdown-menu .dropdown-item:focus,.dropdown-menu .dropdown-item:hover{background:var(--hover-bg-color)!important;color:var(--color)!important}.dropdown-menu .dropdown-divider{border-top-color:var(--border-color)!important;margin:4px 2px}.dropdown-menu .dropdown-header{color:var(--ink-muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.body,.file-content,.markdown-body{background-color:var(--main-bg-color)!important;color:var(--color)!important}.markdown-body table tr{background-color:var(--main-bg-color);border-top:1px solid var(--border-color)}.markdown-body table tr:nth-child(2n){background-color:var(--paper-bg-alt)}.markdown-body table td,.markdown-body table th{border:1px solid var(--border-color)}.file-content{padding:4px 7px;text-align:left;min-height:100%}.file-card{margin:16px 20px 28px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);overflow:clip}.file-card:not(.is-code) .file-card-head{position:sticky;top:0;z-index:2;border-radius:var(--radius-surface) var(--radius-surface) 0 0}.file-card.is-code{display:flex;flex-direction:column;height:calc(100% - 32px);margin-bottom:16px}.file-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:6px 8px 6px 16px;border-bottom:1px solid var(--border-color);background:var(--paper-card)}.dark-mode .file-card-head{background:var(--paper-card)}.file-card-meta{font-size:13px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.file-card-meta .sep{margin:0 8px;color:var(--ink-faint)}.file-card-head .btn{height:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;padding:0 10px}.file-card-head .btn-seg:not(.view-switch){gap:2px;padding-left:8px;margin-left:4px;border-left:1px solid var(--border-color)}.file-card-head .btn-seg:not(.view-switch)>.btn{border:0!important;border-radius:var(--radius-control)!important;margin:0!important;background:0 0!important;color:var(--ink-soft)}.file-card-head .btn-seg:not(.view-switch)>.btn:hover{background:var(--hover-bg-color)!important;color:var(--color)}.file-card-actions>.btn-seg:first-child,.file-card-head .btn-seg:not(.view-switch):has(>.btn:only-child){border-left:0;padding-left:0;margin-left:0}.file-card-head .btn.btn-icon-only{width:32px;padding:0!important;color:var(--ink-soft)}.file-card-head .btn.btn-icon-only:hover{color:var(--color);background:var(--hover-bg-color)!important}.file-card .file-card-body{flex:1 1 auto;min-height:0}.file-card-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}.file-card-path{display:none;align-items:center;gap:2px;min-width:0}.file-card-path .paths{overflow:hidden}.file-card-path+.file-card-meta,.file-card-path+.view-switch{margin-left:8px}.status-bar.is-redundant{display:none}.file-card-path{display:inline-flex}@media (max-width:767px){.file-card-head{flex-wrap:wrap;row-gap:0}.file-card-head .file-card-meta{order:3;flex-basis:100%;margin:0 0 6px!important;padding:0!important;border:0!important;font-size:12px;color:var(--ink-muted)}.file-card-head .file-card-meta .meta-extra{display:inline!important}.file-card-head .btn-ghost{color:var(--ink-soft)}.file-card-head .breadcrumb-root,.file-card-head .breadcrumb-root+.breadcrumb-item::before{display:none!important}.file-card-head .breadcrumb-item{padding-left:0}.file-card-head{gap:6px;padding:6px 8px 6px 16px}.file-card-actions{gap:2px}.file-card-actions .btn-seg{margin-left:4px}}@media (min-width:992px){.file-card-path+.file-card-meta{padding-left:14px;border-left:1px solid var(--border-color)}.file-card{margin-top:20px}.file-card.is-code{height:calc(100% - 36px)}}.card-files-btn{margin-right:4px}.leftCol-zip{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--ink-soft);text-decoration:none}.leftCol-zip:hover{color:var(--color);text-decoration:none}.leftCol-zip .ui-icon{width:15px;height:15px}.file-card-actions .btn-seg{margin-left:6px}.file-card-head .btn.btn-find,.file-card-head .btn.btn-goto{padding:0 10px;gap:6px;font-weight:400}@media (max-width:1180px){.file-card-head .btn-find .btn-find-label,.file-card-head .btn-goto .btn-find-label{display:none}.file-card-head .btn-find,.file-card-head .btn-goto{width:32px;padding:0!important}}@media (max-width:991px){.file-card-head .btn-find{width:32px;padding:0!important}.file-card-head .btn-find-label{display:none}}@media (max-width:767px){.file-card-head .btn-find{width:40px}}.ace_search{top:8px!important;right:12px!important;left:auto!important;background:var(--paper-card)!important;color:var(--color)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-surface)!important;box-shadow:0 8px 24px rgba(26,24,21,.14);padding:6px!important;font-family:var(--font-sans)!important;font-size:13px!important}.ace_search_field{background:var(--input-bg)!important;color:var(--input-color)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important;margin-right:4px!important;height:28px!important;padding:0 8px!important;font-family:var(--font-sans)!important}.ace_search_field:focus{border-color:var(--ink-muted)!important;outline:0;box-shadow:0 0 0 3px var(--hover-bg-color)}.ace_button,.ace_searchbtn{background:0 0!important;color:var(--ink-soft)!important;border:0!important;border-radius:var(--radius-control)!important;width:28px;height:28px!important;line-height:28px!important}.ace_button:hover,.ace_searchbtn:hover{background:var(--hover-bg-color)!important;color:var(--color)!important}.ace_button.checked{border-color:var(--accent)!important;color:var(--accent)!important}.ace_search_counter{color:var(--ink-soft)!important;font-size:13px;margin:0 8px 0 4px!important;font-variant-numeric:tabular-nums}.ace_search{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;max-width:none!important;width:auto!important}.dark-mode .ace_search{background:var(--paper-card)!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}.ace_search .ace_button[action=searchInSelection],.ace_search .ace_button[action=toggleReplace],.ace_search .ace_replace_form,.ace_search .ace_searchbtn[action=findAll]{display:none!important}.ace_search_field{width:200px!important}.ace_search_form{display:flex;align-items:center;margin:0!important;float:none!important}.ace_search_options{display:flex!important;align-items:center;gap:4px;margin:0!important;float:none!important;text-align:left!important}.ace_search_options .ace_button{width:28px;height:28px!important;line-height:26px!important;padding:0!important;border-radius:var(--radius-control)!important;font-size:12px!important;text-align:center}.ace_searchbtn_close{position:static!important;margin-left:2px}.ace_editor .ace_marker-layer .ace_selected-word{background:color-mix(in srgb,#e0a94a 30%,transparent)!important;border:0!important;border-radius:2px}.ace_editor.ace-chrome .ace_marker-layer .ace_selection,.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:#f2b544!important;box-shadow:0 0 0 1px #b7791f;border-radius:2px}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:#b7791f!important;box-shadow:0 0 0 1px #f2b544}.ace_editor .ace_indent-guide-active{background:0 0!important;box-shadow:inset 1px 0 0 var(--border-color)!important}.ace_searchbtn_close{filter:none!important;opacity:.6}.ace_prompt_container{background:var(--paper-card)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-surface)!important;box-shadow:0 12px 32px rgba(26,24,21,.16)!important}.btn.btn-ghost{background:0 0!important;border-color:transparent!important;color:var(--ink-muted)}.btn.btn-ghost:hover{background:var(--hover-bg-color)!important;color:var(--color)}.btn.btn-ghost.is-on{color:var(--color);background:var(--hover-bg-color)!important;box-shadow:none}.btn.btn-ghost:focus:not(:focus-visible):not(.is-on):not(:hover){background:0 0!important;box-shadow:none}.dark-mode .file-card-head .btn-seg .btn{background:0 0!important;border-color:var(--border-color)!important;color:var(--color);font-weight:500}.file-card-head .btn.btn-find,.file-card-head .btn.btn-goto{color:var(--ink-soft)}.file-card-head>.view-switch{gap:2px;padding:2px;border-radius:calc(var(--radius-control) + 2px);background:var(--hover-bg-color)}.file-card-head>.view-switch .btn{height:28px;min-height:28px;margin:0!important;border:0!important;border-radius:var(--radius-control)!important;background:0 0!important;color:var(--ink-soft);font-weight:500}.file-card-head>.view-switch .btn:hover{color:var(--color)}.file-card-head>.view-switch .btn.is-on{background:var(--paper-card)!important;color:var(--color);box-shadow:0 1px 2px rgba(26,24,21,.1),0 0 0 1px var(--border-color);cursor:default}.dark-mode .file-card-head>.view-switch .btn.is-on{background:#3d3934!important;box-shadow:none}.status-bar .btn.btn-ghost.btn-zip{color:var(--ink-soft)}.copy-path-btn{margin-left:-4px}@media (max-width:767px){.file-card-head .btn,.file-card-head .btn.btn-icon-only{height:40px;min-height:40px}.file-card-head .btn.btn-icon-only{width:40px}.copy-path-btn{display:none!important}}.file-card .ace_editor{height:100%!important}@media (max-width:767px){.file-card{margin:0;border:0;border-radius:0}.file-card.is-code{height:100%}.file-card-head{position:sticky;top:0;z-index:2;padding-left:16px}}.dir-card{margin:20px 20px 0;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);overflow:hidden}.dir-card+.file-card{margin-top:16px}.dir-card-head{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt)}.dark-mode .dir-card-head{background:#35312c}.dir-card-title{font-size:14px;font-weight:600;color:var(--color)}.dir-card-sub{font-size:13px;color:var(--ink-muted)}.dir-list{list-style:none;margin:0;padding:4px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0}.dir-row{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 16px;border:0;background:0 0;font:inherit;font-size:14px;color:var(--color);text-align:left;text-decoration:none;cursor:pointer}.dir-row:hover{background:var(--hover-bg-color);color:var(--color);text-decoration:none}.dir-row:hover .dir-name{text-decoration:underline;text-underline-offset:3px}.dir-row.is-current .dir-name{font-weight:600}.dir-icon{width:16px;height:16px;flex-shrink:0;fill:none;stroke:var(--ink-muted);stroke-width:1.2;stroke-linejoin:round}.dir-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-meta{flex-shrink:0;font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.dir-list:not(.is-expanded)>li:nth-child(n+9){display:none}.dir-more{display:block;width:100%;height:40px;border:0;border-top:1px solid var(--border-soft);background:0 0;font:inherit;font-size:13px;font-weight:500;color:var(--link-color);cursor:pointer}.dir-more:hover{background:var(--hover-bg-color)}@media (max-width:767px){.dir-card{margin:0;border:0;border-bottom:1px solid var(--border-color);border-radius:0}.dir-list{grid-template-columns:1fr}.dir-card+.file-card{margin-top:0}}.explorer-content .file-card .file-content.markdown-body{max-width:920px;margin:0;min-height:0;padding:28px 40px 48px;background:var(--paper-card)!important;font-family:var(--font-sans);font-size:15px;line-height:1.65}.explorer-content .markdown-body h1,.explorer-content .markdown-body h2{font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em;border-bottom:1px solid var(--border-color);padding-bottom:.3em}.explorer-content .markdown-body h1{font-size:28px;margin-top:0}.explorer-content .markdown-body h2{font-size:21px;margin-top:32px}.explorer-content .markdown-body h3{font-size:17px;font-weight:600;margin-top:24px}.explorer-content .markdown-body h4{font-size:15px;font-weight:600}.explorer-content .markdown-body img{border-radius:var(--radius-control)}.explorer-content .markdown-body p>a:only-child>img,.explorer-content .markdown-body p>img:only-child{border:1px solid var(--border-color)}.explorer-content .markdown-body code,.explorer-content .markdown-body pre{font-family:var(--font-mono);font-size:13px}.explorer-content .markdown-body pre{background:var(--paper-bg-alt)!important;border:1px solid var(--border-soft);border-radius:var(--radius-control);padding:14px 16px;line-height:1.55}.explorer-content .markdown-body :not(pre)>code{background:var(--hover-bg-color);border-radius:4px;padding:.15em .4em;font-size:.86em}@media (max-width:767px){.explorer-content .file-card .file-content.markdown-body{padding:20px 16px 72px;font-size:15px}.explorer-content .markdown-body h1{font-size:24px}}.ace_editor.ace-chrome,.ace_editor.ace-nord-dark{background:var(--paper-card)!important;color:var(--color)!important}.ace_editor.ace-chrome .ace_gutter,.ace_editor.ace-nord-dark .ace_gutter{background:color-mix(in srgb,var(--paper-bg-alt) 55%,var(--paper-card))!important;color:var(--ink-muted)!important;border-right:1px solid var(--border-soft)}.ace_editor .ace_gutter-cell{padding-right:14px;padding-left:12px;font-size:12px}@media (max-width:767px){.ace_editor .ace_gutter-cell{padding-right:8px;padding-left:6px}}.ace_editor .ace_gutter-active-line{background:0 0!important}.ace_editor .ace_indent-guide{background:0 0!important;box-shadow:inset 1px 0 0 var(--border-soft)}.ace_editor .ace_fold-widget{opacity:0;transition:opacity .15s}.ace_editor .ace_fold-widget.ace_closed,.ace_editor .ace_gutter:hover .ace_fold-widget{opacity:.7}.ace_editor .ace_marker-layer .ace_selection{background:var(--accent-soft)!important}.ace-chrome .ace_keyword,.ace-chrome .ace_storage{color:#b4362a}.ace-chrome .ace_string{color:#2b5a3e}.ace-chrome .ace_constant.ace_language,.ace-chrome .ace_constant.ace_numeric,.ace-chrome .ace_support.ace_constant{color:#1f6a64}.ace-chrome .ace_comment{color:#7a746a;font-style:italic}.ace-chrome .ace_entity.ace_name.ace_function,.ace-chrome .ace_support.ace_function{color:#6b45b8}.ace-chrome .ace_variable.ace_parameter{color:#8a5a12;font-style:normal}.ace-chrome .ace_entity.ace_name.ace_tag,.ace-chrome .ace_meta.ace_tag{color:#116329}.ace-chrome .ace_entity.ace_other.ace_attribute-name{color:#0550ae}.ace-chrome .ace_identifier,.ace-chrome .ace_paren,.ace-chrome .ace_punctuation,.ace-chrome .ace_variable{color:var(--color)}.ace-nord-dark .ace_keyword,.ace-nord-dark .ace_storage{color:#f2897d}.ace-nord-dark .ace_string{color:#9dd3a8}.ace-nord-dark .ace_constant.ace_language,.ace-nord-dark .ace_constant.ace_numeric,.ace-nord-dark .ace_support.ace_constant{color:#7cc7be}.ace-nord-dark .ace_comment{color:#9a948a;font-style:italic}.ace-nord-dark .ace_entity.ace_name.ace_function,.ace-nord-dark .ace_support.ace_function{color:#c9a8f5}.ace-nord-dark .ace_variable.ace_parameter{color:#e0a94a;font-style:normal}.ace-nord-dark .ace_entity.ace_name.ace_tag,.ace-nord-dark .ace_meta.ace_tag{color:#7ee787}.ace-nord-dark .ace_entity.ace_other.ace_attribute-name{color:#79c0ff}.ace-nord-dark .ace_identifier,.ace-nord-dark .ace_paren,.ace-nord-dark .ace_punctuation,.ace-nord-dark .ace_variable{color:var(--color)}.badge{font-size:75%;font-weight:500;padding:3px 8px;border-radius:10px;vertical-align:middle}.warning-feedback{width:100%;margin-top:.25rem;font-size:80%;color:#dc8e35}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--hover-bg-color)}.card-header .btn,.card-header .btn:focus,.card-header .btn:hover{border:none!important;background:0 0!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--button-height);padding:7px var(--button-padding-x);font:500 var(--button-font-size)/var(--button-line-height) var(--font-sans);vertical-align:middle;max-width:100%;transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease;color:var(--btn-color);border:1px solid var(--border-color);background:var(--paper-card);border-radius:var(--radius-button);white-space:nowrap}.btn:active,.btn:hover{color:var(--btn-color);border:1px solid var(--border-color);background-color:var(--hover-bg-color);box-shadow:none!important}.btn.btn-primary{color:var(--primary-color);background-color:var(--primary-bg)}.btn.btn-primary:active,.btn.btn-primary:hover{color:var(--primary-active-color);background-color:var(--primary-hover-bg)!important}.btn::placeholder{color:var(--color);opacity:1}.white_border{border:1px solid #fff;color:#fff}.leftCol{display:flex;position:relative;flex:0 0 auto;width:100%;z-index:9;flex-direction:column}.card,.leftCol,.sidePanel{background-color:var(--sidebar-bg-color);border:1px solid var(--border-color)}@media (min-width:768px){.leftCol{flex:0 0 var(--sidebar-w,280px);width:var(--sidebar-w,280px);height:100%}}.leftCol-search{padding:10px 12px 0}.tree-search-box{display:flex;align-items:center;gap:8px;background:var(--canvas-bg-color);border:1px solid var(--border-color);border-radius:8px;padding:7px 10px;transition:border-color .15s}.tree-search-box:focus-within{border-color:var(--ink-muted)}.tree-search-icon{font-size:12px;color:var(--ink-muted);flex-shrink:0}.tree-search-input{flex:1;border:none;outline:0;background:0 0;font-family:var(--font-sans);font-size:13px;color:var(--color);min-width:0}.tree-search-input::placeholder{color:var(--ink-muted)}.tree-search-kbd{font-family:var(--font-sans);font-size:11px;color:var(--ink-muted);background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:4px;padding:1px 6px;line-height:1.4;flex-shrink:0}.tree-search-clear{background:0 0;border:none;color:var(--ink-muted);font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.tree-search-clear:hover{color:var(--color)}.leftCol-project-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 4px;gap:8px}.project-name{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.project-file-count{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);white-space:nowrap;flex-shrink:0;margin-left:auto}.files{position:relative;display:block;overflow:auto;height:100%;padding:4px 6px}.files ul{list-style:none;margin:0;padding:0}.files li ul{padding-left:8px;margin-left:7px;border-left:1px solid var(--border-color)}.files .folder>ul{display:none}.files .folder.open>ul{display:block}.files .file,.files .folder{position:relative;color:var(--ink-soft);cursor:pointer;word-break:break-all}.files a{display:flex;align-items:center;gap:5px;min-height:26px;padding:2px 8px 2px 4px;font-family:var(--font-sans);font-size:13px;color:var(--ink-soft);border-radius:var(--radius-control);text-decoration:none;line-height:1.5;position:relative}.files a:hover{background:var(--hover-bg-color);color:var(--color);text-decoration:none}.files:focus{outline:0}.files a.tree-focused{background:var(--hover-bg-color);color:var(--color)}.files .file.active>a::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:0 2px 2px 0;background:var(--accent)}.files .file.active>a{border-radius:0 var(--radius-control) var(--radius-control) 0;background:rgba(128,128,128,.12);color:var(--color);font-weight:500}.files .file.active>a .tree-icon-file{color:var(--color)}.files .file.active>a .tree-count{color:var(--ink-muted)}.tree-icon-file,.tree-icon-folder{display:inline-block;flex-shrink:0}.tree-icon-folder{width:14px;height:12px;color:var(--ink-muted);opacity:.75}.tree-icon-folder svg{display:block;width:100%;height:100%;fill:currentColor;fill-opacity:0;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}.files .folder.open>a .tree-icon-folder{color:var(--ink-muted);opacity:1}.files .folder.open>a .tree-icon-folder svg{fill-opacity:.12}.tree-icon-file{width:16px;font-size:14px;text-align:center;color:var(--ink-muted)}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:12px;height:14px;flex-shrink:0;opacity:.8}.tree-toggle::after{content:"";display:block;width:6px;height:6px;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:translateX(-1px) rotate(-45deg);transition:transform .12s ease}.files .folder.open>a .tree-toggle::after{transform:translateY(-2px) rotate(45deg)}.tree-spacer{display:inline-block;width:12px;flex-shrink:0}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files a:not(:hover):not(.tree-focused) .tree-count{opacity:0}.tree-count{transition:opacity .12s;font-family:var(--font-sans);font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-muted);flex-shrink:0;margin-left:auto;padding-left:8px;opacity:.7}.files .folder>a{color:var(--color)}.files .file::before,.files .folder::before{display:none}.files .folder>a::after{display:none}.tree-search-path{color:var(--ink-muted);font-size:11px}.tree-search-empty{padding:16px 12px;color:var(--ink-muted);font-size:12.5px;font-family:var(--font-sans);text-align:center}.leftCol{background:var(--paper-bg-alt,#f3f1ec);border:0;border-right:1px solid var(--border-color)}.dark-mode .leftCol{background:var(--paper-bg-alt)}.dark-mode .explorer-content .markdown-body img{filter:brightness(.8)}.dark-mode .hero-mock-tree{background:#1f1d1a}.dark-mode .hero-mock-row.is-active{background:rgba(255,255,255,.1)}.dark-mode .files .file.active>a{background:rgba(255,255,255,.1)}.status-bar{background:var(--canvas-bg-color);border-bottom:1px solid var(--border-color);padding:8px 20px;min-height:48px}.paths .breadcrumb-item,.paths .breadcrumb-item a{font-family:var(--font-sans);font-size:14px;color:var(--ink-muted);letter-spacing:0}.paths .breadcrumb-root a{color:var(--link-color)}.paths .breadcrumb-root a:hover{text-decoration:underline;text-underline-offset:3px}.paths .breadcrumb-item.active,.paths .breadcrumb-item:last-child{color:var(--color);font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:0}.status-files-btn{display:none!important}.leftCol-resizer{display:none}@media (min-width:992px){.leftCol-resizer{display:block;position:absolute;top:0;bottom:0;left:calc(var(--sidebar-w,280px) - 3px);width:6px;cursor:col-resize;z-index:10}.leftCol-resizer:hover,body.is-resizing .leftCol-resizer{background:color-mix(in srgb,var(--accent) 35%,transparent)}body.is-resizing{cursor:col-resize;user-select:none}}.leftCol-hide{display:none;align-items:center;justify-content:center;width:26px;height:26px;margin-right:-6px;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-muted);cursor:pointer}.leftCol-hide:hover{background:var(--hover-bg-color);color:var(--color)}.leftCol-hide .ui-icon{width:16px;height:16px}@media (min-width:992px){.leftCol-hide{display:inline-flex}.explorer-page.files-hidden .leftCol{display:none!important}.explorer-page.files-hidden .status-files-btn{display:inline-flex!important}}@media (max-width:991px){.status-files-btn{display:inline-flex!important;flex-shrink:0}.explorer-page .sidebar-toggle{display:none!important}}@media (max-width:767px){.status-bar .btn,.status-bar .btn.btn-icon-only{min-height:40px}.status-bar .btn.btn-icon-only{width:40px}}.dark-mode .status-bar .btn{background:var(--paper-card)}.btn-seg{display:inline-flex}.btn-seg>.btn{border-radius:0;margin:0}.btn-seg>.btn+.btn{margin-left:-1px}.btn-seg>.btn:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.btn-seg>.btn:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.btn-seg>.btn:focus-visible,.btn-seg>.btn:hover{position:relative;z-index:1}.status-bar .btn{height:32px;min-height:32px;display:inline-flex;align-items:center;gap:6px}.status-bar .btn.btn-icon-only{padding-left:0;padding-right:0;width:32px;justify-content:center}.status-files-btn{gap:6px}@media (max-width:991px){.status-files-btn{height:40px!important;min-height:40px!important;padding:0 12px;border-radius:var(--radius-control)}}@media (max-width:767px){.file-card.is-code.no-wrap{position:relative}.file-card.is-code.no-wrap::after{content:"";position:absolute;top:46px;right:0;bottom:0;width:44px;pointer-events:none;background:linear-gradient(to right,transparent,var(--paper-card) 85%);z-index:20}.file-card-head .btn-goto{display:none!important}}@media (max-width:575px){.status-bar .btn-zip{display:none!important}.navbar .nav-support{display:none!important}.navbar .nav-signin-m{margin-left:auto}}.ace_editor .ace_gutter-cell{cursor:pointer}.ace_editor .ace_gutter-cell:hover{color:var(--color)}.status-bar .file-meta{flex:0 0 auto;margin-right:auto;font-size:12px;color:var(--ink-muted);white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width:575px){.status-bar .file-meta{display:none}}.paths .breadcrumb-item+.breadcrumb-item::before{content:'/';color:var(--ink-faint);padding:0 6px 0 3px}.last-update{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);padding:8px 10px;border-top:1px solid var(--border-color);letter-spacing:.02em}.ace_editor{height:100%}.ace_scroller{cursor:default}.status-bar{display:flex;align-items:center;gap:12px;background-color:var(--canvas-bg-color);padding:10px 14px;margin:0;border-bottom:1px solid var(--border-color);border-radius:0;flex-shrink:0}.status-bar-actions{display:flex;align-items:center;margin-left:auto;gap:10px;flex-shrink:0}.status-bar-actions .btn{display:inline-flex;align-items:center;gap:6px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);border-radius:6px;padding:4px 10px;font-size:12.5px;min-height:30px}.status-bar-actions .btn:hover{background:var(--hover-bg-color);color:var(--color)}.status-bar-actions .btn.btn-active{border-color:currentColor;font-weight:600}.paths{flex:0 1 auto;min-width:0;padding:0;margin:0;background-color:initial;border:none;border-radius:0;align-items:center;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap}.paths::-webkit-scrollbar{display:none}.paths a{color:var(--color)}.paths .breadcrumb-item{padding-left:3px}.paths .breadcrumb-item::before{padding-right:3px}.content{height:100%;overflow:scroll;padding-top:42px;background-color:var(--main-bg-color);text-align:center}.image-content{max-width:100%;max-height:100%;text-align:center;padding:4px}.pdf-viewer{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--main-bg-color)}.pdf-toolbar{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:4px 8px;border-bottom:1px solid var(--border-color,rgba(0,0,0,.12))}.pdf-toolbar-group{display:inline-flex;align-items:center;gap:4px}.pdf-toolbar-right{margin-left:auto}.pdf-toolbar-btn{border:0;background:0 0;color:inherit;padding:4px 8px;border-radius:4px;font-size:13px;line-height:1.2;cursor:pointer}.pdf-toolbar-btn:hover:not(:disabled){background-color:rgba(128,128,128,.18)}.pdf-toolbar-btn:disabled{opacity:.4;cursor:default}.pdf-toolbar-zoom{min-width:52px;font-variant-numeric:tabular-nums}.pdf-toolbar-page{width:3.5em;text-align:right;padding:2px 4px;font-size:13px;color:inherit;background:0 0;border:1px solid var(--border-color,rgba(0,0,0,.2));border-radius:4px}.pdf-toolbar-count{font-size:13px;opacity:.75;font-variant-numeric:tabular-nums}.pdf-pages{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 0}.pdf-viewer-page{margin:0 auto 12px}.pdf-viewer-page canvas{display:block;box-shadow:0 1px 4px rgba(0,0,0,.25)}.pdf-viewer-error{padding:24px;text-align:center;font-weight:700}.html-doc{display:block;height:100%}.html-doc-frame{display:block;width:100%;height:100%;border:0;background-color:#fff}.file-error{font-weight:700;font-size:50px;text-align:center}pdfviewer{display:block;padding:15px}pdfpageviewer{display:block;width:100%;margin-bottom:10px}notebook{display:block;text-align:left;padding:15px}@media (min-width:768px){notebook{padding-left:100px}}.nb-output td,.nb-output th{border:1px solid var(--border-color)!important}.paper-faq{max-width:1140px;margin:0 auto;padding:48px 32px 80px;font-family:var(--font-sans)}.paper-faq-hero{padding-bottom:40px;border-bottom:1px solid var(--border-color);margin-bottom:36px}.paper-faq-eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:32px}.paper-faq-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.6rem,5.5vw,4.6rem);line-height:1.03;letter-spacing:-.02em;color:var(--color);margin:0 0 22px;max-width:14em}.paper-faq-title em{font-style:italic;color:var(--color)}.paper-faq-lede{color:var(--ink-soft);font-size:17px;line-height:1.55;max-width:38em;margin:0}.paper-faq-lede a{color:var(--link-color);border-bottom:1px solid currentColor}.paper-faq-lede a:hover{color:var(--accent);border-bottom-color:var(--accent)}.paper-faq-body{display:grid;grid-template-columns:220px 1fr;gap:60px;align-items:start}.paper-faq-toc{position:sticky;top:32px;font-size:13.5px}.paper-faq-toc-head{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--border-color)}.paper-faq-toc nav{display:flex;flex-direction:column}.paper-faq-toc nav a{color:var(--ink-soft);padding:8px 0 8px 14px;border-left:2px solid transparent;text-decoration:none;margin-left:0}.paper-faq-toc nav a.active,.paper-faq-toc nav a:hover{color:var(--color);border-left-color:var(--color)}.faq-section{min-width:0}.faq-section>div{width:100%}.faq-section h4.faq-cat{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.2rem);letter-spacing:-.015em;color:var(--color);margin:0 0 6px;padding-bottom:14px;border-bottom:1px solid var(--border-color)}.faq-section h4.faq-cat i{display:none}.faq-section .panel-group{margin-bottom:56px}.faq-section .panel-default .panel-title a{display:block;position:relative;padding:22px 0 22px 42px;font-family:var(--font-serif);font-weight:400;font-size:20px;line-height:1.35;letter-spacing:-.005em;color:var(--color);text-decoration:none;cursor:pointer}.faq-section .panel-default .panel-title a:hover{color:var(--accent)}.faq-section .panel-heading{background:0 0;padding:0!important;border:none}.faq-section .panel-default{background:0 0;border:none;border-bottom:1px solid var(--border-soft);border-radius:0;margin-bottom:0!important;box-shadow:none}.faq-section .panel-default .panel-title{margin-bottom:0}.faq-section .panel-default .panel-title a:after{content:"−";position:absolute;left:0;right:auto;top:22px;transform:none;font-family:var(--font-mono);font-size:18px;line-height:1.35;color:var(--ink-muted);float:none;margin:0;font-weight:400}.faq-section .panel-default .panel-title a.collapsed:after{content:"+"}.faq-section .panel-default .panel-body{padding:0 0 22px 42px!important;color:var(--ink-soft);font-size:15px;line-height:1.65;border-top:none;max-width:68ch}.table{color:var(--color)}.dropdown-divider,.table td,.table th,hr{border-color:var(--border-color)}.table.repositories td{word-break:break-word}loc{display:block;position:relative;width:100%;height:5px}loc .lang{float:left;height:100%}.rounded-circle.fa{display:inline-block;font-size:75px;height:140px;width:140px;border:4px solid;line-height:140px;text-align:center}.featurette-divider{margin:4.5rem 0;border-color:var(--border-color)}.featurette-heading{font-family:var(--font-serif);font-weight:400;font-size:2rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:14px;color:var(--color)}.dark-mode .shadow{box-shadow:none}.dark-mode .overflow-auto::-webkit-scrollbar{width:10px}.dark-mode .overflow-auto::-webkit-scrollbar-track{-webkit-box-shadow:none;background:inherit;border-radius:0}.dark-mode .overflow-auto::-webkit-scrollbar-thumb{border-radius:10px;border:1px solid var(--border-color);background-color:var(--hover-bg-color)}.dark-mode .rgba-gradient{background:linear-gradient(135deg,#2a2d4a,#151728)}.section-number{padding-right:10px;font-weight:700;font-style:italic}.org-subscript-child{font-size:85%}.highlighted-line{position:absolute;background:rgba(100,200,100,.5);z-index:20}code,pre{font-family:"Fira Code","Courier New",Courier,monospace;line-height:1.1;color:var(--color)}.diff-file,.diff-index,.diff-lines{background:rgba(172,172,172,.5)}.diff-add{background:rgba(100,200,100,.5)}.diff-remove{background:rgba(200,100,100,.5)}.dashboard-title{font-size:1.4rem;font-weight:600;letter-spacing:-.01em}.quota-row{display:flex;gap:16px;margin-bottom:16px;padding:0}.quota-item{flex:1;min-width:0}.quota-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.quota-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;opacity:.7}.quota-value{font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums}.quota-progress{height:6px;border-radius:3px;background:var(--hover-bg-color)}.quota-progress .progress-bar{border-radius:3px}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:.8rem;font-weight:500;background:var(--primary-bg);color:var(--primary-color);border-radius:12px;line-height:1.4}.filter-chip-close{display:inline-flex;align-items:center;justify-content:center;background:0 0;border:none;color:inherit;opacity:.7;cursor:pointer;padding:0;min-width:24px;min-height:24px;margin:-6px -6px -6px 0;font-size:1rem;line-height:1;border-radius:999px}.filter-chip-close:hover{opacity:1}.repo-list{list-style:none;padding:0;margin:0}.repo-list-item{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-color);gap:12px}.repo-list-item:first-child{border-top:1px solid var(--border-color)}.repo-list-item.repo-inactive{opacity:.6}.repo-list-item-content{flex:1;min-width:0}.repo-list-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.repo-name{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--color);word-break:break-word}.repo-name:hover{color:var(--accent)}.repo-source{font-size:.85rem;opacity:.8;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.repo-date{opacity:.7}.repo-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:.8rem;opacity:.7}.repo-meta span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.repo-list-item-actions{flex-shrink:0;padding-top:2px;margin-left:14px}.repo-list-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;opacity:.5;font-size:.95rem;list-style:none;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color)}.repo-list-empty i{font-size:1.8rem}.type-badge{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;border-radius:4px;white-space:nowrap}.type-badge{font-family:var(--font-mono);letter-spacing:.06em;padding:2px 8px;border-radius:999px;border:1px solid var(--border-color);background:var(--paper-bg-alt,transparent)}.type-badge.type-pr,.type-badge.type-repo{background:var(--paper-bg-alt);color:var(--ink-muted);border-color:var(--border-color)}.dark-mode .type-badge.type-pr,.dark-mode .type-badge.type-repo{background:rgba(255,255,255,.06);color:var(--ink-muted);border-color:var(--border-color)}.type-badge.type-coauthor{background:rgba(99,102,241,.12);color:#4f46e5;border-color:rgba(99,102,241,.35);margin-left:6px}.dark-mode .type-badge.type-coauthor{background:rgba(129,140,248,.18);color:#7cc7be;border-color:rgba(165,180,252,.45)}.btn-group .btn:not(.btn-primary){background:var(--hover-bg-color)}.anonymize-page{display:flex;flex-direction:column;min-height:0}.anonymize-landing{flex:1 1 0;min-height:min-content;display:flex;align-items:center;justify-content:center;padding:20px}.anonymize-landing-inner{width:100%;max-width:600px}.anonymize-landing-inner h2{font-weight:700}.anonymize-workspace{display:flex;flex-direction:column;flex:1 1 0;min-height:0;background:var(--canvas-bg-color)}.anonymize-topbar{background:var(--paper-card);border-bottom:1px solid var(--border-color);padding:18px 28px;flex:0 0 auto}.anonymize-topbar-inner{max-width:1400px;margin:0 auto}.anonymize-topbar-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.anonymize-topbar-title{margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.4rem)}.anonymize-split{flex:1 1 auto;display:flex;min-height:0}.anonymize-form-col{flex:0 0 auto;width:100%;min-width:0;background:var(--canvas-bg-color);border-right:1px solid var(--border-color);overflow-y:auto}.anonymize-form-col .paper-settings-main{max-width:720px;padding:28px 32px 40px;margin:0}.anonymize-form-col .paper-settings-section:first-child{padding-top:0}.anonymize-form-col .anonymize-submit-bar{position:sticky;bottom:0;background:var(--canvas-bg-color);padding:14px 0 0;border-top:1px solid var(--border-color);margin-top:20px}.anonymize-form-col .anonymize-submit-bar .btn{width:100%;padding:12px 16px;font-size:15px}.anonymize-preview-col{flex:1 1 auto;min-width:0;overflow:auto;background:var(--paper-bg-alt);padding:28px 32px}.anonymize-preview-head{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.anonymize-preview-head .paper-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.anonymize-preview-sub{color:var(--ink-soft);font-size:13px}.anonymize-preview-body{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:28px 32px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}@media (max-width:700px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.paper-optional{font-family:var(--font-sans);font-weight:400;color:var(--ink-muted);text-transform:none;letter-spacing:0;font-size:11px;margin-left:6px}.paper-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.paper-plan-card{position:relative;display:block;padding:18px 20px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;margin:0}.paper-plan-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.paper-plan-card.selected{border-color:var(--color);box-shadow:0 0 0 2px var(--color) inset}.paper-plan-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.paper-plan-price{font-family:var(--font-serif);font-size:2rem;color:var(--color);margin:6px 0 4px}.paper-plan-price .paper-plan-per{font-family:var(--font-sans);font-size:12px;color:var(--ink-soft)}.paper-plan-desc{font-size:13px;color:var(--ink-soft)}.paper-plan-desc ul{padding-left:18px;margin:0}.paper-settings-copy{color:var(--ink-soft);font-size:13px;margin:0 0 14px}.anonymize-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin:18px 0 8px 0;padding-bottom:6px;border-bottom:1px solid var(--border-color);opacity:.7}.anonymize-section-title i{margin-right:4px}.anonymize-submit-bar{padding:12px 0 4px 0}.anonymize-submit-bar .btn{font-size:1rem;padding:10px 20px;font-weight:600}.anonymize-page .form-check{padding-top:4px;padding-bottom:4px}.anonymize-page .form-check-label{font-weight:500}.anonymize-preview-col{min-height:0;min-width:0}.pr-diff pre{overflow-x:auto;max-width:100%}@media (min-width:768px){.anonymize-form-col{height:100%;width:520px;flex:0 0 520px}.anonymize-preview-col{height:100%;flex:1}}@media (max-width:767px){.anonymize-workspace{flex:0 0 auto;min-height:0}.anonymize-topbar{padding:14px 16px}.anonymize-topbar-title{font-size:1.6rem;margin-top:2px}.anonymize-split{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.anonymize-form-col{width:100%!important;flex:0 0 auto!important;height:auto!important;border-right:none;border-bottom:1px solid var(--border-color);overflow:visible}.anonymize-form-col .paper-settings-main{padding:18px 16px 24px;max-width:none}.anonymize-form-col .anonymize-submit-bar{position:sticky;bottom:0;margin:20px -16px 0;padding:12px 16px;background:var(--canvas-bg-color);border-top:1px solid var(--border-color);z-index:10}.anonymize-form-col .anonymize-submit-bar .btn{width:100%;padding:12px 16px;font-size:15px}.anonymize-preview-col{width:100%;flex:0 0 auto;height:auto!important;max-height:none;padding:18px 16px 24px;overflow:visible}.anonymize-preview-body{padding:16px;border-radius:8px}.anonymize-preview-body .pr-diff pre,.anonymize-preview-body pre{overflow-x:auto;max-width:100%}.anonymize-landing-inner{padding:16px}}@media (min-width:1280px){.anonymize-form-col{width:620px;flex:0 0 620px}}@media (max-width:767px){.btn{min-height:38px;padding:6px 14px;font-size:14px}.btn-sm{min-height:34px;padding:5px 10px}.navbar .nav-link{padding:8px 12px}.navbar .nav-link .fa,.navbar .nav-link .fab{font-size:24px;line-height:32px}.container.page{padding-left:15px;padding-right:15px;max-width:100%}h1{font-size:1.6rem}h2{font-size:1.35rem}h3{font-size:1.15rem}.repo-list-item{flex-direction:column}.repo-list-item-actions{align-self:flex-start}.quota-row{flex-direction:column;gap:10px;padding:10px 12px}.dropdown-menu{position:absolute;right:0;left:auto}.form-group{margin-bottom:12px}.form-control{font-size:16px}.status-bar{gap:6px;padding:8px 10px}.status-bar .btn{font-size:12px;padding:4px 10px;min-height:32px}.status-bar .paths{font-size:11.5px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;-webkit-overflow-scrolling:touch}.status-bar .paths::-webkit-scrollbar{display:none}.status-bar-actions{flex-shrink:0;gap:4px}#home .display-4{font-size:1.8rem}#home h4.subtext-header{font-size:1rem}.progress:not(.quota-progress){min-width:120px!important}.badge{font-size:70%}.col-2.input-group{width:100%!important;max-width:100%;flex:0 0 100%}.color-text-secondary span{display:inline-block;margin-bottom:2px}.floatingchat-container-wrap{display:none!important}.anonymize-landing{align-items:flex-start;padding-top:60px}.anonymize-page .container-fluid>.row{height:auto!important;min-height:100%}.anonymize-form-col{width:100%!important;flex:0 0 100%!important;border-right:none;border-top:1px solid var(--border-color)}.anonymize-preview-col{height:auto!important;max-height:none}.anonymize-section-title{font-size:.8rem;margin:12px 0 8px 0}.anonymize-submit-bar{position:sticky;bottom:0;background:var(--sidebar-bg-color);padding:10px 0;margin:0 -12px;padding-left:12px;padding-right:12px;border-top:1px solid var(--border-color);z-index:10}.anonymize-submit-bar .btn{font-size:1rem;padding:12px 20px}.anonymize-page .form-check{padding-top:6px;padding-bottom:6px;min-height:36px}.anonymize-page .form-check-label{font-size:.95rem}.anonymize-page .card-body{padding:12px}.pr-title{font-size:1.15rem}.pr-diff pre{font-size:.75rem}.pr-comment .mb-1 h5{font-size:1rem}.nav-tabs .nav-link{padding:8px 12px;font-size:.9rem}}@media (min-width:768px) and (max-width:991px){.container.page{max-width:100%;padding-left:15px;padding-right:15px}.leftCol{flex:0 0 250px;width:250px}}.explorer-page{display:flex;height:100%;width:100%;background:var(--canvas-bg-color);position:relative}.explorer-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--canvas-bg-color)}.explorer-content{flex:1 1 auto;min-height:0;width:100%;overflow:auto}.leftCol-close,.leftCol-head{display:none}.leftCol-body{flex:1 1 auto;min-height:0;overflow:auto}.leftCol-foot{padding:8px 12px;border-top:1px solid var(--border-color);background:var(--paper-bg-alt)}.leftCol-foot .last-update{display:block;border-top:none;padding:0;font-family:var(--font-sans);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.5;color:var(--ink-muted)}.leftCol-foot{padding:10px 14px}.leftCol-backdrop{display:none}.paper-inline-warning{display:flex;align-items:flex-start;gap:8px;margin:8px;padding:10px 12px;background:rgba(138,107,30,.08);border:1px solid rgba(138,107,30,.35);border-radius:8px;color:var(--color);font-size:12.5px;line-height:1.4}.paper-inline-warning i{color:var(--status-progress);margin-top:2px;flex-shrink:0}.dark-mode .paper-inline-warning i{color:var(--status-progress)}@media (min-width:768px){.leftCol-body{padding:8px 4px}}.sidebar-toggle{display:none;align-items:center;gap:8px;position:fixed;bottom:18px;right:18px;z-index:1100;padding:10px 14px;background:var(--color);color:var(--canvas-bg-color);border:1px solid var(--color);border-radius:999px;font-family:var(--font-sans);font-size:13px;font-weight:500;box-shadow:0 6px 20px rgba(0,0,0,.15);cursor:pointer;outline:0}.sidebar-toggle:hover{background:var(--primary-hover-bg)}.sidebar-toggle:focus{outline:0}.sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:991px){.sidebar-toggle{display:inline-flex}.leftCol{position:fixed;top:0;left:0;bottom:0;width:min(86vw,340px);max-width:340px;z-index:1200;border:none;border-right:1px solid var(--border-color);transform:translateX(0);transition:transform .22s ease;box-shadow:4px 0 24px rgba(0,0,0,.18);background:var(--sidebar-bg-color)}.leftCol.collapsed{transform:translateX(-105%);box-shadow:none;pointer-events:none}.leftCol-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt)}.leftCol-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.leftCol-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:0 0;border:1px solid var(--border-color);border-radius:8px;color:var(--ink-muted);cursor:pointer}.leftCol-close:hover{color:var(--color);border-color:var(--color)}.leftCol-foot{display:block}.leftCol-body{padding:4px 0}.leftCol-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:1150;backdrop-filter:blur(2px)}.dark-mode .leftCol-backdrop{background:rgba(0,0,0,.5)}}.admin-nav{display:flex;gap:4px;padding:4px;margin:8px 0 20px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap}.admin-nav a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:7px;color:var(--ink-muted);text-decoration:none;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transition:background-color .15s,color .15s;white-space:nowrap}.admin-nav a:hover{background:var(--paper-bg-alt);color:var(--color)}.admin-nav a.active{background:var(--color);color:var(--paper-card)}.admin-nav a i{font-size:12px;width:14px;text-align:center}@media (max-width:767px){.admin-nav{flex-direction:column}.admin-nav a{justify-content:flex-start}}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:16px}.admin-stat-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px}.admin-stat-card .stat-value{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;line-height:1.1;color:var(--color)}.admin-stat-card .stat-label{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 12px}.admin-toolbar .form-control{max-width:320px}@media (max-width:767px){.admin-toolbar .form-control{max-width:100%;width:100%}}.pagination-compact{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.pagination-compact input{width:60px;text-align:center;flex-shrink:0}.pagination-compact .btn{padding:4px 10px;min-height:34px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);flex-shrink:0}.pagination-compact>span{white-space:nowrap}.admin-list-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-color)}.admin-list-item:last-child{border-bottom:none}.admin-list-item .item-main{flex:1;min-width:0}.admin-list-item .item-title{font-size:1rem;font-weight:600;margin-bottom:4px;word-break:break-word}.admin-list-item .item-meta{font-size:.85rem;opacity:.8}.admin-list-item .item-meta span{margin-right:12px;display:inline-block;margin-bottom:2px}.admin-list-item .item-actions{flex-shrink:0}@media (max-width:767px){.admin-list-item{flex-direction:column;gap:8px}.admin-list-item .item-actions{align-self:flex-start}}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.status-badge{font-family:var(--font-sans);font-weight:500;letter-spacing:.02em;border:1px solid transparent;text-transform:none;font-size:11.5px;padding:1px 9px 2px;border-radius:999px}.status-badge.status-ready{background:#e8f3ec;color:#2f7a44;border-color:#cfe6d6}.status-badge.status-error{background:#fbe7e7;color:#b42318;border-color:#f3c7c7}.status-badge.status-download,.status-badge.status-preparing{background:#e4f0ee;color:#1f6a64;border-color:#d4d8fa}.status-badge.status-expired,.status-badge.status-expiring,.status-badge.status-removed,.status-badge.status-removing{background:var(--paper-bg-alt);color:var(--ink-muted);border-color:var(--border-color)}.status-badge.status-active{background:#e8f3ec;color:#2f7a44;border-color:#cfe6d6}.queue-job-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 18px;margin-bottom:10px}.queue-job-card .job-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:8px}.queue-job-card .job-id{font-family:var(--font-mono);font-size:.95rem;color:var(--color);word-break:break-all;display:flex;align-items:center;gap:10px}.queue-job-card .job-timestamps{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:14px}.queue-job-card .job-actions{display:flex;gap:8px;margin-top:10px}.queue-job-card .job-actions .btn{font-size:12px;padding:4px 12px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color)}.admin-section-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.admin-section-header h2{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.admin-section-header h2 i{margin-right:6px;color:var(--ink-muted)}.admin-section-header .section-count{background:var(--paper-bg-alt);color:var(--ink-muted);border:1px solid var(--border-color);font-family:var(--font-mono);font-size:11px;padding:1px 10px;border-radius:999px}.user-detail-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:22px;margin-bottom:24px}.user-detail-card .user-header{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.user-detail-card .user-header img{border-radius:50%}.user-detail-card .user-header h2{margin:0;font-family:var(--font-serif);font-weight:400;font-size:1.6rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-detail-grid{display:grid;grid-template-columns:160px 1fr;gap:10px 20px;font-size:.92rem}.user-detail-grid .detail-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);white-space:nowrap;padding-top:2px}.user-detail-grid .detail-value{word-break:break-all;color:var(--color)}@media (max-width:767px){.user-detail-grid{grid-template-columns:1fr}.user-detail-grid .detail-label{margin-top:8px;border-top:1px solid var(--border-color);padding-top:8px}.user-detail-grid .detail-label:first-child{border-top:none;margin-top:0;padding-top:0}}.paper-empty{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 24px}.paper-empty-inner{max-width:560px;text-align:left}.paper-empty-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.025em;margin:18px 0 20px;color:var(--color)}.paper-empty-title em{color:var(--accent);font-style:italic}.paper-empty-lede{font-size:17px;line-height:1.55;color:var(--ink-soft);text-wrap:pretty}.paper-empty-cta{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.paper-page{max-width:1100px;margin:0 auto;padding:32px 32px 80px}@media (max-width:991px){.paper-page,.paper-page.container,.paper-page.container-fluid{padding:20px 18px 60px!important}.paper-page .row{margin-left:0;margin-right:0}.paper-page .row>.w-100,.paper-page .row>[class*=col]{padding-left:0;padding-right:0}.navbar.navbar-expand-lg{padding:10px 18px!important}.navbar .navbar-collapse{margin:10px -18px 0;padding:12px 18px 16px;border-top:1px solid var(--border-color);background:var(--header-bg-color)}.navbar .navbar-nav{align-items:stretch!important;gap:2px}.navbar .navbar-nav .nav-item,.navbar .navbar-nav .nav-link{width:100%}.navbar .nav-link{display:flex!important;align-items:center;justify-content:flex-start;margin:0!important;padding:12px 4px!important;border-bottom:1px solid var(--border-color)!important;border-radius:0;font-size:14px;line-height:1.2;gap:0;min-height:44px;box-sizing:border-box}.navbar .nav-link:not(.btn-signin):not(.user-chip){color:var(--color)!important}.navbar .nav-link .fa,.navbar .nav-link .fab,.navbar .nav-link .fas,.navbar .nav-link i{display:inline-flex!important;align-items:center;justify-content:center;width:28px;flex-shrink:0;font-size:16px;line-height:1;margin:0 10px 0 0!important}.navbar .navbar-nav .nav-item:last-child .nav-link,.navbar .navbar-nav>.nav-link:last-child{border-bottom-color:transparent!important}.navbar .nav-link.active{color:var(--color)!important;border-bottom-color:var(--border-color)!important}.navbar .nav-item>.nav-link:not(.btn-signin):not(.user-chip)::before{content:'';display:inline-block;width:28px;margin-right:10px;flex-shrink:0}.navbar .nav-link.nav-icon::before,.navbar .nav-link:has(>i)::before{display:none!important}.navbar .nav-link.nav-icon{width:100%!important;height:auto!important;justify-content:flex-start!important;padding:12px 4px!important}.navbar .nav-link.nav-icon::after{content:attr(title);font-family:var(--font-sans);font-size:14px;color:var(--color)}.navbar .btn-signin{display:inline-flex!important;width:auto!important;align-self:flex-start;justify-content:center;height:40px;padding:0 18px!important;margin:14px 0 0!important;border-radius:8px;border-bottom:none!important}.navbar .btn-signin i{margin:0 8px 0 0!important;width:auto!important}.navbar .user-chip-wrap{width:100%}.navbar .user-chip{display:flex!important;width:100%;margin:0!important;padding:10px 4px!important;background:0 0!important;border:none!important;border-bottom:1px solid var(--border-color)!important;border-radius:0!important;justify-content:flex-start;gap:0;min-height:44px}.navbar .user-chip::before{display:none!important}.navbar .user-chip img{width:28px!important;height:28px!important;margin-right:10px!important;flex-shrink:0}.navbar .user-chip .user-chip-name{font-size:14px;font-weight:500;color:var(--color)!important}.navbar .user-chip.dropdown-toggle::after{margin-left:auto;color:var(--ink-muted)}.navbar .user-chip-wrap .dropdown-menu{position:static!important;float:none;width:100%;margin:0!important;padding:0!important;background:0 0!important;border:none!important;box-shadow:none!important;transform:none!important}.navbar .user-chip-wrap .dropdown-menu .dropdown-item{padding:10px 4px 10px 42px!important;font-size:13.5px;color:var(--ink-muted)!important;background:0 0!important;border-bottom:1px solid var(--border-color);text-align:left!important}.navbar .user-chip-wrap .dropdown-menu .dropdown-item:last-child{border-bottom:none}.navbar .user-chip-wrap .dropdown-divider{display:none}.navbar-brand{border-right:none!important;padding-right:0!important;margin-right:0!important}.dark-mode .navbar .navbar-collapse{background:var(--header-bg-color);border-top-color:var(--border-color)}.dark-mode .navbar .nav-link{border-bottom-color:var(--border-color)!important}.dark-mode .navbar-toggler .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' d='M4 8h22M4 15h22M4 22h22'/%3E%3C/svg%3E")!important}}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--paper-bg-alt);border:1px solid var(--border-color);color:var(--ink-soft);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}.paper-progress{position:relative;height:auto;background:0 0;margin:18px 0 8px}.paper-progress::before{content:"";display:block;height:8px;background:var(--paper-bg-alt);border-radius:999px}.paper-progress .paper-progress-bar{position:absolute;top:0;left:0;height:8px;background:var(--color);border-radius:999px;transition:width .4s ease;min-width:4px}.paper-progress .paper-progress-label{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.paper-progress .paper-progress-pct{color:var(--color)}.paper-progress.paper-progress-ready .paper-progress-bar{background:var(--color)}.paper-error-card{margin-top:18px;padding:20px 22px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-left:3px solid var(--status-error);border-radius:10px;color:var(--color)}.dark-mode .paper-error-card{border-left-color:var(--status-error)}.paper-ratelimit-card{margin-top:18px;padding:20px 22px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-left:3px solid var(--status-progress);border-radius:10px;color:var(--color)}.dark-mode .paper-ratelimit-card{border-left-color:var(--status-progress)}.paper-ratelimit-head{display:flex;align-items:flex-start;gap:14px}.paper-ratelimit-head>i{font-size:18px;color:var(--status-progress);margin-top:4px;flex-shrink:0}.dark-mode .paper-ratelimit-head>i{color:var(--status-progress)}.paper-ratelimit-card strong{color:var(--color)}.paper-ratelimit-card{text-align:left;border-left-color:var(--status-progress)}.dark-mode .paper-ratelimit-card{border-left-color:var(--status-progress)}.paper-ratelimit-head>.ui-icon{width:18px;height:18px;margin-top:3px;flex-shrink:0;color:var(--status-progress)}.paper-ratelimit-card .paper-error-title{font-family:var(--font-sans);font-size:17px;font-weight:600}.paper-ratelimit-card .paper-error-msg{font-family:var(--font-sans);white-space:normal;margin-left:32px}.paper-ratelimit-card .paper-error-eyebrow{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.status-pill-ratelimit{border-color:var(--status-progress);color:var(--status-progress)}.dark-mode .status-pill-ratelimit{border-color:var(--status-progress);color:var(--status-progress)}.status-ratelimit{background:var(--status-progress)}.dark-mode .status-ratelimit{background:var(--status-progress)}.paper-error-head{display:flex;align-items:flex-start;gap:14px}.paper-error-head>i{font-size:18px;color:var(--status-error);margin-top:4px;flex-shrink:0}.dark-mode .paper-error-head>i{color:var(--status-error)}.paper-error-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.paper-error-title{font-family:var(--font-serif);font-size:1.4rem;line-height:1.2;margin-top:2px;color:var(--color)}.paper-error-msg{margin:12px 0 0;font-size:14px;line-height:1.55;color:var(--ink-soft);font-family:var(--font-mono);word-break:break-word;white-space:pre-wrap}.paper-error-hints{margin:14px 0 0;padding-left:18px;color:var(--ink-soft);font-size:13.5px;line-height:1.6}.paper-error-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.paper-detail-grid{display:grid;grid-template-columns:160px 1fr;gap:10px 20px;margin-top:18px;font-size:.92rem}.paper-detail-grid .detail-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);white-space:nowrap;padding-top:2px}.paper-detail-grid .detail-value{word-break:break-all;color:var(--color)}.paper-detail-grid .detail-value a{color:var(--color);border-bottom:1px solid var(--border-color)}.paper-detail-grid .detail-value a:hover{border-bottom-color:var(--color)}@media (max-width:700px){.paper-detail-grid{grid-template-columns:1fr;gap:4px 0}.paper-detail-grid .detail-label{padding-top:8px}}.paper-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:18px 0 28px}.paper-support-card{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;color:var(--color);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.paper-support-card:hover{border-color:var(--color);text-decoration:none;color:var(--color)}.paper-support-card .paper-support-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:center;gap:8px}.paper-support-card p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-soft)}.paper-support-card .paper-support-cta{margin-top:auto;font-size:13px;font-weight:500;color:var(--color);display:inline-flex;align-items:center;gap:6px}.paper-support-card:hover .paper-support-cta i{transform:translateX(2px)}.paper-support-card .paper-support-cta i{transition:transform .15s ease}.paper-kofi-wrap{border:1px solid var(--border-color);border-radius:10px;overflow:hidden;background:var(--paper-card)}.paper-kofi-wrap iframe{border:0;width:100%;height:650px;display:block}.dark-mode .paper-kofi-wrap iframe{filter:invert(.88) hue-rotate(180deg) sepia(.15) saturate(1.2) brightness(1.1) contrast(.85)}@media (max-width:700px){.paper-kofi-wrap iframe{height:720px}}.pr-page{min-height:100%;background:var(--canvas-bg-color)}.pr-page-inner{padding-top:24px;padding-bottom:60px}.pr-header{margin:6px 0 18px}.pr-title{margin:4px 0 10px;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;word-break:break-word}.pr-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.pr-header-meta .pr-meta-item{display:inline-flex;align-items:center;gap:6px}.pr-header-meta .pr-meta-item i{color:var(--ink-muted)}.pr-body-card{margin:18px 0 24px;padding:20px 22px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px}.pr-body-card .paper-section-eyebrow{margin-bottom:12px}.paper-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--border-color);margin:18px 0 0}.paper-tabs .paper-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:0 0;border:0;border-bottom:2px solid transparent;font-family:var(--font-sans);font-size:13.5px;font-weight:500;color:var(--ink-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px}.paper-tabs .paper-tab:hover{color:var(--color)}.paper-tabs .paper-tab.active{color:var(--color);border-bottom-color:var(--color)}.paper-tabs .paper-tab i{color:inherit;opacity:.85}.paper-tabs .paper-tab:active,.paper-tabs .paper-tab:focus,.paper-tabs .paper-tab:focus-visible{outline:0;box-shadow:none}.paper-tabs .paper-tab:focus-visible{color:var(--color);background:var(--hover-bg-color);border-radius:6px 6px 0 0}.pr-diff{margin:16px 0 28px;display:flex;flex-direction:column;gap:16px}.diff-file-block{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.diff-file-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--paper-bg-alt);border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:12.5px;color:var(--color)}.diff-file-icon{color:var(--ink-muted);flex-shrink:0}.diff-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.diff-file-status{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-color);color:var(--ink-muted);background:var(--paper-card)}.diff-file-status-added{color:#2f6b3e;border-color:rgba(47,107,62,.35);background:rgba(47,107,62,.08)}.diff-file-status-deleted{color:var(--status-error);border-color:rgba(161,58,46,.35);background:rgba(161,58,46,.08)}.diff-file-status-renamed{color:var(--status-progress);border-color:rgba(138,107,30,.35);background:rgba(138,107,30,.08)}.dark-mode .diff-file-status-added{color:#a7e2a7;border-color:rgba(167,226,167,.35);background:rgba(167,226,167,.08)}.dark-mode .diff-file-status-deleted{color:var(--status-error);border-color:rgba(255,139,123,.35);background:rgba(255,139,123,.08)}.dark-mode .diff-file-status-renamed{color:var(--status-progress);border-color:rgba(255,211,122,.35);background:rgba(255,211,122,.08)}.diff-file-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;table-layout:fixed}.diff-file-table tr.diff-row{vertical-align:top}.diff-file-table .diff-gutter{width:48px;padding:0 10px;text-align:right;color:var(--ink-muted);background:var(--paper-bg-alt);border-right:1px solid var(--border-color);user-select:none;font-variant-numeric:tabular-nums;vertical-align:top;white-space:nowrap}.diff-file-table .diff-gutter-new{border-right:1px solid var(--border-color)}.diff-file-table .diff-sign{width:18px;padding:0 6px;text-align:center;color:var(--ink-muted);background:var(--paper-bg-alt);user-select:none;vertical-align:top}.diff-file-table .diff-code{padding:1px 12px;white-space:pre-wrap;word-break:break-word;color:var(--color)}.diff-row-hunk td{background:var(--paper-bg-alt)!important;color:var(--ink-muted);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);font-size:12px;letter-spacing:.02em;padding-top:6px;padding-bottom:6px}.diff-row-hunk .diff-code{color:var(--ink-muted)}.diff-row-add .diff-code{background:rgba(47,107,62,.1);color:#1f4a2a}.diff-row-add .diff-gutter,.diff-row-add .diff-sign{background:rgba(47,107,62,.06);color:#2f6b3e}.diff-row-remove .diff-code{background:rgba(161,58,46,.1);color:#6e1f1a}.diff-row-remove .diff-gutter,.diff-row-remove .diff-sign{background:rgba(161,58,46,.06);color:var(--status-error)}.dark-mode .diff-row-add .diff-code{background:rgba(167,226,167,.1);color:#c9f0c9}.dark-mode .diff-row-add .diff-gutter,.dark-mode .diff-row-add .diff-sign{background:rgba(167,226,167,.06);color:#a7e2a7}.dark-mode .diff-row-remove .diff-code{background:rgba(255,139,123,.1);color:#ffc9c0}.dark-mode .diff-row-remove .diff-gutter,.dark-mode .diff-row-remove .diff-sign{background:rgba(255,139,123,.06);color:var(--status-error)}@media (max-width:700px){.diff-file-table{font-size:11.5px}.diff-file-table .diff-gutter{width:36px;padding:0 6px}.diff-file-table .diff-sign{width:14px;padding:0 4px}.diff-file-table .diff-code{padding:1px 8px}}.pr-comments{list-style:none;margin:16px 0 28px;padding:0;display:flex;flex-direction:column;gap:12px}.pr-comment{padding:16px 18px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px}.pr-comment-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border-color)}.pr-comment-author{font-weight:600;color:var(--color);font-size:14px;display:inline-flex;align-items:center;gap:6px}.pr-comment-author i{color:var(--ink-muted);font-size:12px}.pr-comment-date{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);letter-spacing:.02em}.pr-comment-body{color:var(--color);font-size:14px;line-height:1.6}.pr-comment-body :last-child{margin-bottom:0}@media (max-width:700px){.pr-page-inner{padding-top:14px;padding-bottom:40px}.pr-body-card{padding:14px 14px;border-radius:8px}.pr-comment{padding:12px 14px}.paper-tabs .paper-tab{padding:10px 12px;font-size:13px}.pr-diff pre{font-size:11.5px;padding:12px}}.toast{background-color:var(--paper-card)!important;color:var(--color)!important;border:1px solid var(--border-color)!important;border-radius:10px!important;box-shadow:0 8px 24px rgba(0,0,0,.08);backdrop-filter:none;min-width:280px;max-width:calc(100vw - 24px)}.toast .toast-header{background:0 0!important;color:var(--color)!important;border-bottom:1px solid var(--border-color)!important;font-family:var(--font-sans);padding:10px 12px}.toast .toast-header strong{font-weight:600;color:var(--color);letter-spacing:.01em}.toast .toast-header .close{color:var(--ink-muted)!important;text-shadow:none;opacity:.9;font-size:1.2rem}.toast .toast-header .close:hover{color:var(--color)!important;opacity:1}.toast .toast-body{color:var(--color)!important;padding:12px;font-size:14px;line-height:1.45}.dark-mode .toast{box-shadow:0 8px 24px rgba(0,0,0,.5)}.paper-crumbs{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);letter-spacing:0}.paper-crumbs .here,.paper-crumbs a{color:var(--color);text-decoration:none}.paper-page-title{font-family:var(--font-sans);font-weight:600;font-size:32px;line-height:1.2;letter-spacing:-.035em;margin:8px 0 6px;color:var(--color)}.paper-page-title em{color:inherit;font-style:normal}.paper-page-lede{color:var(--ink-soft);font-size:16px;max-width:640px;line-height:1.55}.paper-meta-rule{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin:22px 0 18px;padding:12px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);letter-spacing:.02em}.paper-meta-rule b{color:var(--color);font-weight:500}.paper-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:10px;padding:20px 22px}.dark-mode .paper-card{background:var(--admin-stat-bg)}.paper-section-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-weight:500;margin-bottom:10px;display:block}.paper-section-title{font-family:var(--font-serif);font-weight:400;font-size:22px;letter-spacing:-.01em;margin:0 0 8px}.paper-kbd{display:inline-block;font-family:var(--font-mono);font-size:10.5px;padding:1px 6px;border:1px solid var(--border-color);border-bottom-width:2px;border-radius:3px;background:var(--paper-card,#fff);color:var(--color)}.paper-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;padding:2px 8px;border:1px solid var(--border-color);border-radius:999px;color:var(--ink-soft);background:var(--paper-card,#fff);letter-spacing:.04em}.paper-pill.accent{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.paper-pill.good{border-color:#2f6b3e;color:#2f6b3e}.paper-pill.warn{border-color:var(--status-progress);color:var(--status-progress)}.paper-pill.bad{border-color:var(--status-error);color:var(--status-error)}.paper-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--border-color)}.paper-row:first-child{border-top:1px solid var(--border-color)}.paper-row .row-title{font-family:var(--font-serif);font-size:20px;letter-spacing:-.01em;line-height:1.2}.paper-row .row-title a{color:var(--color)}.paper-row .row-meta{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);letter-spacing:.03em;margin-top:6px;display:flex;flex-wrap:wrap;gap:14px}.paper-row .row-actions{display:flex;gap:6px;flex-shrink:0}.paper-form-step{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--border-color)}.paper-form-step:first-child{border-top:1px solid var(--border-color)}.paper-form-step .step-num{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);padding-top:4px;letter-spacing:.02em}.paper-form-step .step-title{font-family:var(--font-serif);font-size:22px;letter-spacing:-.01em;line-height:1.2;margin-bottom:4px}.paper-form-step .step-sub{color:var(--ink-soft);font-size:13.5px;margin-bottom:14px;text-wrap:pretty}.paper-field-label{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--color);margin-bottom:6px;display:block}.paper-switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:16px}.paper-switch-row+.paper-switch-row{border-top:1px dashed var(--border-soft)}.paper-switch-row .sw-label{font-weight:500}.paper-switch-row .sw-sub{display:block;font-size:12.5px;color:var(--ink-muted);margin-top:2px}.paper-page .custom-select,.paper-page .form-control{border-radius:6px;border-color:var(--border-color);font-size:14px;padding:8px 12px;height:auto;background:var(--input-bg);color:var(--input-color)}.paper-page .custom-select:focus,.paper-page .form-control:focus{color:var(--input-color);background:var(--input-bg);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.custom-select:focus,.form-control:focus,input:focus,select:focus,textarea:focus{color:var(--input-color)!important;background-color:var(--input-bg)!important}.form-control::selection,input::selection,textarea::selection{background:var(--accent-soft);color:var(--input-color)}.dark-mode .form-control::selection,.dark-mode input::selection,.dark-mode textarea::selection{background:rgba(124,199,190,.3);color:var(--input-color)}.btn.btn-ink{background:var(--color);color:var(--canvas-bg-color);border:1px solid var(--color);font-weight:500;border-radius:6px;padding:8px 14px}.btn.btn-ink:hover{background:var(--primary-hover-bg);color:var(--canvas-bg-color);border-color:var(--primary-hover-bg)}.btn.btn-accent{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:500;border-radius:6px}.btn.btn-accent:hover{background:#17544f;border-color:#17544f;color:#fff}.paper-page .dashboard-filter-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin:18px 0 0;flex-wrap:wrap}.paper-page .dashboard-filter-row .form-control{height:38px;background:var(--paper-card)}.paper-page .dashboard-filter-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.paper-page .dashboard-filter-row .btn-group .btn,.paper-page .dashboard-filter-row .dropdown-toggle{background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);height:38px;padding:0 14px;font-size:14px;font-weight:500;border-radius:var(--radius-control,6px);display:inline-flex;align-items:center;gap:6px;line-height:1}.paper-page .dashboard-filter-row .dropdown-toggle .filter-btn-label{color:var(--ink-muted);font-weight:500}.paper-page .dashboard-filter-row .dropdown-toggle .filter-btn-label::after{content:"·";margin-left:6px;color:var(--ink-faint)}.paper-page .dashboard-filter-row .dropdown-toggle .filter-btn-value{font-weight:500}.paper-page .dashboard-filter-row .dropdown-toggle .fas{font-size:11px;color:var(--ink-muted)}.paper-page .dashboard-filter-row .btn-group .btn:hover,.paper-page .dashboard-filter-row .dropdown-toggle:hover{background:var(--hover-bg-color);border-color:var(--border-color);color:var(--color)}.paper-page .dashboard-filter-row .btn-group{gap:0}.paper-page .dashboard-filter-row .btn-group .btn{border-radius:0;border-right-width:0}.paper-page .dashboard-filter-row .btn-group .btn:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.paper-page .dashboard-filter-row .btn-group .btn:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px;border-right-width:1px}.paper-page .dashboard-filter-row .btn-group .btn.btn-primary{background:var(--color);color:var(--canvas-bg-color);border-color:var(--color)}.paper-page .dashboard-filter-row .search-wrap{flex:1 1 280px;min-width:220px}.paper-page .quota-row{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:24px 0 0;padding:0;background:0 0;border:none;border-radius:0}.paper-page .quota-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);opacity:1}.paper-page .quota-value{font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;color:var(--color)}.paper-page .quota-value .quota-unlimited-tag{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);margin-left:4px}.paper-page .quota-track{height:6px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:999px;overflow:hidden;width:100%;min-width:0}.paper-page .quota-track .quota-fill{height:100%;min-width:2px;border-radius:999px;background:var(--color);transition:width .3s ease}.paper-page .quota-track.quota-warn .quota-fill{background:var(--status-progress)}.paper-page .quota-track.quota-danger .quota-fill{background:var(--status-error)}.paper-page .quota-track.quota-unlimited{background:repeating-linear-gradient(-45deg,var(--paper-bg-alt) 0 4px,var(--border-soft,var(--border-color)) 4px 6px)}.paper-page .repo-list{margin-top:8px}.paper-page .repo-list-item{padding:20px 0;gap:16px;border-bottom:1px solid var(--border-soft,var(--border-color))}.paper-page .repo-list-item:first-child{border-top:none}.paper-page .repo-list-item-header{gap:10px;margin-bottom:6px}.paper-page .repo-name{font-family:var(--font-mono);font-size:15px;color:var(--color)}.paper-page .repo-source{font-size:13px;color:var(--ink-soft);opacity:1;gap:10px}.paper-page .repo-source a{color:var(--ink-soft);border-bottom:1px dotted var(--border-color)}.paper-page .repo-source a:hover{color:var(--color)}.paper-page .repo-meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);opacity:1;gap:16px;margin-top:10px}.paper-page .type-badge{font-family:var(--font-mono);font-size:11px;padding:3px 8px;letter-spacing:.1em}.paper-page .repo-list-item-actions .dropdown-toggle{background:var(--paper-card);border:1px solid var(--border-color);color:var(--color);border-radius:6px;font-size:13px;padding:6px 12px;height:auto}.paper-settings{max-width:1180px;margin:0 auto;padding:48px 32px 80px}.paper-settings .paper-page-title{max-width:14em}.paper-settings-body{display:grid;grid-template-columns:220px 1fr;gap:60px;margin-top:32px;border-top:1px solid var(--border-color);padding-top:28px}.paper-settings-toc{position:sticky;top:32px;align-self:start}.paper-settings-toc-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px}.paper-settings-toc nav{display:flex;flex-direction:column;gap:2px}.paper-settings-toc nav a{padding:8px 0 8px 14px;border-left:2px solid transparent;color:var(--ink-soft);font-size:14px;text-decoration:none}.paper-settings-toc nav a.active,.paper-settings-toc nav a:hover{color:var(--color);border-left-color:var(--color)}.paper-settings-main{min-width:0;max-width:720px}.paper-settings-section{padding:28px 0;border-bottom:1px solid var(--border-soft,var(--border-color))}.paper-settings-section:first-child{padding-top:0}.paper-settings-section:last-of-type{border-bottom:none}.paper-settings-section .form-group{margin-bottom:18px}.paper-settings-section .form-check{padding:10px 0 10px 28px;border-bottom:1px solid var(--border-soft,var(--border-color))}.paper-settings-section .form-check:last-child{border-bottom:none}.paper-settings-section .form-check-label{font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--color);cursor:pointer}.paper-settings-section .form-check-input{cursor:pointer;width:16px;height:16px;margin-top:3px;margin-left:-28px;accent-color:var(--color)}.paper-settings-section .form-text{color:var(--ink-soft);font-size:13px;margin-top:4px;max-width:48em}.paper-settings-section .paper-section-copy{margin:-4px 0 14px}.paper-settings-footer{padding-top:24px;display:flex;flex-direction:column;gap:14px}.paper-settings-footer .btn-ink{align-self:flex-start}.paper-settings-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.paper-settings-hint{font-size:13px;color:var(--ink-muted)}.paper-inline-alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-control,6px);border:1px solid var(--border-color);background:var(--paper-bg-alt);font-size:13px;color:var(--color)}.paper-inline-alert i{margin-top:2px;color:var(--ink-muted)}.paper-inline-alert-error{border-color:var(--status-error);background:var(--status-error-soft)}.paper-inline-alert-error i{color:var(--status-error)}.paper-account-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-surface,10px);background:var(--paper-card);margin-bottom:20px}.paper-account-card img{flex-shrink:0}.paper-account-identity{flex:1 1 auto;min-width:0}.paper-account-name{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--color)}.paper-account-meta{font-size:13px;color:var(--ink-muted);margin-top:2px}.paper-danger-zone{padding:16px;border:1px solid var(--status-error);border-radius:var(--radius-surface,10px);background:var(--status-error-soft)}.paper-danger-head{font-weight:600;font-size:14px;color:var(--status-error);margin-bottom:6px}.paper-danger-copy{font-size:13px;color:var(--ink-soft);max-width:52em;margin-bottom:12px}.paper-danger-zone .paper-inline-alert{margin-bottom:12px}.btn.btn-outline-danger{background:0 0;color:var(--status-error);border:1px solid var(--status-error);font-weight:500;border-radius:var(--radius-control,6px);padding:8px 14px}.btn.btn-outline-danger:hover{background:var(--status-error);color:#fff;border-color:var(--status-error)}.navbar .user-menu{min-width:260px}.navbar .user-menu .dropdown-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px!important}.navbar .user-menu .dropdown-item i{width:16px;margin-top:3px;font-size:13px;color:var(--ink-muted);text-align:center}.navbar .user-menu .dropdown-item span{display:flex;flex-direction:column;line-height:1.3}.navbar .user-menu .dropdown-item small{font-size:12px;color:var(--ink-muted)}.navbar .user-menu .dropdown-header{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:8px 10px 6px}.paper-field-label{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--color);margin-bottom:6px;display:block}@media (max-width:900px){.paper-settings-body{grid-template-columns:1fr;gap:24px}.paper-settings-toc{position:static}.paper-settings-toc nav{flex-direction:row;flex-wrap:wrap;gap:8px}.paper-settings-toc nav a{border-left:none;border-bottom:2px solid transparent;padding:4px 0}.paper-settings-toc nav a.active,.paper-settings-toc nav a:hover{border-bottom-color:var(--color);border-left:none}}.paper-table{display:block;margin-top:20px;background:0 0;border:none;border-top:1px solid var(--border-color);border-radius:0;overflow:visible}.paper-table .paper-table-head,.paper-table .paper-table-row{display:grid;grid-template-columns:minmax(280px,2.4fr) minmax(140px,1fr) 140px 90px 140px 52px;align-items:center;gap:18px;padding:12px 4px}.paper-table.paper-table-conferences .paper-table-head,.paper-table.paper-table-conferences .paper-table-row{grid-template-columns:minmax(280px,2.4fr) 140px 90px 220px 52px}.paper-table.paper-table-repos .paper-table-head,.paper-table.paper-table-repos .paper-table-row{grid-template-columns:minmax(280px,2.4fr) minmax(140px,1fr) 90px 140px 52px}.paper-table.paper-table-repos.has-bulk .paper-table-head,.paper-table.paper-table-repos.has-bulk .paper-table-row{grid-template-columns:28px minmax(280px,2.4fr) minmax(140px,1fr) 90px 140px 52px;gap:12px}.paper-table .admin-users-row{grid-template-columns:28px minmax(280px,2.4fr) 90px 120px 100px 52px!important;gap:12px!important}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(320px,3fr) 190px 90px 170px 52px;gap:20px;padding:8px 4px}.paper-table.paper-table-dashboard .cell-anon .anon-text{gap:2px}.paper-table.paper-table-dashboard .cell-anon .repo-name{padding:0}.paper-table .paper-table-head{background:0 0;border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);padding-top:8px;padding-bottom:8px}.paper-table .paper-table-head .sortable{cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:6px;background:0 0;border:none;padding:2px 0;margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:4px}.paper-table .paper-table-head .sortable:hover{color:var(--color)}.paper-table .paper-table-head .sortable.active{color:var(--color)}.paper-table .paper-table-head .sortable i{font-size:10px}.paper-table .paper-table-head .num,.paper-table .paper-table-row .num{text-align:right}.paper-table .paper-table-head .num .sortable{flex-direction:row-reverse}.paper-table .paper-table-row{border-top:1px solid var(--border-soft,var(--border-color));font-size:14px;transition:background-color .12s ease}.paper-table .paper-table-row:hover{background:var(--hover-bg-color)}.paper-table .paper-table-row.row-clickable{cursor:pointer}.paper-table .paper-table-row.repo-inactive>:not(.cell-actions){opacity:.55}.paper-table .paper-table-row.repo-error{background:var(--status-error-soft);border-left:2px solid var(--status-error);padding-left:6px}.paper-table .paper-table-row.repo-error:hover{background:var(--status-error-soft-hover)}.cell-status .status-sub.status-sub-error,.paper-table .cell-status .status-sub-error{color:var(--status-error)}.paper-table .cell-status .status-sub-warn{color:var(--status-progress)}.paper-table .cell-anon{display:flex;align-items:center;gap:12px;min-width:0}.paper-table .cell-anon .type-badge{flex-shrink:0;min-width:52px;justify-content:center}.paper-table .cell-anon .anon-text{min-width:0;display:flex;flex-direction:column;gap:3px}.paper-table .cell-anon .anon-title{display:flex;align-items:center;gap:8px;min-width:0}.paper-table .cell-anon .anon-title .type-badge{margin-left:0}.paper-table .cell-anon .repo-name{font-family:var(--font-mono);font-size:14px;color:var(--color);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%;padding:2px 0}.paper-table .cell-anon .repo-name-static{color:var(--ink-muted);font-style:italic}.paper-table .cell-anon .anon-sub{font-family:var(--font-sans);font-size:13px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:10px;min-width:0}.paper-table .cell-anon .anon-sub .anon-source{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-anon .anon-sub .conf-tag{flex:0 1 auto;min-width:72px;max-width:50%}.paper-table .cell-anon .anon-sub a{color:var(--ink-muted);border-bottom:1px dotted var(--border-color);padding:4px 0;margin:-4px 0}.paper-table .cell-anon .anon-sub a:hover{color:var(--color)}.paper-table .cell-anon .anon-sub .commit-hash{font-family:var(--font-mono);font-size:12px}.paper-table .cell-conf{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-conf span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-status{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:14px;color:var(--color);min-width:0}.paper-table .cell-status .status-line{display:inline-flex;align-items:center;gap:8px}.paper-table .cell-status .status-sub{flex-basis:100%;font-family:var(--font-sans);font-size:13px;line-height:1.3;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-views{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color)}.paper-table .cell-expires{font-family:var(--font-sans);font-size:13px;color:var(--ink-soft)}.paper-table .cell-expires .expires-never{color:var(--ink-muted)}.paper-table .cell-expires .expires-past{color:var(--ink-muted)}.paper-table .empty-dash{color:var(--ink-faint)}.paper-table .cell-actions{display:flex;justify-content:flex-end}.status-dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex-shrink:0;background:var(--status-inactive)}.status-dot.status-ready{background:var(--status-ready)}.status-dot.status-error{background:var(--status-error)}.status-dot.status-preparing,.status-dot.status-progress{background:var(--status-progress)}.status-dot.status-expired,.status-dot.status-removed{background:var(--status-inactive)}.dashboard-page{padding-bottom:96px}.dashboard-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;font-size:13px;color:var(--ink-muted)}.dashboard-meta .dashboard-count{font-variant-numeric:tabular-nums}.btn-link-inline{background:0 0;border:none;padding:2px 4px;margin:-2px 0;font:inherit;color:var(--link-color);cursor:pointer;border-radius:4px}.btn-link-inline:hover{color:var(--link-hover-color);text-decoration:underline}.btn.btn-outline-ink{background:0 0;color:var(--color);border:1px solid var(--border-color);font-weight:500;border-radius:var(--radius-control,6px);padding:8px 14px}.btn.btn-outline-ink:hover{background:var(--hover-bg-color);color:var(--color);border-color:var(--ink-faint)}.paper-page .dropdown-menu .dropdown-item-danger,.paper-page .dropdown-menu .dropdown-item-danger i{color:var(--status-error)}.paper-page .dropdown-menu .dropdown-item-danger:focus,.paper-page .dropdown-menu .dropdown-item-danger:hover{background:var(--status-error-soft-hover);color:var(--status-error)}.paper-page .dropdown-menu button.dropdown-item{width:100%;text-align:left;background:0 0;border:none}.paper-page .dropdown-menu .dropdown-divider{border-top-color:var(--border-soft,var(--border-color));margin:4px 0}.paper-table .paper-table-skeleton{pointer-events:none}.skeleton{display:block;background:var(--paper-bg-alt);border-radius:4px;position:relative;overflow:hidden}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--hover-bg-color),transparent);animation:skeleton-shimmer 1.4s infinite}.skeleton-line{height:12px}.skeleton-line+.skeleton-line{margin-top:8px}.skeleton-line-sm{height:10px}.skeleton-badge{width:52px;height:22px;border-radius:999px;flex-shrink:0}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skeleton::after{animation:none}}.paper-table .paper-table-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;color:var(--ink-muted);text-align:center;border-top:1px solid var(--border-soft,var(--border-color))}.paper-table .paper-table-empty>i{font-size:1.6rem;color:var(--ink-faint)}.paper-table .paper-table-empty-actions{display:flex;gap:8px;margin-top:8px}.bulk-bar{display:flex;align-items:center;gap:8px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;margin:8px 0}.paper-page.admin-page .paper-page-title{font-size:1.6rem;margin:4px 0}.paper-page.admin-page .paper-page-lede{display:none}.paper-page.admin-page .paper-crumbs{margin-bottom:4px}.paper-page.admin-page .admin-nav{margin:6px 0 12px}.admin-filter-toolbar{display:flex;flex-direction:column;gap:6px;margin:8px 0 12px;position:sticky;top:0;z-index:4;background:var(--canvas-bg-color);padding:6px 0;border-bottom:1px solid var(--border-soft,var(--border-color));box-shadow:0 1px 0 var(--canvas-bg-color)}@media (max-width:900px){.admin-filter-toolbar{position:static;box-shadow:none}}.admin-filter-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.admin-filter-row .search-wrap{flex:1;min-width:220px}.admin-filter-row .search-wrap .form-control{height:34px}.admin-filter-inline{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-muted)}.admin-filter-inline>label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0;white-space:nowrap}.admin-filter-inline .form-control-sm{height:28px;padding:2px 8px;font-size:12px}.admin-filter-inline input[type=search].form-control-sm,.admin-filter-inline input[type=text].form-control-sm{width:130px}.admin-filter-inline input[type=date].form-control-sm{width:130px}.admin-filter-inline select.form-control-sm{width:auto;min-width:88px}.admin-filter-inline .arrow{color:var(--ink-muted);font-size:11px}.admin-filter-spacer{flex:1}.admin-active-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--ink-muted)}.admin-active-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border:1px solid var(--border-color);border-radius:999px;background:var(--hover-bg-color);font-size:12px;color:var(--color)}.admin-active-chip .key{color:var(--ink-muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.admin-active-chip button{background:0 0;border:none;cursor:pointer;padding:0 4px;color:var(--ink-muted);font-size:12px;border-radius:50%}.admin-active-chip button:hover{color:#b42318}.admin-search-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);pointer-events:none;border:1px solid var(--border-color);border-radius:4px;padding:1px 5px;background:var(--paper-card)}.admin-filter-row .search-wrap{position:relative}.admin-filter-row .search-wrap .form-control{padding-right:40px}.paper-table-row.row-selected{background:rgba(47,122,68,.06)}.queue-state-pills{display:inline-flex;gap:6px;margin-left:8px;flex-wrap:wrap}.queue-state-pills .pill{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--ink-muted)}.queue-state-pills .pill-active{color:var(--status-progress);border-color:rgba(196,138,46,.4)}.queue-state-pills .pill-failed{color:#b42318;border-color:rgba(180,35,24,.4)}.queue-state-pills .pill-completed{color:#2f7a44;border-color:rgba(47,122,68,.3)}.queue-state-pills .pill-waiting{color:var(--ink-soft)}.queue-state-pills .pill-delayed{color:var(--ink-muted)}.admin-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 12px;font-size:13px}.admin-summary .summary-total{font-family:var(--font-serif);font-size:1.05rem;color:var(--color);margin-right:8px}.admin-summary .summary-meta{color:var(--ink-muted);font-size:12px;margin-right:8px}.admin-summary .summary-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--ink-muted);cursor:pointer;font-size:12px;user-select:none;transition:background-color .1s,border-color .1s}.admin-summary .summary-pill:hover{background:var(--hover-bg-color)}.admin-summary .summary-pill .count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color)}.admin-summary .summary-pill.active{background:var(--primary-bg);color:var(--primary-color);border-color:var(--primary-bg)}.admin-summary .summary-pill.active .count{color:inherit}.admin-summary .summary-pill.error .count{color:#b42318}.admin-summary .summary-pill.warn .count{color:var(--status-progress)}.admin-summary .summary-pill.ok .count{color:#2f7a44}.dark-mode .admin-summary .summary-pill.error .count{color:#f08a82}.dark-mode .admin-summary .summary-pill.warn .count{color:var(--status-progress)}.dark-mode .admin-summary .summary-pill.ok .count{color:#7dc894}.dark-mode .queue-state-pills .pill-active{color:var(--status-progress);border-color:rgba(232,185,112,.4)}.dark-mode .queue-state-pills .pill-failed{color:#f08a82;border-color:rgba(240,138,130,.4)}.dark-mode .queue-state-pills .pill-completed{color:#7dc894;border-color:rgba(125,200,148,.3)}.job-progress{flex:1;height:6px;background:var(--border-soft,var(--border-color));border-radius:999px;overflow:hidden;margin-left:12px;max-width:200px}.job-progress-bar{height:100%;background:#2f7a44;transition:width .3s}.paper-table-empty{padding:48px 4px;text-align:center;color:var(--ink-muted);display:flex;flex-direction:column;align-items:center;gap:8px;border-top:1px solid var(--border-soft,var(--border-color))}.paper-table-empty>i{font-size:1.6rem}.q-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:4px}.q-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.q-range-btns{display:inline-flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.q-range-btns .btn{border:none;border-radius:0;padding:5px 14px;font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);background:var(--paper-card)}.q-range-btns .btn+.btn{border-left:1px solid var(--border-color)}.q-range-btns .btn.active{background:var(--color);color:var(--paper-card)}.btn-dark{background:var(--color)!important;color:var(--paper-card)!important;border-color:var(--color)!important;border-radius:999px;padding:5px 18px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.04em}.q-cards{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}.q-card{flex:1;min-width:140px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.q-card:hover{border-color:var(--ink-muted)}.q-card.selected{border-color:var(--color);box-shadow:0 0 0 1px var(--color)}.q-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.q-dot{width:8px;height:8px;border-radius:50%;background:#2f7a44;flex-shrink:0}.q-dot-red{background:#b42318}.dark-mode .q-dot{background:#7dc894}.dark-mode .q-dot-red{background:#f08a82}.q-card-name{font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:var(--ink-muted);letter-spacing:.04em}.q-card-count{font-family:var(--font-serif);font-size:2rem;font-weight:400;line-height:1.1;color:var(--color);margin-bottom:6px}.q-card-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted);letter-spacing:.04em}.q-card-bar{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden;margin-top:6px}.q-card-bar-fill{height:100%;background:#1f6a64;border-radius:2px;transition:width .3s}.dark-mode .q-card-bar-fill{background:#7cc7be}.q-detail{display:grid;grid-template-columns:1fr 320px;gap:16px;margin-bottom:20px}.q-throughput{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px}.q-chart-wrap{position:relative}.q-throughput canvas{width:100%;display:block}.q-chart-tooltip{position:absolute;pointer-events:none;background:var(--paper-card);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-family:var(--font-mono);font-size:11px;line-height:1.6;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:10}.q-chart-tooltip .q-tip-time{color:var(--ink-muted);margin-bottom:2px}.q-chart-tooltip .q-tip-completed{color:#1f6a64}.q-chart-tooltip .q-tip-failed{color:#b42318}.dark-mode .q-chart-tooltip .q-tip-completed{color:#7cc7be}.dark-mode .q-chart-tooltip .q-tip-failed{color:#f08a82}.q-chart-crosshair{position:absolute;top:0;width:1px;height:100%;background:var(--ink-muted);opacity:.3;pointer-events:none;z-index:9}.q-stats-panel{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px;display:flex;flex-direction:column}.q-section-label{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink-muted);text-transform:lowercase;letter-spacing:.04em;margin-bottom:14px}.q-section-right{float:right;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.q-legend-completed{color:#1f6a64}.q-legend-failed{color:#b42318;margin-left:8px}.q-legend-exec{color:var(--status-progress);margin-left:8px;letter-spacing:2px}.dark-mode .q-legend-completed{color:#7cc7be}.dark-mode .q-legend-failed{color:#f08a82}.dark-mode .q-legend-exec{color:var(--status-progress)}.q-chart-tooltip .q-tip-exec{color:var(--status-progress)}.dark-mode .q-chart-tooltip .q-tip-exec{color:var(--status-progress)}.q-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;flex:1}.q-stat-label{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.q-stat-value{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;color:var(--color);line-height:1.2}.q-stats-actions{display:flex;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-color)}.q-stats-actions .btn{font-family:var(--font-mono);font-size:11px;padding:6px 14px;border-radius:8px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color)}.q-jobs{background:var(--paper-card);border:1px solid var(--border-color);border-radius:10px;padding:16px 20px}.q-jobs-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.q-state-filters{display:inline-flex;gap:6px;flex-wrap:wrap}.q-state-toggle{cursor:pointer;display:inline-flex;align-items:center}.q-state-toggle input{display:none}.q-state-chip{font-family:var(--font-mono);font-size:11px;padding:3px 10px;border-radius:10px;border:1px solid var(--border-color);background:var(--paper-card);color:var(--ink-muted);transition:opacity .15s,background .15s;text-transform:capitalize}.q-state-toggle input:checked+.q-state-chip{opacity:1}.q-state-toggle input:not(:checked)+.q-state-chip{opacity:.4;text-decoration:line-through}.q-state-badge,.q-state-chip{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.q-state-badge{display:inline-block;padding:2px 8px;border-radius:8px}.q-state-active{background:#dbeafe;color:#1d4ed8}.q-state-waiting{background:#fef3c7;color:#92400e}.q-state-delayed{background:#e0e7ff;color:#4338ca}.q-state-failed{background:#fee2e2;color:#b91c1c}.q-state-completed{background:#dcfce7;color:#166534}.dark-mode .q-state-active{background:rgba(59,130,246,.2);color:#93bbfd}.dark-mode .q-state-waiting{background:rgba(251,191,36,.15);color:#fbbf24}.dark-mode .q-state-delayed{background:rgba(99,102,241,.2);color:#7cc7be}.dark-mode .q-state-failed{background:rgba(239,68,68,.2);color:#fca5a5}.dark-mode .q-state-completed{background:rgba(34,197,94,.15);color:#86efac}.q-cell-state{width:120px}.q-delay-hint{display:block;font-size:10px;color:var(--ink-muted);margin-top:2px;font-family:var(--font-mono)}.q-search-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.q-search-row .form-control{max-width:320px;height:34px}.q-auto-refresh{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.q-table{width:100%;border-collapse:collapse}.q-table thead th{font-family:var(--font-mono);font-size:9.5px;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;padding:8px 10px;border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap}.q-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .1s}.q-table tbody tr:hover{background:var(--paper-bg-alt)}.q-table tbody tr:last-child{border-bottom:none}.q-table tbody td{padding:10px 10px;font-size:.88rem;vertical-align:middle}.q-cell-id{font-family:var(--font-mono);font-size:12px;white-space:nowrap}.q-cell-id{display:flex;align-items:center;gap:8px}.q-chevron{font-size:9px;color:var(--ink-muted);transition:transform .15s;flex-shrink:0}.q-chevron-open{transform:rotate(90deg)}.q-cell-id a{color:var(--color)}.q-cell-payload{font-family:var(--font-mono);font-size:12px;color:var(--color)}.q-payload-detail{color:var(--ink-muted)}.q-cell-num{font-family:var(--font-mono);font-size:12px;text-align:center;white-space:nowrap}.q-cell-progress{min-width:120px}.q-progress-wrap{display:flex;align-items:center;gap:8px}.q-progress-bar{flex:1;height:6px;border-radius:3px;overflow:hidden;background-image:linear-gradient(to right,#1f6a64 var(--pct,0),var(--border-color) var(--pct,0))}.dark-mode .q-progress-bar{background-image:linear-gradient(to right,#7cc7be var(--pct,0),var(--border-color) var(--pct,0))}.q-progress-label{font-family:var(--font-mono);font-size:11px;color:var(--ink-muted);white-space:nowrap;min-width:32px;text-align:right}.q-cell-actions{text-align:right;white-space:nowrap}.q-cell-actions .btn{padding:3px 8px;font-size:11px;background:0 0;border:1px solid var(--border-color);color:var(--ink-muted)}.q-cell-actions .btn:hover{color:var(--color)}.q-row-failed{background:rgba(180,35,24,.04)}.dark-mode .q-row-failed{background:rgba(240,138,130,.06)}.q-error-detail{padding:4px 10px 12px;font-size:12px}.q-error-reason{color:#b42318;font-size:.82rem;margin-bottom:4px}.dark-mode .q-error-reason{color:#f08a82}.q-toast-error{background:#fbe7e7;color:#b42318;border:1px solid #f3c7c7;border-radius:8px;padding:10px 16px;margin-bottom:12px;font-family:var(--font-mono);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px}.dark-mode .q-toast-error{background:rgba(240,138,130,.1);color:#f08a82;border-color:rgba(240,138,130,.25)}.q-error-stack{font-size:.78rem;max-height:120px;overflow:auto;margin:4px 0 0;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px}.q-row-expanded>td{border-bottom-color:transparent}.q-detail-row>td{padding:0 10px 14px!important;border-bottom:1px solid var(--border-color)}.q-job-detail{background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:8px;padding:14px 16px}.q-job-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 20px;margin-bottom:10px}.q-job-detail-item{display:flex;flex-direction:column;gap:2px}.q-job-detail-label{font-family:var(--font-mono);font-size:9px;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.q-job-detail-value{font-family:var(--font-mono);font-size:12px;color:var(--color);word-break:break-all}.q-job-detail-value a{color:var(--color)}.q-job-detail-error{margin:8px 0}.q-job-detail-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.q-job-detail-actions .btn{font-family:var(--font-mono);font-size:11px;padding:5px 12px;border-radius:6px;background:var(--paper-card);border:1px solid var(--border-color);color:var(--color)}@media (max-width:900px){.q-detail{grid-template-columns:1fr}.q-cards{flex-direction:column}.q-card{min-width:100%}.q-jobs-header{flex-direction:column;align-items:flex-start}.q-tabs{flex-wrap:wrap}.q-search-row{flex-wrap:wrap}.q-search-row .form-control{max-width:100%;flex:1}.q-table{font-size:12px}.q-header{flex-direction:column}.q-job-detail-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.paper-table .paper-table-head{display:none}.paper-table .admin-users-row,.paper-table .paper-table-row,.paper-table.paper-table-conferences .paper-table-row,.paper-table.paper-table-repos .paper-table-row{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 0;grid-template-columns:none!important}.paper-table .cell-anon{flex:1 1 calc(100% - 52px);min-width:0;order:1}.paper-table .cell-actions{flex:0 0 auto;order:2;align-self:center}.paper-table .cell-conf,.paper-table .cell-expires,.paper-table .cell-status,.paper-table .cell-views{order:3;font-size:13px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:6px;text-align:left}.paper-table .cell-status{flex-wrap:nowrap;gap:6px;min-width:0}.paper-table .cell-status .status-sub{flex-basis:auto;font-size:13px;line-height:inherit}.paper-table .cell-status .status-sub::before{content:"·";margin-right:6px;color:var(--ink-faint)}.paper-table .cell-conf{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-table .cell-views.num{text-align:left}.paper-table .paper-table-skeleton .cell-expires,.paper-table .paper-table-skeleton .cell-status,.paper-table .paper-table-skeleton .cell-views{flex:1 1 30%}.paper-table .cell-views::before{content:'\f06e';font-family:'Font Awesome 5 Free';font-weight:900;font-size:10px;color:var(--ink-muted)}.paper-table .cell-expires::before{content:'\f017';font-family:'Font Awesome 5 Free';font-weight:400;font-size:10px;color:var(--ink-muted)}.paper-table .cell-conf::before{content:'\f51c';font-family:'Font Awesome 5 Free';font-weight:900;font-size:10px;color:var(--ink-muted)}.paper-table-dashboard .cell-conf::before{content:none}.paper-table .cell-conf:has(.empty-dash),.paper-table .cell-expires:has(.empty-dash){display:none}.paper-table .cell-expires::before,.paper-table .cell-views::before{color:var(--ink-faint)}}.paper-page .dropdown-menu{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface,10px);box-shadow:0 12px 28px rgba(26,24,21,.08);padding:6px;min-width:220px;font-family:var(--font-sans);font-size:14px;color:var(--color);margin-top:6px}.paper-page .dropdown-menu .dropdown-header{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);padding:8px 10px 6px;font-weight:500}.paper-page .dropdown-menu .dropdown-item{border-radius:6px;padding:8px 10px;color:var(--color);font-size:14px;display:flex;align-items:center;gap:8px}.paper-page .dropdown-menu .dropdown-item:focus,.paper-page .dropdown-menu .dropdown-item:hover{background:var(--hover-bg-color);color:var(--color)}.paper-page .dropdown-menu .dropdown-item i{width:16px;font-size:13px;color:var(--ink-muted)}.paper-page .dropdown-menu .form-check.dropdown-item{padding:8px 10px 8px 36px!important;position:relative}.paper-page .dropdown-menu .form-check.dropdown-item .form-check-input{position:absolute;left:12px;top:50%;transform:translateY(-50%);margin:0;width:16px;height:16px;accent-color:var(--color);cursor:pointer}.paper-page .dropdown-menu .form-check.dropdown-item .form-check-label{font-family:var(--font-sans);font-size:14px;color:var(--color);font-weight:400;margin:0;cursor:pointer}.btn.btn-icon-dots{width:32px;height:32px;padding:0;border:1px solid transparent;background:0 0;color:var(--ink-muted);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.btn.btn-icon-dots:focus,.btn.btn-icon-dots:hover,.btn.btn-icon-dots[aria-expanded=true]{background:var(--hover-bg-color);border-color:var(--border-color);color:var(--color)}.btn.btn-icon-dots::after{display:none}.btn.btn-icon-dots i{font-size:15px}.paper-page .repo-list-empty{border-top:none;padding:56px 20px;color:var(--ink-muted)}.paper-page .filter-chip{background:var(--paper-bg-alt);color:var(--color);border:1px solid var(--border-color);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}@media (max-width:768px){.paper-page .paper-page-title{font-size:clamp(1.4rem,6vw,1.9rem);margin:4px 0 2px}.paper-page .paper-page-lede{font-size:13px;line-height:1.4;margin-bottom:0}.paper-page .btn-ink{padding:6px 12px;font-size:13px}.paper-page .quota-row{grid-template-columns:1fr;gap:12px;padding:0;margin:16px 0 0}.paper-page .dashboard-filter-row{padding:10px 0;margin-top:12px;gap:8px}.paper-page .quota-header{flex-direction:row;align-items:baseline;gap:8px}.paper-page .quota-value{white-space:nowrap}.paper-page .dashboard-filter-controls{width:100%}.paper-page .dashboard-filter-controls .btn-group{flex:1 1 100%;display:flex}.paper-page .dashboard-filter-controls .btn-group .btn{flex:1;justify-content:center}.paper-page .dashboard-filter-controls .dropdown{flex:1 1 0;min-width:0}.paper-page .dashboard-filter-controls .dropdown .dropdown-toggle{width:100%;justify-content:space-between}.paper-page .dashboard-filter-controls .dropdown .filter-btn-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:480px){.paper-page .paper-page-lede{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.empty-state{text-align:center;padding:40px 20px;opacity:.6}.empty-state i{font-size:2rem;margin-bottom:10px;display:block}.paper-page .progress{height:10px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:999px;overflow:hidden;margin-bottom:20px}.paper-page .progress .progress-bar{background:var(--color);color:var(--canvas-bg-color);font-family:var(--font-mono);font-size:10px;line-height:10px}.paper-page .progress .progress-bar.bg-success{background:var(--status-ready)!important}.paper-page .progress .progress-bar.bg-warning{background:var(--status-progress)!important;color:#fff}.paper-page .progress .progress-bar.bg-danger{background:var(--status-error)!important}.paper-page .progress .progress-bar.bg-dark{background:var(--ink-faint)!important}.paper-page .form>h5,.paper-page form>h5,.paper-page>h5{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:24px 0 8px}.paper-page .accordion .card{background:var(--paper-card,var(--sidebar-bg-color));border:1px solid var(--border-color);border-radius:8px!important;margin-bottom:8px;overflow:hidden}.paper-page .accordion .card+.card{border-top:1px solid var(--border-color)}.paper-page .accordion .card-header{background:0 0;border:none;padding:0}.paper-page .accordion .card-header .btn{color:var(--color)!important;font-family:var(--font-sans);font-weight:500;font-size:14px;padding:14px 18px!important;background:0 0!important;border:none!important;position:relative}.paper-page .accordion .card-header .btn::after{content:"+";position:absolute;right:18px;font-family:var(--font-serif);font-size:20px;color:var(--ink-muted)}.paper-page .accordion .card-header .btn:not(.collapsed)::after{content:"–"}.paper-page .accordion .card-body{padding:6px 18px 18px!important;border-top:1px solid var(--border-soft)}.paper-page .accordion .form-check-label{color:var(--color);font-weight:500;font-size:13.5px}.paper-page .accordion .form-text{color:var(--ink-muted);font-size:12px;margin-top:2px}.faq-section .panel-body code{font-family:var(--font-mono);font-size:13px;padding:1px 6px;background:var(--paper-bg-alt);border:1px solid var(--border-color);border-radius:3px;color:var(--color)}.faq-section .panel-body a{color:var(--accent)}@media (max-width:820px){.paper-faq-body{grid-template-columns:1fr;gap:24px}.paper-faq-toc{position:static}}.paper-footer{margin-top:80px;padding:56px max(20px,calc((100% - 1076px)/ 2)) 28px;border-top:1px solid var(--border-color);background:var(--canvas-bg-color);font-family:var(--font-sans)}.paper-footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.paper-footer-brand .paper-footer-mark{font-family:var(--font-serif);font-size:22px;letter-spacing:-.01em;color:var(--color)}.paper-footer-brand .paper-footer-mark em{font-style:italic;font-weight:400}.paper-footer-tag{margin-top:10px;color:var(--ink-soft);font-size:13.5px;line-height:1.55;max-width:340px}.paper-footer-head{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.paper-footer-col a{display:block;color:var(--color);font-size:13.5px;padding:4px 0;text-decoration:none}.paper-footer-col a:hover{color:var(--accent)}.paper-footer-rule{height:1px;background:var(--border-color);margin:40px 0 16px}.paper-footer-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--ink-muted);font-family:var(--font-sans);letter-spacing:0}.paper-footer-foot .paper-footer-meta{font-family:var(--font-serif);font-style:italic;font-size:13.5px;letter-spacing:0;color:var(--ink-soft)}@media (max-width:768px){.paper-footer-inner{grid-template-columns:1fr 1fr}}.file.folder.truncated .truncated-warning{color:var(--status-progress);margin-left:4px;font-size:.85em;flex-shrink:0}.file.folder.truncated>a{color:var(--status-progress)}body{--bucket-error-bg:#FCEDED;--bucket-error-fg:#8A1F1F;--bucket-error-bd:#F0C4C4;--bucket-error-dot:#B53737;--bucket-warn-bg:#FFF3DF;--bucket-warn-fg:#7A4D00;--bucket-warn-bd:#F0D8A0;--bucket-warn-dot:#B07A2F;--bucket-info-bg:#EAF2EC;--bucket-info-fg:#2C5D3A;--bucket-info-bd:#C5DCCD;--bucket-info-dot:#5B8D6B;--card-shadow:0 1px 2px rgba(26, 24, 21, 0.04),0 4px 14px rgba(26, 24, 21, 0.05);--card-shadow-hover:0 1px 2px rgba(26, 24, 21, 0.06),0 8px 24px rgba(26, 24, 21, 0.08)}.dark-mode{--bucket-error-bg:rgba(255, 139, 123, 0.10);--bucket-error-fg:var(--status-error);--bucket-error-bd:rgba(255, 139, 123, 0.28);--bucket-error-dot:var(--status-error);--bucket-warn-bg:rgba(255, 211, 122, 0.10);--bucket-warn-fg:var(--status-progress);--bucket-warn-bd:rgba(255, 211, 122, 0.28);--bucket-warn-dot:var(--status-progress);--bucket-info-bg:rgba(152, 200, 168, 0.10);--bucket-info-fg:#98C8A8;--bucket-info-bd:rgba(152, 200, 168, 0.28);--bucket-info-dot:#98C8A8;--card-shadow:0 1px 2px rgba(0, 0, 0, 0.35),0 6px 18px rgba(0, 0, 0, 0.30);--card-shadow-hover:0 2px 4px rgba(0, 0, 0, 0.45),0 12px 28px rgba(0, 0, 0, 0.40)}.errors-page .errors-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 8px}.errors-page .errors-actions{display:flex;gap:6px}.errors-page .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:14px 0 18px}.errors-page .kpi-card{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--card-shadow);transition:box-shadow 160ms ease,transform 160ms ease}.errors-page .kpi-card:hover{box-shadow:var(--card-shadow-hover)}.errors-page .kpi-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.errors-page .kpi-value{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;line-height:1;margin-top:2px;color:var(--color)}.errors-page .kpi-card.kpi-error .kpi-value{color:var(--bucket-error-fg)}.errors-page .kpi-card.kpi-warn .kpi-value{color:var(--bucket-warn-fg)}.errors-page .kpi-card.kpi-info .kpi-value{color:var(--bucket-info-fg)}.errors-page .kpi-sub{font-size:.78rem;color:var(--ink-muted);font-style:italic}.errors-page .kpi-sub.up{color:var(--bucket-error-fg);font-style:normal}.errors-page .kpi-sub.down{color:var(--bucket-info-fg);font-style:normal}.errors-page .dropped-warn{color:var(--bucket-error-fg);font-weight:600;font-style:normal}.errors-page .volume-chart{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;margin-bottom:18px;box-shadow:var(--card-shadow)}.errors-page .volume-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.errors-page .volume-legend{display:flex;gap:14px;align-items:center;text-transform:none;letter-spacing:0;font-family:var(--font-sans)}.errors-page .volume-legend .dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:middle}.errors-page .dot.dot-error{background:var(--bucket-error-dot)}.errors-page .dot.dot-warn{background:var(--bucket-warn-dot)}.errors-page .dot.dot-info{background:var(--bucket-info-dot)}.errors-page .volume-bars{display:flex;align-items:flex-end;gap:4px;height:80px}.errors-page .volume-bar{display:flex;flex-direction:column-reverse;flex:1 1 0;min-width:6px;height:100%}.errors-page .volume-bar .seg{display:block;width:100%}.errors-page .seg.seg-error{background:var(--bucket-error-dot)}.errors-page .seg.seg-warn{background:var(--bucket-warn-dot)}.errors-page .seg.seg-info{background:var(--bucket-info-dot);opacity:.7}.errors-page .errors-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.errors-page .seg-tabs{display:inline-flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--paper-card)}.errors-page .seg-tabs button{background:0 0;border:none;padding:6px 14px;font-size:.85rem;cursor:pointer;color:var(--color);font-family:var(--font-sans)}.errors-page .seg-tabs button+button{border-left:1px solid var(--border-color)}.errors-page .seg-tabs button.active{background:var(--primary-bg);color:var(--primary-color)}.errors-page .errors-toolbar .search-wrap{position:relative;flex:1 1 320px;min-width:220px}.errors-page .errors-toolbar .search-wrap input{width:100%;padding:6px 10px 6px 32px;border:1px solid var(--border-color);border-radius:8px;font-family:var(--font-mono);font-size:.82rem;background:var(--input-bg);color:var(--input-color)}.errors-page .errors-toolbar .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-muted);font-size:.85rem}.errors-page .errors-toolbar .filter-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.72rem;color:var(--ink-muted)}.errors-page .errors-toolbar .select-wrap{display:inline-flex;align-items:center;gap:6px}.errors-page .errors-toolbar .select-wrap label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0}.errors-page .errors-toolbar .select-wrap select{background:var(--input-bg);color:var(--input-color);border:1px solid var(--border-color);border-radius:8px}.errors-page .errors-toolbar .autoref{display:inline-flex;gap:6px;align-items:center;font-size:.82rem;color:var(--color);cursor:pointer;margin:0}.errors-page .btn-icon{width:32px;padding:4px 0}.errors-page .errors-list{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow)}.errors-page .errors-list-head,.errors-page .errors-row-main{display:grid;grid-template-columns:110px 100px 100px 1fr 60px 70px;gap:16px;padding:18px 20px;align-items:start}.errors-page .errors-list-head{padding:12px 20px;align-items:center}.errors-page .errors-list-head{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt)}.errors-page .errors-row{border-bottom:1px solid var(--border-soft)}.errors-page .errors-row:last-child{border-bottom:none}.errors-page .errors-row.open{background:var(--paper-bg-alt)}.errors-page .errors-row-main{cursor:pointer}.errors-page .errors-row-main:hover{background:var(--hover-bg-color)}.errors-page .col-when .when-rel{font-size:.95rem;color:var(--color);font-variant-numeric:tabular-nums}.errors-page .col-when .when-abs{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-top:2px}.errors-page .col-sev{display:flex;align-items:center;gap:8px}.errors-page .sev-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.errors-page .sev-dot.sev-error{background:var(--bucket-error-dot)}.errors-page .sev-dot.sev-warn{background:var(--bucket-warn-dot)}.errors-page .sev-dot.sev-info{background:var(--bucket-info-dot)}.errors-page .sev-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;color:var(--color)}.errors-page .pill-module{display:inline-block;font-family:var(--font-mono);font-size:.78rem;background:var(--paper-bg-alt);color:var(--ink-soft);border:1px solid var(--border-color);padding:3px 10px;border-radius:6px}.errors-page .col-msg .msg-code{font-family:var(--font-mono);font-size:1rem;color:var(--color);font-weight:600}.errors-page .col-msg .msg-context{color:var(--ink-muted);font-style:italic;font-size:.88rem;margin-left:10px}.errors-page .col-msg .msg-detail{color:var(--ink-soft);font-family:var(--font-mono);font-size:.82rem;margin-left:10px}.errors-page .col-msg .msg-url{color:var(--ink-muted);font-family:var(--font-mono);font-size:.8rem;margin-top:6px;word-break:break-all}.errors-page .count-pill{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--primary-bg);color:var(--primary-color);font-family:var(--font-mono);font-size:.78rem;font-variant-numeric:tabular-nums}.errors-page .count-pill.count-pill-muted{background:0 0;color:var(--ink-muted);border:1px solid var(--border-color)}.errors-page .status-pill{display:inline-block;padding:2px 10px;border-radius:4px;font-family:var(--font-mono);font-size:.8rem;font-variant-numeric:tabular-nums;border:1px solid transparent}.errors-page .status-pill.status-error{background:var(--bucket-error-bg);color:var(--bucket-error-fg);border-color:var(--bucket-error-bd)}.errors-page .status-pill.status-warn{background:var(--bucket-warn-bg);color:var(--bucket-warn-fg);border-color:var(--bucket-warn-bd)}.errors-page .status-pill.status-info{background:var(--bucket-info-bg);color:var(--bucket-info-fg);border-color:var(--bucket-info-bd)}.errors-page .errors-row-detail{padding:0 16px 16px}.errors-page .detail-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color);margin-bottom:12px}.errors-page .detail-tabs button{background:0 0;border:0;border-bottom:2px solid transparent;padding:8px 12px;font-size:.85rem;cursor:pointer;color:var(--ink-muted);font-family:var(--font-sans)}.errors-page .detail-tabs button.active{color:var(--color);border-bottom-color:var(--color)}.errors-page .detail-body{display:grid;grid-template-columns:1fr 260px;gap:20px}.errors-page .detail-main pre{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;font-family:var(--font-mono);font-size:.85rem;line-height:1.7;color:var(--color);max-height:26em;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;box-shadow:var(--card-shadow)}.errors-page .related-list{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;max-height:22em;overflow:auto;box-shadow:var(--card-shadow)}.errors-page .stack-pre{line-height:1.45;white-space:pre;overflow-x:auto}.errors-page .related-row{display:flex;gap:10px;padding:6px 12px;align-items:center;border-bottom:1px solid var(--border-soft);font-size:.8rem}.errors-page .related-row:last-child{border-bottom:none}.errors-page .detail-actions{display:flex;gap:6px;align-items:center;margin-top:10px}.errors-page .copy-hint{font-size:.78rem;color:var(--bucket-info-fg)}.errors-page .detail-aside{background:var(--paper-card);border:1px solid var(--border-color);border-radius:12px;padding:18px;box-shadow:var(--card-shadow)}.errors-page .aside-block+.aside-block{margin-top:16px}.errors-page .aside-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:4px}.errors-page .aside-value{font-family:var(--font-serif);font-size:1.05rem;color:var(--color);word-break:break-word;line-height:1.3}.errors-page .aside-value.mono{font-family:var(--font-mono);font-size:.82rem}.errors-page .aside-sub{color:var(--ink-muted);font-style:italic;font-size:.8rem;font-family:var(--font-sans)}.errors-page .errors-pager{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:var(--ink-muted);font-size:.85rem}@media (max-width:720px){.errors-page .errors-list-head,.errors-page .errors-row-main{grid-template-columns:80px 80px 1fr 60px}.errors-page .errors-list-head .col-mod,.errors-page .errors-list-head .col-sev,.errors-page .errors-row-main .col-mod,.errors-page .errors-row-main .col-sev{display:none}.errors-page .detail-body{grid-template-columns:1fr}}.overview-page .ov-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:2px}.overview-page .ov-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle}.overview-page .ov-dot-ok{background:#2f7a44}.overview-page .ov-dot-warn{background:var(--status-progress)}.overview-page .ov-dot-idle{background:var(--ink-muted)}.dark-mode .overview-page .ov-dot-ok{background:#7dc894}.dark-mode .overview-page .ov-dot-warn{background:var(--status-progress)}.overview-page .ov-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:16px 0 22px}.overview-page .ov-kpi-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--card-shadow);transition:box-shadow 160ms ease}.overview-page .ov-kpi-card:hover{box-shadow:var(--card-shadow-hover)}.overview-page .ov-kpi-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.overview-page .ov-kpi-value{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;line-height:1;margin-top:2px;color:var(--color)}.overview-page .ov-kpi-value.ov-val-warn{color:#b42318}.dark-mode .overview-page .ov-kpi-value.ov-val-warn{color:#f08a82}.overview-page .ov-kpi-sub{font-size:.76rem;color:var(--ink-muted);margin-top:2px}.overview-page .ov-daily-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:-4px 0 22px}.overview-page .ov-daily-card{background:var(--primary-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;box-shadow:var(--card-shadow)}.overview-page .ov-daily-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.overview-page .ov-daily-value{font-family:var(--font-serif);font-size:2.35rem;font-weight:400;line-height:1;color:var(--accent,#1f6a64);margin-top:6px}.overview-page .ov-daily-sub{font-size:.76rem;color:var(--ink-muted);margin-top:5px}.dark-mode .overview-page .ov-daily-card{background:var(--paper-card)}.dark-mode .overview-page .ov-daily-value{color:#7cc7be}.overview-page .ov-chart-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.overview-page .ov-chart-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px 14px;box-shadow:var(--card-shadow)}.overview-page .ov-chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.overview-page .ov-chart-title{font-family:var(--font-serif);font-size:1.05rem}.overview-page .ov-chart-legend{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-muted);display:flex;align-items:center;gap:5px}.overview-page .ov-dot-legend{display:inline-block;width:8px;height:8px;border-radius:50%}.overview-page .ov-dot-accent{background:var(--accent,#1f6a64)}.overview-page .ov-dot-ok-fill{background:#2f7a44}.overview-page .ov-dot-user-fill{background:#8b5e2e}.overview-page .ov-dot-new-user-fill{background:var(--status-progress)}.dark-mode .overview-page .ov-dot-ok-fill{background:#7dc894}.dark-mode .overview-page .ov-dot-user-fill{background:var(--status-progress)}.dark-mode .overview-page .ov-dot-new-user-fill{background:var(--status-progress)}.overview-page .ov-spark-bars{display:flex;align-items:flex-end;gap:3px;height:140px}.overview-page .ov-spark-col{flex:1;display:flex;align-items:flex-end;height:100%;position:relative}.overview-page .ov-spark-fill{width:100%;background:var(--accent,#1f6a64);border-radius:2px 2px 0 0;transition:height .3s ease;opacity:.55}.overview-page .ov-spark-fill-alt{background:#2f7a44}.overview-page .ov-spark-fill-user{background:#8b5e2e}.overview-page .ov-spark-fill-new-user{background:var(--status-progress)}.dark-mode .overview-page .ov-spark-fill-alt{background:#7dc894}.dark-mode .overview-page .ov-spark-fill-user{background:var(--status-progress)}.dark-mode .overview-page .ov-spark-fill-new-user{background:var(--status-progress)}.overview-page .ov-spark-col:hover .ov-spark-fill{opacity:1}.overview-page .ov-spark-col.has-tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);z-index:10;padding:6px 8px;border-radius:6px;background:var(--color);color:var(--canvas-bg-color);font-family:var(--font-mono);font-size:.68rem;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 120ms ease,transform 120ms ease}.overview-page .ov-spark-col.has-tip::before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%) translateY(4px);z-index:10;border:5px solid transparent;border-top-color:var(--color);opacity:0;pointer-events:none;transition:opacity 120ms ease,transform 120ms ease}.overview-page .ov-spark-col.has-tip:hover::after,.overview-page .ov-spark-col.has-tip:hover::before{opacity:1;transform:translateX(-50%) translateY(0)}.overview-page .ov-spark-x{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-muted);margin-top:6px}.overview-page .ov-triple-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:18px}.overview-page .ov-panel-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 20px;box-shadow:var(--card-shadow)}.overview-page .ov-panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.overview-page .ov-panel-title{font-family:var(--font-serif);font-size:1.05rem}.overview-page .ov-panel-meta{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.overview-page .ov-panel-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color);font-size:.82rem}.overview-page .ov-panel-foot a{color:var(--link-color);text-decoration:none}.overview-page .ov-panel-foot a:hover{text-decoration:underline}.overview-page .ov-performance{min-width:0;margin:22px 0}.overview-page .ov-performance-head{align-items:center;flex-wrap:wrap;gap:12px 20px}.overview-page .ov-performance-head h2{margin:0 0 4px}.overview-page .ov-performance-note{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--ink-muted)}.overview-page .ov-performance-head .ov-performance-note{margin:0}.overview-page .ov-performance-window{display:flex;align-items:center;gap:8px;flex-shrink:0}.overview-page .ov-performance-window label{margin:0;font-size:12px;color:var(--ink-muted)}.overview-page .ov-performance-window select{width:auto}.overview-page .ov-performance-tabs{margin:0 0 16px;gap:4px}.overview-page .ov-performance-tabs .paper-tab{white-space:nowrap}.overview-page .ov-metrics-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-control,8px)}.overview-page .ov-metrics-table{width:100%;border-collapse:collapse;color:var(--color);font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}.overview-page .ov-metrics-table td,.overview-page .ov-metrics-table th{padding:10px 12px;border-bottom:1px solid var(--border-color);vertical-align:middle;white-space:nowrap}.overview-page .ov-metrics-table thead th{background:var(--paper-bg-alt);color:var(--ink-muted);font-size:12px;font-weight:500}.overview-page .ov-metrics-table .num{text-align:right}.overview-page .ov-metrics-table tr:last-child>*{border-bottom:0}.overview-page .ov-metrics-table thead tr:last-child>*{border-bottom:1px solid var(--border-color)}.overview-page .ov-metrics-table tbody tr:hover{background:var(--hover-bg-color)}.overview-page .ov-metrics-table .ov-metric-name{min-width:190px;max-width:280px;text-align:left;white-space:normal;overflow-wrap:anywhere;font-weight:500}.overview-page .ov-metrics-table small{display:block;margin-top:3px;font-size:11px;font-weight:400;color:var(--ink-muted)}.overview-page .ov-metrics-table small .ui-icon{width:12px;height:12px}.overview-page .ov-metric-warning-row{background:rgba(196,138,46,.07)}.overview-page .ov-metric-warn,.overview-page .ov-metrics-table small.ov-metric-warn{color:#946519}.dark-mode .overview-page .ov-metric-warn,.dark-mode .overview-page .ov-metrics-table small.ov-metric-warn{color:var(--status-progress)}.overview-page .ov-performance-message{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;margin:0 0 16px;border:1px solid var(--border-color);border-radius:var(--radius-control,8px);font-size:13px;line-height:1.5}.overview-page .ov-performance-message span{flex:1;min-width:160px}.overview-page .ov-performance-warning{background:rgba(196,138,46,.07)}.overview-page .ov-performance-empty{margin:0;padding:24px 12px;text-align:center;font-size:13px;color:var(--ink-muted)}.overview-page .ov-performance-help{margin-top:16px;font-size:12px;line-height:1.6;color:var(--ink-muted)}.overview-page .ov-performance-help summary{width:fit-content;cursor:pointer}.overview-page .ov-performance-help p{margin:8px 0 0;max-width:80ch}@media (max-width:575px){.overview-page .ov-performance{padding:16px 12px}.overview-page .ov-performance-window{width:100%}.overview-page .ov-performance-window select{flex:1;min-width:0}.overview-page .ov-performance-tabs .paper-tab{flex:1;padding:10px 8px}}.overview-page .ov-stacked-bar{display:flex;height:18px;border-radius:6px;overflow:hidden;margin-bottom:14px}.overview-page .ov-bar-seg{min-width:2px;transition:width .4s ease}.overview-page .ov-bar-ready{background:#2f7a44}.overview-page .ov-bar-preparing{background:var(--status-progress)}.overview-page .ov-bar-error{background:#b42318}.overview-page .ov-bar-expired{background:#8a857c}.overview-page .ov-bar-removed{background:#b5afa2}.dark-mode .overview-page .ov-bar-ready{background:#7dc894}.dark-mode .overview-page .ov-bar-preparing{background:var(--status-progress)}.dark-mode .overview-page .ov-bar-error{background:#f08a82}.dark-mode .overview-page .ov-bar-expired{background:#6b665e}.dark-mode .overview-page .ov-bar-removed{background:#4a453e}.overview-page .ov-bar-legend{display:flex;flex-direction:column;gap:6px}.overview-page .ov-legend-item{display:flex;align-items:center;gap:8px;font-size:.82rem;text-decoration:none;color:inherit}.overview-page .ov-legend-item:hover{text-decoration:none;color:inherit}.overview-page .ov-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0}.overview-page .ov-legend-n{margin-left:auto;font-family:var(--font-mono);font-size:.8rem;font-weight:600}.overview-page .ov-error-bars{display:flex;flex-direction:column;gap:12px}.overview-page .ov-ebar-row{display:flex;align-items:center;gap:10px}.overview-page .ov-ebar-label{width:30px;flex-shrink:0;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;color:var(--ink-muted)}.overview-page .ov-ebar-track{flex:1;height:10px;background:var(--hover-bg-color);border-radius:5px;overflow:hidden}.overview-page .ov-ebar-fill{height:100%;border-radius:5px;transition:width .4s ease}.overview-page .ov-ebar-error{background:#b42318}.overview-page .ov-ebar-warn{background:var(--status-progress)}.overview-page .ov-ebar-info{background:var(--accent,#1f6a64)}.dark-mode .overview-page .ov-ebar-error{background:#f08a82}.dark-mode .overview-page .ov-ebar-warn{background:var(--status-progress)}.overview-page .ov-ebar-n{width:36px;text-align:right;font-family:var(--font-mono);font-size:.82rem;font-weight:600;flex-shrink:0}.overview-page .ov-routes-table{display:flex;flex-direction:column}.overview-page .ov-route-row{display:grid;grid-template-columns:1fr 60px 60px 60px;padding:8px 0;border-bottom:1px solid var(--border-soft,var(--border-color));text-decoration:none;color:inherit;font-size:.85rem;align-items:center}.overview-page .ov-route-row:last-child{border-bottom:none}.overview-page .ov-route-row:hover{background:var(--hover-bg-color);text-decoration:none;color:inherit}.overview-page .ov-route-head{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom:1px solid var(--border-color)}.overview-page .ov-route-head:hover{background:0 0}.overview-page .ov-route-name{font-family:var(--font-mono);font-size:.84rem}.overview-page .ov-route-n{text-align:right;font-family:var(--font-mono);font-size:.84rem}.overview-page .ov-route-lat{color:var(--ink-muted)}.overview-page .ov-n-bad{color:#b42318;font-weight:600}.dark-mode .overview-page .ov-n-bad{color:#f08a82}.overview-page .ov-services-card{background:var(--paper-card,#fff);border:1px solid var(--border-color);border-radius:12px;padding:18px 22px;box-shadow:var(--card-shadow);margin-bottom:18px}.overview-page .ov-services-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.overview-page .ov-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.overview-page .ov-svc{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border-soft,var(--border-color));border-radius:10px}.overview-page .ov-svc-dot{width:10px;height:10px;border-radius:50%;margin-top:3px;flex-shrink:0}.overview-page .ov-svc-info{display:flex;flex-direction:column;gap:1px;flex:1}.overview-page .ov-svc-name{font-family:var(--font-mono);font-size:.88rem;font-weight:600}.overview-page .ov-svc-meta{font-size:.76rem;color:var(--ink-muted)}.overview-page .ov-svc-detail{font-size:.74rem;color:var(--ink-muted);white-space:nowrap}@media (max-width:900px){.overview-page .ov-kpi-row{grid-template-columns:repeat(3,1fr)}.overview-page .ov-daily-row{grid-template-columns:repeat(3,1fr)}.overview-page .ov-triple-row{grid-template-columns:1fr}}@media (max-width:720px){.overview-page .ov-kpi-row{grid-template-columns:repeat(2,1fr)}.overview-page .ov-daily-row{grid-template-columns:1fr}.overview-page .ov-chart-row{grid-template-columns:1fr}.overview-page .ov-header{flex-direction:column;gap:8px}}@media (max-width:480px){.overview-page .ov-kpi-row{grid-template-columns:1fr 1fr}.overview-page .ov-services-grid{grid-template-columns:1fr 1fr}}.dashboard-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-bottom:12px}.dashboard-heading-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.dashboard-connections-link{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:var(--ink-muted);font-size:12px;line-height:1.5}.dashboard-connections-link:hover{color:var(--accent);text-decoration:none}.dashboard-connections-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}@media (max-width:767px){.dashboard-heading-actions{align-items:flex-start;padding-bottom:0;gap:4px}.dashboard-connections-link{min-height:44px}}.paper-settings-connection-link{display:flex;align-items:center;gap:12px;padding:18px 0;color:var(--color);font-size:14px}.paper-settings-connection-link>i{color:var(--ink-muted);font-size:18px}.paper-settings-connection-link>span:first-of-type{flex:1}.paper-settings-connection-link small{display:block;margin-top:4px;color:var(--ink-muted);font-size:12px}.paper-settings-connection-link:hover{color:var(--accent);text-decoration:none}.paper-settings-connection-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.connections-heading{margin-bottom:36px}.connections-heading .paper-page-title{font-size:clamp(38px,4.5vw,56px);margin-bottom:12px}.connections-heading .paper-page-lede{font-size:15px}.connections-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start;border-top:1px solid var(--border-color);padding-top:28px}.connections-grid>section{min-width:0}.connection-title,.connection-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.connection-top{margin-bottom:24px;min-height:28px}.connection-top>i{color:var(--ink-muted);font-size:24px}.connection-top>.fa-key{font-size:18px}.connection-title{margin-bottom:10px}.connections-page h2{font-family:inherit;font-size:21px;font-weight:600;letter-spacing:-.5px;margin:0}.connections-page p{font-size:14px;line-height:1.65;color:var(--ink-muted)}.connection-badge{background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;border-radius:5px;padding:4px 8px;white-space:nowrap}.connection-badge-muted{background:var(--paper-bg-alt);color:var(--ink-muted)}.connection-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-muted)}.connection-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.connection-status.is-connected{color:var(--status-ready)}.connection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0 16px}.connections-page .btn{font-size:13px;padding:9px 13px;white-space:normal}.connection-revoke p,.connections-page .connection-help{font-size:12px}.connection-link{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;background:0 0;color:var(--accent);font-size:13px;line-height:1.6;font-weight:500;text-align:left;cursor:pointer}.connection-link:hover{color:var(--link-hover-color);text-decoration:underline}.connection-link:disabled{color:var(--ink-muted);opacity:.65;cursor:not-allowed;text-decoration:none}.connection-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.connection-installations{list-style:none;padding:0;margin:18px 0;border-top:1px solid var(--border-soft)}.connection-installations li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0;font-size:12px;border-bottom:1px solid var(--border-soft)}.connection-revoke{border-top:1px solid var(--border-soft);padding-top:18px;margin-top:24px}.connection-danger{color:var(--status-error)}.connection-resources{margin-top:36px;padding-top:28px;border-top:1px solid var(--border-color)}.connection-count{color:var(--ink-muted);font-size:12px}.connection-empty{display:flex;align-items:center;gap:18px;padding:20px 0;margin:22px 0}.connection-empty>i{font-size:22px;color:var(--ink-muted)}.connection-empty h3{font-size:14px;font-weight:600;margin:0 0 5px}.connection-empty p{font-size:12px;margin:0}.connection-empty>a{margin-left:auto;flex-shrink:0}.connection-resource{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--border-color)}.connection-resource-name{flex:1;min-width:180px;overflow-wrap:anywhere;font-size:14px}.connection-resource-name small{display:block;color:var(--ink-muted);font-size:11px;margin-top:5px}.connection-resource-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.connection-resource-actions .connection-help{flex-basis:100%}.connections-page .connection-footnote{display:flex;align-items:baseline;gap:10px;margin-top:22px;font-size:12px}@media (max-width:767px){.connections-grid{grid-template-columns:1fr;gap:28px}.connections-grid>section+section{border-top:1px solid var(--border-color);padding-top:28px}.connection-empty{flex-wrap:wrap}.connection-empty>div{flex:1;min-width:180px}.connection-empty>a{margin-left:40px}.connection-resource-actions{flex-basis:100%}}.paper-table-empty-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.paper-table-empty-actions .btn>i{font-size:1em;line-height:1;color:inherit;margin-right:0!important}.auth-back{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-muted);margin-bottom:48px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.auth-intro,.auth-options{padding-top:28px}.auth-title-mobile{display:none}.auth-intro .paper-page-title{font-size:clamp(48px,5vw,76px);line-height:1.06;margin:18px 0 24px}.auth-intro .paper-page-lede{max-width:330px}.auth-options{display:grid;gap:28px}.auth-options h2{font-family:inherit;font-size:21px;font-weight:600;margin:0 0 10px}.auth-options p{font-size:14px;line-height:1.65;color:var(--ink-muted)}.auth-options .auth-existing{font-size:12px;border-left:2px solid var(--accent);padding-left:14px;margin:0}.auth-permissions{padding:6px 0 12px;list-style:none;font-size:13px;line-height:1.6}.auth-permissions li{display:flex;gap:10px;margin:12px 0}.auth-permissions i{color:var(--status-ready);margin-top:4px}.auth-continue{display:flex!important;align-items:center;justify-content:space-between;min-height:48px;padding:12px 16px!important}.auth-options small{display:block;font-size:12px;text-align:center;color:var(--ink-muted);margin-top:12px}.auth-legacy{border-top:1px solid var(--border-color);padding-top:24px}.auth-legacy h2{font-size:16px;margin:0}.auth-legacy p{font-size:13px}.source-url-label-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:8px}.source-url-label-row>.paper-field-label{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--color);margin-bottom:6px;display:block}.repo-access{margin:0}.repo-access-details{margin:12px 0 24px}.source-url-label-row .repo-access-switch{padding:2px}.source-url-label-row .repo-access-switch button{padding:6px 10px;font-size:12px;line-height:20px}.repo-access-main{display:flex;align-items:center;gap:10px;padding:0 0 8px;flex-wrap:wrap}.repo-access-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.repo-access-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border-color);border-radius:7px;flex-wrap:wrap}.repo-access-switch button{border:0;border-radius:4px;background:0 0;color:var(--ink-muted);padding:7px 10px;font:inherit;font-size:12px;cursor:pointer}.repo-access-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);opacity:1;cursor:default;font-weight:600}.repo-access-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.repo-access-details .btn{font-size:12px;padding:8px 12px}.repo-access-note{display:flex;gap:6px 16px;flex-wrap:wrap;padding:0;color:var(--ink-muted);font-size:11px;line-height:1.6}@media (max-width:767px){.auth-page{max-width:480px}.auth-back,.auth-intro .paper-eyebrow,.auth-title-desktop{display:none}.auth-title-mobile{display:inline}.auth-layout{grid-template-columns:1fr;gap:24px}.auth-intro,.auth-options{padding-top:0}.auth-intro .paper-page-title{font-size:40px;line-height:1.15;margin:6px 0 12px}.auth-intro .paper-page-lede{max-width:none;font-size:14px;margin:0}.auth-options{gap:24px}.auth-options .connection-top{margin-bottom:16px}.auth-options h2{font-size:18px}.auth-options p{font-size:13px;margin-bottom:12px}.auth-permissions{padding:0;margin:14px 0 20px;font-size:12px}.auth-permissions li{margin:8px 0}.auth-continue{font-size:14px}.auth-legacy{padding-top:20px}.auth-legacy h2{font-size:15px}.auth-legacy .connection-link{min-height:44px}.repo-access-controls{width:100%;gap:12px}}.text-muted{color:var(--ink-muted)!important}.anonymize-review-note,.draft-status{font-size:13px;color:var(--ink-muted)}.anonymize-review-note{padding:12px 0;margin:0}.anonymize-preview-status{padding:20px 32px;color:var(--ink-muted)}.anonymize-preview-status p{margin:0 0 12px}@media (max-width:575px){.dashboard-page .paper-page-lede{margin-bottom:8px}.dashboard-page .dashboard-heading-actions{gap:4px}.dashboard-page .dashboard-connections-link{min-height:32px}.dashboard-page .dashboard-filter-row{margin-top:12px}.anonymize-preview-status{padding:16px}}.paper-page .paper-page-title{font-size:32px}.paper-page.admin-page .paper-page-title{font-size:28px}.paper-page .paper-page-lede{font-size:14px;line-height:1.5}.paper-settings{padding-top:32px}.paper-settings-body{grid-template-columns:180px minmax(0,1fr);gap:40px;margin-top:24px;padding-top:24px;border-top:0}.paper-settings-main .paper-settings-section{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);padding:20px;margin-bottom:16px}.anonymize-page .paper-section-eyebrow,.paper-settings .paper-section-eyebrow{font-family:var(--font-sans);font-size:16px;font-weight:600;color:var(--color);text-transform:none;letter-spacing:-.01em;margin-bottom:12px}.paper-settings .paper-settings-toc-head{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.paper-settings-section .paper-section-copy{margin-top:0}.paper-settings .quota-row{gap:24px}.paper-settings .quota-header{flex-direction:column;align-items:flex-start;gap:4px}.paper-settings .quota-value{white-space:nowrap}.paper-settings .paper-settings-footer{padding:0 0 20px}.paper-settings .form-control{font-size:14px;border-color:var(--border-color);border-radius:var(--radius-control)}.paper-settings .form-check{padding-top:8px;padding-bottom:8px}.anonymize-page .btn-ink,.paper-page .btn-ink{background:var(--accent);color:#fff;border-color:var(--accent)}.dark-mode .anonymize-page .btn-ink,.dark-mode .paper-page .btn-ink{color:#1a1815}.anonymize-page .btn-ink:hover,.paper-page .btn-ink:hover{background:var(--accent);border-color:var(--accent);color:#fff;filter:brightness(.94)}.dark-mode .anonymize-page .btn-ink:hover,.dark-mode .paper-page .btn-ink:hover{color:#1a1815}.anonymize-page .btn-ink:active,.paper-page .btn-ink:active{filter:brightness(.9)}input[type=date],select{color-scheme:light}.dark-mode input[type=date],.dark-mode select{color-scheme:dark}.draft-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:10px 0}.draft-discard{padding:0;border:0;color:var(--accent);font:inherit;font-size:13px;text-decoration:underline;background:0 0;cursor:pointer}.conference-feedback{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-top:16px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);width:100%}.paper-table{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);margin-top:12px}.paper-table .paper-table-head{font-family:var(--font-sans);text-transform:none;letter-spacing:0;font-size:12px;background:var(--paper-bg-alt);border-radius:var(--radius-surface) var(--radius-surface) 0 0}.paper-table .paper-table-head,.paper-table .paper-table-row{padding-left:16px;padding-right:16px}.dashboard-page{--dashboard-space-xs:4px;--dashboard-space-sm:8px;--dashboard-space-md:12px;--dashboard-space-lg:16px;--dashboard-space-xl:24px;padding-top:var(--dashboard-space-xl)}.project-icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.project-type-svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.project-empty-icon{width:28px;height:28px;color:var(--ink-faint)}.project-type-icon{display:inline-flex;color:var(--ink-muted);flex-shrink:0}.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dashboard-space-lg)}.dashboard-heading .paper-page-title{font-size:28px;margin-bottom:var(--dashboard-space-xs)}.dashboard-heading .paper-page-lede{display:none}.dashboard-heading .btn{min-height:40px;display:inline-flex;gap:var(--dashboard-space-sm);align-items:center}.dashboard-new-mobile{display:none}.dashboard-quota{position:relative;margin:0;padding:0;border:0;background:0 0}.dashboard-quota>summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--paper-card);color:var(--color);font-family:var(--font-sans);font-size:12px;cursor:pointer;list-style:none;white-space:nowrap}.dashboard-quota>summary::-webkit-details-marker{display:none}.dashboard-quota>summary:hover,.dashboard-quota[open]>summary{background:var(--paper-bg-alt);border-color:var(--ink-faint)}.quota-summary-label{font-weight:600}.quota-summary-value{color:var(--ink-muted);font-variant-numeric:tabular-nums}.quota-summary-ring{width:18px;height:18px;flex-shrink:0;fill:none;stroke-width:2.5}.quota-ring-track{stroke:var(--border-color)}.quota-ring-fill{stroke:var(--accent);transform:rotate(-90deg);transform-origin:50% 50%}.quota-summary-ring.quota-warn .quota-ring-fill{stroke:var(--status-progress)}.quota-summary-ring.quota-danger .quota-ring-fill{stroke:var(--status-error)}.quota-ring-unlimited{stroke:var(--accent);stroke-width:1.7}.quota-summary-chevron{width:14px;height:14px;margin-left:2px;color:var(--ink-muted);transition:transform .15s ease}.dashboard-quota[open] .quota-summary-chevron{transform:rotate(180deg)}.dashboard-quota .quota-panel{position:absolute;z-index:25;top:calc(100% + 8px);left:0;width:344px;max-width:calc(100vw - 36px);padding:16px;border:1px solid var(--border-color);border-radius:12px;background:var(--paper-card);box-shadow:0 12px 36px rgba(26,24,21,.16)}.quota-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.quota-panel-heading h2{font:600 15px var(--font-sans);margin:0}.quota-panel-heading .project-close{margin:-8px -8px -8px 0}.paper-page .quota-usage{display:grid;grid-template-columns:1fr;gap:16px;margin:0;padding:0}.quota-usage .quota-item+.quota-item{padding-top:16px;border-top:1px solid var(--border-soft,var(--border-color))}.quota-usage .quota-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.quota-usage .quota-label{display:inline-flex;align-items:center;gap:8px;font:500 12px var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink-muted)}.quota-usage .quota-label .project-type-svg{width:16px;height:16px}.quota-usage .quota-value{display:flex;align-items:baseline;gap:4px;font:12px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-muted);margin-bottom:8px}.quota-usage .quota-value strong{font-size:20px;line-height:1.2;font-weight:600;color:var(--color)}.quota-percent,.quota-usage .quota-unlimited-tag{margin-left:auto;padding:2px 6px;border-radius:4px;background:var(--paper-bg-alt);font:11px var(--font-sans);color:var(--ink-muted);white-space:nowrap}.quota-warn>.quota-header .quota-percent{color:var(--status-progress)}.quota-danger>.quota-header .quota-percent{color:var(--status-error)}.quota-usage .quota-track{height:5px;border:0;background:var(--paper-bg-alt)}.quota-usage .quota-track .quota-fill{min-width:0;background:var(--accent)}.quota-remaining{margin:6px 0 0;color:var(--ink-muted);font-size:11px}.quota-remaining.quota-limit{color:var(--status-error)}.quota-loading{font-size:12px;color:var(--ink-muted);margin:12px 0 0}.dashboard-page .dashboard-filter-row{display:flex;align-items:center;gap:var(--dashboard-space-md);padding:0;margin:var(--dashboard-space-lg) 0 0;border:0;background:0 0}.dashboard-page .dashboard-filter-row .search-wrap{flex:1 1 240px;min-width:0}.dashboard-page .dashboard-filter-row .form-control{height:40px;padding:8px 12px;font-size:13px;background:var(--paper-card)}.dashboard-page .dashboard-filter-controls{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--dashboard-space-sm)}.dashboard-extra-filters{display:flex;gap:var(--dashboard-space-sm)}.dashboard-filters-toggle{display:none}.dashboard-page .dashboard-filter-row .btn-group .btn{border:0;background:0 0;border-radius:6px;height:36px;padding:6px 10px}.dashboard-page .dashboard-filter-row .btn-group .btn.btn-primary{background:var(--accent-soft);color:var(--accent)}.dashboard-page .dashboard-filter-row .btn-group .btn.btn-primary:active,.dashboard-page .dashboard-filter-row .btn-group .btn.btn-primary:hover{background:var(--accent-soft)!important;color:var(--accent)}.dashboard-page .dashboard-filter-row .dropdown-toggle{height:36px;padding:6px 10px}.dashboard-type-filter .project-type-svg{display:none}.sort-direction{width:14px;height:14px}.sort-direction.ascending{transform:rotate(180deg)}.dashboard-page .dashboard-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dashboard-space-sm) var(--dashboard-space-md);margin:var(--dashboard-space-md) 0 0;padding:0}.dashboard-view-tabs{display:flex;align-items:center;gap:var(--dashboard-space-lg)}.dashboard-view-short{display:none}.dashboard-view-tabs button{min-height:36px;border:0;border-bottom:2px solid transparent;border-radius:0;background:0 0;font:inherit;font-size:13px;color:var(--ink-muted);padding:4px 0}.dashboard-view-tabs button[aria-pressed=true]{color:var(--color);border-bottom-color:var(--color);font-weight:600}.attention-count{padding:1px 5px;margin-left:4px;border-radius:4px;background:var(--paper-bg-alt);font-size:11px;font-variant-numeric:tabular-nums}.attention-count.has-attention{color:var(--status-error)}.dashboard-count{margin-left:auto;font-size:12px;color:var(--ink-muted)}.dashboard-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--dashboard-space-sm);width:100%}.dashboard-page .filter-chip{display:inline-flex;font-family:var(--font-sans);font-size:11px;text-transform:none;letter-spacing:0;border-radius:6px}.dashboard-page .filter-chip .project-type-svg{width:12px;height:12px;margin-left:4px}.dashboard-page .filter-chip-close{min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;margin:-2px -4px -2px 2px}.dashboard-page .btn-link-inline{color:var(--ink-muted);font-size:12px}.dashboard-page .paper-table-dashboard{margin-top:var(--dashboard-space-md);border-left:0;border-right:0;border-radius:0}.dashboard-page .paper-table-dashboard .paper-table-head,.dashboard-page .paper-table-dashboard .paper-table-row{grid-template-columns:minmax(280px,3fr) 180px 72px 148px 64px;gap:var(--dashboard-space-lg);padding:8px 12px}.dashboard-page .paper-table-dashboard .paper-table-head{border-radius:0}.dashboard-page .paper-table .cell-anon{gap:var(--dashboard-space-sm)}.dashboard-page .paper-table .anon-text{flex:1}.dashboard-page .paper-table .repo-name{font-family:var(--font-sans);font-size:14px;font-weight:600}.dashboard-page .paper-table .anon-sub{display:flex;align-items:center;gap:var(--dashboard-space-sm);min-width:0}.anonymous-id{font-size:12px;font-family:var(--font-mono);color:var(--ink-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .paper-table .type-badge{font-family:var(--font-sans);letter-spacing:0;font-size:11px;text-transform:none;border-radius:6px}.dashboard-page .paper-table .status-sub{font-size:12px}.dashboard-page .paper-table .cell-conf{font-family:var(--font-sans);letter-spacing:0;text-transform:none}.dashboard-page .conf-tag .project-type-svg{width:14px;height:14px}.dashboard-row-meta{display:contents}.dashboard-page .cell-actions{gap:0;align-items:center}.copy-link-inline,.dashboard-page .btn-icon-dots,.project-close{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:0 0;color:var(--ink-muted);padding:0;width:32px;height:32px;min-width:32px;cursor:pointer}.copy-link-inline:focus-visible,.copy-link-inline:hover,.dashboard-page .btn-icon-dots:hover,.project-close:hover{background:var(--accent-soft);color:var(--accent)}.copy-link-inline:disabled{opacity:.5;cursor:wait}.mobile-meta-icon{display:none}.project-attention-action{display:inline-block;color:var(--accent);border:0;background:0 0;padding:0;font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.project-attention-action{text-align:left}.dashboard-page .cell-status .project-attention-action{flex-basis:100%}.project-details-row{width:100%;border-bottom:1px solid var(--border-color)}.project-details{padding:var(--dashboard-space-xl);background:var(--paper-bg-alt)}.project-details-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-sm)}.project-details-heading h2{font:600 16px var(--font-sans);margin:0}.project-details-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--dashboard-space-md) var(--dashboard-space-xl);margin:12px 0}.project-details-list dt{font-size:12px;color:var(--ink-muted);font-weight:500;margin-bottom:4px}.project-details-list dd{margin:0;font-size:13px;overflow-wrap:anywhere}.project-details-list code{color:var(--color);font-size:12px}.project-name-form{margin-top:var(--dashboard-space-lg);padding-top:var(--dashboard-space-lg);border-top:1px solid var(--border-color)}.project-name-form label{display:block;font-size:13px;font-weight:500;margin-bottom:4px}.project-name-form p,.project-progress-help{font-size:12px;color:var(--ink-muted);margin-bottom:8px}.project-name-controls{display:flex;gap:var(--dashboard-space-sm);max-width:560px}.project-name-controls .form-control{min-width:0;font-size:14px}.project-name-controls .btn{flex-shrink:0;min-height:40px}.project-name-form .project-name-error{color:var(--status-error)}.project-details-button{min-height:44px;padding:0 8px;border:0;border-radius:6px;background:0 0;font:inherit;font-size:12px;color:var(--ink-muted);cursor:pointer}.anonymize-page .anonymize-topbar-title{font-family:var(--font-sans);font-size:28px;font-weight:600}.anonymize-topbar{padding:16px 24px}.anonymize-form-col{background:var(--paper-bg-alt)}.anonymize-form-col .paper-settings-main{padding:20px 24px}.anonymize-form-col .paper-settings-section{padding:18px}.anonymize-form-col .paper-settings-section:first-child{padding-top:18px}.anonymize-form-col .anonymize-submit-bar{background:var(--paper-bg-alt);padding:12px 0}.anonymize-preview-head .paper-eyebrow{font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--color);text-transform:none;letter-spacing:0}.anonymize-preview-col{background:var(--canvas-bg-color);padding:24px}.anonymize-preview-head{flex-wrap:wrap;gap:6px 12px;margin-bottom:16px}.anonymize-preview-body{padding:24px}.anonymize-mobile-tabs,.anonymize-preview-empty,.mobile-preview-jump{display:none}.anonymize-page .repo-access-note{font-size:12px}@media (max-width:900px){.paper-settings-body{grid-template-columns:1fr;gap:18px}.paper-settings-toc{padding:0}.paper-settings-toc-head{display:none}.paper-table .paper-table-row{padding-left:14px;padding-right:14px}}@media (max-width:767px){.anonymize-page .paper-page-title,.paper-page .paper-page-title{font-size:24px}.paper-settings{padding:20px 16px 40px}.paper-settings-main .paper-settings-section{padding:16px}.anonymize-topbar{padding:12px 16px}.anonymize-topbar .paper-crumbs{display:none}.anonymize-mobile-tabs{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border-color);background:var(--paper-card)}.anonymize-mobile-tabs button{flex:1;font:inherit;font-size:13px;padding:10px;border:0;border-radius:6px;background:0 0;color:var(--ink-muted)}.anonymize-mobile-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.anonymize-page:not(.mobile-preview-active) .anonymize-preview-col{display:none}.mobile-preview-active .anonymize-form-col{display:none}.mobile-preview-active .anonymize-preview-empty{display:block;padding:24px 16px;color:var(--ink-muted)}.anonymize-form-col .paper-settings-main{padding:16px}.anonymize-form-col .anonymize-submit-bar{background:var(--paper-bg-alt)}.mobile-preview-jump{display:block;width:100%;min-height:44px}.anonymize-preview-col{padding:16px}.anonymize-preview-body{padding:16px}}@media (max-width:575px){.paper-settings .quota-header{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 8px}}@media (max-width:1100px) and (min-width:901px){.dashboard-page .dashboard-filter-row{flex-wrap:wrap}.dashboard-page .dashboard-filter-row .search-wrap{flex-basis:100%}.dashboard-page .dashboard-filter-controls{width:100%;justify-content:space-between}}@media (max-width:900px){.dashboard-page .paper-table.paper-table-dashboard .paper-table-row{gap:4px 8px;padding:8px 12px}.dashboard-page .paper-table .cell-anon{flex:1 1 calc(100% - 96px);min-width:0}.dashboard-page .paper-table .cell-actions{flex:0 0 88px}.dashboard-row-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;order:3;width:100%}.dashboard-page .dashboard-row-meta .cell-status{flex:1 1 80px;flex-wrap:wrap;gap:2px 8px}.dashboard-page .dashboard-row-meta .cell-expires,.dashboard-page .dashboard-row-meta .cell-views{flex-shrink:0;font-size:12px}.dashboard-page .cell-expires::before,.dashboard-page .cell-views::before{content:none}.dashboard-page .mobile-meta-icon{display:inline-block;width:14px;height:14px}.dashboard-page .dashboard-row-meta .status-sub-date{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-page .dashboard-row-meta .status-sub-error,.dashboard-page .dashboard-row-meta .status-sub-warn{flex-basis:100%;white-space:normal;overflow-wrap:anywhere}.dashboard-page .dashboard-row-meta .status-sub::before{content:none}.dashboard-page .project-attention-action{min-height:44px;display:inline-flex;align-items:center}.dashboard-page .paper-table .anon-sub .commit-hash,.dashboard-page .paper-table .anon-sub .conf-tag{display:none}}@media (max-width:767px){.container.dashboard-page{padding-top:12px}.dashboard-heading .paper-page-title{font-size:24px}.dashboard-heading-actions .btn-ink{min-height:44px}.dashboard-new-label{display:none}.dashboard-new-mobile{display:inline}.dashboard-quota>summary{min-height:44px;gap:6px;padding:10px;font-size:12px;line-height:20px}.dashboard-quota .quota-panel{max-height:calc(100dvh - 184px);overflow-y:auto;overscroll-behavior:contain}.dashboard-page .dashboard-filter-row{flex-wrap:wrap;gap:8px;margin-top:12px}.dashboard-page .dashboard-filter-row .search-wrap{flex:1 1 0}.dashboard-page .dashboard-filter-row .form-control{height:44px}.dashboard-page .dashboard-filters-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:8px;min-height:44px;background:0 0;border:0}.dashboard-page .dashboard-filter-controls{display:none;width:100%}.dashboard-page .dashboard-filter-controls.expanded{display:flex;flex-wrap:wrap;gap:8px}.dashboard-page .dashboard-filter-controls .btn-group{width:100%;display:flex}.dashboard-page .dashboard-filter-controls .btn-group .btn{flex:1;min-height:44px}.dashboard-extra-filters{display:flex;width:100%}.dashboard-page .dashboard-extra-filters .dropdown{flex:1;min-width:0}.dashboard-page .dashboard-extra-filters .dropdown-toggle{width:100%;height:44px}.dashboard-type-filter .type-filter-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-type-filter .project-type-svg{display:inline-block}.dashboard-page .dashboard-meta{margin-top:8px;gap:4px 8px}.dashboard-view-tabs{gap:16px}.dashboard-view-tabs button{min-width:44px;min-height:44px;font-size:12px}.dashboard-count{font-size:11px}.dashboard-count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.dashboard-view-long{display:none}.dashboard-view-short{display:inline}.dashboard-active-filters{display:contents}.dashboard-page .filter-chip{font-size:11px;padding:0 8px;min-height:44px;gap:4px}.dashboard-page .filter-chip-close{min-width:44px;min-height:44px;margin:0}.dashboard-page .btn-link-inline{min-height:44px;font-size:12px}.dashboard-page .paper-table-dashboard{width:calc(100% + 36px);margin:8px -18px 0;border-left:0;border-right:0;border-radius:0}.dashboard-page .paper-table .repo-name{font-size:13px}.project-details{padding:16px 12px}.project-details-list{grid-template-columns:1fr;gap:12px}.project-name-controls{flex-wrap:wrap}.project-name-controls .form-control{flex-basis:100%}.project-name-controls .btn{min-height:44px}}@media (max-width:360px){.dashboard-attention-prefix{display:none}.dashboard-attention-prefix+span{text-transform:capitalize}}.ui-icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.ui-icon{display:inline-block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:-3px}.ui-icon.sort-direction{width:14px;height:14px}.pr-title-row{display:flex;align-items:flex-start;gap:16px}.pr-title-row .pr-title{flex:1;min-width:0}.pr-title-row>.btn{flex-shrink:0}.ui-icon.record-type-icon{color:var(--ink-muted)}.btn .ui-icon,.dropdown-item .ui-icon{width:16px;height:16px}.btn-icon-dots .ui-icon{width:18px;height:18px}.anonymize-page .paper-page-title,.paper-page .paper-page-title{font-size:28px}.paper-faq,.paper-page{padding-top:24px}.paper-page .paper-page-lede{margin-bottom:16px;overflow-wrap:anywhere}.paper-page-title{overflow-wrap:anywhere}.anonymize-page .form-control,.paper-page .form-control{min-height:40px;font-family:var(--font-sans);font-size:14px;border-radius:var(--radius-control)}.anonymize-page textarea.form-control,.paper-page textarea.form-control{height:auto}.anonymize-page .btn,.paper-page .btn,.status-bar-actions .btn{min-height:var(--button-height);padding:7px var(--button-padding-x);font:500 var(--button-font-size)/var(--button-line-height) var(--font-sans);border-radius:var(--radius-button);gap:6px}.anonymize-page .btn.btn-sm,.paper-page .btn.btn-sm,.status-bar-actions .btn{min-height:var(--button-compact-height);padding:5px 10px;font-size:13px;border-radius:6px}.anonymize-page .btn-ink,.paper-page .btn-ink{min-height:40px;padding:9px 15px}.btn-hero>i,.btn>.project-type-svg,.btn>.ui-icon,.btn>i{width:16px;height:16px;margin:0!important;flex-shrink:0}.btn.dropdown-toggle::after{margin-left:0}.btn.disabled,.btn:disabled{cursor:not-allowed}.btn.disabled:hover,.btn:disabled:hover{filter:none}.paper-page .btn.btn-link{background:0 0;border-color:transparent}.auth-continue.btn{min-height:44px;padding:11px 16px!important}.anonymize-page .btn.btn-icon,.paper-page .btn.btn-icon{width:32px;height:32px;min-width:32px;min-height:32px;padding:0}.paper-page .btn.btn-icon-dots{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;background:0 0;color:var(--ink-muted)}.paper-page .btn-icon-dots:hover{background:var(--accent-soft);color:var(--accent)}.paper-page .btn-group .btn-primary:active,.paper-page .btn-group .btn-primary:hover{background:var(--accent-soft)!important;color:var(--accent)}.paper-page .paper-section-eyebrow{font-family:var(--font-sans);font-size:16px;font-weight:600;color:var(--color);text-transform:none;letter-spacing:0;margin-bottom:12px}.paper-page .paper-field-label{font-family:var(--font-sans);font-size:13px;letter-spacing:0}.paper-tabs .paper-tab{min-height:44px}.paper-pill,.status-pill{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none;border-radius:6px}.paper-meta-rule{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none;gap:12px 24px}.paper-meta-rule b:not(.commit-hash){font-family:var(--font-sans);font-weight:500}.connections-grid{gap:16px}.connections-grid>section{background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);padding:20px}.connections-heading{margin-bottom:24px}.claim-page .claim-form,.status-page>.paper-settings-section{padding:20px;margin-top:24px;border:1px solid var(--border-color);border-radius:var(--radius-surface);background:var(--paper-card)}.claim-page .claim-form{max-width:640px}.status-page .anonymize-submit-bar{background:0 0;gap:8px;flex-wrap:wrap}.anonymize-landing{padding-top:32px}.paper-settings .quota-usage{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.paper-settings .quota-usage .quota-item+.quota-item{padding-top:0;border-top:0;padding-left:16px;border-left:1px solid var(--border-color)}.paper-settings .quota-usage .quota-header{flex-direction:row;align-items:center;flex-wrap:wrap}.paper-settings .quota-usage .quota-value{white-space:normal;flex-wrap:wrap}.paper-faq-hero{padding-bottom:24px;margin-bottom:24px}.paper-faq-toc-head{font-family:var(--font-sans);font-size:12px;text-transform:none;letter-spacing:0;margin-bottom:8px}.paper-faq-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}.paper-faq-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.4rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.02em;max-width:13em;margin-bottom:16px;text-wrap:balance}.paper-faq-title em{font-style:italic;color:var(--accent)}.paper-faq-lede{font-size:14px}.paper-faq-body{grid-template-columns:180px minmax(0,1fr);gap:40px}.faq-section h4.faq-cat{font:400 30px/1.15 var(--font-serif);letter-spacing:-.015em;padding-bottom:12px}.faq-section h4.faq-cat .ui-icon{display:none}.faq-section .panel-group{margin-bottom:32px}.faq-section .panel-default .panel-title a{font:500 15px/1.5 var(--font-sans);padding:16px 0 16px 28px;min-height:44px}.faq-section .panel-default .panel-body{padding-left:28px!important}.faq-section .panel-default .panel-title a:after{content:"";top:22px;width:8px;height:8px;border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);transform:translateX(4px) rotate(45deg);transition:transform .15s ease}.faq-section .panel-default .panel-title a.collapsed:after{content:"";transform:translateX(2px) rotate(-45deg)}.faq-section .panel-default .panel-title a:hover:after{border-color:var(--color)}.paper-faq-toc nav a.active{color:var(--color);font-weight:500}.paper-empty-title{font:600 32px/1.2 var(--font-sans);letter-spacing:-.025em}.paper-empty-title em{font-style:normal}.btn-hero{justify-content:center;gap:8px;min-height:48px;padding:13px 20px;font-size:15px;line-height:20px;background:var(--accent);border-color:var(--accent);color:#fff;border-radius:var(--radius-button)}.dark-mode .btn-hero{background:#1f6a64;border-color:#1f6a64;color:#fff}.btn-hero:hover{background:var(--accent);color:#fff;filter:brightness(.94)}.dark-mode .btn-hero:hover{background:#24786f;border-color:#24786f;color:#fff;filter:none}.paper-table:not(.paper-table-dashboard){border-left:0;border-right:0;border-radius:0}.paper-table:not(.paper-table-dashboard) .paper-table-head{border-radius:0}.paper-table .cell-anon{gap:8px}.paper-table .cell-anon .anon-text{flex:1}.paper-table-conferences .cell-anon .repo-name{font-family:var(--font-sans);font-weight:600}.paper-table .anon-sub>a,.paper-table .anon-sub>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.paper-table .anon-sub .ui-icon{width:14px;height:14px}.paper-page .filter-chip{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none;border-radius:6px}.paper-page .filter-chip-close .ui-icon{width:12px;height:12px}.admin-nav{gap:4px;border:0;border-bottom:1px solid var(--border-color);border-radius:0;padding:0 0 8px;background:0 0}.admin-nav a{font-family:var(--font-sans);font-size:13px;letter-spacing:0;text-transform:none;border-radius:6px;min-height:40px;padding:8px 12px}.admin-nav a.active{background:var(--accent-soft);color:var(--accent)}.admin-nav .ui-icon{width:16px;height:16px}.admin-filter-toolbar{background:0 0;border:0;padding:0}.admin-filter-inline>label,.admin-filter-inline>span{font-family:var(--font-sans);text-transform:none;letter-spacing:0}.admin-summary .summary-total{font-family:var(--font-sans);font-size:18px;font-weight:600}.admin-summary .summary-pill{font:500 13px/20px var(--font-sans);min-height:32px;padding:5px 10px;border-radius:6px}.admin-summary .summary-pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.admin-summary .summary-pill .count{font-family:var(--font-sans)}.admin-active-chip{font-family:var(--font-sans);font-size:12px}.admin-active-chip button .ui-icon{width:12px;height:12px}.user-detail-card .user-header h2{font:600 20px/1.4 var(--font-sans)}.errors-page .errors-toolbar .select-wrap label,.errors-page .volume-head,.overview-page .ov-panel-meta,.paper-detail-grid .detail-label,.paper-progress .paper-progress-label,.status-page .paper-error-eyebrow,.user-detail-grid .detail-label{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.overview-page .ov-chart-title,.overview-page .ov-panel-title,.paper-error-title{font:600 16px/1.4 var(--font-sans)}.paper-error-head>.ui-icon,.paper-ratelimit-head>.ui-icon{margin-top:3px;color:var(--status-error)}.paper-ratelimit-head>.ui-icon{color:var(--status-progress)}.errors-page .seg-tabs{border-radius:var(--radius-control)}.errors-page .seg-tabs button{min-height:36px;padding:7px 12px;font:500 14px/20px var(--font-sans)}.errors-page .seg-tabs button.active{background:var(--accent-soft);color:var(--accent)}.errors-page .errors-list,.errors-page .kpi-card:hover,.errors-page .volume-chart,.overview-page .ov-chart-card,.overview-page .ov-panel-card{box-shadow:none}.errors-page .kpi-value,.overview-page .ov-daily-value,.overview-page .ov-kpi-value,.q-card-count,.user-hero-name{font-family:var(--font-sans);font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.errors-page .kpi-label,.overview-page .ov-daily-label,.overview-page .ov-kpi-label,.q-card-name,.q-section-label,.user-hero-details .detail-label{font-family:var(--font-sans);font-size:12px;letter-spacing:0;text-transform:none}.overview-page .ov-daily-card{background:var(--paper-card);box-shadow:none;border-radius:var(--radius-surface)}.dark-mode .overview-page .ov-daily-value,.overview-page .ov-daily-value{color:var(--accent)}.errors-page .kpi-card,.overview-page .ov-kpi-card{box-shadow:none;border-radius:var(--radius-surface)}.q-card{border-radius:var(--radius-surface)}.q-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.q-range-btns{border-radius:var(--radius-control)}.q-job-detail-actions .btn,.q-range-btns .btn{font-family:var(--font-sans);font-size:13px}.q-range-btns .btn.active{background:var(--accent-soft);color:var(--accent)}.btn-dark{border-radius:var(--radius-control);font-family:var(--font-sans);font-size:12px}@media (max-width:900px){.paper-settings .quota-usage{grid-template-columns:1fr;gap:16px}.paper-settings .quota-usage .quota-item+.quota-item{padding-left:0;border-left:0;border-top:1px solid var(--border-color);padding-top:16px}.paper-table:not(.paper-table-dashboard) .paper-table-row{gap:4px 8px!important;padding:8px 12px}.paper-table:not(.paper-table-dashboard) .cell-anon{flex:1 1 calc(100% - 52px);order:1}.paper-table:not(.paper-table-dashboard) .cell-actions{order:2;flex:0 0 44px}.paper-table .admin-users-row>[role=cell]:first-child,.paper-table.paper-table-repos.has-bulk .paper-table-row>[role=cell]:first-child{flex:0 0 24px;order:0}.paper-table .admin-users-row .cell-anon,.paper-table.paper-table-repos.has-bulk .cell-anon{flex-basis:calc(100% - 84px)}.paper-table:not(.paper-table-dashboard) .cell-anon .anon-sub{font-size:12px;gap:6px}.paper-table:not(.paper-table-dashboard) .cell-status .status-sub{font-size:12px}.paper-table .cell-expires::before,.paper-table .cell-views::before{content:none}.paper-table .cell-expires .mobile-meta-icon,.paper-table .cell-views .mobile-meta-icon{display:inline-block;width:14px;height:14px}.paper-faq-body{grid-template-columns:1fr;gap:24px}}@media (max-width:767px){.paper-faq,.paper-page{padding-top:20px}.anonymize-page .paper-page-title,.paper-page .paper-page-title,.paper-page.admin-page .paper-page-title{font-size:24px}.paper-faq-title{font-size:40px}.anonymize-page .form-control,.paper-page .form-control{min-height:44px}.anonymize-page .btn,.connection-link,.draft-discard,.paper-faq-toc a,.paper-page .btn,.paper-settings-toc nav a{min-height:44px}.anonymize-page .btn,.paper-page .btn,.status-bar-actions .btn{min-height:44px;padding:11px 14px;font-size:14px;line-height:20px;white-space:normal}.anonymize-page .btn.btn-sm,.paper-page .btn.btn-sm{min-height:44px;padding:11px 12px;font-size:14px}.anonymize-page .btn.btn-icon,.copy-link-inline,.paper-page .btn.btn-icon,.paper-page .btn.btn-icon-dots,.project-close{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}.dashboard-page .dashboard-filter-row .btn-group .btn,.dashboard-page .dashboard-filter-row .dropdown-toggle{height:auto;min-height:44px;font-size:14px;padding:11px 10px}.dashboard-heading-actions .btn-ink{padding:11px 16px}.dashboard-page .dashboard-filters-toggle{padding:11px 10px}.errors-page .btn-icon,.pr-title-row .btn,.status-bar-actions .btn{min-width:44px;min-height:44px;padding:0}.status-bar-actions .btn{width:44px;height:44px}.errors-page .seg-tabs button,.paper-tab{min-height:44px}.errors-page .seg-tabs button{padding:11px 12px}.status-bar-actions{flex-wrap:wrap;max-width:100%}.leftCol-close,.tree-search-clear{min-width:44px;min-height:44px}.anonymize-landing{padding:20px 18px}.anonymize-landing .repo-access-switch button,.source-url-label-row .repo-access-switch button{min-height:44px;padding:11px 10px;font-size:13px}.paper-settings-body{margin-top:16px;padding-top:0;gap:16px}.paper-settings-toc nav{gap:0 12px}.paper-settings-toc nav a{display:inline-flex;align-items:center}.paper-faq{padding-left:18px;padding-right:18px}.paper-faq-toc nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 16px}.paper-faq-toc a{display:inline-flex;align-items:center;padding:8px 0;border-left:0;border-bottom:2px solid transparent;margin-left:0}.paper-faq-toc nav a.active,.paper-faq-toc nav a:hover{border-bottom-color:var(--accent);color:var(--accent)}.claim-page .claim-form,.status-page>.paper-settings-section{padding:16px;margin-top:16px}.admin-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:4px;max-width:100%;margin:8px 0 16px}.admin-nav a{flex-shrink:0;min-height:44px}.admin-summary .summary-pill{min-height:44px;padding:11px 12px;font-size:14px}.admin-active-chip button{min-width:44px;min-height:44px}.admin-filter-row{gap:8px}.admin-filter-row .admin-filter-inline{gap:8px;flex-wrap:wrap}.errors-page .kpi-grid{grid-template-columns:1fr 1fr;gap:12px}.q-cards{flex-direction:row}.q-card{min-width:130px}.q-header-actions{flex-wrap:wrap;gap:8px}}.file-error .viewer-error{width:100%;max-width:65ch;padding:2rem 1rem;overflow-wrap:anywhere;font-size:1rem;font-weight:400;text-align:left}.viewer-error .paper-empty-title{margin-bottom:1rem}.viewer-error p{line-height:1.6}.viewer-error .paper-error-actions{display:flex;flex-wrap:wrap;gap:.75rem}.markdown-body .markdown-alert{margin:1rem 0;padding:.5rem 1rem;border-left:4px solid var(--alert-color,#0969da)}.markdown-body .markdown-alert-note{--alert-color:#0969da}.markdown-body .markdown-alert-tip{--alert-color:#1a7f37}.markdown-body .markdown-alert-important{--alert-color:#8250df}.markdown-body .markdown-alert-warning{--alert-color:#9a6700}.markdown-body .markdown-alert-caution{--alert-color:#cf222e}.markdown-body .markdown-alert-title{color:var(--alert-color);font-weight:600;display:flex;align-items:center;gap:.5rem}.markdown-body .markdown-alert-title svg{fill:currentColor;flex-shrink:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}body.dark-mode .markdown-alert-note{--alert-color:#79c0ff}body.dark-mode .markdown-alert-tip{--alert-color:#7ee787}body.dark-mode .markdown-alert-important{--alert-color:#d2a8ff}body.dark-mode .markdown-alert-warning{--alert-color:#e3b341}body.dark-mode .markdown-alert-caution{--alert-color:#ff7b72}.markdown-body .emoji{display:inline;vertical-align:text-bottom}.markdown-body .footnotes{margin-top:2rem;border-top:1px solid var(--border-color,#d0d7de);padding-top:1rem;font-size:.875em}.markdown-body .katex-display{overflow-x:auto;overflow-y:hidden;padding:.25rem 0}.markdown-body .markdown-diagram{margin:1rem 0;border:1px solid var(--border-color,#d0d7de);padding:.75rem}.markdown-body .markdown-diagram svg{display:block;width:100%;max-height:360px}.markdown-body .markdown-diagram path{fill:#7cc7be;fill-opacity:.5;stroke:var(--link-color,#1f6a64);stroke-width:1;vector-effect:non-scaling-stroke}.markdown-body .diagram-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.markdown-body .diagram-controls button{min-width:44px;min-height:44px;padding:.25rem .75rem;border:1px solid var(--border-color,#d0d7de);background:var(--main-bg-color,#fff);color:inherit;border-radius:4px}.markdown-body .diagram-controls button:hover{background:var(--hover-bg-color,#f6f8fa)}.markdown-body .diagram-controls button:focus-visible{outline:2px solid var(--link-color,#0969da);outline-offset:2px}.markdown-body .hljs-keyword,.markdown-body .hljs-selector-tag{color:#cf222e}.markdown-body .hljs-attr,.markdown-body .hljs-string{color:#0a3069}.markdown-body .hljs-literal,.markdown-body .hljs-number,.markdown-body .hljs-title{color:#8250df}.markdown-body .hljs-comment{color:#57606a}body.dark-mode .markdown-body .hljs-keyword{color:#ff7b72}body.dark-mode .markdown-body .hljs-attr,body.dark-mode .markdown-body .hljs-string{color:#a5d6ff}body.dark-mode .markdown-body .hljs-literal,body.dark-mode .markdown-body .hljs-number,body.dark-mode .markdown-body .hljs-title{color:#d2a8ff}body.dark-mode .markdown-body .hljs-comment{color:#b1bac4}body.dark-mode .markdown-body .gh-light-mode-only,body:not(.dark-mode) .markdown-body .gh-dark-mode-only{display:none}@media (max-width:600px){.ov-cache .ov-performance-window{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}.ov-cache .ov-performance-window select{width:100%;min-width:0}}.viewer-loading{padding:24px clamp(16px,4vw,40px);min-height:280px;color:var(--color)}.viewer-loading-status{min-height:84px}.viewer-loading-status strong{display:block;font-size:15px;font-weight:600}.viewer-loading-name{display:block;margin-top:6px;font-family:monospace;font-size:13px;overflow-wrap:anywhere;opacity:.75}.viewer-loading-status p{margin:12px 0;font-size:14px}.viewer-loading-lines{display:grid;gap:14px;max-width:720px;padding-top:16px}.viewer-loading-lines span{height:9px;width:70%;background:var(--border-color);border-radius:3px}.viewer-loading-lines span:nth-child(3n+1){width:48%}.viewer-loading-lines span:nth-child(3n+2){width:88%}.ace_scrollbar-h{height:8px!important}.ace_scrollbar-h::-webkit-scrollbar{height:8px}.ace_scrollbar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink-faint) 55%,transparent);border-radius:4px}.ace_scrollbar::-webkit-scrollbar-track{background:0 0}.explorer-content,.explorer-main{background:var(--paper-card)}.explorer-content .dir-card,.explorer-content .file-card{margin:0!important;border:0;border-radius:0;background:0 0;overflow:visible}.explorer-content .file-card{min-height:100%}.explorer-content .file-card.is-code{height:100%!important;overflow:clip}.explorer-content .file-card-head{position:sticky;top:0;z-index:3;min-height:52px;padding:8px 12px 8px 32px;border-radius:0!important;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--paper-card) 90%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px)}.dark-mode .explorer-content .file-card-head{background:color-mix(in srgb,var(--paper-card) 90%,transparent)}.explorer-content .file-card .file-content.markdown-body{max-width:880px;padding:36px 32px 96px;background:0 0!important}.explorer-content .file-card .ace_editor{border-radius:0}.explorer-content .ace_editor.ace-chrome .ace_gutter,.explorer-content .ace_editor.ace-nord-dark .ace_gutter{background:var(--paper-card)!important;border-right:0}.explorer-content .ace_editor .ace_gutter-cell{padding-left:20px}.explorer-content .dir-card{border-bottom:1px solid var(--border-soft)}.explorer-content .dir-card-head{padding:14px 32px;background:0 0!important;border-bottom:0}.explorer-content .dir-row{padding:0 32px}.explorer-content .dir-card+.file-card{margin-top:0!important}@media (max-width:767px){.explorer-content .file-card-head{padding:6px 8px 6px 16px;min-height:0}.explorer-content .file-card .file-content.markdown-body{padding:20px 16px 72px}.explorer-content .ace_editor .ace_gutter-cell{padding-left:8px}.explorer-content .dir-card-head,.explorer-content .dir-row{padding-left:16px;padding-right:16px}}.leftCol-brand{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:0 14px;border-bottom:1px solid var(--border-soft)}.leftCol-logo{font-family:var(--font-serif);font-size:19px;letter-spacing:-.01em;color:var(--color)!important;text-decoration:none!important;white-space:nowrap}.leftCol-logo em{font-style:italic}.leftCol-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:999px;background:var(--hover-bg-color);font-size:11.5px;font-weight:500;color:var(--ink-soft);white-space:nowrap}.leftCol-badge .ui-icon{width:13px;height:13px;color:var(--status-ready)}.leftCol-search{padding-top:12px}.leftCol-links{display:flex;align-items:center;gap:14px;margin:0 0 10px;font-size:13px}.leftCol-links a{color:var(--ink-soft);text-decoration:none}.leftCol-links a:hover{color:var(--color);text-decoration:underline;text-underline-offset:3px}.leftCol-theme{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:auto;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-soft);cursor:pointer}.leftCol-theme:hover{background:var(--hover-bg-color);color:var(--color)}.leftCol-theme .ui-icon{width:16px;height:16px}.leftCol-foot .leftCol-zip{display:flex}.card-files-btn{display:none!important}@media (max-width:991px){.card-files-btn{display:inline-flex!important}}.card-files-btn.is-needed{display:inline-flex!important}@media (max-width:991px){.leftCol-brand{padding-right:60px}.leftCol-head{position:absolute;top:0;right:0;z-index:2;padding:4px 6px!important;border:0!important;background:0 0!important}.leftCol-head .leftCol-eyebrow{display:none}}@media (max-width:991px){.leftCol-head .leftCol-close{width:40px;height:40px;border:0!important;background:0 0!important;border-radius:var(--radius-control);color:var(--ink-soft)}.leftCol-head .leftCol-close:hover{background:var(--hover-bg-color)!important;color:var(--color)}.leftCol-brand{min-height:52px}}.leftCol-links .leftCol-donate{display:inline-flex;align-items:center;gap:5px}.leftCol-links .leftCol-donate .ui-icon{width:14px;height:14px}.leftCol-links .leftCol-donate:hover{color:var(--status-error);text-decoration:none}.leftCol-links .leftCol-donate:hover .ui-icon{fill:currentColor}.files .file.active>a{border-radius:var(--radius-control)!important}.files .file.active>a::before{left:4px!important;top:7px!important;bottom:7px!important;width:3px!important;border-radius:2px!important}.leftCol-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(20,18,16,.45)!important}@media (max-width:991px){.leftCol-head{right:6px!important}}.symbols{position:relative}.file-card-head .btn.btn-symbols{gap:6px;padding:0 10px;color:var(--ink-soft);font-weight:500}.symbols-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:300px;max-height:420px;overflow:auto;padding:6px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);box-shadow:0 12px 32px rgba(26,24,21,.16)}.symbols-head{padding:6px 8px 8px;font-size:12px;font-weight:600;color:var(--ink-muted)}.symbols-item{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 8px;border:0;border-radius:var(--radius-control);background:0 0;font:inherit;font-size:13px;color:var(--color);text-align:left;cursor:pointer}.symbols-item:focus-visible,.symbols-item:hover{background:var(--hover-bg-color);outline:0}.symbols-kind{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font:600 11px/1 var(--font-mono);flex-shrink:0}.symbols-kind.is-function{background:color-mix(in srgb,#6b45b8 14%,transparent);color:#6b45b8}.symbols-kind.is-class{background:color-mix(in srgb,#b4362a 14%,transparent);color:#b4362a}.dark-mode .symbols-kind.is-function{color:#c9a8f5}.dark-mode .symbols-kind.is-class{color:#f2897d}.symbols-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:12.5px}.symbols-line{font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}@media (max-width:1180px){.file-card-head .btn-symbols .btn-find-label{display:none}.file-card-head .btn-symbols{width:32px;padding:0!important}}.ace_search{top:0!important;left:0!important;right:0!important;border:0!important;border-bottom:1px solid var(--border-soft)!important;border-radius:0!important;box-shadow:none!important;padding:8px 12px 8px 8px!important;background:var(--paper-card)!important}.ace_search_field{border-color:var(--border-color)!important}.ace_search .ace_button{border:1px solid transparent!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent) 40%,transparent)!important}.ace_search_counter{color:var(--ink-soft)!important;font-size:13px!important}.ace_editor .ace_marker-layer .ace_selected-word{background:var(--accent-soft)!important}.ace_editor.ace-chrome .ace_marker-layer .ace_selection{background:color-mix(in srgb,var(--accent) 28%,transparent)!important;box-shadow:0 0 0 1px var(--accent)!important}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:color-mix(in srgb,var(--accent) 34%,transparent)!important;box-shadow:0 0 0 1px var(--accent)!important}.leftCol-foot{padding:10px 14px 12px}.leftCol-links{margin:0 0 6px;gap:12px}.leftCol-repo-actions{display:inline-flex}.leftCol-project-header .leftCol-hide{display:inline-flex}@media (max-width:991px){.leftCol-project-header button.leftCol-hide{display:none}}.ace-chrome .ace_string{color:#11704f!important}.ace-chrome .ace_entity.ace_name.ace_function,.ace-chrome .ace_support.ace_function{color:#5b3dc2!important}.ace-chrome .ace_keyword,.ace-chrome .ace_storage{color:#b02f22!important}.ace-chrome .ace_comment{color:#6f6a61!important}.ace-chrome .ace_keyword.ace_operator,.ace-chrome .ace_paren,.ace-chrome .ace_punctuation{color:#5c574f!important}.dark-mode .ace_editor.ace-nord-dark,.dark-mode .explorer-content,.dark-mode .explorer-content .ace_editor.ace-nord-dark .ace_gutter,.dark-mode .explorer-main{background:var(--canvas-bg-color)!important}.dark-mode .ace_search,.dark-mode .explorer-content .file-card-head{background:color-mix(in srgb,var(--canvas-bg-color) 92%,transparent)!important}.dark-mode .leftCol{background:var(--sidebar-bg-color)}.dark-mode .symbols-menu{background:#22201c}.paper-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.paper-stats-grid .paper-stat-card{padding-left:24px!important;padding-right:24px!important}.paper-stats-grid .paper-stat-card:first-child{padding-left:0!important}.paper-stat-value{font-size:40px!important}.paper-stats-grid .paper-stat-card{margin-right:0!important}.paper-stats-grid .paper-stat-card:last-child{border-right:0;padding-right:0!important}@media (max-width:767px){.paper-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.paper-stats-grid .paper-stat-card:nth-child(odd){padding-left:0!important}}.dark-mode .leftCol-foot,.leftCol-foot{background:0 0!important}.paper-faq-toc nav a.active,.paper-faq-toc nav a:hover{border-left-color:var(--accent)!important}.card-files-label{display:none}@media (max-width:991px){.file-card-head .card-files-btn{width:auto!important;padding:0 10px!important;gap:6px;border:1px solid var(--border-color)!important;color:var(--color)!important}.card-files-label{display:inline;font-size:13px;font-weight:500}}@media (max-width:767px){.file-card-head .btn.btn-icon-only{color:var(--color)!important}.file-card-head .file-card-meta .meta-extra{display:none!important}.file-card.is-code.no-wrap::after{width:64px!important}}.btn.btn-ghost.is-on{color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)!important}.explorer-content .ace_editor.ace-chrome .ace_gutter,.explorer-content .ace_editor.ace-nord-dark .ace_gutter{border-right:1px solid var(--border-soft)!important}.ace_search .ace_button{width:28px!important;height:28px!important;border:1px solid var(--border-color)!important;color:var(--ink-soft)!important;font-size:12px!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}.ace_search_counter{margin-left:2px!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(242,204,96,.38)!important;box-shadow:none!important}.ace_editor.ace-chrome .ace_marker-layer .ace_selection,.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:#f2cc60!important;box-shadow:0 0 0 1px #c69026!important}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:rgba(242,204,96,.55)!important}.explorer-content .file-card .file-content.markdown-body{margin:0 auto!important}.leftCol-project-header .leftCol-zipbtn{width:auto!important;gap:4px;padding:0 6px;font-size:11.5px;font-weight:600;letter-spacing:.02em}.leftCol-project-header .leftCol-zipbtn .ui-icon{width:13px;height:13px}.leftCol-brand{justify-content:space-between}.repo-panel{display:grid;gap:8px;padding:14px 14px 12px;border-bottom:1px solid var(--border-soft)}.repo-panel-title{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;color:var(--color)}.repo-panel-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-panel-title .ui-icon{width:16px;height:16px;flex-shrink:0;color:var(--ink-muted)}.repo-panel-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;color:var(--ink-soft)}.repo-panel-meta .last-update{font:inherit!important;color:inherit!important;padding:0;border:0}.repo-panel-meta>span+span::before{content:"·";margin-right:10px;color:var(--ink-faint)}.repo-panel-meta>.repo-panel-badge+span::before{content:none}.repo-panel-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 6px;border-radius:999px;background:color-mix(in srgb,var(--status-ready) 12%,transparent);color:var(--status-ready);font-size:11.5px;font-weight:600}.repo-panel-badge .ui-icon{width:12px;height:12px}.repo-panel-zip{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important}.repo-panel-zip:hover{background:var(--hover-bg-color);border-color:var(--ink-faint)}.repo-panel-zip .ui-icon{width:15px;height:15px}.dark-mode .repo-panel-zip{background:0 0}.leftCol-project-header{display:none!important}.leftCol-search{padding-top:12px;padding-bottom:4px}.tb-file{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding-left:10px;border-left:1px solid var(--border-color)}.file-card-head .btn.tb-btn{height:32px;gap:6px;padding:0 12px!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important;background:var(--paper-card)!important;color:var(--color)!important;font-size:13px;font-weight:500}.file-card-head .btn.tb-btn:hover{background:var(--hover-bg-color)!important;border-color:var(--ink-faint)!important}.file-card-head .btn.tb-btn .ui-icon{width:15px;height:15px}.file-card-head .btn.tb-btn-icon{width:32px;padding:0!important;justify-content:center}.dark-mode .file-card-head .btn.tb-btn{background:0 0!important}.file-card-actions>.tb-file:first-child{border-left:0;padding-left:0;margin-left:0}.tb-more{position:relative;display:none}.tb-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:220px;padding:6px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);box-shadow:0 12px 32px rgba(26,24,21,.18)}.tb-menu>a,.tb-menu>button{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 10px;border:0;border-radius:var(--radius-control);background:0 0;font:inherit;font-size:14px;color:var(--color)!important;text-align:left;text-decoration:none!important}.tb-menu>a:hover,.tb-menu>button:hover{background:var(--hover-bg-color)}.tb-menu .ui-icon{width:16px;height:16px;color:var(--ink-soft)}.tb-menu-check{margin-left:auto;color:var(--accent);font-weight:600}.tb-menu-sep{height:1px;margin:6px 4px;background:var(--border-soft)}@media (max-width:767px){.tb-more{display:inline-flex}.file-card-head .btn-find,.file-card-head .btn-goto,.file-card-head .btn-toggle,.file-card-head .symbols,.file-card-head .tb-file,.file-card-head .view-switch+.file-card-actions .tb-file{display:none!important}.file-card-head .tb-more-btn{width:40px!important;height:40px!important}.file-card-head .card-files-btn{height:40px!important}.file-card-path .paths .breadcrumb-item:last-child{font-size:15px}}.feat-mock{height:380px;overflow:hidden;background:var(--paper-card);font-family:var(--font-sans);color:var(--color)}.fm-form{padding:22px 26px;display:grid;gap:8px}.fm-label{font-size:12px;font-weight:600;color:var(--ink-soft);margin-top:6px}.fm-input{height:36px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--input-bg);font-size:13.5px}.fm-input-sm{width:150px}.fm-chips{display:flex;flex-wrap:wrap;gap:6px}.fm-chips span{padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--status-error) 9%,transparent);color:var(--color);font-size:12.5px;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--status-error) 55%,transparent)}.fm-chips .fm-chip-add{background:0 0;border:1px dashed var(--border-color);color:var(--ink-muted);text-decoration:none}.fm-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}.fm-toggles{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.fm-toggles span{padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-control);font-size:12.5px;color:var(--ink-muted)}.fm-toggles .is-on{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);color:var(--accent)}.fm-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.fm-share{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.fm-btn{padding:9px 14px;border-radius:var(--radius-button);background:var(--accent);color:#fff;font-size:13px;font-weight:600;white-space:nowrap}.dark-mode .fm-btn{background:#1f6a64}.fm-viewer{display:grid;grid-template-columns:150px 1fr;height:100%}.fm-tree{padding:14px 8px;background:var(--paper-bg-alt);border-right:1px solid var(--border-soft);font-size:12.5px}.fm-tree div{padding:5px 10px;border-radius:var(--radius-control);color:var(--ink-soft)}.fm-tree .is-folder::before{content:"▸ ";color:var(--ink-faint)}.fm-tree .is-active{background:rgba(128,128,128,.14);color:var(--color);font-weight:500;box-shadow:inset 3px 0 0 var(--accent)}.fm-code{min-width:0}.fm-code-bar{display:flex;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-soft);font-size:12.5px;color:var(--ink-muted)}.fm-code-bar b{color:var(--color);font-weight:600}.fm-code pre{margin:0;padding:12px 16px;font-family:var(--font-mono);font-size:12.5px;line-height:1.75;color:var(--color);background:0 0;white-space:pre}.fm-code .ln{display:inline-block;width:22px;margin-right:14px;text-align:right;color:var(--ink-faint)}.fm-code .k{color:#b02f22}.fm-code .f{color:#5b3dc2}.fm-code .s{color:#11704f}.fm-code .c{color:var(--ink-muted);font-style:italic}.dark-mode .fm-code .k{color:#f2897d}.dark-mode .fm-code .f{color:#c9a8f5}.dark-mode .fm-code .s{color:#9dd3a8}.fm-code .redact{padding:0 4px;border-radius:3px;background:var(--accent-soft);color:var(--accent);font-style:normal}.fm-dash{padding:12px 18px;font-size:13px}.fm-dash-head,.fm-dash-row{display:grid;grid-template-columns:1.7fr .9fr .5fr .9fr;gap:12px;align-items:center}.fm-dash-head{padding:8px 0;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;color:var(--ink-muted)}.fm-dash-row{padding:12px 0;border-bottom:1px solid var(--border-soft)}.fm-dash-row b{display:block;font-weight:600}.fm-dash-row i{display:block;font-style:normal;font-size:12px;color:var(--ink-muted);font-family:var(--font-mono)}.fm-dash-row.is-muted{color:var(--ink-muted)}.fm-dash .st{display:inline-flex;align-items:center;gap:6px}.fm-dash .st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.fm-dash .st.is-ready{color:var(--status-ready)}.fm-dash .st.is-progress{color:var(--status-progress)}.fm-dash .st.is-expired{color:var(--ink-muted)}@media (max-width:767px){.feat-mock{height:auto;min-height:260px}.fm-viewer{grid-template-columns:1fr}.fm-tree{display:none}.fm-dash-head span:nth-child(4),.fm-dash-row span:nth-child(4){display:none}.fm-dash-head,.fm-dash-row{grid-template-columns:1.6fr 1fr .5fr}.fm-row{grid-template-columns:1fr}}.paper-stat-delta{margin-top:6px!important;font-family:var(--font-sans)!important;font-size:13px!important;color:var(--ink-muted)!important}.paper-stats-grid .paper-stat-card{padding-top:22px!important;padding-bottom:22px!important}.paper-eyebrow,.paper-faq-eyebrow,.paper-stats-meta{font-family:var(--font-sans)!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:.06em!important;color:var(--ink-soft)!important}.paper-feature-tab .paper-eyebrow{font-size:12px!important}.paper-reassure li::before{color:var(--ink-soft)!important}.feat-mock{height:auto!important;min-height:300px}@media (max-width:767px){.file-card.is-code.no-wrap::after{display:none!important}.file-card.is-code.no-wrap .ace_scroller{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}.explorer-content .file-card-head{row-gap:6px;padding-top:8px;padding-bottom:8px}.file-card-path{flex:1 1 auto;gap:10px}.file-card-path .paths{flex:1 1 auto;min-width:0}.file-card-path .paths .breadcrumb-item:last-child{overflow:hidden;text-overflow:ellipsis}.file-card-head .card-files-btn{height:32px!important;border-radius:var(--radius-control)!important;padding:0 10px!important}.file-card-head .tb-more-btn{width:36px!important;height:32px!important}.file-card-head>.view-switch{order:4;margin-left:auto!important}.file-card-head .file-card-meta{order:3;flex-basis:auto!important;flex:1 1 auto;margin:0!important;align-self:center}}@media (min-width:768px){.explorer-content .file-card-head{padding-left:20px}.explorer-content .file-card .file-content.markdown-body{margin:0!important;padding-left:20px!important;padding-right:40px!important;max-width:900px}}.dark-mode .files .file.active>a{background:rgba(255,255,255,.13)!important}.dark-mode .btn.btn-ghost.is-on{background:rgba(124,199,190,.18)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.45)!important}.dark-mode .leftCol{background:#1e1b18!important}.ace_searchbtn_close{width:24px!important;height:24px!important;background-size:12px!important;opacity:.7}.ace_search_field:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.navbar .nav-link:not(.active):not(.btn-signin){color:var(--ink-soft)!important}.navbar .nav-support-inline{color:var(--ink-soft)!important}.paper-stat-delta{color:var(--ink-soft)!important}.paper-faq-toc-head,.paper-footer-head{font-family:var(--font-sans)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase;color:var(--ink-soft)!important}.paper-feature:not(.is-on) .paper-feature-tab::after{border-color:var(--ink-soft)!important;border-width:0 2px 2px 0!important}.faq-section .panel-default .panel-body{max-width:720px!important}.repo-panel-meta .last-update{flex-basis:100%}.repo-panel-meta .last-update::before{content:none!important}@media (max-width:767px){.file-card-head .file-card-path{flex:1 1 calc(100% - 56px)!important}.file-card-head .file-card-actions{order:1}.file-card-head .file-card-meta{order:3}.file-card-head>.view-switch{order:4}}.repo-panel{display:none!important}.repo-id{display:flex;align-items:center;gap:10px;padding:14px 14px 6px}.repo-id-tile{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 16%,var(--paper-card)),color-mix(in srgb,var(--accent) 6%,var(--paper-card)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.repo-id-tile .ui-icon{width:17px;height:17px}.repo-id-text{min-width:0}.repo-id-title{font-size:14px;font-weight:600;color:var(--color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-id-sub{margin-top:1px;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-id-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 14px 12px 58px;border-bottom:1px solid var(--border-soft);font-size:12.5px}.repo-id-count{color:var(--ink-muted);font-variant-numeric:tabular-nums}.repo-id-zip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-control);color:var(--link-color)!important;font-weight:500;text-decoration:none!important}.repo-id-zip:hover{background:var(--accent-soft)}.repo-id-zip .ui-icon{width:14px;height:14px}.leftCol-foot .leftCol-links{display:none!important}.acct-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.acct{position:relative;min-width:0}.acct-chip{display:inline-flex;align-items:center;gap:8px;max-width:150px;height:34px;padding:0 8px 0 4px;border:0;border-radius:var(--radius-control);background:0 0;font:inherit;font-size:13px;font-weight:500;color:var(--color);cursor:pointer}.acct-chip:hover,.acct-chip[aria-expanded=true]{background:var(--hover-bg-color)}.acct-chip img,.acct-initial{width:24px;height:24px;border-radius:50%;flex-shrink:0}.acct-initial{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.acct-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-caret{width:12px;height:12px;color:var(--ink-muted);transform:rotate(-90deg)}.acct-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:40;width:190px;padding:6px;background:var(--paper-card);border:1px solid var(--border-color);border-radius:var(--radius-surface);box-shadow:0 12px 32px rgba(26,24,21,.18)}.acct-menu a{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--radius-control);font-size:13.5px;color:var(--color)!important;text-decoration:none!important}.acct-menu a:hover{background:var(--hover-bg-color)}.acct-menu .ui-icon{width:16px;height:16px;color:var(--ink-soft)}.acct-signin{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important}.acct-signin:hover{background:var(--hover-bg-color);border-color:var(--ink-faint)}.dark-mode .acct-signin{background:0 0}.acct-icons{display:inline-flex;align-items:center;gap:2px}.acct-icons a,.acct-icons button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-soft)!important;cursor:pointer}.acct-icons a:hover,.acct-icons button:hover{background:var(--hover-bg-color);color:var(--color)!important}.acct-icons .acct-donate:hover{color:var(--status-error)!important}.acct-icons .ui-icon{width:17px;height:17px}.leftCol-foot{padding:8px 10px 10px 14px!important}.leftCol-foot .last-update{display:none}.file-card-head .card-files-btn,.file-card-head .card-files-btn.is-needed{width:34px!important;height:34px!important;padding:0!important;border:0!important;background:0 0!important;color:var(--ink-soft)!important}.file-card-head .card-files-btn:hover{background:var(--hover-bg-color)!important;color:var(--color)!important}.file-card-head .card-files-btn .ui-icon{width:19px;height:19px}.card-files-label{display:none!important}.tb-copy-m{display:none!important}@media (max-width:767px){.tb-copy-m{display:inline-flex!important;width:36px!important;height:34px!important}.file-card-head .file-card-path{flex:1 1 calc(100% - 96px)!important;gap:6px!important}}.ace_search{flex-direction:row}.ace_searchbtn_close{order:99;margin-left:auto!important;width:28px!important;height:28px!important}.ace_search .ace_button,.ace_searchbtn{color:var(--ink-soft)!important}.file-card-head .btn-find:focus:not(:focus-visible){background:0 0!important}.dark-mode .explorer-content .markdown-body img{filter:brightness(.92)!important}@media (max-width:767px){.file-card.is-code.no-wrap .ace_scroller{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 80px),rgba(0,0,0,.15) calc(100% - 8px),transparent)!important;mask-image:linear-gradient(to right,#000 calc(100% - 80px),rgba(0,0,0,.15) calc(100% - 8px),transparent)!important}}.acct-menu-head{padding:6px 10px 8px;margin-bottom:4px;border-bottom:1px solid var(--border-soft);font-size:12px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-menu-head b{color:var(--color);font-weight:600}@media (max-width:767px){.file-card.is-code.no-wrap{position:relative}.file-card.is-code.no-wrap::before{content:"Scroll \2194";position:absolute;right:12px;bottom:14px;z-index:25;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--color) 82%,transparent);color:var(--canvas-bg-color);font:600 12px/1 var(--font-sans);pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}.file-card-head>.view-switch{order:5!important;flex:1 1 100%;margin-left:0!important;display:grid!important;grid-template-columns:1fr 1fr}.file-card-head>.view-switch .btn{height:36px!important;min-height:36px!important;justify-content:center;font-size:14px}.file-card-head .file-card-meta{font-size:13px!important}}.acct-menu{width:240px}.acct-menu-head{white-space:normal;overflow-wrap:anywhere}.paper-feature .paper-feature-tab::after{border-width:0 1.5px 1.5px 0!important;border-color:var(--ink-soft)!important}.hero-mock-doc-bar span,.hero-mock-tree-title{color:var(--ink-soft)!important}.paper-frame-bar{color:var(--ink-soft)!important}.paper-frame-bar .dots i{background:color-mix(in srgb,var(--ink-muted) 55%,transparent)!important}.dark-mode .hero-mock-doc,.dark-mode .paper-frame{background:#24211d!important}.dark-mode .hero-mock-tree{background:#1c1a17!important}.dark-mode .paper-stats-grid .paper-stat-card{border-color:#3a3631!important}.dark-mode .paper-stats,.dark-mode .paper-stats-grid{border-color:#3a3631!important}.faq-section .panel-default .panel-body{padding-bottom:18px!important}.btn.btn-ghost.is-on{background:var(--hover-bg-color)!important;color:var(--accent)!important;box-shadow:none!important}.dark-mode .btn.btn-ghost.is-on{background:rgba(255,255,255,.08)!important;color:#7cc7be!important;box-shadow:none!important}.acct-chip .acct-caret,.acct-chip .acct-name{display:none}.acct-chip{padding:0 5px!important}.acct-chip img,.acct-initial{width:26px!important;height:26px!important}@media (min-width:768px){.explorer-content .file-card .file-content.markdown-body{margin:0 auto!important;padding-left:40px!important;padding-right:40px!important;max-width:920px}}.files .file.active>a::before{top:5px!important;bottom:5px!important}@media (max-width:767px){.explorer-content .ace_editor .ace_gutter-cell{padding-left:6px!important;padding-right:6px!important}}.repo-id,.repo-id-actions{display:none!important}.leftCol-search{display:flex;align-items:center;gap:6px;padding:12px 12px 8px!important}.leftCol-search .tree-search-box{flex:1 1 auto;min-width:0}.search-zip{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:1px solid var(--border-color);border-radius:8px;background:var(--canvas-bg-color);color:var(--ink-soft)!important}.search-zip:hover{background:var(--hover-bg-color);color:var(--color)!important;border-color:var(--ink-faint)}.search-zip .ui-icon{width:17px;height:17px}.dark-mode .search-zip{background:0 0}.support-cta{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 12px;border-radius:var(--radius-surface);background:color-mix(in srgb,#e5484d 9%,var(--paper-card));box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 22%,transparent);color:var(--color)!important;text-decoration:none!important;transition:background .15s,box-shadow .15s}.support-cta:hover{background:color-mix(in srgb,#e5484d 14%,var(--paper-card));box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 40%,transparent)}.support-cta .ui-icon{width:18px;height:18px;flex-shrink:0;color:#e5484d;fill:#e5484d}.support-cta span{display:grid;min-width:0}.support-cta b{font-size:13px;font-weight:600}.support-cta small{font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark-mode .support-cta{background:color-mix(in srgb,#e5484d 12%,var(--sidebar-bg-color))}.leftCol-foot{padding:10px 12px 10px!important}.tb-file{display:inline-flex!important;align-items:stretch;gap:0!important;margin-left:8px;padding-left:0!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control);overflow:hidden}.tb-seg-btn{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;border:0;background:var(--paper-card);font:inherit;font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important;cursor:pointer}.tb-seg-btn+.tb-seg-btn{border-left:1px solid var(--border-color)}.tb-seg-btn:hover{background:var(--hover-bg-color)}.tb-seg-icon{width:34px;padding:0;color:var(--ink-soft)!important}.tb-seg-icon:hover{color:var(--color)!important}.tb-seg-icon .ui-icon{width:15px;height:15px}.dark-mode .tb-seg-btn{background:0 0}.file-card-actions>.tb-file:first-child{margin-left:0}.file-card-head .btn-find,.file-card-head .btn-goto,.file-card-head .btn-toggle{width:32px!important;height:32px!important}.file-card.is-code.no-wrap::before{content:none!important;display:none!important}.acct-chip{width:34px;height:34px;padding:0!important;justify-content:center;border-radius:50%!important;background:0 0!important}.acct-chip:hover,.acct-chip[aria-expanded=true]{background:var(--hover-bg-color)!important}.ace_searchbtn_close{margin-left:4px!important}.dark-mode .explorer-content .markdown-body img{filter:brightness(.9)!important}.snapshot-line{display:flex;align-items:center;gap:6px;padding:0 14px 8px;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden}.snapshot-line span{overflow:hidden;text-overflow:ellipsis}.snapshot-line .ui-icon{width:14px;height:14px;flex-shrink:0;color:var(--ink-muted)}.leftCol-search{padding-bottom:6px!important}@media (max-width:767px){.explorer-content .file-card-head .file-card-meta{display:none!important}.explorer-content .file-card-head{flex-wrap:nowrap!important;min-height:52px!important}.file-card-head .card-files-btn,.file-card-head .tb-copy-m,.file-card-head .tb-more-btn{width:40px!important;height:40px!important}.file-card-head .card-files-btn{background:var(--hover-bg-color)!important;color:var(--color)!important;border-radius:var(--radius-control)!important}.file-card-head .file-card-path{flex:1 1 auto!important}}.acct-menu{box-shadow:0 16px 40px rgba(26,24,21,.22),0 0 0 1px var(--border-color)!important;border:0!important}.dark-mode .acct-menu{background:#26231f;box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 0 1px #3a3631!important}.acct-chip{width:32px!important;height:32px!important}.acct-chip img,.acct-initial{width:30px!important;height:30px!important;font-size:13px!important}.ace_search{padding:6px 12px 6px 8px!important;min-height:40px}.ace_search_field{height:28px!important}.ace_search_options{gap:0!important;margin-left:4px!important}.ace_search_options .ace_button{border-radius:0!important;margin:0!important}.ace_search_options .ace_button+.ace_button{margin-left:-1px!important}.ace_search_options .ace_button:first-of-type{border-radius:var(--radius-control) 0 0 var(--radius-control)!important}.ace_search_options .ace_button:last-of-type{border-radius:0 var(--radius-control) var(--radius-control) 0!important}.ace_searchbtn_close{width:28px!important;height:28px!important;border-radius:var(--radius-control)!important;margin-left:8px!important;background-color:transparent!important;opacity:.65}.ace_searchbtn_close:hover{background-color:var(--hover-bg-color)!important;opacity:1}.ace_search_counter{color:var(--ink-soft)!important}.ace_editor .ace_marker-layer .ace_selected-word{background:color-mix(in srgb,var(--accent) 16%,transparent)!important}.ace_editor.ace-chrome .ace_marker-layer .ace_selection,.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:color-mix(in srgb,var(--accent) 34%,transparent)!important;box-shadow:0 0 0 1px var(--accent)!important}.dark-mode .btn.btn-ghost.is-on{background:rgba(124,199,190,.16)!important;color:#a8ddd6!important}.paper-features{grid-template-columns:1fr 1.4fr!important;gap:40px!important}.faq-section .panel-default .panel-title a:after{border-color:var(--ink-soft)!important}.paper-features .paper-feature.is-on .paper-feature-tab::after,.paper-features .paper-feature:not(.is-on) .paper-feature-tab::after{border-width:0 1.5px 1.5px 0!important;border-color:var(--ink-muted)!important}.markdown-body mark.redact-chip,.redact-chip{display:inline-block;padding:0 6px;margin:0 1px;border-radius:4px;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:.82em;font-weight:500;line-height:1.5;vertical-align:.06em;cursor:help;transition:background .1s}.redact-chip:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip{font-size:.7em;vertical-align:.18em}.dark-mode .redact-chip{background:rgba(124,199,190,.14);color:#a8ddd6}.ace_editor .ace_marker-layer .ace_redacted{position:absolute;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:3px}.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.16)}.meta-redact{color:var(--accent);font-weight:500}.explorer-page{display:grid!important;grid-template-columns:var(--sidebar-w,280px) minmax(0,1fr);grid-template-rows:44px minmax(0,1fr)}.viewer-bar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px 0 14px;border-bottom:1px solid var(--border-color);background:var(--paper-bg-alt);z-index:20}.dark-mode .viewer-bar{background:var(--sidebar-bg-color)}.explorer-page>.leftCol{grid-row:2;grid-column:1;width:auto!important;flex:none!important;height:auto!important;min-height:0;border-top:0}.explorer-page>.explorer-main{grid-row:2;grid-column:2;min-height:0}.explorer-page.files-hidden{grid-template-columns:minmax(0,1fr)}.explorer-page.files-hidden>.explorer-main{grid-column:1/-1}.leftCol-resizer{top:44px!important}.card-files-btn.is-needed{display:none!important}.vb-left,.vb-right{display:flex;align-items:center;gap:4px;min-width:0}.vb-logo{font-family:var(--font-serif);font-size:18px;letter-spacing:-.01em;color:var(--color)!important;text-decoration:none!important;white-space:nowrap;margin-right:10px}.vb-logo em{font-style:italic}.vb-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:var(--radius-control);background:0 0;color:var(--ink-soft)!important;cursor:pointer;text-decoration:none!important}.vb-icon:hover{background:var(--hover-bg-color);color:var(--color)!important}.vb-icon .ui-icon{width:17px;height:17px}.vb-snapshot{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;margin-right:6px;border-radius:999px;background:var(--hover-bg-color);font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);white-space:nowrap;cursor:help}.vb-snapshot .ui-icon{width:13px;height:13px;color:var(--ink-muted)}.vb-support{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;margin-right:4px;border-radius:999px;background:color-mix(in srgb,#e5484d 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 28%,transparent);font-size:13px;font-weight:600;color:#c2353a!important;text-decoration:none!important}.vb-support:hover{background:color-mix(in srgb,#e5484d 16%,transparent)}.vb-support .ui-icon{width:15px;height:15px;fill:currentColor}.dark-mode .vb-support{color:#ff8a8e!important;background:rgba(229,72,77,.14)}.vb-signin{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;margin-left:6px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font-size:13px;font-weight:500;color:var(--color)!important;text-decoration:none!important}.vb-signin:hover{background:var(--hover-bg-color)}.dark-mode .vb-signin{background:0 0}.viewer-bar .acct{margin-left:6px}.viewer-bar .acct-menu{top:calc(100% + 8px);bottom:auto;left:auto;right:0}.explorer-page>.leftCol .leftCol-search{padding-top:12px!important}@media (max-width:991px){.explorer-page{grid-template-columns:minmax(0,1fr)}.explorer-page>.explorer-main{grid-column:1/-1}.vb-sidebar{display:none}.explorer-page>.leftCol{grid-row:auto}}@media (max-width:575px){.vb-bug,.vb-snapshot{display:none}.vb-support span{display:none}.vb-support{width:32px;padding:0;justify-content:center}}@media (max-width:991px){.explorer-page>.leftCol .leftCol-head{position:static!important;display:flex!important;align-items:center;justify-content:space-between;min-height:52px;padding:6px 8px 6px 16px!important;border-bottom:1px solid var(--border-soft)!important;background:0 0!important}.explorer-page>.leftCol .leftCol-head .leftCol-eyebrow{display:inline!important;font:600 15px/1 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--color)}.explorer-page>.leftCol .leftCol-close{width:44px!important;height:44px!important}.files a{min-height:38px!important;font-size:15px}}.vb-support{background:var(--paper-card)!important;box-shadow:inset 0 0 0 1px var(--border-color)!important;color:var(--color)!important;font-weight:500!important}.vb-support .ui-icon{color:#e5484d;fill:#e5484d}.vb-support:hover{background:var(--hover-bg-color)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,#e5484d 40%,var(--border-color))!important}.dark-mode .vb-support{background:0 0!important;color:var(--color)!important}.vb-snapshot{font-family:var(--font-sans)!important;font-variant-numeric:tabular-nums;font-size:12.5px!important}.file-card-path .breadcrumb-root a{color:var(--ink-soft)!important}.file-card-path .breadcrumb-root a:hover{color:var(--color)!important;text-decoration:underline}@media (max-width:767px){.viewer-bar{padding:0 6px 0 12px}.vb-icon,.vb-support{width:40px!important;height:40px!important}.vb-signin{height:36px}.file-card-head .card-files-btn{background:0 0!important;color:var(--ink-soft)!important}}.ace_search{background:var(--paper-bg-alt)!important;border-bottom:1px solid var(--border-color)!important;gap:6px!important}.dark-mode .ace_search{background:#1e1b18!important}.ace_search .ace_searchbtn{width:28px!important;height:28px!important;border-radius:var(--radius-control)!important;border:1px solid var(--border-color)!important;background:var(--paper-card)!important}.ace_searchbtn_close{order:99;margin-left:6px!important;border:1px solid transparent!important;background-position:center!important;opacity:.8!important}@media (max-width:767px){.file-card.is-code.no-wrap .ace_scroller{-webkit-mask-image:none!important;mask-image:none!important}.file-card.is-code.no-wrap .file-card-body{position:relative}.file-card.is-code.no-wrap .file-card-body::after{content:"";position:absolute;top:0;right:0;bottom:0;width:36px;z-index:8;pointer-events:none;background:linear-gradient(to right,color-mix(in srgb,var(--paper-card) 0,transparent),var(--paper-card) 85%)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 85%)}}.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.24)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.5)!important}.paper-reassure,.paper-stat-delta,.paper-stat-label{color:var(--ink-soft)!important}.paper-faq-title{font-size:clamp(2.2rem,4vw,3.1rem)!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--paper-card) 80%)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 80%)!important}}@media (max-width:575px){.vb-support{box-shadow:none!important;background:0 0!important;border-radius:var(--radius-control)!important}.vb-support:hover{background:var(--hover-bg-color)!important}}.meta-redact{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent)!important;font-size:12px;font-weight:600;cursor:default}.dark-mode .meta-redact{background:rgba(124,199,190,.14);color:#a8ddd6!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.6em!important;padding:1px 6px!important;vertical-align:.25em!important}.ace_search .ace_button{color:var(--ink-soft)!important;font-size:12.5px!important;font-weight:600!important;background:var(--paper-card)!important}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important;position:relative;z-index:1}.ace_search{align-items:center!important}.ace_search_counter{align-self:center;line-height:28px}.hero-mock-row.is-active{background:rgba(128,128,128,.12)!important;box-shadow:inset 3px 0 0 var(--accent)}.mobile-sub{display:none}@media (max-width:767px){.file-card-head .file-card-path{display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center}.file-card-head .file-card-path .card-files-btn{grid-row:1/span 2}.file-card-head .file-card-path .paths{grid-column:2}.mobile-sub{display:block;grid-column:2;margin-top:1px;font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-sub b{color:var(--accent);font-weight:600}.dark-mode .mobile-sub b{color:#a8ddd6}.vb-icon[href="/faq"]{display:none!important}}.ace_searchbtn_close{font-size:0!important;color:transparent!important;background-size:10px 10px!important;align-self:center}.acct-initial{background:var(--hover-bg-color)!important;color:var(--color)!important;box-shadow:inset 0 0 0 1px var(--border-color)}.acct-chip[aria-expanded=true] .acct-initial{background:var(--accent-soft)!important;color:var(--accent)!important}.viewer-bar .acct-menu{top:calc(100% + 12px)!important}.dark-mode .paper-frame{box-shadow:0 0 0 1px #3f3a34,0 24px 60px rgba(0,0,0,.5)!important}.faq-section .panel-default .panel-body{max-width:640px!important}.anonymize-landing{align-items:flex-start!important;padding-top:clamp(32px,9vh,88px)!important}.landing-url-row{display:flex;gap:8px;align-items:stretch}.landing-url-row .form-control{flex:1 1 auto;min-width:0}.landing-continue{flex-shrink:0;height:auto;min-height:46px;padding:0 20px;font-weight:600}@media (max-width:575px){.landing-url-row{flex-direction:column}.landing-continue{min-height:44px}.source-url-label-row{flex-direction:column;align-items:flex-start!important;gap:8px}}.paper-table.paper-table-dashboard{width:100%}.q-card-count,.q-stat-value{font-family:var(--font-sans)!important;font-variant-numeric:tabular-nums;font-weight:600}.paper-table .paper-table-head [role=columnheader],.paper-table-head>div,.q-stat-label{font-family:var(--font-sans)!important;font-size:12px!important;letter-spacing:.02em!important;color:var(--ink-soft)!important}.errors-page .kpi-card.kpi-info .kpi-value{color:var(--color)!important}.errors-page .col-msg,.errors-page .col-msg *{font-weight:400!important}.errors-page .col-msg .msg-code,.errors-page .msg-code{font-size:13px!important}.admin-page select,.anonymize-page select,.errors-page select,.paper-page select,.paper-table select{height:34px;padding:0 30px 0 10px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F6A61' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;appearance:none;font:inherit;font-size:13px;color:var(--input-color)}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.anonymize-page .form-control,.paper-page .form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page textarea{border:1px solid color-mix(in srgb,var(--ink-faint) 55%,var(--border-color))!important;border-radius:var(--radius-control)!important}.anonymize-page code,.paper-page code,.paper-page kbd{font-family:var(--font-mono)!important}.filter-chip.is-active .count,.paper-chip.is-active .count,.status-chip.active .count{color:inherit!important}.user-header h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.status-dot-wrap{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--ink-soft)}.user-actions{display:flex;flex-wrap:wrap;gap:8px}.user-detail-grid .detail-value.is-empty{color:var(--ink-muted);font-style:normal;font-family:var(--font-sans)!important}.admin-section-header h2{font-family:var(--font-sans)!important;font-size:15px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--color)!important}.errors-page .kpi-sub.down,.errors-page .kpi-sub.up{color:var(--ink-soft)!important}.errors-page .kpi-card.kpi-error .kpi-value{color:var(--color)!important}.errors-page .kpi-card.kpi-error:has(.kpi-value:not(:empty)) .kpi-value{color:var(--color)!important}.errors-page .kpi-label{font-family:var(--font-sans)!important}.errors-page .col-msg{font-family:var(--font-mono)!important;font-size:13px!important}.admin-page .admin-head,.admin-page .paper-page-head,.admin-page>header{min-height:92px}.admin-page .paper-page-title{min-height:44px;display:flex;align-items:center;margin-bottom:8px!important}.admin-page .errors-header,.admin-page .ov-header,.admin-page .q-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:8px!important}.admin-page .errors-header .paper-page-title,.admin-page .ov-header .paper-page-title,.admin-page .q-header .paper-page-title{margin-bottom:0!important}.admin-page .admin-nav{margin-top:0!important}.admin-page .paper-crumbs{min-height:20px;margin-bottom:4px!important}.dashboard-page,.paper-page{max-width:1112px}.landing-continue:disabled{background:var(--hover-bg-color)!important;border-color:var(--border-color)!important;color:var(--ink-muted)!important;opacity:1!important;box-shadow:none!important}.landing-continue:not(:disabled){background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.admin-summary .summary-pill{border-color:var(--border-color)!important;color:var(--color)!important;background:var(--paper-card)!important}.admin-summary .summary-pill::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--ink-faint);vertical-align:1px}.admin-summary .summary-pill.ok::before{background:var(--status-ready)}.admin-summary .summary-pill.progress::before,.admin-summary .summary-pill.warn::before{background:var(--status-progress)}.admin-summary .summary-pill.err::before,.admin-summary .summary-pill.error::before{background:var(--status-error)}.admin-summary .summary-pill .count{color:var(--ink-soft)!important;font-weight:600}.admin-summary .summary-pill.active{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important;color:var(--accent)!important}.admin-summary .summary-pill.active .count{color:var(--accent)!important}.admin-summary .summary-pill:has(.count:is(:empty)){opacity:.6}.admin-page .btn-dark,.admin-page .btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.btn-outline-danger{border:1px solid color-mix(in srgb,var(--status-error) 45%,transparent)!important;color:var(--status-error)!important;background:0 0!important}.admin-page .paper-table-head>*,.admin-page [role=columnheader],.admin-page h3,.errors-page th,.q-card-title,.q-header-label,.q-panel-title{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;color:var(--ink-soft)!important}.ov-flag{color:var(--status-error);font-weight:600}.overview-page .ov-daily-value{color:var(--color)!important}@media (max-width:767px){.paper-table.paper-table-dashboard{margin-left:0!important;margin-right:0!important;width:100%!important}.dashboard-meta{flex-wrap:wrap;row-gap:8px}.dashboard-active-filters{flex-basis:100%;flex-wrap:wrap}.anonymize-landing{padding-top:20px!important}.anonymize-landing .paper-page-lede{font-size:15px!important}}.anonymize-landing .source-privacy-note,.anonymize-landing .text-muted:has(.ui-icon){display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-top:12px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--status-progress) 9%,transparent);color:var(--color)!important;font-size:13px}.repo-access-note>span:has(.ui-icon){display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:9px 12px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--status-progress) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-progress) 25%,transparent);color:var(--color)!important;font-size:13px}.repo-access-note>span:has(.ui-icon) .ui-icon{color:var(--status-progress);flex-shrink:0;margin-top:2px}.admin-summary .summary-pill.active{background:var(--paper-card)!important;border-color:var(--border-color)!important;color:var(--color)!important}.admin-summary .summary-pill.active .count{color:var(--ink-soft)!important}.admin-summary .summary-pill:not(.active){background:0 0!important;border-style:dashed!important;color:var(--ink-muted)!important}.admin-summary .summary-pill:not(.active),.admin-summary .summary-pill:not(.active)>:not(.count){text-decoration:line-through;text-decoration-color:var(--ink-faint)}.admin-summary .summary-pill:not(.active) .count{text-decoration:none}.admin-summary .summary-pill:not(.active)::before{opacity:.45}.admin-page:has(.admin-users-row) .admin-summary .summary-pill:not(.active),.user-detail-card~* .admin-summary .summary-pill:not(.active){border-style:solid!important;text-decoration:none!important;color:var(--color)!important;background:var(--paper-card)!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill:not(.active)::before{opacity:1}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important;color:var(--accent)!important}.copy-link-inline{display:inline-flex!important;align-items:center;gap:6px;height:30px;padding:0 10px!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-control);background:var(--paper-card)!important;color:var(--color)!important;font-size:13px;font-weight:500}.copy-link-inline:hover{background:var(--hover-bg-color)!important}.copy-link-inline .project-type-svg{width:14px;height:14px}@media (max-width:767px){.copy-link-label{display:none}.copy-link-inline{width:36px;justify-content:center;padding:0!important}}.overview-page .ov-val-warn{color:var(--color)!important}.ov-flag{color:var(--status-progress)!important}@media (max-width:767px){.admin-page .admin-nav{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent)}.admin-page .admin-nav::-webkit-scrollbar{display:none}.admin-page .admin-nav a{flex-shrink:0}.admin-page .ov-header,.admin-page .paper-page-title{text-align:left!important;justify-content:flex-start!important}.overview-page .ov-kpi-row>:last-child:nth-child(odd){grid-column:1/-1}.admin-summary{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}.admin-summary>*{flex-shrink:0}}.user-detail-grid .detail-value:first-of-type{font-family:var(--font-mono);font-size:13px}.user-header .type-badge{font-family:var(--font-sans)!important;letter-spacing:0!important;text-transform:none!important;font-weight:600}.errors-page .count-badge,.errors-page .msg-count,.errors-page [class*=count]{background:var(--hover-bg-color)!important;color:var(--color)!important}.ov-flag.critical{color:var(--status-error)!important}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(280px,3fr) 180px 70px 150px 150px!important}.paper-table.paper-table-dashboard .paper-table-row>:last-child{display:flex;justify-content:flex-end;align-items:center;gap:4px}.copy-link-inline{white-space:nowrap}@media (max-width:767px){.admin-filter-row,.admin-page form[class*=filter]{display:grid!important;grid-template-columns:1fr;gap:8px}.admin-page form[class*=filter] input,.admin-page form[class*=filter] select{width:100%!important}.admin-page form[class*=filter]>*{width:100%}.admin-page form[class*=filter] label{font-size:12px!important}}@media (min-width:768px){.copy-link-inline{width:auto!important;min-width:0!important}}@media (max-width:767px){.copy-link-inline{width:44px!important;height:44px!important}}.errors-list-head,.errors-list-head>span,.q-section-label{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;color:var(--ink-soft)!important}.errors-list-head>span{background:0 0!important}.q-state-chip{background:var(--paper-card)!important;color:var(--color)!important;border:1px solid var(--border-color)!important;text-transform:none!important;font-family:var(--font-sans)!important;letter-spacing:0!important}.q-state-chip::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--ink-faint)}.q-state-chip.q-state-active::before{background:var(--accent)}.q-state-chip.q-state-delayed::before,.q-state-chip.q-state-waiting::before{background:var(--status-progress)}.q-state-chip.q-state-failed::before{background:var(--status-error)}.q-state-chip.q-state-completed::before{background:var(--status-ready)}.role-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--hover-bg-color);font:600 12px/1 var(--font-sans);color:var(--color)}.user-header .type-badge{background:var(--hover-bg-color)!important;border:0!important}.admin-filter-inline label,.admin-page label{font-size:12px!important;color:var(--ink-soft)!important}.admin-page select,.admin-page select.form-control{padding-right:30px!important;background:var(--input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F6A61' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center!important;-webkit-appearance:none!important;appearance:none!important}.admin-page .paper-table-row .text-muted,.admin-page .paper-table-row [class*=meta]{color:var(--ink-soft)!important}.dashboard-page.container,.paper-page,.paper-page.container{max-width:1112px!important;padding-left:32px!important;padding-right:32px!important}@media (max-width:767px){.dashboard-page.container,.paper-page,.paper-page.container{padding-left:18px!important;padding-right:18px!important}}.page-head-row>a.btn{margin-top:6px}.paper-faq-toc nav,.paper-settings-toc nav{border-left:1px solid var(--border-color)}.paper-settings-toc nav a{margin-left:-1px;border-left:2px solid transparent}.paper-settings-toc nav a.active{border-left-color:var(--accent)!important;color:var(--color)}.paper-page textarea{resize:vertical}.paper-page input[type=date]{height:38px;padding:0 10px;color:var(--input-color);font-family:var(--font-sans)}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name actions" "meta meta";row-gap:6px}.paper-table.paper-table-dashboard .paper-table-row>:first-child{grid-area:name}.paper-table.paper-table-dashboard .paper-table-row>:last-child{grid-area:actions;align-self:start}.paper-table.paper-table-dashboard .paper-table-row>:not(:first-child):not(:last-child){grid-column:1/-1}.copy-link-inline{width:36px!important;height:36px!important}.admin-filter-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.admin-filter-toolbar>:first-child{grid-column:1/-1}.admin-filter-toolbar .admin-filter-inline{display:grid!important;gap:4px}.admin-filter-toolbar .admin-filter-inline label{margin:0}.admin-filter-toolbar>:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.overview-page .ov-header{align-items:flex-start!important;text-align:left!important}.overview-page .ov-header .paper-page-title{width:100%;justify-content:flex-start!important;text-align:left!important}}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{flex-wrap:wrap!important;align-items:flex-start!important;row-gap:6px}.paper-table.paper-table-dashboard .paper-table-row>.cell-anon{flex:1 1 0!important;min-width:0;order:1}.paper-table.paper-table-dashboard .paper-table-row>.cell-actions{flex:0 0 auto!important;order:2;width:auto!important;margin:0!important}.paper-table.paper-table-dashboard .paper-table-row>.dashboard-row-meta{flex:1 1 100%!important;order:3}.admin-filter-toolbar{display:block!important}.admin-filter-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.admin-filter-row>:first-child{grid-column:1/-1}.admin-filter-row .admin-filter-inline{display:grid!important;gap:4px;min-width:0}.admin-filter-row .admin-filter-inline input{width:100%!important}.admin-filter-row>:last-child{grid-column:1/-1;display:flex!important;justify-content:space-between;align-items:center;flex-direction:row!important}.admin-filter-row>:last-child .btn{width:auto!important}}.page-head-row .btn-primary,.paper-page .btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.dark-mode .paper-page .btn-primary{background:#1f6a64!important;border-color:#1f6a64!important}.q-section-right,.q-section-right *,.q-stat-label{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;color:var(--ink-soft)!important}.q-card .q-card-sub,[class*=q-card] small{font-family:var(--font-sans)!important}.quota-ring-track{stroke:var(--border-color)!important;stroke-width:3!important;fill:none}.quota-ring-fill{stroke:var(--accent)!important;stroke-width:3!important;fill:none;stroke-linecap:round;transform:rotate(-90deg);transform-origin:12px 12px;min-width:0}.quota-summary-ring{width:18px!important;height:18px!important}.errors-list-head .col-count,.errors-list-head .col-msg{background:0 0!important;font-family:var(--font-sans)!important;font-weight:600!important}.errors-page .col-count>*{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--hover-bg-color)!important;color:var(--color)!important;font:600 12px/1 var(--font-sans);box-shadow:none!important}.errors-page .col-count>*>*{background:0 0!important}.errors-page .col-when{display:flex;flex-direction:column;gap:0;line-height:1.3}.errors-page .errors-list>div:not(.errors-list-head){padding-top:10px!important;padding-bottom:10px!important;min-height:0!important}.errors-page .kpi-sub{font-style:normal!important;color:var(--ink-soft)!important}.q-legend-exec{display:inline-block;width:14px;height:0;border-top:2px dashed var(--ink-muted);vertical-align:middle;margin-right:4px}.admin-filter-row .admin-search,.admin-filter-row input[placeholder^=Search],.admin-filter-row input[type=search],.admin-filter-row>:first-child{flex:1 1 320px!important;min-width:280px}.repo-access-note>span:has(.ui-icon){background:var(--hover-bg-color)!important;box-shadow:none!important}.repo-access-note>span:has(.ui-icon) .ui-icon{color:var(--ink-soft)!important}.dark-mode .paper-table-row{background:0 0!important}.dark-mode .paper-table-row:hover{background:rgba(255,255,255,.04)!important}.dark-mode .btn-primary,.dark-mode .dashboard-page .btn-primary,.dark-mode .paper-page .btn-primary{background:#1f6a64!important;border-color:#1f6a64!important;color:#fff!important}.dark-mode .dashboard-type-filter.btn-primary{background:rgba(124,199,190,.16)!important;border-color:transparent!important;color:#a8ddd6!important}.paper-page .form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page textarea{border-color:var(--border-color)!important}.paper-page .form-control:focus,.paper-page textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.errors-page .col-count{background:0 0!important;box-shadow:none!important;display:flex;align-items:center}.errors-page .col-count::after,.errors-page .col-count::before{content:none!important;display:none!important}.errors-page .col-count .count-pill{width:auto!important;min-width:0!important}.paper-page .dashboard-type-filter.btn-primary{background:var(--accent-soft)!important;border-color:transparent!important;color:var(--accent)!important}.paper-page>.row{margin-left:0!important;margin-right:0!important}.paper-page>.row>[class*=col],.paper-page>.row>[class*=w-100]{padding-left:0!important;padding-right:0!important}.q-table th{font-family:var(--font-sans)!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important;color:var(--ink-soft)!important}.admin-page input:not([type=checkbox]),.claim-page input,.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=search],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea,.paper-page textarea.form-control{border:1px solid var(--border-color)!important}.dark-mode .admin-page input:not([type=checkbox]),.dark-mode .claim-page input,.dark-mode .paper-page input.form-control,.dark-mode .paper-page textarea{border-color:#5a554d!important}.landing-continue:disabled{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;opacity:.45!important}.overview-page .ov-kpi-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.admin-page .admin-nav{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;row-gap:4px}.admin-summary{flex-wrap:wrap!important;overflow:visible!important;row-gap:8px}.admin-page .paper-table-row .text-muted,.admin-page .paper-table-row [class*=meta]{white-space:normal!important}}.summary-total small{font-size:13px;font-weight:500;color:var(--ink-soft);margin-left:2px}@media (max-width:767px){.overview-page .ov-daily-row,.overview-page .ov-kpi-row,.overview-page [class*=ov-][class*="-row"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.overview-page .ov-kpi-card,.overview-page [class*=ov-daily-card]{min-width:0!important;width:auto!important}.overview-page .ov-kpi-row>:last-child:nth-child(odd){grid-column:1/-1}}.user-detail-grid .detail-value:nth-of-type(1){font-family:var(--font-mono)!important}.paper-table-empty .empty-title{display:block;font-size:15px;font-weight:600;color:var(--color);margin-bottom:4px}.paper-table-empty>span{max-width:440px;text-align:center}.paper-table-empty-actions{margin-top:12px;display:flex;gap:8px;justify-content:center}.q-action-sep{display:inline-block;width:1px;height:22px;margin:0 6px;background:var(--border-color);vertical-align:middle}.hidden-toggle{padding:0;border:0;background:0 0;color:var(--link-color);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ov-meter{height:4px;margin:6px 0 2px;border-radius:4px;background:var(--hover-bg-color);overflow:hidden}.ov-meter>span{display:block;height:100%;border-radius:4px;background:var(--ink-faint)}.ov-meter.warn>span{background:var(--status-progress)}.ov-meter.crit>span{background:var(--status-error)}.admin-filters-toggle{display:none}@media (max-width:767px){.admin-filters-toggle{display:inline-flex;margin:8px 0}.admin-filter-toolbar .admin-filter-row:not(.is-open)>:not(:first-child){display:none!important}.admin-filter-toolbar .admin-filter-row:not(.is-open){grid-template-columns:1fr!important}}.paper-settings-layout,.settings-layout{max-width:none!important}.paper-settings-layout>:last-child,.settings-layout>:last-child{max-width:none!important;flex:1 1 auto}.errors-list-head>span{font-weight:600!important}.errors-page .errors-list>div:not(.errors-list-head){min-height:56px!important}.reading-layout{display:grid;grid-template-columns:minmax(0,720px) 220px;justify-content:center;gap:48px;padding:0 32px}.reading-layout .file-content.markdown-body{max-width:none!important;margin:0!important;padding:40px 0 96px!important;font-size:16px!important;line-height:1.7!important}.reading-layout .markdown-body h1{font-size:34px!important;font-weight:600!important;letter-spacing:-.02em;border-bottom:0!important;margin-bottom:12px!important}.reading-layout .markdown-body h2{font-size:24px!important;font-weight:600!important;letter-spacing:-.01em;border-bottom:0!important;margin-top:44px!important;padding-bottom:0!important;scroll-margin-top:72px}.reading-layout .markdown-body h3{font-size:18px!important;margin-top:28px!important;scroll-margin-top:72px}.reading-layout .markdown-body>p:first-of-type{font-size:18px;color:var(--ink-soft)}.readme-toc{position:sticky;top:68px;align-self:start;margin-top:44px;max-height:calc(100% - 100px);overflow:auto;display:grid;gap:2px;font-size:13px}.readme-toc-head{font-size:12px;font-weight:600;color:var(--color);margin-bottom:8px}.readme-toc a{display:block;padding:4px 0 4px 12px;border-left:1px solid var(--border-color);color:var(--ink-soft)!important;text-decoration:none!important;line-height:1.35}.readme-toc a:hover{color:var(--color)!important;border-left-color:var(--ink-muted)}.readme-toc a.lvl-3{padding-left:24px;font-size:12.5px}@media (max-width:1199px){.reading-layout{grid-template-columns:minmax(0,760px)}.readme-toc{display:none}}@media (max-width:767px){.reading-layout{padding:0 16px}.reading-layout .file-content.markdown-body{padding:20px 0 72px!important}.reading-layout .markdown-body h1{font-size:26px!important}.reading-layout .markdown-body h2{font-size:20px!important}}.demo{margin-top:28px;display:grid;gap:14px}.demo-terms{display:grid;gap:6px}.demo-terms label{font-size:13px;font-weight:600;color:var(--color);margin:0}.demo-terms label span{font-weight:400;color:var(--ink-soft);margin-left:6px}.demo-terms input{height:42px;padding:0 14px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);font:14px var(--font-mono);color:var(--color)}.demo-terms input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.demo-panes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.demo .pane{border:1px solid var(--border-color);border-radius:var(--radius-surface);background:var(--paper-card);overflow:hidden;display:flex;flex-direction:column}.demo .pane-header{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:12px;color:var(--ink-soft)}.demo .pane-label{font-weight:600;color:var(--color)}.demo .pane-url{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo .pane-after{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color))}.demo .pane-body{min-height:150px;padding:14px 16px;font:13px/1.75 var(--font-mono);color:var(--color);white-space:pre-wrap}.demo-input{border:0;resize:vertical;background:0 0;outline:0;width:100%}.demo-input:focus{background:color-mix(in srgb,var(--accent) 3%,transparent)}.demo-output .redact-chip{font-size:.92em}@media (max-width:767px){.demo-panes{grid-template-columns:1fr}}.paper-frame-bar .dots{display:none!important}.paper-frame-bar{justify-content:flex-start!important;height:32px!important;background:0 0!important}.paper-frame-bar .url{text-align:left!important;flex:none!important}.reading-layout .markdown-body>p:first-of-type{font-size:inherit!important;color:inherit!important}@media (max-width:767px){.mobile-sub b{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;background:var(--accent-soft);font-size:11.5px}.explorer-content .file-card-head{min-height:52px!important;padding-top:6px!important;padding-bottom:6px!important}.file-card-head .file-card-path{gap:4px!important;column-gap:4px!important}.file-card.is-code.no-wrap .file-card-body::after{width:48px!important;background:linear-gradient(to right,transparent,var(--paper-card) 60%)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 60%)!important}}.ace_search{justify-content:flex-start}.ace_searchbtn_close{margin-left:auto!important;order:99}.fm-chips span,.paper-preview .term{background:var(--hover-bg-color)!important;color:var(--ink-soft)!important;text-decoration-color:var(--ink-muted)!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.06)!important}.dark-mode .ace-nord-dark .ace_marker-layer .ace_redacted,.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.32)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.65)!important}.paper-link-arrow{font-size:15px!important}.paper-reassure{font-size:14px!important}.acct-menu-head,.dark-mode .acct-menu-head{color:var(--ink-soft)!important}.reading-layout{grid-template-columns:minmax(0,720px) 200px!important;gap:40px!important;padding:0 24px!important}.vb-snapshot{color:var(--ink-soft)!important;background:var(--paper-card)!important;box-shadow:inset 0 0 0 1px var(--border-color)}.paper-faq-lede a{color:var(--color)!important;border-bottom:1px solid var(--ink-faint)!important;text-decoration:none!important}.paper-faq-lede a:hover{border-bottom-color:var(--color)!important}.paper-qa,.paper-section-head{margin-top:96px!important}.ace-chrome .ace_constant.ace_language,.ace-chrome .ace_constant.ace_numeric,.ace-chrome .ace_support.ace_constant{color:#0550ae!important}.ace-nord-dark .ace_constant.ace_language,.ace-nord-dark .ace_constant.ace_numeric,.ace-nord-dark .ace_support.ace_constant{color:#79c0ff!important}.copy-url{display:inline-flex;align-items:center;gap:8px;max-width:230px;height:30px;padding:0 8px 0 10px;border:0;border-radius:var(--radius-control);background:var(--hover-bg-color);font:500 12.5px/1 var(--font-mono);color:var(--ink-soft);cursor:pointer;transition:background .12s,color .12s}.copy-url:hover{background:var(--accent-soft);color:var(--accent)}.copy-url:disabled{cursor:progress}.copy-url-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-url .project-type-svg{width:14px;height:14px;flex-shrink:0;opacity:.75}.copy-url:hover .project-type-svg{opacity:1}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(260px,3fr) 170px 64px 140px 280px!important}@media (max-width:767px){.copy-url{max-width:44px;padding:0;justify-content:center;width:40px;height:40px}.copy-url-text{display:none}}.dashboard-page .btn.dashboard-type-filter.btn-primary,.paper-page .btn.dashboard-type-filter.btn-primary{background:var(--accent-soft)!important;border-color:transparent!important;color:var(--accent)!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(242,204,96,.42)!important;box-shadow:none!important;border-radius:2px}.ace_editor.ace-chrome .ace_marker-layer .ace_selection{background:#f2cc60!important;box-shadow:0 0 0 1px #c69026!important}.ace_editor.ace-nord-dark .ace_marker-layer .ace_selection{background:rgba(242,204,96,.55)!important;box-shadow:0 0 0 1px #f2cc60!important}.ace_searchbtn_close{background-image:none!important;width:28px!important;height:28px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:var(--radius-control)!important;opacity:1!important;color:var(--ink-soft)!important}.ace_searchbtn_close::before{content:"\00d7";font:400 20px/1 var(--font-sans);color:var(--ink-soft)}.ace_searchbtn_close:hover{background-color:var(--hover-bg-color)!important}.ace_search{padding:6px 12px!important}.readme-toc a.is-active{color:var(--color)!important;border-left:2px solid var(--accent)!important;margin-left:-.5px;font-weight:500}.demo .pane-after{box-shadow:none!important;border-color:var(--border-color)!important}.demo .pane-body{min-height:120px!important}.demo-input{resize:none!important}.vb-snapshot .vb-dot{margin:0 2px;color:var(--ink-faint)}.dark-mode .btn-hero,.dark-mode .btn-primary,.dark-mode .landing-continue:not(:disabled){background:#2b8a80!important;border-color:#2b8a80!important;color:#fff!important}.paper-reassure li::before{content:""!important;display:inline-block;width:14px;height:14px;margin-right:7px;vertical-align:-2px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}.nav-support-inline .nav-heart{width:14px;height:14px;color:#e5484d;fill:#e5484d}.fm-chips span{color:var(--color)!important}@media (max-width:767px){.vb-icon,.vb-support{width:36px!important;height:36px!important}.vb-signin{height:36px!important}.navbar .nav-signin-m,.navbar-toggler{height:36px!important;border-radius:var(--radius-control)!important}}.overview-page .ov-spark-fill,.overview-page .ov-spark-fill-alt,.overview-page .ov-spark-fill-new-user,.overview-page .ov-spark-fill-user{background:color-mix(in srgb,var(--accent) 70%,transparent)!important}.overview-page .ov-dot-legend{background:var(--accent)!important}.errors-page .bucket-info,.errors-page .col-sev .sev-info::before,.errors-page .errors-chart [class*=info]{background:var(--ink-faint)!important}.errors-header .btn-danger{background:0 0!important;color:var(--status-error)!important;border:1px solid color-mix(in srgb,var(--status-error) 45%,transparent)!important;margin-left:10px}.conferences-page .paper-table:has(.paper-table-empty) .paper-table-head{display:none!important}.copy-url{max-width:280px!important}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(240px,3fr) 150px 60px 130px 320px!important}.dark-mode .paper-table-dashboard .paper-table-row{background:0 0!important}.ace_editor .ace_marker-layer .ace_redacted{background:color-mix(in srgb,var(--accent) 18%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent)!important}.ace_searchbtn_close{margin-left:4px!important}.ace_search .ace_button{font-size:12px!important}.nav-support-inline .nav-heart,.support-cta .ui-icon,.vb-support .ui-icon{color:#c25b5e!important;fill:#c25b5e!important}.nav-support-inline:hover .nav-heart,.support-cta:hover .ui-icon,.vb-support:hover .ui-icon{color:#e5484d!important;fill:#e5484d!important}.vb-support{background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important}.dark-mode .nav-support-inline .nav-heart,.dark-mode .vb-support .ui-icon{color:#d9787b!important;fill:#d9787b!important}.readme-toc .toc-rail{border-left:1px solid var(--border-color)}.readme-toc a,.readme-toc a.is-active{border-left:0!important;margin-left:-1px!important;padding:5px 0 5px 13px!important;line-height:1.4}.readme-toc a.lvl-3{padding-left:25px!important}.readme-toc a:hover{box-shadow:inset 1px 0 0 var(--ink-muted)}.readme-toc a.is-active{box-shadow:inset 2px 0 0 var(--accent)!important}@media (min-width:992px){.demo-panes{grid-template-columns:1fr 1.4fr;gap:40px}}.fm-chips span{text-decoration:none!important}.dark-mode .btn-hero,.dark-mode .btn-primary,.dark-mode .landing-continue:not(:disabled){background:#237a71!important;border-color:#237a71!important}.dark-mode .paper-frame{box-shadow:0 0 0 1px #34302b,0 24px 60px rgba(0,0,0,.5)!important}.dark-mode .leftCol{background:#1d1a17!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.09)!important}.dark-mode .explorer-content .markdown-body img{filter:none!important}@media (max-width:767px){.viewer-bar{padding-left:12px!important;padding-right:12px!important}.vb-signin{height:30px!important;padding:0 10px!important}}.paper-table.paper-table-dashboard .paper-table-head,.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(240px,3fr) 190px 60px 120px 300px!important}.paper-table-dashboard .cell-status .status-sub-date{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.row-edit{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-control);color:var(--ink-soft)!important}.row-edit:hover{background:var(--hover-bg-color);color:var(--color)!important}.row-edit .ui-icon{width:16px;height:16px}.cell-actions{display:flex;align-items:center;gap:4px;justify-content:flex-end}.dashboard-filter-controls .btn-group[aria-label=Type]{background:var(--hover-bg-color);padding:3px;border-radius:calc(var(--radius-control) + 3px);gap:2px}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn{border:0!important;background:0 0!important;color:var(--ink-soft)!important;border-radius:var(--radius-control)!important;height:32px;box-shadow:none!important}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn.btn-primary{background:var(--paper-card)!important;color:var(--color)!important;box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px var(--border-color)!important}.admin-filter-row .form-control,.dashboard-page .dashboard-filter-row .form-control,.paper-page .search-wrap .form-control{border:1px solid #a39d92!important}.dark-mode .admin-filter-row .form-control,.dark-mode .dashboard-page .dashboard-filter-row .form-control,.dark-mode .paper-page .search-wrap .form-control{border-color:#4a443d!important}.ov-health{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 20px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--status-error,#b42318) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--status-error,#b42318) 30%,transparent);font-size:14px;color:var(--color)}.ov-health .ui-icon{width:18px;height:18px;flex:none;margin-top:1px;color:var(--status-error,#b42318)}.dark-mode .ov-health{background:rgba(240,138,130,.1);box-shadow:inset 0 0 0 1px rgba(240,138,130,.35)}.dark-mode .ov-health .ui-icon{color:#f08a82}.cell-anon .record-type-icon{display:none!important}.cell-anon{padding-left:0!important}.errors-page .errors-row-main{padding-top:10px!important;padding-bottom:10px!important;min-height:46px;align-items:center!important}.errors-page .col-when{display:flex;gap:8px;align-items:baseline}.errors-page .when-abs{font-size:12px}.errors-page .msg-code{font-family:var(--font-sans)!important;font-weight:500!important;font-size:13.5px!important}@media (max-width:767px){.viewer-bar .vb-icon,.viewer-bar .vb-signin,.viewer-bar .vb-support{height:36px!important;border-radius:var(--radius-control)!important;background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important;border:0!important}.viewer-bar .vb-icon,.viewer-bar .vb-support{width:36px!important}.viewer-bar .vb-signin{padding:0 12px!important}.file-card-head .card-files-btn,.file-card-head .tb-copy-m,.file-card-head .tb-more-btn{width:36px!important;height:36px!important;border-radius:var(--radius-control)!important;background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important;color:var(--color)!important}.file-card.is-code.no-wrap .file-card-body::after{width:64px!important;background:linear-gradient(to right,transparent,var(--paper-card) 70%)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,transparent,var(--canvas-bg-color) 75%)!important}}.btn-toggle.is-on,.btn-toggle[aria-pressed=true]{color:var(--accent)!important;background:var(--accent-soft)!important}.dark-mode .btn-toggle.is-on{background:rgba(124,199,190,.14)!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.78em!important;padding:0 6px!important;vertical-align:.08em!important;font-weight:600!important}@media (min-width:1200px){.readme-toc{padding-top:10px}}.fm-toggles span{color:var(--color)!important}.dark-mode .paper-frame{border:0!important;box-shadow:0 0 0 1px #34302b,0 24px 60px rgba(0,0,0,.45)!important}.q-section-right .q-legend-completed{color:#2f7d4f!important}.q-section-right .q-legend-failed{color:#b42318!important}.dark-mode .q-section-right .q-legend-completed{color:#6fbf8a!important}.dark-mode .q-section-right .q-legend-failed{color:#f08a82!important}.q-chart-wrap canvas{max-height:180px}.avatar-fallback{width:28px;height:28px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--hover-bg-color);color:var(--ink-soft);font-size:12px;font-weight:600}.mono-id{font-family:var(--font-mono)!important;font-size:13px!important}.landing-continue:disabled{background:var(--hover-bg-color)!important;border-color:var(--border-color)!important;color:var(--ink-soft)!important;opacity:1!important;cursor:not-allowed}.paper-table .anon-sub,.paper-table .anon-sub *{font-size:12px}.dashboard-heading-actions{display:flex;align-items:center;gap:10px}.dashboard-heading-actions .dashboard-quota{position:relative;margin:0!important}.dashboard-heading-actions .quota-panel{right:0;left:auto!important}@media (max-width:767px){.admin-nav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:4px;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}.admin-nav::-webkit-scrollbar,.admin-summary::-webkit-scrollbar{display:none}.admin-nav a{flex:none;white-space:nowrap}.admin-summary{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:6px;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}.admin-summary>*{flex:none;white-space:nowrap}.paper-table .anon-sub{flex-wrap:wrap!important;white-space:normal!important;row-gap:2px}.paper-table .anon-sub>a,.paper-table .anon-sub>span{overflow:visible!important;text-overflow:clip!important;white-space:nowrap}.paper-table .cell-anon .repo-name{white-space:normal!important;overflow-wrap:anywhere;overflow:visible!important;text-overflow:clip!important}.overview-page .ov-kpi-sub{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.overview-page .ov-kpi-row{grid-template-columns:1fr 1fr!important}}.dashboard-page .dashboard-heading-actions{flex-direction:row!important;align-items:center!important;gap:10px!important}@media (max-width:767px){.admin-page .admin-nav{flex-wrap:nowrap!important;overflow-x:auto!important;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}header.viewer-bar .vb-icon,header.viewer-bar .vb-support{box-shadow:inset 0 0 0 1px var(--border-color)!important;background:0 0!important}}@media (max-width:767px){.dashboard-page .dashboard-heading{flex-direction:column!important;align-items:stretch!important;gap:12px}.dashboard-page .dashboard-heading-actions{justify-content:space-between!important;width:100%}.row-edit{display:none!important}}@media (max-width:767px){.paper-table-dashboard .copy-url{background:0 0!important;box-shadow:inset 0 0 0 1px var(--border-color)!important}}@media (max-width:767px){.mobile-sub{display:flex!important;align-items:center;gap:6px;margin-top:3px!important}.mobile-sub>*+::before{content:"·";margin-right:6px;color:var(--ink-muted);font-weight:400}.mobile-sub>b::before{display:none}header.viewer-bar .vb-icon,header.viewer-bar .vb-support{box-shadow:none!important;background:0 0!important}.file-card-head .card-files-btn,.file-card-head .tb-copy-m,.file-card-head .tb-more-btn{box-shadow:none!important;background:0 0!important}.file-card-head .card-files-btn:active,.file-card-head .tb-copy-m:active,.file-card-head .tb-more-btn:active{background:var(--hover-bg-color)!important}.file-card-head{padding-top:6px!important;padding-bottom:6px!important}}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{box-shadow:none!important;border:0!important;padding:0 5px!important;font-weight:500!important}@media (min-width:1200px){.reading-layout{gap:40px!important}}.ace_search .ace_search_field:focus,.ace_search_field:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)!important;border-color:color-mix(in srgb,var(--accent) 70%,transparent)!important}.demo-terms label span,.paper-eyebrow,.paper-footer,.paper-footer a{color:var(--ink-soft)!important}.dark-mode .anonymize-page .btn-ink,.dark-mode .btn-hero,.dark-mode .btn-primary,.dark-mode .landing-continue,.dark-mode .page-head-row .btn-primary,.dark-mode .paper-page .btn-ink,.dark-mode .paper-page .btn-primary{background:#237a71!important;border-color:#237a71!important;color:#fff!important}.dark-mode .anonymize-page .btn-ink:hover,.dark-mode .btn-primary:hover,.dark-mode .paper-page .btn-ink:hover{background:#1e6b63!important;color:#fff!important;filter:none!important}.landing-continue,.landing-continue:disabled{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;opacity:1!important;cursor:pointer}.errors-page .seg.seg-info{background:var(--ink-faint)!important;opacity:1!important}.errors-page .dot-info,.errors-page .sev-dot.sev-info{background:var(--ink-muted)!important}@media (max-width:767px){.admin-page .admin-nav,.admin-summary{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent)!important;mask-image:linear-gradient(to right,#000 82%,transparent)!important;scroll-snap-type:x proximity}.admin-page .admin-nav a,.admin-summary>*{scroll-snap-align:start}.admin-page .admin-filters-toggle,.admin-page .dashboard-filters-toggle{width:auto!important}}.admin-filter-inline{display:inline-flex;align-items:center;gap:6px;margin-left:14px}.admin-filter-inline label{margin:0!important;font-size:12.5px;color:var(--ink-soft)}.admin-filter-row .form-control,.dashboard-page .dashboard-filter-row .form-control,.paper-page .search-wrap .form-control{border-color:var(--border-color)!important;height:36px!important}.admin-filter-row .form-control:focus,.dashboard-page .dashboard-filter-row .form-control:focus{border-color:var(--accent)!important}.dashboard-page .dashboard-filter-controls .btn,.dashboard-page .dashboard-filter-controls .dropdown-toggle{height:36px}.admin-page .cell-repos a,.paper-table [role=cell].num a{color:var(--color)!important;font-family:var(--font-sans)!important}.errors-page .col-count{font-weight:inherit!important;color:inherit!important}.errors-page .errors-row-main{min-height:52px!important;padding-top:8px!important;padding-bottom:8px!important}.connections-grid{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:stretch}@media (max-width:767px){.connections-grid{grid-template-columns:1fr!important}}.admin-page .admin-filter-inline .form-control,.admin-page .admin-filter-row .form-control,.admin-page .search-wrap .form-control{height:36px!important;min-height:36px!important;border:1px solid var(--border-color)!important;font-size:13.5px!important;padding-top:0!important;padding-bottom:0!important}.admin-page .admin-filter-inline .form-control:focus,.admin-page .admin-filter-row .form-control:focus{border-color:var(--accent)!important}.admin-page select.form-control{height:36px!important;border:1px solid var(--border-color)!important}.admin-page .paper-table .anon-sub{gap:0!important;column-gap:0!important}.admin-page .paper-table .anon-sub>a{border-bottom:0!important;text-decoration:none}.tb-menu-note{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px;color:var(--ink-soft)}.tb-menu-note .ui-icon{width:16px;height:16px}.readme-toc a{color:var(--ink-soft)!important;font-size:13.5px!important}.readme-toc a.lvl-3{font-size:13px!important}.readme-toc a.is-active{color:var(--accent)!important;font-weight:500!important}.dark-mode .readme-toc a.is-active{color:#a8ddd6!important}.ace_search_form .ace_searchbtn{border-radius:0!important;margin:0!important}.ace_search_form .ace_searchbtn.prev{border-radius:var(--radius-control) 0 0 var(--radius-control)!important;margin-left:8px!important}.ace_search_form .ace_searchbtn.next{border-radius:0 var(--radius-control) var(--radius-control) 0!important;margin-left:-1px!important}.ace_search .ace_searchbtn.next,.ace_search .ace_searchbtn.prev{box-shadow:none!important}.ace_editor .ace_marker-layer .ace_selected-word,.ace_editor .ace_marker-layer .ace_selection{box-shadow:none!important;border:0!important}@media (max-width:767px){.file-card-head{padding-left:12px!important;padding-right:12px!important}.file-card-head .file-card-path{column-gap:8px!important}}.dark-mode .files .file.active>a{background:rgba(255,255,255,.07)!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,700px) 190px!important;gap:40px!important;padding:0 24px!important}}.ace-chrome .ace_string{color:#0a3069!important}.ace-nord-dark .ace_string,.dark-mode .ace_editor .ace_string{color:#a5c8ff!important}.ace_editor .ace_marker-layer .ace_redacted{background:color-mix(in srgb,var(--accent) 20%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)!important;border-radius:3px}.ace_search .ace_button{height:28px!important;min-width:30px!important;font-size:12px!important;color:var(--ink-soft)!important;display:inline-flex!important;align-items:center;justify-content:center}.ace_search .ace_button.checked{background:var(--accent-soft)!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.ace_search_counter{font-size:12.5px!important;color:var(--ink-soft)!important}.ace_searchbtn_close::before{font-size:18px!important;font-weight:300!important}.btn-toggle.is-on{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)!important}.vb-snapshot{background:0 0!important;box-shadow:none!important;color:var(--ink-soft)!important;padding-left:4px!important;padding-right:4px!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.1)!important;color:#f2eee8!important}.paper-faq-title,.paper-hero h1,.paper-section-head h2{text-wrap:balance}@media (min-width:992px){.demo-panes{grid-template-columns:1fr 1fr!important;gap:20px!important}}.paper-faq details a:not(.btn),.paper-faq-a a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}@media (max-width:767px){.file-card.is-code .ace_gutter-cell{padding-left:8px!important;padding-right:8px!important}}.auto-refresh-label{font-family:var(--font-sans)!important}.ov-spark-fill{opacity:1!important;background:color-mix(in srgb,var(--accent) 70%,transparent)!important}.connections-grid .connection-link:not(.connection-danger){display:inline-flex;align-items:center;height:34px;padding:0 12px;border:1px solid var(--border-color);border-radius:var(--radius-control);color:var(--color)!important;text-decoration:none!important}.reading-layout .file-content.markdown-body,.reading-layout .markdown-body{padding-left:0!important;padding-right:0!important}.explorer-content .file-card .reading-layout .file-content.markdown-body{padding-left:0!important;padding-right:0!important}.admin-page h1.paper-page-title{margin:0!important;line-height:44px!important;min-height:44px}.admin-page .errors-header,.admin-page .ov-header,.admin-page .q-header{min-height:44px;margin:0 0 12px!important;display:flex;align-items:center;justify-content:space-between}.admin-page>h1.paper-page-title{margin-bottom:12px!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active .count{color:rgba(255,255,255,.8)!important}.admin-page:has(.admin-users-row) .admin-summary .summary-pill.active::before{display:none!important}.admin-page input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.ov-health{background:var(--paper-card)!important;box-shadow:inset 3px 0 0 var(--status-error,#b42318),inset 0 0 0 1px var(--border-color)!important}.dark-mode .ov-health{background:var(--paper-card)!important;box-shadow:inset 3px 0 0 #f08a82,inset 0 0 0 1px var(--border-color)!important}.dashboard-quota .quota-summary-ring{display:none!important}.errors-page .errors-row-main{min-height:44px!important}.errors-page .when-abs{display:none!important}@media (max-width:767px){.admin-summary{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;margin-left:0!important;margin-right:0!important;padding:0!important}.admin-summary .summary-pill{height:30px!important;padding:0 10px!important;font-size:13px!important}.admin-page .admin-nav{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;margin-left:0!important;margin-right:0!important;padding:0!important;gap:2px!important}.admin-page .admin-nav a{min-height:34px!important;padding:0 10px!important;font-size:13.5px!important}.admin-page .admin-nav a .ui-icon{display:none!important}}.fm-toggles span{display:inline-flex;align-items:center;gap:6px}.fm-toggles span::before{content:"";width:12px;height:12px;flex:none}.fm-toggles .is-on::before{background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/contain no-repeat}.faq-toc a,.paper-faq nav a,.paper-faq-toc a{text-decoration:none!important}@media (max-width:991px){.navbar .navbar-toggler{border-color:transparent!important;background:0 0!important;box-shadow:none!important}}.ace-chrome .ace_gutter-cell{color:#8a847a!important}.dark-mode .ace_editor .ace_gutter-cell{color:#7a746b!important}.ace-chrome .ace_keyword,.ace-chrome .ace_keyword.ace_operator.ace_new,.ace-chrome .ace_storage{color:#7a3e6e!important}.ace-chrome .ace_string{color:#6b5a1e!important}.ace-chrome .ace_entity.ace_name.ace_function,.ace-chrome .ace_support.ace_function{color:#2b2824!important;font-weight:500}.ace-chrome .ace_constant,.ace-chrome .ace_constant.ace_language,.ace-chrome .ace_constant.ace_numeric{color:#8a4b12!important}.ace-chrome .ace_comment{color:#8a847a!important;font-style:italic}.ace-chrome .ace_identifier,.ace-chrome .ace_variable{color:#2b2824!important}.ace-chrome .ace_keyword.ace_operator,.ace-chrome .ace_paren,.ace-chrome .ace_punctuation{color:#6e6860!important}.ace-chrome .ace_entity.ace_name.ace_tag,.ace-chrome .ace_support.ace_class,.ace-chrome .ace_support.ace_type{color:#7a3e6e!important}.ace-chrome .ace_entity.ace_other.ace_attribute-name{color:#8a4b12!important}.dark-mode .ace_editor .ace_entity.ace_name.ace_tag,.dark-mode .ace_editor .ace_keyword,.dark-mode .ace_editor .ace_storage,.dark-mode .ace_editor .ace_support.ace_type{color:#d7a6cb!important}.dark-mode .ace_editor .ace_string{color:#d9c08a!important}.dark-mode .ace_editor .ace_entity.ace_name.ace_function,.dark-mode .ace_editor .ace_identifier,.dark-mode .ace_editor .ace_support.ace_function,.dark-mode .ace_editor .ace_variable{color:#ece7df!important}.dark-mode .ace_editor .ace_constant,.dark-mode .ace_editor .ace_constant.ace_numeric,.dark-mode .ace_editor .ace_entity.ace_other.ace_attribute-name{color:#e0b070!important}.dark-mode .ace_editor .ace_comment{color:#8a847a!important;font-style:italic}.dark-mode .ace_editor .ace_keyword.ace_operator,.dark-mode .ace_editor .ace_paren,.dark-mode .ace_editor .ace_punctuation{color:#a39d92!important}.ace_editor .ace_marker-layer .ace_redacted{background:rgba(31,106,100,.22)!important;box-shadow:inset 0 0 0 1px rgba(31,106,100,.55)!important;border-radius:3px;mix-blend-mode:multiply}.dark-mode .ace_editor .ace_marker-layer .ace_redacted{background:rgba(124,199,190,.26)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.6)!important;mix-blend-mode:screen}.ace-chrome .ace_gutter-cell{color:#77716a!important}.dark-mode .ace_editor .ace_gutter-cell{color:#8a847a!important}@media (min-width:1200px){.reading-layout{justify-content:center!important}}.fm-toggles span:not(.is-on)::before{display:none!important}.demo-panes .pane-header{display:flex;gap:10px;min-width:0}.demo-panes .pane-url{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.mobile-sub{font-size:12.5px!important;line-height:1.4}}.ov-live{font-size:12.5px;color:var(--ink-soft)}.admin-summary .summary-pill:not(.active) .count{text-decoration:none!important}.paper-table:not(.paper-table-dashboard) .paper-table-head,.paper-table:not(.paper-table-dashboard) .paper-table-row{column-gap:24px!important}.connection-label{font-size:12.5px;color:var(--ink-soft);margin-right:4px}.paper-table-dashboard .copy-url:hover{background:var(--hover-bg-color)!important;box-shadow:inset 0 0 0 1px var(--border-color)!important}.dashboard-page .dashboard-count button,.dashboard-page .show-hidden{font-size:13px!important}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"name more" "meta meta" "link link"!important;row-gap:8px!important}.paper-table.paper-table-dashboard .paper-table-row>.cell-anon{grid-area:name!important;grid-column:auto!important;min-width:0}.paper-table.paper-table-dashboard .paper-table-row>.dashboard-row-meta{grid-area:meta!important;grid-column:auto!important}.paper-table.paper-table-dashboard .paper-table-row>.cell-actions{display:contents!important}.paper-table-dashboard .cell-actions>.copy-url{grid-area:link;width:100%!important;height:36px!important;padding:0 12px!important;justify-content:space-between!important;background:var(--hover-bg-color)!important;box-shadow:none!important}.paper-table-dashboard .cell-actions>.copy-url .copy-url-text{display:inline!important;min-width:0;overflow:hidden;text-overflow:ellipsis}.paper-table-dashboard .cell-actions>.dropdown{grid-area:more;align-self:start}.paper-table-dashboard .cell-actions>.project-details-button,.paper-table-dashboard .cell-actions>.row-edit{display:none!important}}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{padding-right:12px!important}}.vb-support{background:0 0!important;box-shadow:none!important;border:0!important}.vb-support:hover{background:var(--hover-bg-color)!important}.vb-snapshot{margin-right:8px!important}.paper-eyebrow,.paper-stat small,.paper-stat-sub,.paper-stats .sub{color:#5e5950!important}.dark-mode .paper-eyebrow,.dark-mode .paper-stat-sub{color:#b5aea3!important}.paper-qa,.paper-section-head{margin-top:80px!important}.demo{margin-bottom:0!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(242,204,96,.35)!important}.ace_editor .ace_marker-layer .ace_selection{background:rgba(232,184,58,.55)!important}.paper-faq details>:not(summary),.paper-faq-a{max-width:720px!important}.q-state-chip.q-state-active::before{background:var(--color)!important}.q-state-chip.q-state-delayed::before{background:var(--ink-muted)!important}.repo-access-note>span:last-child{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-control);background:color-mix(in srgb,#b7791f 8%,transparent);box-shadow:inset 3px 0 0 #b7791f;color:var(--color)!important}.repo-access-note>span:last-child .ui-icon{color:#9a6416;flex:none;margin-top:2px}.dark-mode .repo-access-note>span:last-child{background:rgba(224,176,112,.1);box-shadow:inset 3px 0 0 #e0b070}.repo-access-note>span:has(.ui-icon){background:color-mix(in srgb,#b7791f 8%,transparent)!important;box-shadow:inset 3px 0 0 #b7791f!important;color:var(--color)!important}.repo-access-note>span:has(.ui-icon) .ui-icon{color:#9a6416!important}.dark-mode .repo-access-note>span:has(.ui-icon){background:rgba(224,176,112,.1)!important;box-shadow:inset 3px 0 0 #e0b070!important}.dark-mode .repo-access-note>span:has(.ui-icon) .ui-icon{color:#e0b070!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,680px) 190px!important;padding:0 40px!important}}.ace-chrome .ace_entity.ace_name.ace_tag,.ace-chrome .ace_keyword,.ace-chrome .ace_storage,.ace-chrome .ace_support.ace_type{color:#93306a!important}.ace-chrome .ace_string{color:#7a5300!important}.ace-chrome .ace_constant,.ace-chrome .ace_constant.ace_numeric{color:#a14a0f!important}.dark-mode .ace_editor .ace_string{color:#cdb98e!important}.ace_editor .ace_marker-layer .ace_redacted{background:rgba(31,106,100,.28)!important;box-shadow:inset 0 0 0 1px rgba(31,106,100,.65)!important}.ace_search{background:var(--paper-card)!important;box-shadow:inset 0 1px 0 var(--border-color),inset 0 -1px 0 var(--border-color)!important}.ace_search .ace_search_field{height:32px!important;border-radius:var(--radius-control)!important}.ace_search .ace_searchbtn{height:32px!important}.paper-stats-dot{background:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.paper-stats-meta-right{color:var(--ink-soft)!important;font-weight:400!important}.paper-frame{box-shadow:0 0 0 1px var(--border-color),0 12px 32px rgba(40,30,20,.08)!important;border:0!important}.dark-mode .paper-frame{box-shadow:0 0 0 1px #34302b,0 12px 32px rgba(0,0,0,.4)!important}.paper-faq details>summary,.paper-faq summary{font-weight:600!important}@media (max-width:767px){.file-card-head .file-card-path{column-gap:12px!important}.file-card.is-code.no-wrap .file-card-body::after{width:72px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 65%)!important}}.dashboard-page .hidden-toggle{font-size:13px!important;color:var(--color)!important}.paper-table-dashboard .btn-icon-dots{width:32px!important;height:32px!important}.access-q{display:block;font-size:13px;color:var(--ink-soft);margin:4px 0 6px}.repo-access-note{max-width:none!important;width:100%}.repo-access-note>span:has(.ui-icon){width:100%}@media (max-width:767px){.anonymize-page .repo-access-switch,.anonymize-page [role=group][aria-label*=onnection]{width:100%!important;display:flex!important}.anonymize-page .repo-access-switch button{flex:1 1 0}}.admin-empty,.paper-table-empty{border:1px solid var(--border-color)!important;border-radius:var(--radius-surface,12px)!important;background:var(--paper-card)!important;padding:40px 24px!important;text-align:center}.dark-mode .paper-table-head{background:#26221e!important}.dark-mode .paper-table-row{background:#1e1b18}.paper-table:has(.paper-table-empty),:has(>.paper-table-empty:only-child){border-top:0!important;border-bottom:0!important;box-shadow:none!important}.ace_editor .ace_text-layer .ace_redacted{color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:3px;font-weight:500}.dark-mode .ace_editor .ace_text-layer .ace_redacted{color:#a8ddd6!important;background:rgba(124,199,190,.16)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.35)}.ace_editor .ace_marker-layer .ace_redacted{display:none!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.82em!important;padding:0 .2em!important;background:color-mix(in srgb,var(--accent) 9%,transparent)!important;box-shadow:none!important;border:0!important;line-height:1.1!important;vertical-align:baseline!important;font-weight:500!important}.vb-snapshot{color:var(--color)!important;opacity:.78}.ace_search{box-shadow:inset 0 -1px 0 var(--border-color)!important}.btn-find.is-on,.btn-toggle.is-on{color:var(--accent)!important;background:var(--accent-soft)!important}.readme-toc a{text-indent:0;padding-left:13px!important}.readme-toc a.lvl-3{padding-left:25px!important}@media (max-width:767px){.anonymize-page .repo-access,.repo-access{flex-wrap:wrap;width:100%}.repo-access-switch{display:flex!important;width:100%!important}.repo-access-switch button{flex:1 1 0!important;white-space:nowrap!important;justify-content:center}}.q-card.selected{box-shadow:none!important;border-color:color-mix(in srgb,var(--accent) 60%,transparent)!important}.dark-mode .paper-table-head{background:#2e2a25!important}.dark-mode .paper-table-row{background:#1c1a17!important}.ov-chart-legend{font-family:var(--font-sans)!important;font-size:12px!important;color:var(--ink-soft)!important}.readme-toc a.lvl-2{font-weight:500!important;color:var(--color)!important}.readme-toc a.lvl-3{font-size:12.5px!important;color:var(--ink-soft)!important;font-weight:400!important}.readme-toc a.is-active{color:var(--accent)!important}.readme-toc a.lvl-2+a.lvl-2,.readme-toc a.lvl-3+a.lvl-2{margin-top:4px}.dark-mode .ace_editor .ace_text-layer .ace_redacted,.dark-mode .redact-chip{color:#9fe0d7!important;background:rgba(124,199,190,.2)!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.38)!important}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true]{color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)!important}.dark-mode .file-card-head .btn.btn-toggle.is-on{color:#a8ddd6!important;background:rgba(124,199,190,.14)!important}@media (max-width:767px){.file-card-head .file-card-path .card-files-btn{align-self:start!important}}@media (max-width:767px){.paper-hero-shot{max-height:300px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}}.dark-mode .hero-mock-doc,.dark-mode .paper-frame{background:#24211d!important}.paper-stats-meta-right{color:#5e5950!important}.dark-mode .paper-stats-meta-right{color:#b5aea3!important}.errors-page .status-pill.status-neutral{background:var(--hover-bg-color)!important;color:var(--ink-soft)!important;border-color:var(--border-color)!important}.connections-grid .btn,.connections-grid .connection-link:not(.connection-danger){height:36px!important;min-height:36px!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex!important;align-items:center}.claim-page .form-control,.claim-page input{border:1px solid var(--border-color)!important}@media (max-width:767px){.overview-page .ov-kpi-sub{white-space:nowrap!important;font-size:12px!important;overflow:visible!important}.overview-page .ov-kpi-row>:last-child:nth-child(odd){grid-column:1/-1}.admin-summary .summary-pill{height:28px!important}.admin-summary .summary-total{flex-basis:100%}.admin-page .paper-table:not(.paper-table-dashboard) .paper-table-row{position:relative;padding-right:44px!important}.admin-page .paper-table:not(.paper-table-dashboard) .paper-table-row>:last-child{position:absolute!important;top:10px;right:4px}.admin-page .paper-table .anon-sub>span{white-space:nowrap}}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true]{background:0 0!important;box-shadow:none!important;color:var(--accent)!important}.file-card-head .btn.btn-toggle.is-on:hover{background:var(--hover-bg-color)!important}.dark-mode .file-card-head .btn.btn-toggle.is-on{background:0 0!important;color:#a8ddd6!important}.ace-chrome .ace_string{color:#3d5a73!important}.dark-mode .ace_editor .ace_string{color:#afc4d6!important}.ace-chrome .ace_gutter-cell{color:#6b655d!important}.readme-toc a.lvl-2{color:var(--ink-soft)!important;font-weight:500!important}.readme-toc a.lvl-3{color:var(--ink-soft)!important;opacity:.9}.readme-toc a.is-active{color:var(--accent)!important}.readme-toc-head{font-size:12.5px!important}.vb-snapshot{opacity:1!important;color:var(--ink-soft)!important}@media (max-width:767px){.viewer-bar .vb-signin{height:32px!important}}.paper-footer-meta{font-size:15px!important;color:var(--ink-soft)!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.07)!important}@media (min-width:992px){.anonymize-landing{justify-content:flex-start!important;align-items:flex-start!important}.anonymize-landing-inner{margin-left:max(4px,calc((100vw - 1048px)/ 2 - 20px))!important;margin-right:auto!important;max-width:640px!important}}.paper-settings-body>:not(aside){max-width:none!important}.paper-settings-body .paper-card,.paper-settings-body section{max-width:none!important}.dark-mode .paper-table-row{background:0 0!important}.dark-mode .paper-table-head{background:#26231f!important}@media (max-width:767px){.overview-page .ov-kpi-sub{white-space:normal!important;font-size:12px!important;padding-right:4px}.dashboard-count{position:static!important;width:auto!important;height:auto!important;margin:0 0 0 auto!important;overflow:visible!important;clip:auto!important;font-size:12.5px!important}}.errors-page input[type=search]{font-family:var(--font-sans)!important}.paper-settings-body .form-text,.paper-settings-body .paper-field-help,.paper-settings-body small{max-width:none!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip{font-size:.7em!important;vertical-align:.12em!important}.ace_search{border-bottom:1px solid var(--border-color)!important;box-shadow:none!important;border-top:0!important}.ace_search .ace_button,.ace_search .ace_searchbtn{height:32px!important}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true]{background:var(--accent-soft)!important;color:var(--accent)!important;box-shadow:none!important}.dark-mode .file-card-head .btn.btn-toggle.is-on{background:rgba(124,199,190,.14)!important}@media (max-width:767px){.file-card-head .card-files-btn{width:32px!important;height:32px!important}.file-card-head .file-card-path{column-gap:8px!important}}.dark-mode .leftCol{background:#1c1a17!important}.dark-mode .explorer-content,.dark-mode .file-card{background:#141311!important}.nav-support-inline{color:var(--color)!important;font-weight:500!important}@media (min-width:992px){.anonymize-landing{padding-top:24px!important}.anonymize-landing-inner{padding-top:0!important;margin-top:0!important}}.anonymize-page .access-q+.btn-outline-ink{height:30px!important;padding:0 10px!important;font-size:13px!important}.admin-summary .summary-pill:not(.active){color:var(--ink-soft)!important}.volume-legend>span{display:inline-flex;align-items:center;gap:5px;margin-left:12px}.dark-mode .leftCol{background:#221f1b!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{box-shadow:inset -1px 0 0 var(--border-color),inset -10px 0 10px -10px rgba(0,0,0,.18)!important}}.readme-toc a.is-active{font-weight:600!important}.paper-stats-meta-right{color:var(--ink-soft)!important;font-weight:500!important;letter-spacing:inherit}.paper-faq details a:not(.btn),.paper-faq-a a,.paper-section a{text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)!important;text-decoration-thickness:1px!important}.volume-axis{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft);margin-top:6px}.errors-page .seg.seg-info{background:color-mix(in srgb,var(--ink-muted) 55%,transparent)!important}.paper-crumbs a{color:var(--ink-soft)!important}.paper-crumbs .here{color:var(--color)!important}.paper-table .mobile-meta-icon,.paper-table [role=cell]>.ui-icon{opacity:.45}@media (min-width:768px){.paper-table-dashboard .cell-expires{padding-left:24px!important}}.dark-mode .paper-table-dashboard .paper-table-head,.dark-mode .paper-table-head{background:0 0!important;box-shadow:inset 0 -1px 0 var(--border-color)!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.copy-url{max-width:none!important;justify-self:stretch}.paper-table.paper-table-dashboard .paper-table-row{padding-right:16px!important}.dashboard-filters-toggle{border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important;height:44px;padding:0 12px!important}.overview-page .ov-kpi-card{padding-left:14px!important;padding-right:14px!important}.overview-page .ov-kpi-sub{white-space:nowrap!important;font-size:11.5px!important}.admin-filter-row kbd,.search-wrap .kbd,.search-wrap kbd{display:none!important}}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{background:0 0!important;padding:0!important;font-size:.78em!important;color:var(--accent)!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:color-mix(in srgb,var(--accent) 30%,transparent)}.dark-mode .markdown-body h1 .redact-chip,.dark-mode .markdown-body h2 .redact-chip{color:#9fe0d7!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:56px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 55%)!important}}.readme-toc a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width:768px){.paper-table-dashboard .cell-expires,.paper-table-dashboard .paper-table-head>:nth-child(4){text-align:left!important;justify-content:flex-start!important;padding-left:24px!important}}.anonymize-page #sourceUrl-landing,.anonymize-page .form-control-lg{border:1px solid var(--border-color)!important}.anonymize-page .form-control-lg:focus{border-color:var(--accent)!important}.repo-access-note>span:has(.ui-icon){background:var(--accent-soft)!important;box-shadow:inset 3px 0 0 var(--accent)!important;color:var(--color)!important;font-size:13.5px}.repo-access-note>span:has(.ui-icon) .ui-icon{color:var(--accent)!important}.dark-mode .repo-access-note>span:has(.ui-icon){background:rgba(124,199,190,.1)!important;box-shadow:inset 3px 0 0 #7cc7be!important}.dark-mode .repo-access-note>span:has(.ui-icon) .ui-icon{color:#7cc7be!important}.readme-toc a{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::before{content:"Scroll \2192";position:absolute;right:10px;bottom:14px;z-index:9;font:500 12px/1 var(--font-sans);color:var(--ink-soft);background:var(--paper-card);box-shadow:0 0 0 1px var(--border-color),0 2px 6px rgba(0,0,0,.06);border-radius:999px;padding:6px 10px;pointer-events:none}}.ace-chrome .ace_string{color:#2d5f86!important}.ace-chrome .ace_keyword,.ace-chrome .ace_storage{color:#9a2b6b!important}.dark-mode .ace_editor .ace_string{color:#9cc3e6!important}.dark-mode .ace_editor .ace_keyword,.dark-mode .ace_editor .ace_storage{color:#e3a6d2!important}.reading-layout .markdown-body h1{font-size:34px!important;letter-spacing:-.015em}.errors-page .btn-group>.btn,.errors-page .btn-icon,.errors-page .form-control,.errors-page select{height:36px!important;min-height:36px!important}.errors-page .col-when .when-rel{font-size:13.5px!important}.q-danger-group{display:inline-flex;gap:6px;margin-left:auto;padding-left:12px;border-left:1px solid var(--border-color)}.q-stats-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.repo-access-note>span:has(.ui-icon){background:color-mix(in srgb,#b7791f 8%,transparent)!important;box-shadow:inset 3px 0 0 #b7791f!important}.repo-access-note>span:has(.ui-icon) .ui-icon{color:#9a6416!important}.dark-mode .repo-access-note>span:has(.ui-icon){background:rgba(224,176,112,.1)!important;box-shadow:inset 3px 0 0 #e0b070!important}.dark-mode .repo-access-note>span:has(.ui-icon) .ui-icon{color:#e0b070!important}@media (max-width:767px){.admin-page .paper-table [role=cell]:has(>input[type=checkbox]),.admin-page .paper-table input[type=checkbox],.admin-page .paper-table-head [role=columnheader]:has(>input[type=checkbox]){display:none!important}.admin-page .admin-filters-toggle,.admin-page .dashboard-filters-toggle{width:auto!important}}.q-danger-group{border-left:0!important;padding-left:0!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::before{animation:scrollHintOut .4s ease 2.6s forwards}}@keyframes scrollHintOut{to{opacity:0;visibility:hidden}}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{text-decoration:none!important;background:color-mix(in srgb,var(--accent) 8%,transparent)!important;padding:0 .15em!important;border-radius:4px}.readme-toc a.lvl-3{padding-left:29px!important}.ace_search .ace_button{color:var(--color)!important;opacity:.8}.ace_search .ace_button.checked{opacity:1}.dark-mode .files .file>a,.dark-mode .files .folder>a{color:#d8d2c8!important}.ov-live{display:inline-flex;align-items:center;gap:6px}.ov-live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.anon-sub .meta-sep{display:inline-flex;align-items:center;white-space:nowrap}@media (max-width:767px){.anon-sub{column-gap:0!important}}.connection-status-legacy{color:var(--ink-soft)!important}.connection-status-legacy::before{background:var(--ink-muted)!important}.q-detail{align-items:start!important}.q-chart-wrap canvas{max-height:200px}.admin-page .paper-table .cell-anon .anon-text:has(.meta-sep){overflow:hidden}.admin-page .paper-table .anon-sub:has(.meta-sep){display:flex!important;flex-wrap:wrap!important;margin-left:-14px!important;gap:0!important}.admin-page .paper-table .anon-sub:has(.meta-sep)>*{white-space:nowrap}.admin-page .paper-table .anon-sub:has(.meta-sep)>::before{content:"\00b7";display:inline-block;width:14px;text-align:center;color:var(--ink-muted)}.ace-chrome .ace_gutter-cell,.dark-mode .ace_editor .ace_gutter-cell{font-size:12px!important}.q-stats-actions{display:grid!important;grid-template-columns:auto auto 1fr;gap:8px;align-items:center}.q-danger-group{grid-column:1/-1;justify-self:start;margin:4px 0 0!important;padding:10px 0 0!important;border-top:1px solid var(--border-color)!important;width:100%;display:flex!important;gap:8px}@media (max-width:767px){.overview-page .ov-header{flex-wrap:nowrap!important;align-items:center!important}.ov-live{font-size:12px}.ov-live .ov-live-text-extra{display:none}.overview-page .ov-daily-card,.overview-page .ov-kpi-card{padding-left:14px!important;padding-right:14px!important}}.admin-page input[type=checkbox]{width:14px!important;height:14px!important}.demo-input-wrap{position:relative}.demo-input-wrap .demo-backdrop{position:absolute;inset:0;margin:0;overflow:hidden;color:var(--color);pointer-events:none;overflow-wrap:break-word}.demo-input-wrap .demo-input{position:relative;color:transparent!important;caret-color:var(--color);background:0 0!important;overflow-wrap:break-word}.demo-input-wrap .demo-input::selection{color:var(--color);background:color-mix(in srgb,var(--accent) 25%,transparent)}.demo-match{background:0 0;color:inherit;padding:0;border-radius:2px;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 55%,transparent);background-color:color-mix(in srgb,var(--accent) 10%,transparent)}.demo-output .redact-chip{font-size:12.5px!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::before{display:none!important}.file-card.is-code.no-wrap .file-card-body::after{width:36px!important;background:linear-gradient(to right,rgba(0,0,0,0),rgba(60,45,30,.1))!important;box-shadow:inset -1px 0 0 rgba(60,45,30,.18)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.45))!important;box-shadow:inset -1px 0 0 rgba(255,255,255,.12)!important}}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:44px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 70%)!important;box-shadow:inset -8px 0 10px -6px rgba(40,30,20,.28),inset -1px 0 0 rgba(40,30,20,.16)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(0,0,0,0),var(--canvas-bg-color) 70%)!important;box-shadow:inset -8px 0 10px -6px rgba(0,0,0,.6),inset -1px 0 0 rgba(255,255,255,.1)!important}}.q-chart-wrap{position:relative}.q-chart-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--paper-card);border-bottom:1px solid var(--border-color);text-align:center}.q-chart-empty strong{font-size:14px;font-weight:500;color:var(--color)}.q-chart-empty span{font-size:12.5px;color:var(--ink-soft)}.q-danger-group .btn{margin-left:0!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{background:0 0!important;padding:0!important;border-radius:0!important}.paper-settings-body .form-control,.paper-settings-body input[type=date],.paper-settings-body input[type=text],.paper-settings-body input[type=url],.paper-settings-body textarea{border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important}.admin-page .paper-table .cell-views .ui-icon{display:none!important}.admin-page:has(.admin-users-row) .paper-table-head,.admin-page:has(.admin-users-row) .paper-table-row{column-gap:40px!important}@media (max-width:767px){.overview-page .ov-header{justify-content:space-between!important}.ov-live{margin-left:0!important}}.dark-mode .paper-table-dashboard .paper-table-row{background:0 0!important}.mono-hash{font-family:var(--font-mono)!important;font-size:11.5px}.nav-heart-m{display:none}@media (max-width:991px){.nav-heart-m{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;color:#c25b5e}.nav-heart-m .ui-icon{width:18px;height:18px;fill:currentColor}.nav-heart-m+.nav-signin-m{margin-left:4px!important}}.file-card:has(.ace_search:not([style*=none])) .btn-find{color:var(--accent)!important;background:var(--accent-soft)!important}.paper-link-arrow{color:var(--color)!important;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent)!important}.paper-faq details p,.paper-faq details>:not(summary),.paper-faq-a{max-width:none!important}.paper-stat-value{font-family:var(--font-display,var(--font-serif))!important;font-weight:400!important;letter-spacing:-.01em}@media (max-width:767px){.ov-live-extra{display:none}.paper-table-dashboard .cell-views.num::after{content:" views";color:var(--ink-soft)}.paper-table-dashboard .cell-expires>span:not(.expires-never):not(.expires-past)::before{content:"Expires ";color:var(--ink-soft)}.admin-page .admin-filters-toggle{width:auto!important;height:36px!important;padding:0 12px!important}}.dashboard-quota summary{border:0!important;box-shadow:none!important;background:0 0!important;padding-left:0!important}.q-card.selected{background:var(--accent-soft)!important}.dark-mode .q-card.selected{background:rgba(124,199,190,.08)!important}.dark-mode .ov-meter .fill.critical,.dark-mode .ov-meter-fill.critical{background:#f08a82!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-family:inherit!important;font-weight:inherit!important;font-size:.9em!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)!important;padding:0 .25em!important;border-radius:6px!important;color:var(--accent)!important;text-decoration:none!important}.dark-mode .markdown-body h1 .redact-chip,.dark-mode .markdown-body h2 .redact-chip,.dark-mode .markdown-body h3 .redact-chip{background:rgba(124,199,190,.16)!important;color:#9fe0d7!important}.file-card-head .btn.btn-toggle.is-on,.file-card-head .btn.btn-toggle[aria-pressed=true],.file-card:has(.ace_search:not([style*=none])) .btn-find{background:0 0!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent)!important}.dark-mode .file-card-head .btn.btn-toggle.is-on,.dark-mode .file-card:has(.ace_search:not([style*=none])) .btn-find{background:0 0!important;color:#a8ddd6!important;box-shadow:inset 0 0 0 1px rgba(124,199,190,.5)!important}@media (min-width:768px){.file-card-head{padding-left:46px!important}}.breadcrumb-root{display:none!important}.breadcrumb-root+.breadcrumb-item::before{display:none!important}.ace_editor .ace_marker-layer .ace_selection{background:rgba(232,170,40,.65)!important;box-shadow:0 0 0 1px rgba(160,100,10,.6)!important}.ace_search_counter{color:var(--color)!important;opacity:.75}.dark-mode .files .file.active>a{background:rgba(255,255,255,.12)!important}.dark-mode .leftCol{box-shadow:inset -1px 0 0 rgba(255,255,255,.08)!important}.hero-mock-doc-bar span,.paper-stat-delta,.paper-stat-sub,.paper-stats .sub{color:#5e5950!important}.dark-mode .paper-stat-delta,.dark-mode .paper-stat-sub{color:#b5aea3!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{font-size:.72em!important;font-weight:600!important;vertical-align:.1em;padding:.05em .3em!important}.is-unsynced{color:var(--ink-muted)!important;font-size:12.5px;font-family:var(--font-sans)!important}.q-dot.q-dot-idle{background:var(--ink-muted)!important}.dark-mode .paper-table,.dark-mode .paper-table-dashboard{background:0 0!important}.dark-mode .paper-table .paper-table-head{background:#24211d!important}.dark-mode .paper-table .paper-table-row{background:#141311!important}@media (min-width:768px){.file-card.is-code .file-card-head{padding-left:16px!important}.readme-toc{margin-left:16px}.reading-layout{grid-template-columns:minmax(0,660px) 190px!important;gap:56px!important}}.dark-mode .leftCol{box-shadow:none!important;border-right:1px solid var(--border-color)!important}.dark-mode .leftCol-resizer,.dark-mode .sidebar-resizer{background:0 0!important}.markdown-body h1 .redact-chip,.markdown-body h2 .redact-chip,.markdown-body h3 .redact-chip{box-shadow:none!important}.files .file.active>a::before{left:4px!important;top:6px!important;bottom:6px!important;width:3px!important;border-radius:2px!important}.hero-mock-row.is-active{box-shadow:inset 3px 0 0 var(--accent)!important;border-radius:6px}.fm-label,.paper-eyebrow,.paper-stats-meta-left,.paper-stats-meta-right{color:#57524a!important}.dark-mode .paper-eyebrow,.dark-mode .paper-stats-meta-left,.dark-mode .paper-stats-meta-right{color:#bdb6ab!important}.demo-match{box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--accent) 50%,transparent)!important}.redact-glue{white-space:nowrap}@media (min-width:768px){.file-card-head,.file-card.is-code .file-card-head{padding-left:20px!important}}.dark-mode .files .file.active>a{background:rgba(255,255,255,.08)!important}.files .file.active>a{position:relative}.files .file.active>a::before{left:0!important;top:4px!important;bottom:4px!important;width:3px!important;border-radius:0 2px 2px 0!important}.admin-page .paper-table [role=cell]>svg.ui-icon[aria-hidden],.paper-table .cell-expires .mobile-meta-icon{display:none!important}@media (max-width:767px){.admin-page .paper-table .cell-views.num::after{content:" views";color:var(--ink-soft)}}.dark-mode .paper-table .paper-table-row{background:#1e1b18!important}.dark-mode .paper-table .paper-table-head{background:#26231f!important}.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=email],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea,.paper-page textarea.form-control{border:1px solid var(--border-color)!important;border-radius:var(--radius-control)!important}.paper-page input:focus,.paper-page select:focus,.paper-page textarea:focus{border-color:var(--accent)!important}.q-detail{align-items:stretch!important}.q-throughput{display:flex;flex-direction:column}.q-throughput .q-chart-wrap{flex:1;min-height:180px}.admin-page .search-wrap{flex:0 1 420px!important;max-width:420px!important}@media (max-width:767px){.overview-page .ov-header{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important}.overview-page .ov-header .ov-live{margin:0 0 0 auto!important;align-self:center}}.hero-mock-count{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)!important;font-weight:600;font-size:11.5px}.dark-mode .hero-mock-count{background:rgba(124,199,190,.16);color:#a8ddd6!important}.vb-support{color:var(--ink-soft)!important;font-weight:400!important}.vb-support:hover{color:var(--color)!important}@media (max-width:767px){.file-card.is-code .ace_gutter-cell{padding-left:4px!important;padding-right:6px!important}.file-card.is-code .ace_scroller{left:30px!important}.file-card.is-code .ace_gutter{width:30px!important}}.md-find-bar{position:sticky;top:52px;z-index:5;display:flex;align-items:center;gap:10px;padding:8px 20px;background:var(--paper-card);border-bottom:1px solid var(--border-color)}.md-find-input{width:260px;height:32px;padding:0 10px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);color:var(--color);font:14px var(--font-sans)}.md-find-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.md-find-count{font-size:12.5px;color:var(--ink-soft);min-width:64px;font-variant-numeric:tabular-nums}.md-find-nav{display:inline-flex}.md-find-close,.md-find-nav button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--paper-card);color:var(--color)}.md-find-nav button:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.md-find-nav button:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0;margin-left:-1px}.md-find-nav button:disabled{opacity:.45}.md-find-close{border:0;background:0 0;font-size:20px;border-radius:var(--radius-control)}.md-find-close:hover{background:var(--hover-bg-color)}mark.md-find{background:rgba(242,204,96,.45);color:inherit;border-radius:2px;padding:0}mark.md-find.is-current{background:rgba(232,170,40,.8);box-shadow:0 0 0 1px rgba(160,100,10,.6)}@media (min-width:1280px){.viewer-bar a.vb-icon[href="/faq"]{width:auto!important;padding:0 10px!important;gap:6px}.viewer-bar a.vb-icon[href="/faq"]::after{content:"FAQ";font:500 13px var(--font-sans);color:var(--ink-soft)}}.file-card-head .btn-md-find.is-on{background:0 0!important;color:var(--accent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent)!important}.md-find-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}@media (min-width:768px){.md-find-bar{padding-left:63px!important}}.md-find-input{width:240px!important}.file-card:has(.md-find-bar) .readme-toc{top:120px!important}.claim-page input,.claim-page textarea{border-color:var(--border-color)!important}.connection-status{font-size:12.5px!important}@media (max-width:767px){.admin-page .admin-filters-toggle::before{content:"";width:14px;height:14px;margin-right:6px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center/contain no-repeat}.admin-page .admin-filters-toggle{display:inline-flex!important;align-items:center}}.paper-faq-title{text-wrap:balance}.file-card-head,.md-find-bar{background:var(--paper-card)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important}.dark-mode .file-card-head,.dark-mode .md-find-bar{background:#141311!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,640px) 190px!important;gap:56px!important;justify-content:center!important;padding:0 24px!important}}.reading-layout .file-content.markdown-body{padding-top:32px!important}@media (min-width:1200px){.md-find-bar{padding-left:calc((100% - 886px)/ 2)!important}}@media (min-width:1280px){.viewer-bar a.vb-bug{width:auto!important;padding:0 10px!important;gap:6px}.viewer-bar a.vb-bug::after{content:"Report a bug";font:500 13px var(--font-sans);color:var(--ink-soft)}}.vb-snapshot{font-size:13px!important;color:var(--ink-soft)!important}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn,.dashboard-page .dashboard-filter-controls .dropdown-toggle,.dashboard-page .dashboard-filter-row .form-control{height:36px!important;min-height:36px!important}.dashboard-filter-controls .btn-group[aria-label=Type]{padding:0!important;height:36px;align-items:center}.dashboard-filter-controls .btn-group[aria-label=Type]>.btn{height:30px!important;min-height:30px!important;margin:3px 0}.errors-page .errors-toolbar{flex-wrap:nowrap!important}.errors-page .errors-toolbar input[type=search]{min-width:0;flex:1 1 260px}.paper-table .paper-table-head{background:color-mix(in srgb,var(--hover-bg-color) 60%,transparent)!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,700px) 190px!important;gap:48px!important}}.md-find-bar{padding-top:4px!important;padding-bottom:4px!important}.md-find-input{height:30px!important}.md-find-input:focus{box-shadow:0 0 0 1px var(--accent)!important}.ace_editor .ace_marker-layer .ace_selection,mark.md-find.is-current{background:rgba(240,190,80,.6)!important;box-shadow:0 0 0 1px rgba(170,110,20,.5)!important}.viewer-bar .vb-right{gap:12px!important}.viewer-bar .vb-right>*{margin:0!important}.auto-refresh-label{white-space:nowrap!important}.errors-page .errors-toolbar{flex-wrap:wrap!important}.errors-page .errors-row-head,.errors-page .errors-thead,.paper-table .paper-table-head,.q-table thead th{background:#f3f1ec!important}.dark-mode .errors-page .errors-thead,.dark-mode .paper-table .paper-table-head,.dark-mode .q-table thead th{background:#24211d!important}.summary-show-label{font-size:12.5px;color:var(--ink-soft);margin-right:2px;align-self:center}.anon-sub a.mono-hash,.mono-hash{text-decoration:none!important;border-bottom:0!important}.errors-page .errors-list-head{background:#f3f1ec!important}.dark-mode .errors-page .errors-list-head{background:#24211d!important}.errors-page .errors-toolbar .search-wrap,.errors-page .errors-toolbar input[type=search]{flex:1 1 220px!important;max-width:340px!important;min-width:0!important}.errors-page .errors-toolbar{flex-wrap:nowrap!important;gap:8px!important}.faq-section .panel-default .panel-title a{padding:16px 32px 16px 0!important;position:relative;display:block}.faq-section .panel-default .panel-body{padding-left:0!important}.faq-section .panel-default .panel-title a:after{left:auto!important;right:6px!important}.md-find-bar{padding-left:20px!important}.vb-logo{font-size:19px!important}@media (max-width:767px){.vb-logo{font-size:18px!important}.admin-summary .summary-show-label{flex-basis:100%}}.btn-ghost-danger{background:0 0!important;border:1px solid transparent!important;color:#b42318!important;display:inline-flex;align-items:center;gap:6px}.btn-ghost-danger:hover{background:color-mix(in srgb,#b42318 8%,transparent)!important}.dark-mode .btn-ghost-danger{color:#f08a82!important}mark.md-find{background:rgba(242,204,96,.32)!important;box-shadow:none!important}mark.md-find.is-current{background:rgba(232,160,30,.85)!important;box-shadow:0 0 0 1px rgba(150,90,10,.7)!important;color:#2b2824!important}.md-find-opt{height:30px;min-width:32px;padding:0 8px;border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--paper-card);color:var(--ink-soft);font:600 12px var(--font-sans)}.md-find-opt.is-on{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.md-find-nav button{color:var(--ink-soft)!important}.md-find-close{font-size:18px!important;font-weight:300!important;color:var(--ink-soft)!important}@media (min-width:768px){.file-card .ace_search{left:0!important;right:0!important;padding-left:20px!important;margin:0!important;max-width:none!important}}@media (min-width:768px){.md-find-bar{padding-left:71px!important}}@media (min-width:768px){.md-find-bar{padding-left:71px!important}.file-card .ace_search{overflow:visible!important}}@media (min-width:1200px){.file-card:has(.md-find-bar) .readme-toc,.readme-toc{top:120px!important}}.dark-mode .dashboard-filter-controls .btn-group[aria-label=Type]>.btn.btn-primary{background:#3a3631!important;color:#f2eee8!important;box-shadow:0 0 0 1px rgba(255,255,255,.14)!important}.admin-page .paper-table .user-name,.admin-page .paper-table .username,.admin-page:has(.admin-users-row) .cell-anon .repo-name,.admin-users-row .repo-name{font-family:var(--font-sans)!important;font-weight:600}.paper-page input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px!important;height:16px!important;margin:0;border:1.5px solid #a39d92;border-radius:4px;background:var(--paper-card);display:inline-grid;place-content:center;cursor:pointer;vertical-align:middle}.paper-page input[type=checkbox]::before{content:"";width:9px;height:9px;transform:scale(0);background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat}.paper-page input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.paper-page input[type=checkbox]:checked::before{transform:scale(1)}.paper-page input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dark-mode .paper-page input[type=checkbox]{border-color:#6e6860;background:0 0}.admin-page .detail-value:is(:empty),.detail-value.is-empty{color:var(--ink-muted)!important;font-style:italic}.paper-table-dashboard .btn-icon-dots,.row-edit{width:32px!important;height:32px!important;border-radius:var(--radius-control)}.paper-table-dashboard .btn-icon-dots:hover,.row-edit:hover{background:var(--hover-bg-color)!important}.q-state-toggle input[type=checkbox]{position:absolute;opacity:0;width:1px!important;height:1px!important;pointer-events:none}.q-state-toggle{position:relative;cursor:pointer}.q-state-toggle input:not(:checked)+.q-state-chip{opacity:.45;text-decoration:line-through}.q-state-toggle input:focus-visible+.q-state-chip{outline:2px solid var(--accent);outline-offset:2px}@media (min-width:768px){.md-find-bar{padding-left:31px!important}}.ace_search .ace_search_field,.anonymize-page .form-control,.md-find-input,.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea{border-radius:8px!important}.page-head-row .btn-primary,.paper-page .btn-ink,.paper-page .btn-primary{min-height:40px!important}.errors-page .errors-list-head>*,.paper-table .paper-table-head [role=columnheader],.paper-table .paper-table-head>div{font-weight:500!important;font-size:12.5px!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink-soft)!important}.admin-page .admin-section-header h2{font:600 18px/1.3 var(--font-sans)!important;display:inline-flex;align-items:center;gap:8px}.admin-page .admin-section-header h2 .ui-icon{width:16px;height:16px;color:var(--ink-soft)}.files .file.active>a{background:#e2ded7!important}.files .file.active>a::before{left:3px!important}.dark-mode .files .file.active>a{background:rgba(255,255,255,.09)!important}.admin-page:has(.admin-users-row) .paper-table-head,.admin-page:has(.admin-users-row) .paper-table-row{grid-template-columns:28px minmax(220px,320px) 120px 140px 1fr 40px!important}@media (max-width:767px){.mobile-sub{margin-top:3px!important}}.paper-faq-lede,.paper-page-lede{text-wrap:pretty;max-width:640px}.errors-page .status-pill.status-neutral:not([title=""])[title]{background:0 0!important;border-color:transparent!important;color:var(--ink-muted)!important}.md-find-bar{min-height:47px!important;padding-top:7px!important;padding-bottom:7px!important}.ace_search .ace_search_field:focus,.md-find-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}mark.md-find{background:rgba(246,224,138,.7)!important}.ace_editor .ace_marker-layer .ace_selected-word{background:rgba(246,224,138,.7)!important}.files .file.active>a{background:#e6e3dc!important}@media (min-width:1200px){.readme-toc{margin-top:32px!important;padding-top:0!important}}.errors-page .kpi-card.kpi-info .kpi-value{color:var(--ink-soft)!important;font-weight:500!important;font-size:26px!important}.errors-page .kpi-card.kpi-info{background:color-mix(in srgb,var(--paper-card) 70%,transparent)!important}.ov-meter span{background:var(--accent)}.ov-meter.warn span{background:#b7791f!important}.ov-meter.crit span{background:#b42318!important}@media (max-width:767px){.admin-summary .summary-show-label{flex-basis:auto!important}}@media (max-width:767px){.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"name edit more" "meta meta meta" "link link link"!important;column-gap:2px!important}.paper-table-dashboard .cell-actions>.row-edit{display:inline-flex!important;grid-area:edit;align-self:start;align-items:center;justify-content:center}.dashboard-page .paper-table-dashboard .dashboard-row-meta{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:0!important;padding-left:26px;font-size:12.5px;color:var(--ink-soft)}.dashboard-page .dashboard-row-meta .cell-status{flex:0 0 auto!important}.dashboard-page .dashboard-row-meta .cell-status .status-line{gap:6px}.dashboard-page .dashboard-row-meta .cell-expires,.dashboard-page .dashboard-row-meta .cell-views{display:inline-flex!important;align-items:center;font-family:var(--font-sans,Inter,sans-serif)!important;font-size:12.5px!important;color:var(--ink-soft)!important;white-space:nowrap;margin:0!important;padding:0!important;text-align:left!important;justify-content:flex-start!important}.dashboard-page .dashboard-row-meta .cell-expires::before,.dashboard-page .dashboard-row-meta .cell-views::before{content:"·";margin:0 8px;color:var(--ink-muted)}.dashboard-page .dashboard-row-meta .cell-views .ui-icon,.dashboard-page .dashboard-row-meta .cell-views svg{display:none!important}.dashboard-page .dashboard-row-meta .cell-expires .cell-label,.dashboard-page .dashboard-row-meta .cell-expires small{font-size:inherit!important;color:inherit!important;margin-right:4px}}.dashboard-page .dashboard-quota>summary{border:1px solid var(--border-color)!important;border-radius:999px!important;padding:0 12px 0 10px!important;height:36px;min-height:36px!important;display:inline-flex!important;align-items:center;gap:8px;background:var(--paper-card)!important}.dashboard-page .dashboard-quota>summary:hover{background:var(--hover-bg-color)!important}.dashboard-page .dashboard-quota .quota-summary-ring{display:inline-block!important;width:16px;height:16px}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,660px) 176px!important;gap:56px!important;justify-content:center!important}}@media (max-width:767px){.admin-summary .summary-show-label{flex-basis:100%!important;margin:4px 0 -2px!important}.admin-summary .summary-meta{flex:1 1 auto}}.q-throughput:has(.q-chart-empty) .q-chart-wrap{flex:0 0 auto!important;min-height:120px!important;height:120px}.q-throughput:has(.q-chart-empty) .q-chart-wrap canvas{visibility:hidden}.q-chart-empty{border-bottom:0!important;border-radius:8px}@media (min-width:768px){.md-find-bar{padding-left:20px!important}.file-card .ace_search{padding-left:20px!important}.file-card .ace_search .ace_search_form{margin-left:0!important}}@media (min-width:768px){.file-card .ace_search{left:0!important;padding-left:0!important}}@media (min-width:1200px){.md-find-bar{padding-left:max(20px,calc((100% - 892px)/ 2))!important}}.q-throughput:has(.q-chart-empty) .q-chart-wrap{flex:1 1 auto!important;height:auto!important;min-height:160px!important}.q-danger-group{align-items:center;flex-wrap:wrap}.q-danger-group::before{content:"Clear jobs";flex-basis:100%;font-size:12px;color:var(--ink-soft);margin-bottom:2px}.q-legend .q-legend-item,.q-legend button,.q-legend span{font-size:12px!important}.q-state-filters .q-state-toggle,.q-state-filters .q-state-toggle *{font-size:12px!important}.admin-nav a.active,.admin-nav a.router-link-active{background:0 0!important;color:var(--accent)!important;box-shadow:inset 0 -2px 0 var(--accent)!important;border-radius:0!important}.admin-nav a:not(.active):hover{background:0 0!important;color:var(--color)!important;box-shadow:inset 0 -2px 0 var(--border-color)!important}.dark-mode .q-card.selected,.q-card.selected{background:var(--paper-card)!important;border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.errors-page .kpi-card .kpi-value,.errors-page .kpi-card.kpi-info .kpi-value,.errors-page .kpi-card.kpi-warn .kpi-value{color:var(--color)!important;font-weight:600!important;font-size:28px!important}.errors-page .kpi-card.kpi-info{background:var(--paper-card)!important}.paper-table-dashboard .btn-icon-dots,.paper-table-dashboard .row-edit{color:var(--color)!important;opacity:.72}.paper-table-dashboard .btn-icon-dots:hover,.paper-table-dashboard .row-edit:hover{opacity:1}@media (max-width:767px){.paper-table-dashboard .cell-actions>.dropdown,.paper-table-dashboard .cell-actions>.row-edit{margin-top:-6px}}@media (min-width:1280px){.viewer-bar a.vb-bug,.viewer-bar a.vb-icon[href="/faq"]{width:32px!important;padding:0!important}.viewer-bar a.vb-bug::after,.viewer-bar a.vb-icon[href="/faq"]::after{content:none!important}}.markdown-body h2{margin-bottom:12px!important}.markdown-body h3{margin-top:32px!important;margin-bottom:8px!important}.markdown-body h4{margin-top:24px!important;margin-bottom:6px!important;color:var(--ink-soft)!important}@media (min-width:768px){.file-card .ace_search{padding-left:16px!important}}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:48px!important;background:linear-gradient(to right,rgba(255,255,255,0),var(--paper-card) 55%)!important;box-shadow:inset -1px 0 0 var(--border-color)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(20,19,17,0),#141311 55%)!important}}.connections-page .connection-actions{flex-wrap:nowrap!important;align-items:center;gap:12px!important}.connections-page .connection-actions .connection-link{white-space:nowrap}.paper-table-dashboard .paper-table-head .col-link{font-size:inherit;color:inherit}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:40px!important;background:linear-gradient(to right,rgba(40,32,24,0),rgba(40,32,24,.07)),linear-gradient(to right,rgba(255,255,255,0),#fff 70%)!important;border-right:2px solid rgba(40,32,24,.12)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.35)),linear-gradient(to right,rgba(20,19,17,0),#141311 70%)!important;border-right-color:rgba(255,255,255,.08)}}.connections-page .connection-actions .btn{white-space:nowrap}.connections-page .connection-refresh{width:36px;height:36px;justify-content:center;padding:0!important;border-radius:var(--radius-control,8px);margin-left:auto}.faq-section .faq-cat,.faq-section .panel-group{max-width:720px}.ace-chrome .ace_gutter-cell{color:#5f5a52!important}.connections-grid{align-items:start!important}.connection-installations{border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important}.anonymize-page .form-control,.paper-page input.form-control,.paper-page input[type=date],.paper-page input[type=text],.paper-page input[type=url],.paper-page select.form-control,.paper-page textarea,.paper-page textarea.form-control{border-color:#c2baac!important}.dark-mode .anonymize-page .form-control,.dark-mode .paper-page input.form-control,.dark-mode .paper-page input[type=date],.dark-mode .paper-page input[type=text],.dark-mode .paper-page input[type=url],.dark-mode .paper-page select.form-control,.dark-mode .paper-page textarea{border-color:#4a453e!important}.paper-page input::placeholder,.paper-page textarea::placeholder{color:#a39b8e!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.dropdown,.paper-table-dashboard .cell-actions>.dropdown>.btn-icon-dots,.paper-table-dashboard .cell-actions>.row-edit{width:36px!important;height:36px!important;margin-top:-4px!important;align-self:start!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}}.anonymize-page .repo-access-switch{border:0!important;background:0 0!important;padding:0!important;box-shadow:none!important;gap:0!important;display:inline-flex!important;align-items:center;width:auto!important;font-size:12.5px;color:var(--ink-soft)}.anonymize-page .repo-access-switch::before{content:"Access:";margin-right:6px;color:var(--ink-soft)}.anonymize-page .repo-access-switch button{background:0 0!important;border:0!important;box-shadow:none!important;padding:2px 4px!important;height:auto!important;min-height:0!important;font-size:12.5px!important;font-weight:500!important;color:var(--ink-soft)!important;flex:0 0 auto!important;border-radius:4px!important}.anonymize-page .repo-access-switch button+button::before{content:"·";margin-right:8px;color:var(--ink-muted)}.anonymize-page .repo-access-switch button[aria-pressed=true]{color:var(--color)!important;font-weight:600!important;opacity:1!important}.anonymize-page .repo-access-switch button:not([aria-pressed=true]):hover{color:var(--accent)!important;text-decoration:underline}.anonymize-page .repo-access-switch button .ui-icon{display:none!important}.ace_editor .ace_marker-layer .ace_selection,mark.md-find.is-current{background:rgba(240,206,90,.95)!important;box-shadow:0 0 0 1.5px #5c4a12!important;color:inherit!important}.dark-mode .ace_editor .ace_marker-layer .ace_selection,.dark-mode mark.md-find.is-current{background:rgba(214,178,60,.55)!important;box-shadow:0 0 0 1.5px #f2d77a!important}.ace_search .ace_search_field,.md-find-input,.paper-page input:not([type=checkbox]):not([type=radio]):not([type=range]),.paper-page select,.paper-page textarea{border-color:#cfc7b9!important}.dark-mode .md-find-input,.dark-mode .paper-page input:not([type=checkbox]):not([type=radio]):not([type=range]),.dark-mode .paper-page select,.dark-mode .paper-page textarea{border-color:#48433c!important}.ace_search .ace_search_field:focus,.md-find-input:focus,.paper-page input:focus,.paper-page select:focus,.paper-page textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.q-dot.q-dot-idle{background:#2f7d4f!important}.dark-mode .q-dot.q-dot-idle{background:#6fbf8a!important}@media (min-width:1200px){.readme-toc{margin-top:0!important;padding-top:0!important}}@media (min-width:1200px){.readme-toc{margin-top:-30px!important}}.anonymize-workspace .anonymize-topbar{background:var(--paper-bg,var(--background))!important;border-bottom:1px solid var(--border-color)!important}.anonymize-workspace .type-badge{font-family:var(--font-sans)!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;font-weight:600!important;padding:2px 8px!important;border-radius:999px!important;background:var(--hover-bg-color)!important;color:var(--ink-soft)!important;border:0!important;vertical-align:middle}.anonymize-page input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px!important;height:16px!important;margin:2px 0 0;border:1.5px solid #a39d92;border-radius:4px;background:var(--paper-card);display:inline-grid;place-content:center;cursor:pointer;flex:0 0 16px}.anonymize-page input[type=checkbox]::before{content:"";width:9px;height:9px;transform:scale(0);background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center/contain no-repeat}.anonymize-page input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.anonymize-page input[type=checkbox]:checked::before{transform:scale(1)}.anonymize-page input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}.anonymize-page input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dark-mode .anonymize-page input[type=checkbox]{border-color:#6e6860;background:0 0}.anonymize-page #commit{font-family:var(--font-mono, "JetBrains Mono", monospace)!important;font-size:13px!important}.anonymize-page .form-control,.anonymize-page select,.anonymize-page textarea{border-color:#cfc7b9!important}.dark-mode .anonymize-page .form-control,.dark-mode .anonymize-page select,.dark-mode .anonymize-page textarea{border-color:#48433c!important}.anonymize-page .form-control:focus,.anonymize-page select:focus,.anonymize-page textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.anonymize-review-note{font-size:12.5px!important;color:var(--ink-soft)!important;margin:0 0 8px!important}.anonymize-page .form-check-input[type=checkbox]{position:absolute!important;margin-left:-28px!important;margin-top:3px!important}.anonymize-page .repo-access-controls:not(:has(button,a)),.anonymize-page .repo-access-main:not(:has(button,a)){display:none!important}.anonymize-page .repo-access-note:not(:has(span+span)){margin-top:0!important}.anonymize-form-col .anonymize-submit-bar{position:sticky;bottom:0;z-index:3;background:var(--paper-bg-alt)!important;border-top:1px solid var(--border-color);padding:12px 0 16px!important;margin-top:8px}.anonymize-form-col .anonymize-submit-bar::before{content:"";position:absolute;left:0;right:0;top:-25px;height:24px;background:linear-gradient(to bottom,transparent,var(--paper-bg-alt));pointer-events:none}.anonymize-form-col .anonymize-review-note,.anonymize-form-col .draft-status{font-size:12.5px!important;color:var(--ink-soft)!important;margin:0 0 6px!important;padding:0 2px}.anonymize-form-col .anonymize-review-note::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--status-progress,#b7791f);margin-right:8px;vertical-align:1px}.anonymize-page .repo-access-switch button[aria-pressed=true]{color:var(--accent)!important;box-shadow:inset 0 -2px 0 var(--accent)!important;border-radius:0!important}.anonymize-page .input-group-append .btn-icon{height:40px!important;width:40px!important;min-height:40px!important;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #cfc7b9!important;border-radius:8px!important;margin-left:8px!important;background:var(--paper-card)!important}.dark-mode .anonymize-page .input-group-append .btn-icon{border-color:#48433c!important}.custom-select,input.form-control,select.form-control,textarea.form-control{border-color:#cfc7b9!important}.dark-mode .custom-select,.dark-mode input.form-control,.dark-mode select.form-control,.dark-mode textarea.form-control{border-color:#48433c!important}input.form-control:focus,select.form-control:focus,textarea.form-control:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}@media (max-width:767px){.paper-table-dashboard .cell-views.num::after{content:"views"!important;margin-left:4px}}@media (min-width:768px){.paper-table-dashboard .cell-views.num::after{content:none!important}}@media (max-width:767px){.admin-page .paper-table:not(.users-table) .cell-views.num::after{margin-left:4px}}.markdown-body li .redact-chip,.markdown-body p .redact-chip{line-height:1!important;padding-top:1px!important;padding-bottom:1px!important;vertical-align:baseline}.dark-mode .explorer-sidebar,.dark-mode .leftCol{background:#1e1c19!important}.errors-page .seg-tabs,.q-range-btns{display:inline-flex!important;gap:2px!important;padding:3px!important;background:var(--hover-bg-color)!important;border:0!important;border-radius:9px!important}.errors-page .seg-tabs button,.q-range-btns .btn{border:0!important;background:0 0!important;color:var(--ink-soft)!important;border-radius:7px!important;height:28px!important;min-height:28px!important;padding:0 10px!important;font-size:13px!important;font-weight:500!important;box-shadow:none!important}.errors-page .seg-tabs button.active,.q-range-btns .btn.active{background:var(--paper-card)!important;color:var(--color)!important;box-shadow:0 1px 2px rgba(40,32,24,.12),0 0 0 1px rgba(40,32,24,.06)!important}.dark-mode .errors-page .seg-tabs button.active,.dark-mode .q-range-btns .btn.active{background:#2c2925!important;box-shadow:0 0 0 1px rgba(255,255,255,.06)!important}.ace_search .ace_search_field,.md-find-input{border-width:1px!important}.ace_search .ace_search_field:focus,.md-find-input:focus{outline:0!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.anonymize-form-col .anonymize-review-note{color:#8a5a12!important;font-weight:500}.dark-mode .anonymize-form-col .anonymize-review-note{color:#e3b062!important}@media (max-width:767px){.anonymize-form-col .anonymize-submit-bar{position:sticky!important;bottom:0!important;padding:12px 0 calc(12px + env(safe-area-inset-bottom))!important}}@media (max-width:767px){.anonymize-form-col{overflow:visible!important}.anonymize-page .form-group+.form-group,.anonymize-page .form-row>[class*=col]+[class*=col]{margin-top:0!important}.anonymize-page .input-group-append .btn-icon{height:44px!important;width:44px!important}}#sourceUrl,#sourceUrl-landing{border-color:#cfc7b9!important}.dark-mode #sourceUrl,.dark-mode #sourceUrl-landing{border-color:#48433c!important}#sourceUrl-landing:focus,#sourceUrl:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}.anonymize-form-col .anonymize-review-note{color:#6e470c!important}.dark-mode .anonymize-preview-col .markdown-body h1,.dark-mode .anonymize-preview-col .markdown-body h2,.dark-mode .anonymize-preview-col .markdown-body hr{border-color:var(--border-color)!important}.dark-mode .q-dot.q-dot-idle,.q-dot.q-dot-idle{background:var(--ink-muted)!important}.ace_search .ace_search_counter,.md-find-count{color:var(--color)!important;font-weight:500!important;font-variant-numeric:tabular-nums;font-size:12.5px!important}.readme-toc a:not(.is-active){color:#57524a!important}.dark-mode .readme-toc a:not(.is-active){color:#b8b1a6!important}.viewer-bar .vb-support{margin-right:8px!important}:root{--redact-bar:#1F1C19;--redact-ink:#5A544C;--redact-reveal:#F4EFE6}.dark-mode{--redact-bar:#000000;--redact-ink:#3E3A35;--redact-reveal:#F4EFE6}.demo-output .redact-chip,.hero .redact,.hero-mock .redact,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip,.markdown-body h4 mark.redact-chip,.markdown-body mark.redact-chip,span.redact{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:none!important;border:0!important;border-radius:2px!important;padding:0 .28em!important;text-decoration:none!important;font-weight:inherit;letter-spacing:.02em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:color .12s ease;cursor:help}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.demo-output .redact-chip:hover,.markdown-body mark.redact-chip:hover,span.redact:hover{color:var(--redact-reveal)!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip{font-size:inherit!important;vertical-align:baseline!important;padding:0 .2em!important}.ace_text-layer .ace_redacted{background:var(--redact-bar)!important;color:var(--redact-ink)!important;border-radius:2px;box-shadow:none!important;text-decoration:none!important}.dark-mode .ace_text-layer .ace_redacted{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.meta-redact{background:0 0!important;color:var(--ink-soft)!important;box-shadow:none!important;padding:0!important;display:inline-flex!important;align-items:center;gap:6px;font-weight:500!important}.meta-redact::before{content:"";width:14px;height:8px;border-radius:1.5px;background:var(--redact-bar);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted{background:var(--redact-bar)!important;color:var(--redact-ink)!important;border-radius:2px!important}.ace_editor .ace_text-layer .ace_redacted{box-shadow:none!important}.dark-mode .ace_editor .ace_text-layer .ace_redacted{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}.dark-mode .demo-output .redact-chip:hover,.dark-mode .markdown-body mark.redact-chip:hover{color:var(--redact-reveal)!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{color:#3e3933!important}.dark-mode .meta-redact{color:var(--ink-soft)!important}.dark-mode .hero-mock-count,.hero-mock-count{background:0 0!important;color:var(--ink-soft)!important;padding:0!important;gap:6px;font-weight:500!important}.hero-mock-count::before{content:"";width:12px;height:7px;border-radius:1.5px;background:var(--redact-bar);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}@media (max-width:767px){.dark-mode .mobile-sub b,.mobile-sub b{background:0 0!important;color:var(--ink-soft)!important;padding:0!important;gap:5px;font-weight:500!important}.mobile-sub b::before{content:"";width:12px;height:7px;border-radius:1.5px;background:var(--redact-bar);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}}:root{--redact-bar:#E4DED3;--redact-ink:#8A8378;--redact-reveal:#2B2824}.dark-mode{--redact-bar:#34302A;--redact-ink:#8F887D;--redact-reveal:#F1ECE3}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted,.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact,.demo-output .redact-chip,.markdown-body mark.redact-chip,span.redact{box-shadow:none!important;border-radius:3px!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{color:var(--redact-ink)!important}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip{box-shadow:none!important}.hero-mock-count::before,.meta-redact::before,.mobile-sub b::before{box-shadow:none!important}:root{--redact-bar:#EEEAE2;--redact-ink:#8C8478;--redact-reveal:#2B2824;--redact-deboss:inset 0 1px 2px rgba(60,48,32,.18),inset 0 0 0 1px rgba(60,48,32,.06)}.dark-mode{--redact-bar:#0E0D0B;--redact-ink:#7A746A;--redact-reveal:#F1ECE3;--redact-deboss:inset 0 1px 2px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.05)}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact,.demo-output .redact-chip,.markdown-body mark.redact-chip,span.redact{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:var(--redact-deboss)!important;border-radius:4px!important;padding:.05em .45em!important;font-family:var(--font-mono, "JetBrains Mono", monospace)!important;font-size:.78em!important;font-weight:500!important;letter-spacing:.02em!important;line-height:1.4!important;vertical-align:.08em!important;white-space:nowrap}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip{font-size:.55em!important;vertical-align:.3em!important;color:var(--redact-ink)!important;padding:.15em .5em!important}.demo-output .redact-chip:hover,.markdown-body mark.redact-chip:hover,span.redact:hover{color:var(--redact-reveal)!important}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted{background:var(--redact-bar)!important;color:var(--redact-ink)!important;box-shadow:var(--redact-deboss)!important;border-radius:3px!important}.hero-mock-count::before,.meta-redact::before,.mobile-sub b::before{background:var(--redact-bar)!important;box-shadow:var(--redact-deboss)!important;border-radius:2px!important}:root{--slot-bg:#E3DCD0;--slot-bg-sel:#D3CBBD;--slot-num:#1F5F5A}.dark-mode{--slot-bg:#3A352F;--slot-bg-sel:#4A443C;--slot-num:#7CC7BE}.dark-mode .demo-output .redact-chip,.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.dark-mode .markdown-body h3 mark.redact-chip,.dark-mode .markdown-body mark.redact-chip,.dark-mode span.redact,.demo-output .redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip,.markdown-body h3 mark.redact-chip,.markdown-body h4 mark.redact-chip,.markdown-body mark.redact-chip,.redact-slot,span.redact{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;min-width:2.5em!important;height:1.12em!important;padding:0 .32em!important;margin:0 .06em!important;background:var(--slot-bg)!important;color:var(--slot-num)!important;box-shadow:none!important;border:0!important;border-radius:3px!important;vertical-align:-.2em!important;line-height:1!important;font-size:inherit!important;letter-spacing:0!important;text-decoration:none!important;cursor:help;white-space:nowrap}.markdown-body mark.redact-chip i,.redact-slot i,span.redact i{font:700 .66em/1 var(--font-sans,Inter,sans-serif)!important;font-style:normal!important;color:var(--slot-num)!important}.demo-output .redact-chip{font:700 .66em/1 var(--font-sans,Inter,sans-serif)!important;min-width:3.8em!important;height:1.7em!important;vertical-align:-.35em!important}.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{height:.95em!important;vertical-align:-.1em!important;border-radius:4px!important}.files .redact-slot{min-width:2.3em!important;height:1.08em!important;vertical-align:-.18em!important}.files .file.active>a .redact-slot,.files a[aria-current] .redact-slot{background:var(--slot-bg-sel)!important}.breadcrumb .redact-slot{vertical-align:-.22em!important}.ace_editor .ace_text-layer .ace_redacted,.dark-mode .ace_editor .ace_text-layer .ace_redacted{position:relative;color:transparent!important;background:var(--slot-bg)!important;box-shadow:none!important;border-radius:3px!important}.ace_editor .ace_text-layer .ace_redacted::after{position:absolute;right:.35em;top:50%;transform:translateY(-50%);font:700 9.5px/1 var(--font-sans,Inter,sans-serif);color:var(--slot-num)}.hero-mock-count::before,.meta-redact::before,.mobile-sub b::before{background:var(--slot-bg)!important;box-shadow:none!important;border-radius:2px!important}.files .tree-name{display:inline-flex;align-items:center;gap:0;min-width:0}.files .tree-name .redact-slot{vertical-align:middle!important;margin:0 .08em!important}.markdown-body li mark.redact-chip,.markdown-body p mark.redact-chip{vertical-align:-.16em!important}.ace_editor .ace_marker-layer .ace_selection,mark.md-find.is-current{background:rgba(240,196,70,.95)!important;box-shadow:0 0 0 2px rgba(196,140,20,.55)!important}.dark-mode .ace_editor .ace_marker-layer .ace_selection,.dark-mode mark.md-find.is-current{background:rgba(214,170,50,.6)!important;box-shadow:0 0 0 2px rgba(240,200,90,.55)!important}.demo-output .redact-chip,span.redact i{font-size:10px!important}.dark-mode{--slot-num:#8FD6CC}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{min-width:1.9em!important;height:.78em!important;vertical-align:0!important;padding:0 .22em!important}.viewer-bar .vb-right{gap:4px!important}.viewer-bar .vb-right .vb-icon{width:34px!important;height:34px!important;margin:0!important}.viewer-bar .vb-support{margin-right:10px!important}.viewer-bar .vb-snapshot{margin-right:14px!important}@media (max-width:767px){.mobile-sub{font-size:13px!important;color:#5f5a52!important}.dark-mode .mobile-sub{color:#b3aca1!important}}.file-card-meta{overflow:visible!important}:root{--control-border:#CFC7B9}.dark-mode{--control-border:#48433C}.admin-page .btn:not(.btn-ink):not(.btn-primary):not(.btn-outline-danger):not(.summary-pill),.admin-page select,.anonymize-page #branch,.anonymize-page #sourceUrl,.anonymize-page #sourceUrl-landing,.anonymize-page .form-control-lg,.anonymize-page select.form-control,.dashboard-page .dashboard-quota>summary,.dashboard-page .dropdown-toggle,.dashboard-page .filter-btn,.errors-page select,.q-range-btns+.btn{border-color:var(--control-border)!important}.anonymize-page #sourceUrl-landing:focus,.anonymize-page #sourceUrl:focus{border-color:var(--accent)!important}.errors-page .seg-tabs{height:36px!important;align-items:center}.errors-page .seg-tabs button{height:30px!important}.admin-page .admin-toolbar .btn,.admin-page .btn-export,.admin-page a.btn[href*=export],.admin-page button[title*=xport]{height:36px!important;min-height:36px!important}@media (max-width:767px){.paper-table .cell-views{gap:0!important}}@media (min-width:1200px){.anonymize-workspace .anonymize-split,.anonymize-workspace .anonymize-topbar-inner{max-width:1048px;margin-left:auto!important;margin-right:auto!important}.anonymize-workspace .anonymize-topbar{padding-left:0!important;padding-right:0!important}.anonymize-workspace .anonymize-form-col{padding-left:0!important}}@media (max-width:767px){.anonymize-form-col .anonymize-submit-bar{margin:8px 0 0!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important}.anonymize-form-col .anonymize-submit-bar .btn{border-radius:10px!important}}.img-unavailable{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px dashed var(--control-border);border-radius:8px;font-size:12.5px;color:var(--ink-soft);background:var(--hover-bg-color)}.anonymize-form-col .draft-status{color:var(--ink-soft)!important}.errors-page .errors-toolbar .form-control,.errors-page .errors-toolbar select,.errors-page form select{border-color:var(--control-border)!important}@media (min-width:1200px){.anonymize-workspace .anonymize-form-col,.anonymize-workspace .anonymize-form-col .paper-section,.anonymize-workspace .anonymize-form-col form{padding-left:0!important}.anonymize-workspace .anonymize-form-col{background:0 0!important;padding-right:24px!important}.anonymize-workspace .anonymize-form-col .anonymize-submit-bar,.anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:var(--paper-bg,var(--background))!important}.anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:linear-gradient(to bottom,transparent,var(--paper-bg,#faf9f6))!important}}@media (max-width:767px){.anonymize-page .form-row>.form-group,.anonymize-page .form-row>[class*=col] .form-group{margin-bottom:14px!important}.anonymize-page .form-row>[class*=col]{margin-bottom:0!important;padding-bottom:0!important}}@media (min-width:1200px){.anonymize-workspace .anonymize-form-col .anonymize-submit-bar{background:#faf9f6!important}.anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:linear-gradient(to bottom,rgba(250,249,246,0),#faf9f6)!important}.dark-mode .anonymize-workspace .anonymize-form-col .anonymize-submit-bar{background:#161412!important}.dark-mode .anonymize-workspace .anonymize-form-col .anonymize-submit-bar::before{background:linear-gradient(to bottom,rgba(22,20,18,0),#161412)!important}}:root{--slot-num:#0F4F4A}.dark-mode{--slot-num:#A8E6DD;--slot-bg:#3F3A33}.markdown-body li mark.redact-chip,.markdown-body p mark.redact-chip,.markdown-body td mark.redact-chip,span.redact{display:inline-block!important;height:1.08em!important;line-height:1.08em!important;vertical-align:-.17em!important;min-width:2.5em!important;text-align:right!important;padding:0 .34em!important}.breadcrumb .redact-slot i,.files .redact-slot i,.markdown-body li mark.redact-chip i,.markdown-body p mark.redact-chip i,.markdown-body td mark.redact-chip i,span.redact i{font-size:max(10.5px,.72em)!important;line-height:inherit!important;vertical-align:top!important;font-weight:700!important}.markdown-body h1 mark.redact-chip i,.markdown-body h2 mark.redact-chip i,.markdown-body h3 mark.redact-chip i{font-size:.62em!important}.ace_editor .ace_text-layer .ace_redacted::after{font-size:10.5px!important}.demo-output .redact-chip{font-size:11px!important}.errors-page .bar-info,.errors-page .vol-info,.errors-page [class*=seg-info]{opacity:.45}.connections-grid{align-items:stretch!important}.connections-grid>section{display:flex;flex-direction:column}.connections-grid>section .connection-installations{margin-top:auto!important;border-top:1px solid var(--border-color);border-bottom:0!important}.navbar .nav-link.active,.site-nav .nav-link.active,header .nav-link.active{color:var(--color)!important;box-shadow:inset 0 -2px 0 var(--accent)!important;border-bottom-color:transparent!important}@media (max-width:767px){.anonymize-topbar .paper-crumbs{display:block!important;margin-bottom:4px;font-size:13px}}.anonymize-form-col .draft-discard{background:0 0;border:0;padding:0 0 0 6px;font-size:12.5px;font-weight:500;color:var(--color)!important;text-decoration:underline;text-underline-offset:3px}.anonymize-form-col .draft-discard:hover{color:#b42318!important}@media (max-width:767px){.mobile-sub b{display:inline-flex!important;align-items:center;gap:5px;font-weight:400!important;color:inherit!important}.mobile-sub b::before{content:""!important;display:inline-block!important;width:12px;height:7px;border-radius:2px;background:var(--slot-bg)!important}.mobile-sub span:has(+b)::after{content:"·";margin:0 6px;opacity:.7}}.demo-output .redact-chip,span.redact{display:inline-block!important;height:1.15em!important;line-height:1.15em!important;vertical-align:-.2em!important;text-align:right!important}.demo-output .redact-chip{font-size:11px!important;min-width:3.4em!important}.ace-chrome .ace_gutter-cell{color:#5a554d!important}.dark-mode .ace_editor .ace_gutter-cell{color:#a39c91!important}.files .file.active>a{background:#e2ded6!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,700px) 176px!important;gap:44px!important}}@media (hover:none){.anonymize-page .repo-access-switch button:not([aria-pressed=true]):hover{color:var(--ink-soft)!important;text-decoration:none!important}}.connections-grid>section .connection-installations{margin-top:16px!important}.dashboard-page .dashboard-quota .quota-summary-ring{display:none!important}.dashboard-page .dashboard-quota>summary::before{content:"";width:28px;height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--quota-pct,5%),var(--border-color) 0);flex:0 0 28px}.paper-table-dashboard .row-open{margin-right:2px}@media (max-width:767px){.paper-table-dashboard .cell-actions>.row-open{display:none!important}}.dashboard-page .dashboard-quota>summary::before{width:32px;height:5px;flex-basis:32px;background:linear-gradient(to right,var(--accent) 0 max(3px,var(--quota-pct,5%)),#d9d3c8 0)!important}.dark-mode .dashboard-page .dashboard-quota>summary::before{background:linear-gradient(to right,#7cc7be 0 max(3px,var(--quota-pct,5%)),#3a352f 0)!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,680px) 176px!important;gap:44px!important}.md-find-bar{padding-left:max(20px,calc((100% - 900px)/ 2))!important}}.breadcrumb .redact-slot i,.files .redact-slot i,.markdown-body li mark.redact-chip i,.markdown-body p mark.redact-chip i,.markdown-body td mark.redact-chip i,span.redact i{font-size:max(11px,.8em)!important;letter-spacing:.01em}.files .file.active>a{background:#ebe7e0!important}.files .file.active>a .redact-slot{background:#d6cec0!important}.demo-output .redact-chip{font-size:12px!important;height:1.3em!important;line-height:1.3em!important;min-width:3em!important;vertical-align:-.28em!important;padding:0 .4em!important}.paper-table-dashboard .cell-actions{gap:4px!important}.paper-table-dashboard .cell-actions>.copy-url{margin-right:6px!important}.paper-table-dashboard .btn-icon-dots,.paper-table-dashboard .row-edit{width:32px!important;height:32px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:8px}.paper-table-dashboard .btn-icon-dots:hover,.paper-table-dashboard .row-edit:hover{background:var(--hover-bg-color)!important}.anonymize-page #commit{text-overflow:ellipsis}@media (max-width:767px){.anonymize-page .form-grid-2{row-gap:0!important;gap:0!important}.anonymize-page .form-grid-2>.form-group{margin-bottom:16px!important}}.connections-grid>section .connection-installations{border-top:0!important;padding-top:0!important}.vb-help{position:relative;display:inline-flex}.vb-help-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:8px;background:0 0;color:var(--ink-soft);font:500 13px var(--font-sans,Inter,sans-serif);cursor:pointer}.vb-help-btn:hover,.vb-help-btn[aria-expanded=true]{background:var(--hover-bg-color);color:var(--color)}.vb-help-menu{position:absolute;top:calc(100% + 8px)!important;right:0;left:auto;min-width:250px;z-index:50}.vb-help-menu a{display:flex;gap:10px;align-items:flex-start}.vb-help-menu small{display:block;font-size:12px;color:var(--ink-soft);font-weight:400;margin-top:1px}@media (max-width:767px){.viewer-bar .vb-help{display:none!important}}.paper-table-dashboard .paper-table-head .col-link{padding-left:0!important;margin-left:-16px}@media (min-width:768px){.anonymize-workspace .anonymize-topbar{padding-top:12px!important;padding-bottom:12px!important}.anonymize-workspace .anonymize-topbar .paper-crumbs{margin-bottom:2px!important}.anonymize-workspace .anonymize-topbar .paper-page-title,.anonymize-workspace .anonymize-topbar h1{font-size:26px!important;margin:0!important}}#sourceUrl-landing::placeholder,#terms::placeholder,.form-control::placeholder,input::placeholder,textarea::placeholder{color:#a39b8e!important;opacity:1!important}.dark-mode .form-control::placeholder,.dark-mode input::placeholder,.dark-mode textarea::placeholder{color:#6f695f!important}.q-dot-active,.q-state-filters .q-legend-active,.q-state-filters [class*=active]>.q-dot,.q-state-toggle .q-dot-active{background:var(--accent)!important}@media (max-width:767px){.mobile-sub b{font-size:inherit!important;gap:6px!important;margin-left:0!important;padding-left:0!important}.mobile-sub span:has(+b)::after{margin:0 6px 0 6px!important}.mobile-sub b::before{width:14px!important;height:8px!important;background:#d6cec0!important}.file-card-head{min-height:56px!important}}.markdown-body h1 mark.redact-chip i,.markdown-body h2 mark.redact-chip i{font-weight:600!important;font-size:.58em!important}.dark-mode .markdown-body h1 mark.redact-chip,.dark-mode .markdown-body h2 mark.redact-chip,.markdown-body h1 mark.redact-chip,.markdown-body h2 mark.redact-chip{min-width:1.6em!important;padding:0 .18em!important}.readme-toc a.lvl-3{font-size:12.5px!important;color:#6e685f!important}.dark-mode .readme-toc a.lvl-3{color:#9c958a!important}.file-card-head .file-card-tools,.file-card-head .view-tools{margin-right:10px!important;padding-right:10px!important;border-right:1px solid var(--border-color)!important}.files .file.active>a{background:#e5e0d8!important}.files .file.active>a .redact-slot{background:#cec5b5!important}.markdown-body li mark.redact-chip,.markdown-body p mark.redact-chip,.markdown-body td mark.redact-chip{vertical-align:-.1em!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:24px!important;transition:opacity .15s}.file-card.at-right-edge .file-card-body::after{opacity:0!important}}.hero-mock .is-active,.hero-mock [class*=active]{position:relative}.hero-mock .is-active::before{left:0!important}.anonymize-form-col form{padding-bottom:36px!important}.connections-grid>section p{font-size:13.5px!important;line-height:1.55!important}.connections-grid>section>.btn,.connections-grid>section>a.btn{width:auto!important;align-self:flex-start}@media (max-width:767px){.paper-table-dashboard .cell-actions>.dropdown,.paper-table-dashboard .cell-actions>.dropdown>.btn-icon-dots,.paper-table-dashboard .cell-actions>.row-edit{width:40px!important;height:40px!important}.dashboard-page .dashboard-row-meta .cell-expires,.dashboard-page .dashboard-row-meta .cell-status,.dashboard-page .dashboard-row-meta .cell-views{padding:0!important;margin:0!important}.dashboard-page .dashboard-row-meta .cell-expires::before,.dashboard-page .dashboard-row-meta .cell-views::before{margin:0 7px!important;width:auto!important}.dashboard-page .dashboard-row-meta .status-line{padding:0!important;margin:0!important}.dashboard-page .dashboard-row-meta .cell-expires .cell-label{margin-right:4px!important}}.connection-installations,.connection-installations li{border:0!important;padding-bottom:0!important;margin-bottom:0!important}.connection-installations li{padding-top:0!important}.connections-page .connection-refresh{margin-left:0!important}.anonymize-form-col .anonymize-submit-bar::before{display:none!important}.anonymize-form-col .anonymize-submit-bar{border-top:1px solid var(--border-color)!important;box-shadow:0 -6px 12px -10px rgba(40,32,24,.18)}.anonymize-form-col form{padding-bottom:24px!important}.img-unavailable{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;min-height:72px;border:1px solid var(--border-color)!important;border-style:solid!important;background:var(--hover-bg-color);font:500 12.5px var(--font-sans,Inter,sans-serif)!important;color:var(--ink-soft)}.img-unavailable::before{content:"";width:16px;height:13px;border:1.5px solid currentColor;border-radius:2px;opacity:.7;background:linear-gradient(135deg,transparent 55%,currentColor 55% 62%,transparent 62%)}.admin-summary .summary-pill:not(.active) .count{text-decoration:none!important;opacity:1!important;color:var(--ink-soft)!important}.admin-summary .summary-pill:not(.active)::before{background:#8a8680!important}.dashboard-page .dashboard-quota>summary::before{width:44px!important;flex-basis:44px!important}@media (min-width:1200px){.reading-layout{grid-template-columns:minmax(0,664px) 176px!important;gap:40px!important}.md-find-bar{padding-left:max(20px,calc((100% - 880px)/ 2))!important}}.file-card-head .tb-file{margin-left:8px!important;position:relative}.file-card-head .tb-file::before{content:"";position:absolute;left:-9px;top:6px;bottom:6px;width:1px;background:var(--border-color)}.tree-search-input::placeholder{color:#8a8378!important}.tree-search-kbd{color:#6e685f!important;border:1px solid var(--border-color)!important;background:var(--paper-card)!important}@media (max-width:767px){.mobile-sub{gap:0!important;column-gap:0!important}.mobile-sub span:has(+b)::after,.mobile-sub>span+span::before{margin:0 6px!important}.mobile-sub b::before{margin:0!important}.file-card-head{min-height:52px!important;padding-top:6px!important;padding-bottom:6px!important}}.errors-page .dot-info,.errors-page .seg-info{background:#cfc9bf!important;opacity:1!important}.dark-mode .errors-page .dot-info,.dark-mode .errors-page .seg-info{background:#4a453e!important}.errors-page .dot-error,.errors-page .seg-error{background:#b42318!important}.errors-page .dot-warn,.errors-page .seg-warn{background:#b7791f!important}.dark-mode .leftCol,.dark-mode .viewer-bar{background:#221f1b!important}.paper-table-dashboard .copy-url{box-shadow:inset 0 0 0 1px var(--control-border,#cfc7b9)!important;background:var(--paper-card)!important}.paper-table-dashboard .copy-url .ui-icon,.paper-table-dashboard .copy-url svg{width:15px!important;height:15px!important;color:var(--color)!important;opacity:.75}.paper-table-dashboard .copy-url:hover{background:var(--hover-bg-color)!important}@media (min-width:1200px){.anonymize-workspace .anonymize-preview-col{padding-right:0!important}}.anonymize-submit-bar .draft-status{display:block;margin:0 0 8px!important;font-size:12.5px!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.row-open{display:inline-flex!important;grid-area:auto}.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto auto auto!important;grid-template-areas:"name open edit more" "meta meta meta meta" "link link link link"!important}.paper-table-dashboard .cell-actions>.row-open{grid-area:open;width:40px!important;height:40px!important;align-self:start;margin-top:-4px}}.overview-page :is(.ov-kpi,.ov-card,.kpi-card):has(.ov-meter.crit){border-color:rgba(180,35,24,.45)!important;box-shadow:inset 3px 0 0 #b42318!important}.overview-page :is(.ov-kpi,.ov-card,.kpi-card):has(.ov-meter.warn):not(:has(.ov-meter.crit)){border-color:rgba(183,121,31,.45)!important;box-shadow:inset 3px 0 0 #b7791f!important}.dark-mode{--slot-bg:#46403A}.faq-section .panel-default .panel-title a:after{transform:rotate(45deg)!important}.faq-section .panel-default .panel-title a[aria-expanded=true]:after{transform:rotate(-135deg)!important}.overview-page .ov-kpi-card:has(.ov-meter.crit){border-color:rgba(180,35,24,.45)!important;box-shadow:inset 3px 0 0 #b42318!important}.overview-page .ov-kpi-card:has(.ov-meter.warn):not(:has(.ov-meter.crit)){border-color:rgba(183,121,31,.45)!important;box-shadow:inset 3px 0 0 #b7791f!important}@media (max-width:767px){.paper-table-dashboard .cell-anon,.paper-table-dashboard .cell-anon a,.paper-table-dashboard .cell-anon strong,.paper-table-dashboard .cell-anon>*{min-width:0}.paper-table-dashboard .cell-anon .anon-name,.paper-table-dashboard .cell-anon .anon-title,.paper-table-dashboard .cell-anon .anon-title>a{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important;display:block}}.admin-page .summary-pill.ok::before,.users-page .summary-pill.ok::before{background:var(--status-ready,#2f7d4f)!important}.admin-page .summary-pill.error::before{background:var(--status-error,#b42318)!important}@media (max-width:767px){.paper-table-dashboard .cell-actions>.row-open{display:none!important}.paper-table.paper-table-dashboard .paper-table-row{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"name edit more" "meta meta meta" "link link link"!important}.paper-table-dashboard .cell-anon .anon-title,.paper-table-dashboard .cell-anon .anon-title>a{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}}.ace-chrome .ace_keyword,.ace-chrome .ace_storage,.ace-chrome .ace_storage.ace_type{color:#7a3e6b!important}.dark-mode .ace_editor .ace_keyword,.dark-mode .ace_editor .ace_storage{color:#d3a3c6!important}.dark-mode{--slot-bg:#4A443D;--slot-num:#9FE0D6}.faq-hero h1,.faq-page h1,.paper-page-title{text-wrap:balance}@media (min-width:1200px){.readme-toc{margin-top:-18px!important}}@media (min-width:768px){.leftCol-search{height:52px!important;min-height:52px!important;box-sizing:border-box;display:flex!important;align-items:center;padding-top:0!important;padding-bottom:0!important;border-bottom:1px solid var(--border-color)!important;margin-bottom:6px!important}}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:32px!important;background:linear-gradient(to right,rgba(255,255,255,0),#fff 75%)!important;border-right:2px solid rgba(40,32,24,.14)}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(20,19,17,0),#141311 75%)!important;border-right-color:rgba(255,255,255,.1)}}.anonymize-form-col form{padding-bottom:0!important}.anonymize-form-col .anonymize-submit-bar{margin-bottom:0!important}.errors-page .kpi-filter{cursor:pointer;transition:border-color .12s,box-shadow .12s}.errors-page .kpi-filter:hover{border-color:var(--control-border,#cfc7b9)!important}.errors-page .kpi-filter.is-selected{border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}.errors-page .kpi-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.readme-toc a:not(.is-active){color:#4f4a43!important}.readme-toc a.lvl-3:not(.is-active){color:#625c53!important}.ace_search .ace_search_field:focus,.md-find-input:focus{box-shadow:0 0 0 2px var(--accent-soft)!important;border-color:var(--accent)!important}@media (max-width:767px){.file-card-head{align-items:flex-start!important}.file-card-head .btn-sidebar-toggle,.file-card-head .mobile-files-toggle,.file-card-head>button:first-child{margin-top:2px!important}}@media (max-width:767px){.dashboard-page #search,.dashboard-page .btn-filters,.dashboard-page .dashboard-heading-actions .btn,.dashboard-page .dashboard-quota>summary,.dashboard-page .filters-toggle{height:40px!important;min-height:40px!important}}.profile-page .quota-tile:has(.quota-unlimited)::after,.quota-panel .quota-item:has(.quota-unlimited)::after{content:"No limit on file count";display:block;font-size:12.5px;color:var(--ink-soft);margin-top:6px}.admin-page .detail-value.is-empty,.admin-page .is-unsynced{color:#9a9389!important;font-style:normal!important}@media (min-width:768px){.anonymize-form-col .anonymize-submit-bar{display:flex!important;align-items:center;gap:16px}.anonymize-submit-bar .draft-status{margin:0!important;flex:0 1 auto;max-width:46%;line-height:1.35}.anonymize-submit-bar .btn-ink{flex:1 1 auto}}.anonymize-landing .repo-access-note>span:has(.ui-icon){display:none!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{box-shadow:inset -8px 0 8px -8px rgba(40,32,24,.35)!important;border-right:0!important}}.dark-mode .leftCol{background:#1c1a17!important}.dark-mode .viewer-bar{background:#181614!important}@media (max-width:767px){.file-card.is-code.no-wrap .file-card-body::after{width:44px!important;background:linear-gradient(to right,rgba(250,249,246,0) 0,rgba(250,249,246,.92) 55%,rgba(226,220,210,.95) 100%)!important;box-shadow:inset -1px 0 0 rgba(40,32,24,.18)!important}.dark-mode .file-card.is-code.no-wrap .file-card-body::after{background:linear-gradient(to right,rgba(20,19,17,0) 0,rgba(20,19,17,.92) 55%,rgba(44,40,35,.95) 100%)!important;box-shadow:inset -1px 0 0 rgba(255,255,255,.14)!important}}@media (max-width:767px){.file-card-head{min-height:48px!important;align-items:center!important;padding-top:4px!important;padding-bottom:4px!important}.file-card-head .file-card-path{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;min-width:0}.file-card-head .file-card-path .breadcrumb{min-width:0;flex:0 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mobile-sub{margin:0!important;flex:0 0 auto;white-space:nowrap}.mobile-sub>span{display:none!important}.mobile-sub span:has(+b)::after{content:none!important}.mobile-sub b{font-size:12.5px!important}}.paper-features,.paper-qa,.paper-section-head,.paper-stats{margin-top:88px!important}.paper-hero+.paper-stats{margin-top:40px!important}@media (min-width:1100px){.paper-faq-body{grid-template-columns:180px minmax(0,1fr) 220px!important;gap:48px!important}.paper-faq-help{display:block}}.paper-faq-help{display:none}.paper-faq-help-card{position:sticky;top:96px;border:1px solid var(--border-color);border-radius:12px;background:var(--paper-card);padding:18px}.paper-faq-help-card strong{display:block;font-size:14px;margin-bottom:6px}.paper-faq-help-card p{font-size:13px;line-height:1.5;color:var(--ink-soft);margin:0 0 12px}.anonymize-submit-bar .draft-status{white-space:nowrap;flex:0 0 auto!important;max-width:none!important}.q-throughput .q-range-btns{float:right;margin:-4px 0 0 12px}.admin-page .paper-table{border:1px solid var(--border-color)!important;border-radius:12px!important;overflow:hidden;background:var(--paper-card)}.dark-mode{--ink-soft:#ADA699;--ink-muted:#8C8579}.hero-mock-count::before{background:var(--slot-bg)!important}@media (min-width:1100px){.paper-faq-help{display:block!important}}.q-throughput{position:relative}.q-throughput .q-range-btns{position:absolute!important;top:12px;right:16px;float:none!important;margin:0!important;width:auto!important;display:inline-flex!important;z-index:2} \ No newline at end of file diff --git a/public/css/style.css b/public/css/style.css index aaa63cb..ff41fe3 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -11613,3 +11613,75 @@ input::placeholder, textarea::placeholder, .form-control::placeholder, #sourceUr .errors-page .kpi-filter:hover { border-color: var(--control-border, #CFC7B9) !important; } .errors-page .kpi-filter.is-selected { border-color: var(--accent) !important; box-shadow: inset 0 0 0 1px var(--accent) !important; } .errors-page .kpi-filter:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } + +/* ===== Round 94 ===== */ +/* outline: inactive items readable */ +.readme-toc a:not(.is-active) { color: #4F4A43 !important; } +.readme-toc a.lvl-3:not(.is-active) { color: #625C53 !important; } +/* find: a 1px ring so it doesn't double up with the toolbar's on-state */ +.md-find-input:focus, .ace_search .ace_search_field:focus { box-shadow: 0 0 0 2px var(--accent-soft) !important; border-color: var(--accent) !important; } +/* phone toolbar: toggle sits on the file-name line */ +@media (max-width: 767px) { .file-card-head { align-items: flex-start !important; } .file-card-head .btn-sidebar-toggle, .file-card-head .mobile-files-toggle, .file-card-head > button:first-child { margin-top: 2px !important; } } +/* phone dashboard: one 40px control height on both rows */ +@media (max-width: 767px) { .dashboard-page .dashboard-quota > summary, .dashboard-page #search, .dashboard-page .dashboard-heading-actions .btn, .dashboard-page .filters-toggle, .dashboard-page .btn-filters { height: 40px !important; min-height: 40px !important; } } +/* profile: the Files tile gets a caption like its neighbours */ +.quota-panel .quota-item:has(.quota-unlimited)::after, .profile-page .quota-tile:has(.quota-unlimited)::after { content: "No limit on file count"; display: block; font-size: 12.5px; color: var(--ink-soft); margin-top: 6px; } +/* admin user: absent values quieter than real ones */ +.admin-page .detail-value.is-empty, .admin-page .is-unsynced { color: #9A9389 !important; font-style: normal !important; } + +/* ===== Round 95 ===== */ +/* submit bar: draft note beside the button, one compact row */ +@media (min-width: 768px) { + .anonymize-form-col .anonymize-submit-bar { display: flex !important; align-items: center; gap: 16px; } + .anonymize-submit-bar .draft-status { margin: 0 !important; flex: 0 1 auto; max-width: 46%; line-height: 1.35; } + .anonymize-submit-bar .btn-ink { flex: 1 1 auto; } +} +/* the publish warning appears once a source is loaded, not on the empty first step */ +.anonymize-landing .repo-access-note > span:has(.ui-icon) { display: none !important; } +/* sidebar ZIP button uses the same download glyph as the toolbar (CSS mask over the old icon) */ +/* phone code: a shadow edge marks more code to the right */ +@media (max-width: 767px) { .file-card.is-code.no-wrap .file-card-body::after { box-shadow: inset -8px 0 8px -8px rgba(40,32,24,.35) !important; border-right: 0 !important; } } +/* dark: chrome and reading pane closer in tone */ +.dark-mode .leftCol { background: #1C1A17 !important; } +.dark-mode .viewer-bar { background: #181614 !important; } +@media (max-width: 767px) { + .file-card.is-code.no-wrap .file-card-body::after { width: 44px !important; background: linear-gradient(to right, rgba(250,249,246,0) 0%, rgba(250,249,246,.92) 55%, rgba(226,220,210,.95) 100%) !important; box-shadow: inset -1px 0 0 rgba(40,32,24,.18) !important; } + .dark-mode .file-card.is-code.no-wrap .file-card-body::after { background: linear-gradient(to right, rgba(20,19,17,0) 0%, rgba(20,19,17,.92) 55%, rgba(44,40,35,.95) 100%) !important; box-shadow: inset -1px 0 0 rgba(255,255,255,.14) !important; } +} + +/* ===== Round 96: structural ===== */ +/* phone toolbar: one 48px row — sidebar toggle, file name, redaction count, Copy, ⋯ */ +@media (max-width: 767px) { + .file-card-head { min-height: 48px !important; align-items: center !important; padding-top: 4px !important; padding-bottom: 4px !important; } + .file-card-head .file-card-path { display: flex !important; flex-direction: row !important; align-items: center !important; flex-wrap: nowrap !important; gap: 8px !important; min-width: 0; } + .file-card-head .file-card-path .breadcrumb { min-width: 0; flex: 0 1 auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } + .mobile-sub { margin: 0 !important; flex: 0 0 auto; white-space: nowrap; } + .mobile-sub > span { display: none !important; } + .mobile-sub span:has(+ b)::after { content: none !important; } + .mobile-sub b { font-size: 12.5px !important; } +} +/* FAQ: contents rail + answers centred as one group in the container */ +/* landing: one section rhythm */ +.paper-section-head, .paper-qa, .paper-features, .paper-stats { margin-top: 88px !important; } +.paper-hero + .paper-stats { margin-top: 40px !important; } + +/* ===== Round 97 ===== */ +/* FAQ: contents | answers | a quiet help card, on the site grid */ +@media (min-width: 1100px) { .paper-faq-body { grid-template-columns: 180px minmax(0, 1fr) 220px !important; gap: 48px !important; } .paper-faq-help { display: block; } } +.paper-faq-help { display: none; } +.paper-faq-help-card { position: sticky; top: 96px; border: 1px solid var(--border-color); border-radius: 12px; background: var(--paper-card); padding: 18px; } +.paper-faq-help-card strong { display: block; font-size: 14px; margin-bottom: 6px; } +.paper-faq-help-card p { font-size: 13px; line-height: 1.5; color: var(--ink-soft); margin: 0 0 12px; } +/* submit bar: draft status on one line */ +.anonymize-submit-bar .draft-status { white-space: nowrap; flex: 0 0 auto !important; max-width: none !important; } +/* queues: range control lives in the Throughput card header */ +.q-throughput .q-range-btns { float: right; margin: -4px 0 0 12px; } +/* admin tables share the card shell used on Errors */ +.admin-page .paper-table { border: 1px solid var(--border-color) !important; border-radius: 12px !important; overflow: hidden; background: var(--paper-card); } +/* dark mode: tertiary text lifted to AA */ +.dark-mode { --ink-soft: #ADA699; --ink-muted: #8C8579; } +/* hero mock swatch = product slot */ +.hero-mock-count::before { background: var(--slot-bg) !important; } +@media (min-width: 1100px) { .paper-faq-help { display: block !important; } } +.q-throughput { position: relative; } +.q-throughput .q-range-btns { position: absolute !important; top: 12px; right: 16px; float: none !important; margin: 0 !important; width: auto !important; display: inline-flex !important; z-index: 2; } diff --git a/public/partials/admin/overview.htm b/public/partials/admin/overview.htm index 4145076..2dbc9cf 100644 --- a/public/partials/admin/overview.htm +++ b/public/partials/admin/overview.htm @@ -23,7 +23,7 @@
- Server needs attention. {{ [data?.system?.memPercent > 85 ? 'Memory at ' + Math.round(data.system.memPercent) + '%.' : '', data?.system?.diskPercent > 85 ? 'Disk at ' + Math.round(data.system.diskPercent) + '%.' : ''].filter(Boolean).join(' ') }} New anonymizations may fail until it drops. + Server needs attention. Memory or disk is running high (see the cards below). New anonymizations may fail until it drops.
diff --git a/public/partials/admin/queues.htm b/public/partials/admin/queues.htm index a266712..646fd12 100644 --- a/public/partials/admin/queues.htm +++ b/public/partials/admin/queues.htm @@ -4,12 +4,6 @@

Queues

-
- - - - -
@@ -44,6 +38,12 @@
+
+ + + + +
diff --git a/public/partials/anonymize.htm b/public/partials/anonymize.htm index 1610188..c7b3504 100644 --- a/public/partials/anonymize.htm +++ b/public/partials/anonymize.htm @@ -362,7 +362,7 @@
Your unsaved draft was restored.
-
{{ draftSaved ? "Draft saved in this tab for 30 minutes." : "Unsaved changes. Keep this tab open until you save." }}
+
{{ draftSaved ? "Draft saved ·" : "Unsaved changes ·" }}
diff --git a/public/partials/explorer.htm b/public/partials/explorer.htm index b66477d..ae31d66 100644 --- a/public/partials/explorer.htm +++ b/public/partials/explorer.htm @@ -52,7 +52,7 @@ {{ isMac ? '⌘' : 'Ctrl+' }}K
- +
+
diff --git a/public/partials/icons.htm b/public/partials/icons.htm index b365330..bff31ad 100644 --- a/public/partials/icons.htm +++ b/public/partials/icons.htm @@ -51,7 +51,7 @@ - + diff --git a/public/script/admin.js b/public/script/admin.js index ccd12fc..26801cf 100644 --- a/public/script/admin.js +++ b/public/script/admin.js @@ -1628,7 +1628,9 @@ export const errorsAdminController = function (state, http, location, interval) // A filter that matches nothing in the loaded window keeps reading older pages // (bounded) so a 5xx counted in the tiles is not reported as "No errors captured". const filtering = !!(state.query.bucket || (state.query.search || "").trim()); - if (filtering && !rows.length && state.canLoadMore?.() && !state._autoLoading && state.entries.length < 2500) { + // The default view also reads on until the server errors counted in the tiles appear. + const errorsHidden = !filtering && (state.stats?.severity?.error || 0) > 0 && !rows.some((r) => r._bucket === "error") && state.entries.length < 1500; + if (((filtering && !rows.length) || errorsHidden) && state.canLoadMore?.() && !state._autoLoading && state.entries.length < 2500) { state._autoLoading = true; loadEntries(true); } @@ -1674,6 +1676,7 @@ export const errorsAdminController = function (state, http, location, interval) buckets: s.buckets || [], dropped: s.dropped || 0, }; + recompute(); }, (err) => console.error(err) ); diff --git a/public/script/vendor.min.js b/public/script/vendor.min.js index 2f14fa4..bd1c201 100644 --- a/public/script/vendor.min.js +++ b/public/script/vendor.min.js @@ -1,34 +1,34 @@ -"use strict";(()=>{var ud=Object.defineProperty;var cd=(e,t)=>{for(var s in t)ud(e,s,{get:t[s],enumerable:!0})};var ge=["abap","abc","actionscript","ada","alda","apache_conf","apex","applescript","aql","asciidoc","asl","assembly_x86","autohotkey","batchfile","c9search","c_cpp","cirru","clojure","cobol","coffee","coldfusion","crystal","csharp","csound_document","csound_orchestra","csound_score","csp","css","curly","d","dart","diff","django","dockerfile","dot","drools","edifact","eiffel","ejs","elixir","elm","erlang","forth","fortran","fsharp","fsl","ftl","gcode","gherkin","gitignore","glsl","gobstones","golang","graphqlschema","groovy","haml","handlebars","haskell","haskell_cabal","haxe","hjson","html","html_elixir","html_ruby","ini","io","jack","jade","java","javascript","json","json5","jsoniq","jsp","jssm","jsx","julia","kotlin","latex","less","liquid","lisp","livescript","logiql","logtalk","lsl","lua","luapage","lucene","makefile","markdown","mask","matlab","maze","mediawiki","mel","mixal","mushcode","mysql","nginx","nim","nix","nsis","nunjucks","objectivec","ocaml","pascal","perl","perl6","pgsql","php","php_laravel_blade","pig","plain_text","powershell","praat","prisma","prolog","properties","protobuf","puppet","python","qml","r","razor","rdoc","red","redshift","rhtml","rst","ruby","rust","sass","scad","scala","scheme","scss","sh","sjs","slim","smarty","snippets","soy_template","space","sparql","sql","sqlserver","stylus","svg","swift","tcl","terraform","tex","text","textile","toml","tsx","turtle","twig","typescript","vala","vbscript","velocity","verilog","vhdl","visualforce","wollok","xml","xquery","yaml","zeek"];var be={markdown:"/script/markdown.1d3b1ed22a.min.js",org:"/script/org.f61f262915.min.js",notebook:"/script/notebook.c3144c18ae.min.js",pdf:"/script/pdf.4d9cc6ff49.min.js",editor:"/script/editor.4f142d3adc.min.js"};var ms=new Map,md=be;function en(e){if(!ms.has(e)){let t=document.createElement("script");t.src=md[e];let s=new Promise((r,o)=>{t.onload=r,t.onerror=()=>{ms.delete(e),t.remove(),o(new Error(`Unable to load ${e}. Please retry.`))}});ms.set(e,s),document.head.appendChild(t)}return ms.get(e)}async function hs(){await en("editor"),ace.config.set("basePath","/script/external/ace/")}function vn(e){let t=Object.create(null);for(let s of e.split(","))t[s]=1;return s=>s in t}var Me={},Zt=[],it=()=>{},uo=()=>!1,yn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gn=e=>e.startsWith("onUpdate:"),je=Object.assign,In=(e,t)=>{let s=e.indexOf(t);s>-1&&e.splice(s,1)},hd=Object.prototype.hasOwnProperty,Ae=(e,t)=>hd.call(e,t),ke=Array.isArray,zt=e=>Pn(e)==="[object Map]",Ht=e=>Pn(e)==="[object Set]",yr=e=>Pn(e)==="[object Date]";var Ne=e=>typeof e=="function",Fe=e=>typeof e=="string",ft=e=>typeof e=="symbol",Pe=e=>e!==null&&typeof e=="object",co=e=>(Pe(e)||Ne(e))&&Ne(e.then)&&Ne(e.catch),kr=Object.prototype.toString,Pn=e=>kr.call(e),po=e=>Pn(e).slice(8,-1),vs=e=>Pn(e)==="[object Object]",ys=e=>Fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bn=vn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");var gs=e=>{let t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},vd=/-\w/g,Ye=gs(e=>e.replace(vd,t=>t.slice(1).toUpperCase())),yd=/\B([A-Z])/g,Tt=gs(e=>e.replace(yd,"-$1").toLowerCase()),tn=gs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Vn=gs(e=>e?`on${tn(e)}`:""),gt=(e,t)=>!Object.is(e,t),wn=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:s})},kn=e=>{let t=parseFloat(e);return isNaN(t)?e:t};var gr,Mn=()=>gr||(gr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Te(e){if(ke(e)){let t={};for(let s=0;ss.startsWith("/*")?"":s).split(gd).forEach(s=>{if(s){let r=s.split(bd);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function T(e){let t="";if(Fe(e))t=e;else if(ke(e))for(let s=0;sOt(s,t))}var Nr=e=>!!(e&&e.__v_isRef===!0),u=e=>Fe(e)?e:e==null?"":ke(e)||Pe(e)&&(e.toString===kr||!Ne(e.toString))?Nr(e)?u(e.value):JSON.stringify(e,_r,2):String(e),_r=(e,t)=>Nr(t)?_r(e,t.value):zt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[r,o],i)=>(s[lo(r,i)+" =>"]=o,s),{})}:Ht(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>lo(s))}:ft(t)?lo(t):Pe(t)&&!ke(t)&&!vs(t)?String(t):t,lo=(e,t="")=>{var s;return ft(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};function Nd(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var Je,Un=class{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Je&&(Je.active?(this.parent=Je,this.index=(Je.scopes||(Je.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){let r=this.scopes.slice();for(t=0,s=r.length;t0&&--this._on===0){if(Je===this)Je=this.prevScope;else{let t=Je;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,r;for(s=0,r=this.effects.length;s0)return;if($n){let t=$n;for($n=void 0;t;){let s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Ln;){let t=Ln;for(Ln=void 0;t;){let s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=s}}if(e)throw e}function Pr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Vr(e){let t,s=e.depsTail,r=s;for(;r;){let o=r.prevDep;r.version===-1?(r===s&&(s=o),_o(r),_d(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}e.deps=t,e.depsTail=s}function vo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Mr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Mr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Fn)||(e.globalVersion=Fn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!vo(e))))return;e.flags|=2;let t=e.dep,s=$e,r=Et;$e=e,Et=!0;try{Pr(e);let o=e.fn(e._value);(t.version===0||gt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{$e=s,Et=r,Vr(e),e.flags&=-3}}function _o(e,t=!1){let{dep:s,prevSub:r,nextSub:o}=e;if(r&&(r.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=r,e.nextSub=void 0),s.subs===e&&(s.subs=r,!r&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)_o(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function _d(e){let{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}var Et=!0,qr=[];function St(){qr.push(Et),Et=!1}function Nt(){let e=qr.pop();Et=e===void 0?!0:e}function Dr(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let s=$e;$e=void 0;try{t()}finally{$e=s}}}var Fn=0,yo=class{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},zn=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!$e||!Et||$e===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==$e)s=this.activeLink=new yo($e,this),$e.deps?(s.prevDep=$e.depsTail,$e.depsTail.nextDep=s,$e.depsTail=s):$e.deps=$e.depsTail=s,Lr(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){let r=s.nextDep;r.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=r),s.prevDep=$e.depsTail,s.nextDep=void 0,$e.depsTail.nextDep=s,$e.depsTail=s,$e.deps===s&&($e.deps=r)}return s}trigger(t){this.version++,Fn++,this.notify(t)}notify(t){So();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{No()}}};function Lr(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Lr(r)}let s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}var go=new WeakMap,sn=Symbol(""),bo=Symbol(""),Hn=Symbol("");function xe(e,t,s){if(Et&&$e){let r=go.get(e);r||go.set(e,r=new Map);let o=r.get(s);o||(r.set(s,o=new zn),o.map=r,o.key=s),o.track()}}function It(e,t,s,r,o,i){let a=go.get(e);if(!a){Fn++;return}let c=f=>{f&&f.trigger()};if(So(),t==="clear")a.forEach(c);else{let f=ke(e),g=f&&ys(s);if(f&&s==="length"){let b=Number(r);a.forEach((k,m)=>{(m==="length"||m===Hn||!ft(m)&&m>=b)&&c(k)})}else switch((s!==void 0||a.has(void 0))&&c(a.get(s)),g&&c(a.get(Hn)),t){case"add":f?g&&c(a.get("length")):(c(a.get(sn)),zt(e)&&c(a.get(bo)));break;case"delete":f||(c(a.get(sn)),zt(e)&&c(a.get(bo)));break;case"set":zt(e)&&c(a.get(sn));break}}No()}function Cn(e){let t=Ie(e);return t===e||(xe(t,"iterate",Hn),at(e))?t:bt(e)?Vt(e)?t.map(s=>jt(mt(s))):t.map(jt):t.map(mt)}function jn(e){return xe(e=Ie(e),"iterate",Hn),e}function At(e,t){return bt(e)?jt(Vt(e)?mt(t):t):mt(t)}var Dd={__proto__:null,[Symbol.iterator](){return mo(this,Symbol.iterator,e=>At(this,e))},concat(...e){return Cn(this).concat(...e.map(t=>ke(t)?Cn(t):t))},entries(){return mo(this,"entries",e=>(e[1]=At(this,e[1]),e))},every(e,t){return Bt(this,"every",e,t,void 0,arguments)},filter(e,t){return Bt(this,"filter",e,t,s=>s.map(r=>At(this,r)),arguments)},find(e,t){return Bt(this,"find",e,t,s=>At(this,s),arguments)},findIndex(e,t){return Bt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Bt(this,"findLast",e,t,s=>At(this,s),arguments)},findLastIndex(e,t){return Bt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Bt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ho(this,"includes",e)},indexOf(...e){return ho(this,"indexOf",e)},join(e){return Cn(this).join(e)},lastIndexOf(...e){return ho(this,"lastIndexOf",e)},map(e,t){return Bt(this,"map",e,t,void 0,arguments)},pop(){return qn(this,"pop")},push(...e){return qn(this,"push",e)},reduce(e,...t){return Tr(this,"reduce",e,t)},reduceRight(e,...t){return Tr(this,"reduceRight",e,t)},shift(){return qn(this,"shift")},some(e,t){return Bt(this,"some",e,t,void 0,arguments)},splice(...e){return qn(this,"splice",e)},toReversed(){return Cn(this).toReversed()},toSorted(e){return Cn(this).toSorted(e)},toSpliced(...e){return Cn(this).toSpliced(...e)},unshift(...e){return qn(this,"unshift",e)},values(){return mo(this,"values",e=>At(this,e))}};function mo(e,t,s){let r=jn(e),o=r[t],i=o.call(r);if(r!==e&&!at(e)){if(i[Symbol.toStringTag]==="Array Iterator"){let a=Object.create(Object.getPrototypeOf(i));return a.next=()=>Rr(i.next(),s),o!==$r[t]&&Object.defineProperties(a,{return:{get(){let c=i.return;return typeof c=="function"?c.bind(i):c}},throw:{get(){let c=i.throw;return typeof c=="function"?c.bind(i):c}}}),a}i._next=i.next,i.next=()=>Rr(i._next(),s)}return i}function Rr(e,t){return e.done||(e.value=t(e.value)),e}var $r=Array.prototype;function Bt(e,t,s,r,o,i){let a=jn(e),c=a!==e&&!at(e),f=a[t];if(f!==$r[t]){let k=f.apply(e,i);return c?mt(k):k}let g=s;a!==e&&(c?g=function(k,m){return s.call(this,At(e,k),m,e)}:s.length>2&&(g=function(k,m){return s.call(this,k,m,e)}));let b=f.call(a,g,r);return c&&o?o(b):b}function Tr(e,t,s,r){let o=jn(e),i=o!==e&&!at(e),a=s,c=!1;o!==e&&(i?(c=r.length===0,a=function(g,b,k){return c&&(c=!1,g=At(e,g)),s.call(this,g,At(e,b),k,e)}):s.length>3&&(a=function(g,b,k){return s.call(this,g,b,k,e)}));let f=o[t](a,...r);return c?At(e,f):f}function ho(e,t,s){let r=Ie(e);xe(r,"iterate",Hn);let o=r[t](...s);return(o===-1||o===!1)&&Wn(s[0])?(s[0]=Ie(s[0]),r[t](...s)):o}function qn(e,t,s=[]){St(),So();let r=Ie(e)[t].apply(e,s);return No(),Nt(),r}var Rd=vn("__proto__,__v_isRef,__isVue"),Ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ft));function Td(e){ft(e)||(e=String(e));let t=Ie(this);return xe(t,"has",e),t.hasOwnProperty(e)}var Ss=class{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,r){if(s==="__v_skip")return t.__v_skip;let o=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return i;if(s==="__v_raw")return r===(o?i?$d:Hr:i?zr:Fr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;let a=ke(t);if(!o){let f;if(a&&(f=Dd[s]))return f;if(s==="hasOwnProperty")return Td}let c=Reflect.get(t,s,Xe(t)?t:r);if((ft(s)?Ur.has(s):Rd(s))||(o||xe(t,"get",s),i))return c;if(Xe(c)){let f=a&&ys(s)?c:c.value;return o&&Pe(f)?_s(f):f}return Pe(c)?o?_s(c):ze(c):c}},Ns=class extends Ss{constructor(t=!1){super(!1,t)}set(t,s,r,o){let i=t[s],a=ke(t)&&ys(s);if(!this._isShallow){let g=bt(i);if(!at(r)&&!bt(r)&&(i=Ie(i),r=Ie(r)),!a&&Xe(i)&&!Xe(r))return g||(i.value=r),!0}let c=a?Number(s)e,ks=e=>Reflect.getPrototypeOf(e);function Pd(e,t,s){return function(...r){let o=this.__v_raw,i=Ie(o),a=zt(i),c=e==="entries"||e===Symbol.iterator&&a,f=e==="keys"&&a,g=o[e](...r),b=s?ko:t?jt:mt;return!t&&xe(i,"iterate",f?bo:sn),je(Object.create(g),{next(){let{value:k,done:m}=g.next();return m?{value:k,done:m}:{value:c?[b(k[0]),b(k[1])]:b(k),done:m}}})}}function Cs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Vd(e,t){let s={get(o){let i=this.__v_raw,a=Ie(i),c=Ie(o);e||(gt(o,c)&&xe(a,"get",o),xe(a,"get",c));let{has:f}=ks(a),g=t?ko:e?jt:mt;if(f.call(a,o))return g(i.get(o));if(f.call(a,c))return g(i.get(c));i!==a&&i.get(o)},get size(){let o=this.__v_raw;return!e&&xe(Ie(o),"iterate",sn),o.size},has(o){let i=this.__v_raw,a=Ie(i),c=Ie(o);return e||(gt(o,c)&&xe(a,"has",o),xe(a,"has",c)),o===c?i.has(o):i.has(o)||i.has(c)},forEach(o,i){let a=this,c=a.__v_raw,f=Ie(c),g=t?ko:e?jt:mt;return!e&&xe(f,"iterate",sn),c.forEach((b,k)=>o.call(i,g(b),g(k),a))}};return je(s,e?{add:Cs("add"),set:Cs("set"),delete:Cs("delete"),clear:Cs("clear")}:{add(o){let i=Ie(this),a=ks(i),c=Ie(o),f=!t&&!at(o)&&!bt(o)?c:o;return a.has.call(i,f)||gt(o,f)&&a.has.call(i,o)||gt(c,f)&&a.has.call(i,c)||(i.add(f),It(i,"add",f,f)),this},set(o,i){!t&&!at(i)&&!bt(i)&&(i=Ie(i));let a=Ie(this),{has:c,get:f}=ks(a),g=c.call(a,o);g||(o=Ie(o),g=c.call(a,o));let b=f.call(a,o);return a.set(o,i),g?gt(i,b)&&It(a,"set",o,i,b):It(a,"add",o,i),this},delete(o){let i=Ie(this),{has:a,get:c}=ks(i),f=a.call(i,o);f||(o=Ie(o),f=a.call(i,o));let g=c?c.call(i,o):void 0,b=i.delete(o);return f&&It(i,"delete",o,void 0,g),b},clear(){let o=Ie(this),i=o.size!==0,a=void 0,c=o.clear();return i&&It(o,"clear",void 0,void 0,a),c}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=Pd(o,e,t)}),s}function Do(e,t){let s=Vd(e,t);return(r,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_isShallow"?t:o==="__v_raw"?r:Reflect.get(Ae(s,o)&&o in r?s:r,o,i)}var Md={get:Do(!1,!1)},qd={get:Do(!1,!0)},Ld={get:Do(!0,!1)};var Fr=new WeakMap,zr=new WeakMap,Hr=new WeakMap,$d=new WeakMap;function Ud(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ze(e){return bt(e)?e:Ro(e,!1,Od,Md,Fr)}function Gn(e){return Ro(e,!1,Id,qd,zr)}function _s(e){return Ro(e,!0,Ad,Ld,Hr)}function Ro(e,t,s,r,o){if(!Pe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let i=o.get(e);if(i)return i;let a=Ud(po(e));if(a===0)return e;let c=new Proxy(e,a===2?r:s);return o.set(e,c),c}function Vt(e){return bt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function at(e){return!!(e&&e.__v_isShallow)}function Wn(e){return e?!!e.__v_raw:!1}function Ie(e){let t=e&&e.__v_raw;return t?Ie(t):e}function Kn(e){return!Ae(e,"__v_skip")&&Object.isExtensible(e)&&bs(e,"__v_skip",!0),e}var mt=e=>Pe(e)?ze(e):e,jt=e=>Pe(e)?_s(e):e;function Xe(e){return e?e.__v_isRef===!0:!1}function et(e){return Br(e,!1)}function Rs(e){return Br(e,!0)}function Br(e,t){return Xe(e)?e:new Co(e,t)}var Co=class{constructor(t,s){this.dep=new zn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:Ie(t),this._value=s?t:mt(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){let s=this._rawValue,r=this.__v_isShallow||at(t)||bt(t);t=r?t:Ie(t),gt(t,s)&&(this._rawValue=t,this._value=r?t:mt(t),this.dep.trigger())}};function Gt(e){return Xe(e)?e.value:e}var Fd={get:(e,t,s)=>t==="__v_raw"?e:Gt(Reflect.get(e,t,s)),set:(e,t,s,r)=>{let o=e[t];return Xe(o)&&!Xe(s)?(o.value=s,!0):Reflect.set(e,t,s,r)}};function Ts(e){return Vt(e)?e:new Proxy(e,Fd)}var Eo=class{constructor(t,s,r){this.fn=t,this.setter=s,this._value=void 0,this.dep=new zn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Fn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&$e!==this)return Ir(this,!0),!0}get value(){let t=this.dep.track();return Mr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}};function jr(e,t,s=!1){let r,o;return Ne(e)?r=e:(r=e.get,o=e.set),new Eo(r,o,s)}var Es={},Ds=new WeakMap,nn;function Gr(e,t=!1,s=nn){if(s){let r=Ds.get(s);r||Ds.set(s,r=[]),r.push(e)}}function Wr(e,t,s=Me){let{immediate:r,deep:o,once:i,scheduler:a,augmentJob:c,call:f}=s,g=q=>{(s.onWarn||Nd)("Invalid watch source: ",q,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},b=q=>o?q:at(q)||o===!1||o===0?Pt(q,1):Pt(q),k,m,C,A,h=!1,E=!1;if(Xe(e)?(m=()=>e.value,h=at(e)):Vt(e)?(m=()=>b(e),h=!0):ke(e)?(E=!0,h=e.some(q=>Vt(q)||at(q)),m=()=>e.map(q=>{if(Xe(q))return q.value;if(Vt(q))return b(q);if(Ne(q))return f?f(q,2):q()})):Ne(e)?t?m=f?()=>f(e,2):e:m=()=>{if(C){St();try{C()}finally{Nt()}}let q=nn;nn=k;try{return f?f(e,3,[A]):e(A)}finally{nn=q}}:m=it,t&&o){let q=m,z=o===!0?1/0:o;m=()=>Pt(q(),z)}let N=Or(),R=()=>{k.stop(),N&&N.active&&In(N.effects,k)};if(i&&t){let q=t;t=(...z)=>{try{return q(...z)}finally{R()}}}let V=E?new Array(e.length).fill(Es):Es,H=q=>{if(!(!(k.flags&1)||!k.dirty&&!q))if(t){let z=k.run();if(q||o||h||(E?z.some((Z,ae)=>gt(Z,V[ae])):gt(z,V))){let Z=nn;St();try{C&&C(),nn=k;let ae=[z,V===Es?void 0:E&&V[0]===Es?[]:V,A];V=z,f?f(t,3,ae):t(...ae)}finally{nn=Z,Nt()}}}else k.run()};return c&&c(H),k=new En(m),k.scheduler=a?()=>a(H,!1):H,A=q=>Gr(q,!1,k),C=k.onStop=()=>{let q=Ds.get(k);if(q){if(f)f(q,4);else for(let z of q)z();Ds.delete(k)}},t?r?H(!0):V=k.run():a?a(H.bind(null,!0),!0):k.run(),R.pause=k.pause.bind(k),R.resume=k.resume.bind(k),R.stop=R,R}function Pt(e,t=1/0,s){if(t<=0||!Pe(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Xe(e))Pt(e.value,t,s);else if(ke(e))for(let r=0;r{Pt(r,t,s)});else if(vs(e)){for(let r in e)Pt(e[r],t,s);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Pt(e[r],t,s)}return e}function rs(e,t,s,r){try{return r?e(...r):e()}catch(o){is(o,t,s)}}function wt(e,t,s,r){if(Ne(e)){let o=rs(e,t,s,r);return o&&co(o)&&o.catch(i=>{is(i,t,s)}),o}if(ke(e)){let o=[];for(let i=0;i>>1,o=ot[r],i=es(o);i=es(s)?ot.push(e):ot.splice(Gd(t),0,e),e.flags|=1,di()}}function di(){Is||(Is=li.then(fi))}function ui(e){if(!ke(e))xt&&e.id===-1?xt.splice(Sn+1,0,e):e.flags&1||(qt.push(e),e.flags|=1);else for(let t=0;t=t))continue;ot.splice(r,1),r=e?r-1:_t,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2)}}}function pi(e,t,s=0){if(qt.length){let r=qt,o=0;if(t){r=[];for(let a=0;aes(a)-es(c));if(qt.length=o,xt){for(let a=0;ae.id==null?e.flags&2?-1:1/0:e.id;function fi(e){let t=it;try{for(_t=0;_t{r._d&&qs(-1);let i=Ps(t),a=an.length,c;try{c=e(...o)}finally{for(let f=an.length;f>a;f--)Bi();Ps(i),r._d&&qs(1)}return c};return r._n=!0,r._c=!0,r._d=!0,r}function D(e,t){if(ht===null)return e;let s=js(ht),r=e.dirs||(e.dirs=[]);for(let o=0;o1)return s&&Ne(t)?t.call(r&&r.proxy):t}}var Yd=Symbol.for("v-scx"),Jd=()=>{{let e=dt(Yd);return e}};function He(e,t,s){return hi(e,t,s)}function hi(e,t,s=Me){let{immediate:r,deep:o,flush:i,once:a}=s,c=je({},s),f=t&&r||!t&&i!=="post",g;if(Dn){if(i==="sync"){let C=Jd();g=C.__watcherHandles||(C.__watcherHandles=[])}else if(!f){let C=()=>{};return C.stop=it,C.resume=it,C.pause=it,C}}let b=tt;c.call=(C,A,h)=>wt(C,b,A,h);let k=!1;i==="post"?c.scheduler=C=>{C.i=b,lt(C,b&&b.suspense)}:i!=="sync"&&(k=!0,c.scheduler=(C,A)=>{A?C():Fo(C)}),c.augmentJob=C=>{t&&(C.flags|=4),k&&(C.flags|=2,b&&(C.id=b.uid,C.i=b))};let m=Wr(e,t,c);return Dn&&(g?g.push(m):f&&m()),m}function Qd(e,t,s){let r=this.proxy,o=Fe(e)?e.includes(".")?vi(r,e):()=>r[e]:e.bind(r,r),i;Ne(t)?i=t:(i=t.handler,s=t);let a=ds(this),c=hi(o,i.bind(r),s);return a(),c}function vi(e,t){let s=t.split(".");return()=>{let r=e;for(let o=0;oe.__isTeleport;var Oo=Symbol("_leaveCb");function Zd(e){let t=e[0];if(e.length>1){let s=!1;for(let r of e)if(r.type!==Dt){t=r,s=!0;break}}return t}function yi(e){if(!Fs(e))return Us(e.type)&&e.children?Zd(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&Ne(s.default))return s.default()}}function ts(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let s=e.component.subTree;ts(Us(s.type)&&yi(s)||s,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===Y&&ke(e.children)){let s=Ti(e.children,!1);s&&ts(s,t)}}function Vo(e){if(e.component)return Vo(e.component.subTree);if(e.type===Y){let t=ke(e.children)&&Ti(e.children,!1);return t?Vo(t):void 0}if(e.type!==Dt)return e}function as(e,t){return Ne(e)?je({name:e.name},t,{setup:e}):e}function zo(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Kr(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}var Vs=new WeakMap;function Qn(e,t,s,r,o=!1){if(ke(e)){e.forEach((h,E)=>Qn(h,t&&(ke(t)?t[E]:t),s,r,o));return}if(Xn(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Qn(e,t,s,r.component.subTree);return}let i=r.shapeFlag&4?js(r.component):r.el,a=o?null:i,{i:c,r:f}=e,g=t&&t.r,b=c.refs===Me?c.refs={}:c.refs,k=c.setupState,m=Ie(k),C=k===Me?uo:h=>Kr(b,h)?!1:Ae(m,h),A=(h,E)=>!(E&&Kr(b,E));if(g!=null&&g!==f){if(Yr(t),Fe(g))b[g]=null,C(g)&&(k[g]=null);else if(Xe(g)){let h=t;A(g,h.k)&&(g.value=null),h.k&&(b[h.k]=null)}}if(Ne(f))rs(f,c,12,[a,b]);else{let h=Fe(f),E=Xe(f);if(h||E){let N=()=>{if(e.f){let R=h?C(f)?k[f]:b[f]:A(f)||!e.k?f.value:b[e.k];if(o)ke(R)&&In(R,i);else if(ke(R))R.includes(i)||R.push(i);else if(h)b[f]=[i],C(f)&&(k[f]=b[f]);else{let V=[i];A(f,e.k)&&(f.value=V),e.k&&(b[e.k]=V)}}else h?(b[f]=a,C(f)&&(k[f]=a)):E&&(A(f,e.k)&&(f.value=a),e.k&&(b[e.k]=a))};if(a){let R=()=>{N(),Vs.delete(e)};R.id=-1,Vs.set(e,R),lt(R,s)}else Yr(e),N()}}}function Yr(e){let t=Vs.get(e);t&&(t.flags|=8,Vs.delete(e))}var Jr=e=>e.nodeType===8;var V$=Mn().requestIdleCallback||(e=>setTimeout(e,1)),M$=Mn().cancelIdleCallback||(e=>clearTimeout(e));function xd(e,t){if(Jr(e)&&e.data==="["){let s=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Jr(r))if(r.data==="]"){if(--s===0)break}else r.data==="["&&s++;r=r.nextSibling}}else t(e)}var Xn=e=>!!e.type.__asyncLoader;function gi(e){Ne(e)&&(e={loader:e});let{loader:t,loadingComponent:s,errorComponent:r,delay:o=200,hydrate:i,timeout:a,suspensible:c=!0,onError:f}=e,g=null,b,k=0,m=()=>(k++,g=null,C()),C=()=>{let A;return g||(A=g=t().catch(h=>{if(h=h instanceof Error?h:new Error(String(h)),f)return new Promise((E,N)=>{f(h,()=>E(m()),()=>N(h),k+1)});throw h}).then(h=>A!==g&&g?g:(h&&(h.__esModule||h[Symbol.toStringTag]==="Module")&&(h=h.default),b=h,h)))};return as({name:"AsyncComponentWrapper",__asyncLoader:C,__asyncHydrate(A,h,E){let N=A.isConnected,R=!1;(h.bu||(h.bu=[])).push(()=>R=!0);let V=()=>{R||!A.parentNode||N&&!A.isConnected||E()},H=i?()=>{let q=i(V,z=>xd(A,z));q&&(h.bum||(h.bum=[])).push(q)}:V;b?H():C().then(()=>!h.isUnmounted&&H())},get __asyncResolved(){return b},setup(){let A=tt;if(zo(A),b)return()=>Os(b,A);let h=q=>{g=null,is(q,A,13,!r)};if(c&&A.suspense||Dn)return C().then(q=>()=>Os(q,A)).catch(q=>(h(q),()=>r?Oe(r,{error:q}):null));let E=et(!1),N=et(),R=et(!!o),V,H;return ls(()=>{V!=null&&clearTimeout(V),H!=null&&clearTimeout(H)}),o&&(H=setTimeout(()=>{A.isUnmounted||(R.value=!1)},o)),a!=null&&(V=setTimeout(()=>{if(!A.isUnmounted&&!E.value&&!N.value){let q=new Error(`Async component timed out after ${a}ms.`);h(q),N.value=q}},a)),C().then(()=>{A.isUnmounted||(E.value=!0,A.parent&&Fs(A.parent.vnode)&&A.parent.update())}).catch(q=>{if(A.isUnmounted){g=null;return}h(q),N.value=q}),()=>{if(E.value&&b)return Os(b,A);if(N.value&&r)return Oe(r,{error:N.value});if(s&&!R.value)return Os(s,A)}}})}function Os(e,t){let{ref:s,props:r,children:o,ce:i}=t.vnode,a=Oe(e,r,o);return a.ref=s,a.ce=i,delete t.vnode.ce,a}var Fs=e=>e.type.__isKeepAlive;function bi(e,t){ki(e,"a",t)}function wi(e,t){ki(e,"da",t)}function ki(e,t,s=tt){let r=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(zs(t,r,s),s){let o=s.parent;for(;o&&o.parent;)Fs(o.parent.vnode)&&eu(r,t,s,o),o=o.parent}}function eu(e,t,s,r){let o=zs(t,e,r,!0);ls(()=>{In(r[t],o)},s)}function zs(e,t,s=tt,r=!1){if(s){let o=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...a)=>{St();let c=ds(s),f=wt(t,s,e,a);return c(),Nt(),f});return r?o.unshift(i):o.push(i),i}}var Kt=e=>(t,s=tt)=>{(!Dn||e==="sp")&&zs(e,(...r)=>t(...r),s)},tu=Kt("bm"),$t=Kt("m"),Ci=Kt("bu"),Ei=Kt("u"),dn=Kt("bum"),ls=Kt("um"),nu=Kt("sp"),su=Kt("rtg"),ou=Kt("rtc");function ru(e,t=tt){zs("ec",e,t)}var Si="components",iu="directives";function Ge(e,t){return Ni(Si,e,!0,t)||e}var au=Symbol.for("v-ndc");function Ee(e){return Ni(iu,e)}function Ni(e,t,s=!0,r=!1){let o=ht||tt;if(o){let i=o.type;if(e===Si){let c=ju(i,!1);if(c&&(c===t||c===Ye(t)||c===tn(Ye(t))))return i}let a=Qr(o[e]||i[e],t)||Qr(o.appContext[e],t);return!a&&r?i:a}}function Qr(e,t){return e&&(e[t]||e[Ye(t)]||e[tn(Ye(t))])}function ie(e,t,s,r){let o,i=s&&s[r],a=ke(e);if(a||Fe(e)){let c=a&&Vt(e),f=!1,g=!1;c&&(f=!at(e),g=bt(e),e=jn(e)),o=new Array(e.length);for(let b=0,k=e.length;bt(c,f,void 0,i&&i[f]));else{let c=Object.keys(e);o=new Array(c.length);for(let f=0,g=c.length;fe?Ki(e)?js(e):Mo(e.parent):null;var Zn=je(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Mo(e.parent),$root:e=>Mo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ho(e),$forceUpdate:e=>e.f||(e.f=()=>{Fo(e.update)}),$nextTick:e=>e.n||(e.n=Ze.bind(e.proxy)),$watch:e=>Qd.bind(e)});var Ao=(e,t)=>e!==Me&&!e.__isScriptSetup&&Ae(e,t),lu={get({_:e},t){if(t==="__v_skip")return!0;let{ctx:s,setupState:r,data:o,props:i,accessCache:a,type:c,appContext:f}=e;if(t[0]!=="$"){let m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return s[t];case 3:return i[t]}else{if(Ao(r,t))return a[t]=1,r[t];if(o!==Me&&Ae(o,t))return a[t]=2,o[t];if(Ae(i,t))return a[t]=3,i[t];if(s!==Me&&Ae(s,t))return a[t]=4,s[t];qo&&(a[t]=0)}}let g=Zn[t],b,k;if(g)return t==="$attrs"&&xe(e.attrs,"get",""),g(e);if((b=c.__cssModules)&&(b=b[t]))return b;if(s!==Me&&Ae(s,t))return a[t]=4,s[t];if(k=f.config.globalProperties,Ae(k,t))return k[t]},set({_:e},t,s){let{data:r,setupState:o,ctx:i}=e;return Ao(o,t)?(o[t]=s,!0):r!==Me&&Ae(r,t)?(r[t]=s,!0):Ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:r,appContext:o,props:i,type:a}},c){let f;return!!(s[c]||e!==Me&&c[0]!=="$"&&Ae(e,c)||Ao(t,c)||Ae(i,c)||Ae(r,c)||Ae(Zn,c)||Ae(o.config.globalProperties,c)||(f=a.__cssModules)&&f[c])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Ae(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Xr(e){return ke(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}var qo=!0;function du(e){let t=Ho(e),s=e.proxy,r=e.ctx;qo=!1,t.beforeCreate&&Zr(t.beforeCreate,e,"bc");let{data:o,computed:i,methods:a,watch:c,provide:f,inject:g,created:b,beforeMount:k,mounted:m,beforeUpdate:C,updated:A,activated:h,deactivated:E,beforeDestroy:N,beforeUnmount:R,destroyed:V,unmounted:H,render:q,renderTracked:z,renderTriggered:Z,errorCaptured:ae,serverPrefetch:_,expose:j,inheritAttrs:ne,components:le,directives:Ce,filters:ce}=t;if(g&&uu(g,r,null),a)for(let Se in a){let ye=a[Se];Ne(ye)&&(r[Se]=ye.bind(s))}if(o){let Se=o.call(s,s);Pe(Se)&&(e.data=ze(Se))}if(qo=!0,i)for(let Se in i){let ye=i[Se],Ue=Ne(ye)?ye.bind(s,s):Ne(ye.get)?ye.get.bind(s,s):it,L=!Ne(ye)&&Ne(ye.set)?ye.set.bind(s):it,X=nt({get:Ue,set:L});Object.defineProperty(r,Se,{enumerable:!0,configurable:!0,get:()=>X.value,set:J=>X.value=J})}if(c)for(let Se in c)_i(c[Se],r,s,Se);if(f){let Se=Ne(f)?f.call(s):f;Reflect.ownKeys(Se).forEach(ye=>{ln(ye,Se[ye])})}b&&Zr(b,e,"c");function _e(Se,ye){ke(ye)?ye.forEach(Ue=>Se(Ue.bind(s))):ye&&Se(ye.bind(s))}if(_e(tu,k),_e($t,m),_e(Ci,C),_e(Ei,A),_e(bi,h),_e(wi,E),_e(ru,ae),_e(ou,z),_e(su,Z),_e(dn,R),_e(ls,H),_e(nu,_),ke(j))if(j.length){let Se=e.exposed||(e.exposed={});j.forEach(ye=>{Object.defineProperty(Se,ye,{get:()=>s[ye],set:Ue=>s[ye]=Ue,enumerable:!0})})}else e.exposed||(e.exposed={});q&&e.render===it&&(e.render=q),ne!=null&&(e.inheritAttrs=ne),le&&(e.components=le),Ce&&(e.directives=Ce),_&&zo(e)}function uu(e,t,s=it){ke(e)&&(e=Lo(e));for(let r in e){let o=e[r],i;Pe(o)?"default"in o?i=dt(o.from||r,o.default,!0):i=dt(o.from||r):i=dt(o),Xe(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[r]=i}}function Zr(e,t,s){wt(ke(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,s)}function _i(e,t,s,r){let o=r.includes(".")?vi(s,r):()=>s[r];if(Fe(e)){let i=t[e];Ne(i)&&He(o,i)}else if(Ne(e))He(o,e.bind(s));else if(Pe(e))if(ke(e))e.forEach(i=>_i(i,t,s,r));else{let i=Ne(e.handler)?e.handler.bind(s):t[e.handler];Ne(i)&&He(o,i,e)}}function Ho(e){let t=e.type,{mixins:s,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,c=i.get(t),f;return c?f=c:!o.length&&!s&&!r?f=t:(f={},o.length&&o.forEach(g=>Ms(f,g,a,!0)),Ms(f,t,a)),Pe(t)&&i.set(t,f),f}function Ms(e,t,s,r=!1){let{mixins:o,extends:i}=t;i&&Ms(e,i,s,!0),o&&o.forEach(a=>Ms(e,a,s,!0));for(let a in t)if(!(r&&a==="expose")){let c=cu[a]||s&&s[a];e[a]=c?c(e[a],t[a]):t[a]}return e}var cu={data:xr,props:ei,emits:ei,methods:Jn,computed:Jn,beforeCreate:st,created:st,beforeMount:st,mounted:st,beforeUpdate:st,updated:st,beforeDestroy:st,beforeUnmount:st,destroyed:st,unmounted:st,activated:st,deactivated:st,errorCaptured:st,serverPrefetch:st,components:Jn,directives:Jn,watch:fu,provide:xr,inject:pu};function xr(e,t){return t?e?function(){return je(Ne(e)?e.call(this,this):e,Ne(t)?t.call(this,this):t)}:t:e}function pu(e,t){return Jn(Lo(e),Lo(t))}function Lo(e){if(ke(e)){let t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ye(t)}Modifiers`]||e[`${Tt(t)}Modifiers`];function yu(e,t,...s){if(e.isUnmounted)return;let r=e.vnode.props||Me,o=s,i=t.startsWith("update:"),a=i&&vu(r,t.slice(7));a&&(a.trim&&(o=s.map(b=>Fe(b)?b.trim():b)),a.number&&(o=o.map(kn)));let c,f=r[c=Vn(t)]||r[c=Vn(Ye(t))];!f&&i&&(f=r[c=Vn(Tt(t))]),f&&wt(f,e,6,o);let g=r[c+"Once"];if(g){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,wt(g,e,6,o)}}var gu=new WeakMap;function Ri(e,t,s=!1){let r=s?gu:t.emitsCache,o=r.get(e);if(o!==void 0)return o;let i=e.emits,a={},c=!1;if(!Ne(e)){let f=g=>{let b=Ri(g,t,!0);b&&(c=!0,je(a,b))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!c?(Pe(e)&&r.set(e,null),null):(ke(i)?i.forEach(f=>a[f]=null):je(a,i),Pe(e)&&r.set(e,a),a)}function Hs(e,t){return!e||!yn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ae(e,t[0].toLowerCase()+t.slice(1))||Ae(e,Tt(t))||Ae(e,t))}function Io(e){let{type:t,vnode:s,proxy:r,withProxy:o,propsOptions:[i],slots:a,attrs:c,emit:f,render:g,renderCache:b,props:k,data:m,setupState:C,ctx:A,inheritAttrs:h}=e,E=Ps(e),N,R;try{if(s.shapeFlag&4){let q=o||r,z=q;N=Lt(g.call(z,q,b,k,C,m,A)),R=c}else{let q=t;N=Lt(q.length>1?q(k,{attrs:c,slots:a,emit:f}):q(k,null)),R=t.props?c:bu(c)}}catch(q){an.length=0,is(q,e,1),N=Oe(Dt)}let V=N,H;if(R&&h!==!1){let q=Object.keys(R),{shapeFlag:z}=V;q.length&&z&7&&(i&&q.some(gn)&&(R=wu(R,i)),V=_n(V,R,!1,!0))}if(s.dirs&&(V=_n(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(s.dirs):s.dirs),s.transition){let q=Us(V.type)&&yi(V)||V;ts(q,s.transition)}return N=V,Ps(E),N}function Ti(e,t=!0){let s;for(let r=0;r{let t;for(let s in e)(s==="class"||s==="style"||yn(s))&&((t||(t={}))[s]=e[s]);return t},wu=(e,t)=>{let s={};for(let r in e)(!gn(r)||!(r.slice(9)in t))&&(s[r]=e[r]);return s};function ku(e,t,s){let{props:r,children:o,component:i}=e,{props:a,children:c,patchFlag:f}=t,g=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return r?ti(r,a,g):!!a;if(f&8){let b=t.dynamicProps;for(let k=0;kObject.create(Ai),Pi=e=>Object.getPrototypeOf(e)===Ai;function Eu(e,t,s,r=!1){let o={},i=Ii();e.propsDefaults=Object.create(null),Vi(e,t,o,i);for(let a in e.propsOptions[0])a in o||(o[a]=void 0);s?e.props=r?o:Gn(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Su(e,t,s,r){let{props:o,attrs:i,vnode:{patchFlag:a}}=e,c=Ie(o),[f]=e.propsOptions,g=!1;if((r||a>0)&&!(a&16)){if(a&8){let b=e.vnode.dynamicProps;for(let k=0;k{f=!0;let[m,C]=Mi(k,t,!0);je(a,m),C&&c.push(...C)};!s&&t.mixins.length&&t.mixins.forEach(b),e.extends&&b(e.extends),e.mixins&&e.mixins.forEach(b)}if(!i&&!f)return Pe(e)&&r.set(e,Zt),Zt;if(ke(i))for(let b=0;be==="_"||e==="_ctx"||e==="$stable",jo=e=>ke(e)?e.map(Lt):[Lt(e)],_u=(e,t,s)=>{if(t._n)return t;let r=Kd((...o)=>jo(t(...o)),s);return r._c=!1,r},qi=(e,t,s)=>{let r=e._ctx;for(let o in e){if(Bo(o))continue;let i=e[o];if(Ne(i))t[o]=_u(o,i,r);else if(i!=null){let a=jo(i);t[o]=()=>a}}},Li=(e,t)=>{let s=jo(t);e.slots.default=()=>s},$i=(e,t,s)=>{for(let r in t)(s||!Bo(r))&&(e[r]=t[r])},Du=(e,t,s)=>{let r=e.slots=Ii();if(e.vnode.shapeFlag&32){let o=t._;o?($i(r,t,s),s&&bs(r,"_",o,!0)):qi(t,r)}else t&&Li(e,t)},Ru=(e,t,s)=>{let{vnode:r,slots:o}=e,i=!0,a=Me;if(r.shapeFlag&32){let c=t._;c?s&&c===1?i=!1:$i(o,t,s):(i=!t.$stable,qi(t,o)),a=t}else t&&(Li(e,t),a={default:1});if(i)for(let c in o)!Bo(c)&&a[c]==null&&delete o[c]};function Tu(){let e=[]}var lt=Pu;function Ui(e){return Ou(e)}function Ou(e,t){Tu();let s=Mn();s.__VUE__=!0;let{insert:r,remove:o,patchProp:i,createElement:a,createText:c,createComment:f,setText:g,setElementText:b,parentNode:k,nextSibling:m,setScopeId:C=it,insertStaticContent:A}=e,h=(v,w,O,P=null,M=null,W=null,F=void 0,K=null,ee=!!w.dynamicChildren)=>{if(v===w)return;v&&!Yn(v,w)&&(P=te(v),se(v,M,W,!0),v=null),w.patchFlag===-2&&(ee=!1,w.dynamicChildren=null),w.dynamicChildren&&v&&v.dynamicChildren&&v.dynamicChildren.hasOnce&&(w.dynamicChildren===Zt&&(w.dynamicChildren=[]),w.dynamicChildren.hasOnce=!0);let{type:G,ref:de,shapeFlag:oe}=w;switch(G){case Bs:E(v,w,O,P);break;case Dt:N(v,w,O,P);break;case xn:v==null&&R(w,O,P,F);break;case Y:Ce(v,w,O,P,M,W,F,K,ee);break;default:oe&1?z(v,w,O,P,M,W,F,K,ee):oe&6?ce(v,w,O,P,M,W,F,K,ee):(oe&64||oe&128)&&G.process(v,w,O,P,M,W,F,K,ee,S)}de!=null&&M?Qn(de,v&&v.ref,W,w||v,!w):de==null&&v&&v.ref!=null&&Qn(v.ref,null,W,v,!0)},E=(v,w,O,P)=>{if(v==null)r(w.el=c(w.children),O,P);else{let M=w.el=v.el;w.children!==v.children&&g(M,w.children)}},N=(v,w,O,P)=>{v==null?r(w.el=f(w.children||""),O,P):w.el=v.el},R=(v,w,O,P)=>{[v.el,v.anchor]=A(v.children,w,O,P,v.el,v.anchor)},V=(v,w,O,P)=>{if(w.children!==v.children){let M=m(v.anchor);q(v),[w.el,w.anchor]=A(w.children,O,M,P)}else w.el=v.el,w.anchor=v.anchor},H=({el:v,anchor:w},O,P)=>{let M;for(;v&&v!==w;)M=m(v),r(v,O,P),v=M;r(w,O,P)},q=({el:v,anchor:w})=>{let O;for(;v&&v!==w;)O=m(v),o(v),v=O;o(w)},z=(v,w,O,P,M,W,F,K,ee)=>{if(w.type==="svg"?F="svg":w.type==="math"&&(F="mathml"),v==null)Z(w,O,P,M,W,F,K,ee);else{let G=v.el&&v.el._isVueCE?v.el:null;try{G&&G._beginPatch(),j(v,w,M,W,F,K,ee)}finally{G&&G._endPatch()}}},Z=(v,w,O,P,M,W,F,K)=>{let ee,G,{props:de,shapeFlag:oe,transition:pe,dirs:we}=v;if(ee=v.el=a(v.type,W,de&&de.is,de),oe&8?b(ee,v.children):oe&16&&_(v.children,ee,null,P,M,Po(v,W),F,K),we&&on(v,null,P,"created"),ae(ee,v,v.scopeId,F,P),de){for(let Le in de)Le!=="value"&&!bn(Le)&&i(ee,Le,null,de[Le],W,P);"value"in de&&i(ee,"value",null,de.value,W),(G=de.onVnodeBeforeMount)&&Mt(G,P,v)}we&&on(v,null,P,"beforeMount");let Re=Au(M,pe);Re&&pe.beforeEnter(ee),r(ee,w,O),((G=de&&de.onVnodeMounted)||Re||we)&<(()=>{let qe;G&&Mt(G,P,v),Re&&pe.enter(ee),we&&on(v,null,P,"mounted")},M)},ae=(v,w,O,P,M)=>{if(O&&C(v,O),P)for(let W=0;W{for(let G=ee;G{let K=w.el=v.el,{patchFlag:ee,dynamicChildren:G,dirs:de}=w;ee|=v.patchFlag&16;let oe=v.props||Me,pe=w.props||Me,we;if(O&&rn(O,!1),(we=pe.onVnodeBeforeUpdate)&&Mt(we,O,w,v),de&&on(w,v,O,"beforeUpdate"),O&&rn(O,!0),G&&(!v.dynamicChildren||v.dynamicChildren.length!==G.length)&&(ee=0,F=!1,G=null),(oe.innerHTML&&pe.innerHTML==null||oe.textContent&&pe.textContent==null)&&b(K,""),G?ne(v.dynamicChildren,G,K,O,P,Po(w,M),W):F||Ue(v,w,K,null,O,P,Po(w,M),W,!1),ee>0){if(ee&16)le(K,oe,pe,O,M);else if(ee&2&&oe.class!==pe.class&&i(K,"class",null,pe.class,M),ee&4&&i(K,"style",oe.style,pe.style,M),ee&8){let Re=w.dynamicProps;for(let Le=0;Le{we&&Mt(we,O,w,v),de&&on(w,v,O,"updated")},P)},ne=(v,w,O,P,M,W,F)=>{for(let K=0;K{if(w!==O){if(w!==Me)for(let W in w)!bn(W)&&!(W in O)&&i(v,W,w[W],null,M,P);for(let W in O){if(bn(W))continue;let F=O[W],K=w[W];F!==K&&W!=="value"&&i(v,W,K,F,M,P)}"value"in O&&i(v,"value",w.value,O.value,M)}},Ce=(v,w,O,P,M,W,F,K,ee)=>{let G=w.el=v?v.el:c(""),de=w.anchor=v?v.anchor:c(""),{patchFlag:oe,dynamicChildren:pe,slotScopeIds:we}=w;we&&(K=K?K.concat(we):we),v==null?(r(G,O,P),r(de,O,P),_(w.children||[],O,de,M,W,F,K,ee)):oe>0&&oe&64&&pe&&v.dynamicChildren&&v.dynamicChildren.length===pe.length?(ne(v.dynamicChildren,pe,O,M,W,F,K),(w.key!=null||M&&w===M.subTree)&&Fi(v,w,!0)):Ue(v,w,O,de,M,W,F,K,ee)},ce=(v,w,O,P,M,W,F,K,ee)=>{w.slotScopeIds=K,v==null?w.shapeFlag&512?M.ctx.activate(w,O,P,F,ee):ve(w,O,P,M,W,F,ee):_e(v,w,ee)},ve=(v,w,O,P,M,W,F)=>{let K=v.component=Uu(v,P,M);if(Fs(v)&&(K.ctx.renderer=S),Fu(K,!1,F),K.asyncDep){if(M&&M.registerDep(K,Se,F,W),!v.el){let ee=K.subTree=Oe(Dt);N(null,ee,w,O),v.placeholder=ee.el}}else Se(K,v,w,O,M,W,F)},_e=(v,w,O)=>{let P=w.component=v.component;if(ku(v,w,O))if(P.asyncDep&&!P.asyncResolved){w.el=v.el,w.placeholder=v.placeholder,ye(P,w,O);return}else P.next=w,P.update();else w.el=v.el,w.placeholder=v.placeholder,P.vnode=w},Se=(v,w,O,P,M,W,F)=>{let K=()=>{if(v.isMounted){let{next:oe,bu:pe,u:we,parent:Re,vnode:Le}=v;{let ct=zi(v);if(ct){oe&&(oe.el=Le.el,ye(v,oe,F)),ct.asyncDep.then(()=>{lt(()=>{v.isUnmounted||G()},M)});return}}let qe=oe,We;rn(v,!1),oe?(oe.el=Le.el,ye(v,oe,F)):oe=Le,pe&&wn(pe),(We=oe.props&&oe.props.onVnodeBeforeUpdate)&&Mt(We,Re,oe,Le),rn(v,!0);let Ke=Io(v),Ct=v.subTree;v.subTree=Ke,h(Ct,Ke,k(Ct.el),te(Ct),v,M,W),oe.el=Ke.el,qe===null&&Cu(v,Ke.el),we&<(we,M),(We=oe.props&&oe.props.onVnodeUpdated)&<(()=>Mt(We,Re,oe,Le),M)}else{let oe,{el:pe,props:we}=w,{bm:Re,m:Le,parent:qe,root:We,type:Ke}=v,Ct=Xn(w);if(rn(v,!1),Re&&wn(Re),!Ct&&(oe=we&&we.onVnodeBeforeMount)&&Mt(oe,qe,w),rn(v,!0),pe&&B){let ct=()=>{v.subTree=Io(v),B(pe,v.subTree,v,M,null)};Ct&&Ke.__asyncHydrate?Ke.__asyncHydrate(pe,v,ct):ct()}else{We.ce&&We.ce._hasShadowRoot()&&We.ce._injectChildStyle(Ke,v.parent?v.parent.type:void 0);let ct=v.subTree=Io(v);h(null,ct,O,P,v,M,W),w.el=ct.el}if(Le&<(Le,M),!Ct&&(oe=we&&we.onVnodeMounted)){let ct=w;lt(()=>Mt(oe,qe,ct),M)}(w.shapeFlag&256||qe&&Xn(qe.vnode)&&qe.vnode.shapeFlag&256)&&v.a&<(v.a,M),v.isMounted=!0,w=O=P=null}};v.scope.on();let ee=v.effect=new En(K);v.scope.off();let G=v.update=ee.run.bind(ee),de=v.job=ee.runIfDirty.bind(ee);de.i=v,de.id=v.uid,ee.scheduler=()=>Fo(de),rn(v,!0),G()},ye=(v,w,O)=>{w.component=v;let P=v.vnode.props;v.vnode=w,v.next=null,Su(v,w.props,P,O),Ru(v,w.children,O),St(),ci(v),Nt()},Ue=(v,w,O,P,M,W,F,K,ee=!1)=>{let G=v&&v.children,de=v?v.shapeFlag:0,oe=w.children,{patchFlag:pe,shapeFlag:we}=w;if(pe>0){if(pe&128){X(G,oe,O,P,M,W,F,K,ee);return}else if(pe&256){L(G,oe,O,P,M,W,F,K,ee);return}}we&8?(de&16&&U(G,M,W),oe!==G&&b(O,oe)):de&16?we&16?X(G,oe,O,P,M,W,F,K,ee):U(G,M,W,!0):(de&8&&b(O,""),we&16&&_(oe,O,P,M,W,F,K,ee))},L=(v,w,O,P,M,W,F,K,ee)=>{v=v||Zt,w=w||Zt;let G=v.length,de=w.length,oe=Math.min(G,de),pe;for(pe=0;pede?U(v,M,W,!0,!1,oe):_(w,O,P,M,W,F,K,ee,oe)},X=(v,w,O,P,M,W,F,K,ee)=>{let G=0,de=w.length,oe=v.length-1,pe=de-1;for(;G<=oe&&G<=pe;){let we=v[G],Re=w[G]=ee?Wt(w[G]):Lt(w[G]);if(Yn(we,Re))h(we,Re,O,null,M,W,F,K,ee);else break;G++}for(;G<=oe&&G<=pe;){let we=v[oe],Re=w[pe]=ee?Wt(w[pe]):Lt(w[pe]);if(Yn(we,Re))h(we,Re,O,null,M,W,F,K,ee);else break;oe--,pe--}if(G>oe){if(G<=pe){let we=pe+1,Re=wepe)for(;G<=oe;)se(v[G],M,W,!0),G++;else{let we=G,Re=G,Le=new Map;for(G=Re;G<=pe;G++){let pt=w[G]=ee?Wt(w[G]):Lt(w[G]);pt.key!=null&&Le.set(pt.key,G)}let qe,We=0,Ke=pe-Re+1,Ct=!1,ct=0,An=new Array(Ke);for(G=0;G=Ke){se(pt,M,W,!0);continue}let Rt;if(pt.key!=null)Rt=Le.get(pt.key);else for(qe=Re;qe<=pe;qe++)if(An[qe-Re]===0&&Yn(pt,w[qe])){Rt=qe;break}Rt===void 0?se(pt,M,W,!0):(An[Rt-Re]=G+1,Rt>=ct?ct=Rt:Ct=!0,h(pt,w[Rt],O,null,M,W,F,K,ee),We++)}let mr=Ct?Iu(An):Zt;for(qe=mr.length-1,G=Ke-1;G>=0;G--){let pt=Re+G,Rt=w[pt],hr=w[pt+1],vr=pt+1{let{el:W,type:F,transition:K,children:ee,shapeFlag:G}=v;if(G&6){J(v.component.subTree,w,O,P);return}if(G&128){v.suspense.move(w,O,P);return}if(G&64){F.move(v,w,O,S);return}if(F===Y){r(W,w,O);for(let oe=0;oeK.enter(W),M));else{let{leave:oe,delayLeave:pe,afterLeave:we}=K,Re=()=>{v.ctx.isUnmounted?o(W):r(W,w,O)},Le=()=>{let qe=W._isLeaving||!!W[Oo];W._isLeaving&&W[Oo](!0),K.persisted&&!qe?Re():oe(W,()=>{Re(),we&&we()})};pe?pe(W,Re,Le):Le()}else r(W,w,O)},se=(v,w,O,P=!1,M=!1)=>{let{type:W,props:F,ref:K,children:ee,dynamicChildren:G,shapeFlag:de,patchFlag:oe,dirs:pe,cacheIndex:we,memo:Re}=v;if((oe===-2||G&&G.hasOnce)&&(M=!1),K!=null&&(St(),Qn(K,null,O,v,!0),Nt()),we!=null&&(!v.ctx||v.ctx===w)&&(w.renderCache[we]=void 0),de&256){w.ctx.deactivate(v);return}let Le=de&1&&pe,qe=!Xn(v),We;if(qe&&(We=F&&F.onVnodeBeforeUnmount)&&Mt(We,w,v),de&6)re(v.component,O,P);else{if(de&128){v.suspense.unmount(O,P);return}Le&&on(v,null,w,"beforeUnmount"),de&64?v.type.remove(v,w,O,S,P):G&&!G.hasOnce&&(W!==Y||oe>0&&oe&64)?U(G,w,O,!1,!0):(W===Y&&oe&384||!M&&de&16)&&U(ee,w,O),P&&me(v)}let Ke=Re!=null&&we==null;(qe&&(We=F&&F.onVnodeUnmounted)||Le||Ke)&<(()=>{We&&Mt(We,w,v),Le&&on(v,null,w,"unmounted"),Ke&&(v.el=null)},O)},me=v=>{let{type:w,el:O,anchor:P,transition:M}=v,W=w===Y;if(W&&!M){he(O,P);return}if(w===xn){q(v),M&&!M.persisted&&M.afterLeave&&M.afterLeave();return}let F=W?Vo(v):v,K=()=>{W?k(O)&&he(O,P):o(O),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(F&&F.shapeFlag&1&&M&&!M.persisted){let{leave:ee,delayLeave:G}=M,de=F.el,oe=()=>ee(de,K);G?G(de,K,oe):oe()}else K()},he=(v,w)=>{let O;for(;v!==w;)O=m(v),o(v),v=O;o(w)},re=(v,w,O)=>{let{bum:P,scope:M,job:W,subTree:F,um:K,m:ee,a:G}=v;si(ee),si(G),P&&wn(P),M.stop(),W?(W.flags|=8,se(F,v,w,O)):v.vnode.el&&F&&(F.transition=v.vnode.transition,se(F,v,w,O)),K&<(K,w),lt(()=>{v.isUnmounted=!0},w)},U=(v,w,O,P=!1,M=!1,W=0)=>{for(let F=W;F{if(v.shapeFlag&6)return te(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();let w=m(v.anchor||v.el),O=w&&w[Xd];return O?m(O):w},x=(v,w,O)=>{let P=v&&w._vnode?void 0:v&&v.component?v.component.uid:$u();Wd(()=>{v==null?w._vnode&&se(w._vnode,null,null,!0):h(w._vnode||null,v,w,null,null,null,O),w._vnode=v},P)},S={p:h,um:se,m:J,r:me,mt:ve,mc:_,pc:Ue,pbc:ne,n:te,o:e},I,B;return t&&([I,B]=t(S)),{render:x,hydrate:I,createApp:hu(x,I)}}function Po({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function rn({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Au(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Fi(e,t,s=!1){let r=e.children,o=t.children;if(ke(r)&&ke(o))for(let i=0;i>1,e[s[c]]0&&(t[r]=s[i-1]),s[i]=r)}}for(i=s.length,a=s[i-1];i-- >0;)s[i]=a,a=t[a];return s}function zi(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zi(t)}function si(e){if(e)for(let t=0;te.__isSuspense;function Pu(e,t){t&&t.pendingBranch?ke(e)?t.effects.push(...e):t.effects.push(e):ui(e)}var Y=Symbol.for("v-fgt"),Bs=Symbol.for("v-txt"),Dt=Symbol.for("v-cmt"),xn=Symbol.for("v-stc"),an=[],vt=null;function l(e=!1){an.push(vt=e?null:[])}function Bi(){an.pop(),vt=an[an.length-1]||null}var ns=1;function qs(e,t=!1){ns+=e,e<0&&vt&&t&&(vt.hasOnce=!0)}function ji(e){return e.dynamicChildren=ns>0?vt||Zt:null,Bi(),ns>0&&vt&&vt.push(e),e}function d(e,t,s,r,o,i){return ji(n(e,t,s,r,o,i,!0))}function Ut(e,t,s,r,o){return ji(Oe(e,t,s,r,o,!0))}function ss(e){return e?e.__v_isVNode===!0:!1}function Yn(e,t){return e.type===t.type&&e.key===t.key}var Gi=({key:e})=>e??null,As=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Fe(e)||Xe(e)||Ne(e)?{i:ht,r:e,k:t,f:!!s}:e:null);function n(e,t=null,s=null,r=0,o=null,i=e===Y?0:1,a=!1,c=!1){let f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Gi(t),ref:t&&As(t),scopeId:mi,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ht};return c?(Ls(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Fe(s)?8:16),ns>0&&!a&&vt&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&vt.push(f),f}var Oe=Vu;function Vu(e,t=null,s=null,r=0,o=null,i=!1){if((!e||e===au)&&(e=Dt),ss(e)){let c=_n(e,t,!0);return s&&Ls(c,s),ns>0&&!i&&vt&&(c.shapeFlag&6?vt[vt.indexOf(e)]=c:vt.push(c)),c.patchFlag=-2,c}if(Gu(e)&&(e=e.__vccOpts),t){t=Mu(t);let{class:c,style:f}=t;c&&!Fe(c)&&(t.class=T(c)),Pe(f)&&(Wn(f)&&!ke(f)&&(f=je({},f)),t.style=Te(f))}let a=Fe(e)?1:Hi(e)?128:Us(e)?64:Pe(e)?4:Ne(e)?2:0;return n(e,t,s,r,o,a,i,!0)}function Mu(e){return e?Wn(e)||Pi(e)?je({},e):e:null}function _n(e,t,s=!1,r=!1){let{props:o,ref:i,patchFlag:a,children:c,transition:f}=e,g=t?qu(o||{},t):o,b={__v_isVNode:!0,__v_skip:!0,type:e.type,props:g,key:g&&Gi(g),ref:t&&t.ref?s&&i?ke(i)?i.concat(As(t)):[i,As(t)]:As(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Y?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&_n(e.ssContent),ssFallback:e.ssFallback&&_n(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return f&&r&&ts(b,f.clone(b)),b}function y(e=" ",t=0){return Oe(Bs,null,e,t)}function fe(e,t){let s=Oe(xn,null,e);return s.staticCount=t,s}function p(e="",t=!1){return t?(l(),Ut(Dt,null,e)):Oe(Dt,null,e)}function Lt(e){return e==null||typeof e=="boolean"?Oe(Dt):ke(e)?Oe(Y,null,e.slice()):ss(e)?Wt(e):Oe(Bs,null,String(e))}function Wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_n(e)}function Ls(e,t){let s=0,{shapeFlag:r}=e;if(t==null)t=null;else if(ke(t))s=16;else if(typeof t=="object")if(r&65){let o=t.default;o&&(o._c&&(o._d=!1),Ls(e,o()),o._c&&(o._d=!0));return}else{s=32;let o=t._;!o&&!Pi(t)?t._ctx=ht:o===3&&ht&&(ht.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ne(t)){if(r&65){Ls(e,{default:t});return}t={default:t,_ctx:ht},s=32}else t=String(t),r&64?(s=16,t=[y(t)]):s=8;e.children=t,e.shapeFlag|=s}function qu(...e){let t={};for(let s=0;stt||ht,$s,os;{let e=Mn(),t=(s,r)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(r),i=>{o.length>1?o.forEach(a=>a(i)):o[0](i)}};$s=t("__VUE_INSTANCE_SETTERS__",s=>tt=s),os=t("__VUE_SSR_SETTERS__",s=>Dn=s)}var ds=e=>{let t=tt;return $s(e),e.scope.on(),()=>{e.scope.off(),$s(t)}},oi=()=>{tt&&tt.scope.off(),$s(null)};function Ki(e){return e.vnode.shapeFlag&4}var Dn=!1;function Fu(e,t=!1,s=!1){t&&os(t);let{props:r,children:o}=e.vnode,i=Ki(e);Eu(e,r,i,t),Du(e,o,s||t);let a=i?zu(e,t):void 0;return t&&os(!1),a}function zu(e,t){let s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,lu);let{setup:r}=s;if(r){St();let o=e.setupContext=r.length>1?Bu(e):null,i=ds(e),a=rs(r,e,0,[e.props,o]),c=co(a);if(Nt(),i(),(c||e.sp)&&!Xn(e)&&zo(e),c){if(a.then(oi,oi),t)return a.then(f=>{os(!0);try{ri(e,f,t)}finally{os(!1)}}).catch(f=>{is(f,e,0)});e.asyncDep=a}else ri(e,a,t)}else Yi(e,t)}function ri(e,t,s){Ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Pe(t)&&(e.setupState=Ts(t)),Yi(e,s)}var ii,ai;function Yi(e,t,s){let r=e.type;if(!e.render){if(!t&&ii&&!r.render){let o=r.template||Ho(e).template;if(o){let{isCustomElement:i,compilerOptions:a}=e.appContext.config,{delimiters:c,compilerOptions:f}=r,g=je(je({isCustomElement:i,delimiters:c},a),f);r.render=ii(o,g)}}e.render=r.render||it,ai&&ai(e)}{let o=ds(e);St();try{du(e)}finally{Nt(),o()}}}var Hu={get(e,t){return xe(e,"get",""),e[t]}};function Bu(e){let t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Hu),slots:e.slots,emit:e.emit,expose:t}}function js(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ts(Kn(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Zn)return Zn[s](e)},has(t,s){return s in t||s in Zn}})):e.proxy}function ju(e,t=!0){return Ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Gu(e){return Ne(e)&&"__vccOpts"in e}var nt=(e,t)=>jr(e,t,Dn);function De(e,t,s){try{qs(-1);let r=arguments.length;return r===2?Pe(t)&&!ke(t)?ss(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(r>3?s=Array.prototype.slice.call(arguments,2):r===3&&ss(s)&&(s=[s]),Oe(e,t,s))}finally{qs(1)}}var Wu="3.5.44";var Jo,Ji=typeof window<"u"&&window.trustedTypes;if(Ji)try{Jo=Ji.createPolicy("vue",{createHTML:e=>e})}catch{}var ia=Jo?e=>Jo.createHTML(e):e=>e,Ku="http://www.w3.org/2000/svg",Yu="http://www.w3.org/1998/Math/MathML",Yt=typeof document<"u"?document:null,Qi=Yt&&Yt.createElement("template"),Ju={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,r)=>{let o=t==="svg"?Yt.createElementNS(Ku,e):t==="mathml"?Yt.createElementNS(Yu,e):s?Yt.createElement(e,{is:s}):Yt.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Yt.createTextNode(e),createComment:e=>Yt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,r,o,i){let a=s?s.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===i||!(o=o.nextSibling)););else{Qi.innerHTML=ia(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);let c=Qi.content;if(r==="svg"||r==="mathml"){let f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,s)}return[a?a.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}};var Qu=Symbol("_vtc");function Xu(e,t,s){let r=e[Qu];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}var Ks=Symbol("_vod"),aa=Symbol("_vsh"),Q={name:"show",beforeMount(e,{value:t},{transition:s}){e[Ks]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):us(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:r}){!t!=!s&&(r?t?(r.beforeEnter(e),us(e,!0),r.enter(e)):r.leave(e,()=>{us(e,!1)}):us(e,t))},beforeUnmount(e,{value:t}){us(e,t)}};function us(e,t){e.style.display=t?e[Ks]:"none",e[aa]=!t}var Zu=Symbol("");var xu=/(?:^|;)\s*display\s*:/;function ec(e,t,s){let r=e.style,o=Fe(s),i=!1;if(s&&!o){if(t)if(Fe(t))for(let a of t.split(";")){let c=a.slice(0,a.indexOf(":")).trim();s[c]==null&&cs(r,c,"")}else for(let a in t)s[a]==null&&cs(r,a,"");for(let a in s){a==="display"&&(i=!0);let c=s[a];c!=null?nc(e,a,!Fe(t)&&t?t[a]:void 0,c)||cs(r,a,c):cs(r,a,"")}}else if(o){if(t!==s){let a=r[Zu];a&&(s+=";"+a),r.cssText=s,i=xu.test(s)}}else t&&e.removeAttribute("style");Ks in e&&((!o||t!==s)&&(e[Ks]=i?r.display:""),e[aa]&&(r.display="none"))}var Gs=/\s*!important$/;function cs(e,t,s){if(ke(s))s.forEach(r=>cs(e,t,r));else if(s==null&&(s=""),t.startsWith("--"))Gs.test(s)?e.setProperty(t,s.replace(Gs,""),"important"):e.setProperty(t,s);else{let r=tc(e,t);Gs.test(s)?e.setProperty(Tt(r),s.replace(Gs,""),"important"):e[r]=s}}var Xi=["Webkit","Moz","ms"],Wo={};function tc(e,t){let s=Wo[t];if(s)return s;let r=Ye(t);if(r!=="filter"&&r in e)return Wo[t]=r;r=tn(r);for(let o=0;oKo||(lc.then(()=>Ko=0),Ko=Date.now());function uc(e,t){let s=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=s.attached)return;let o=s.value;if(ke(o)){let i=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{i.call(r),r._stopped=!0};let a=o.slice(),c=[r];for(let f=0;fe.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,cc=(e,t,s,r,o,i)=>{let a=o==="svg";t==="class"?Xu(e,r,a):t==="style"?ec(e,s,r):yn(t)?gn(t)||oc(e,t,s,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):pc(e,t,r,a))?(ea(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&xi(e,t,r,a,i,t!=="value")):e._isVueCE&&(fc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Fe(r)))?ea(e,Ye(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),xi(e,t,r,a))};function pc(e,t,s,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&na(t)&&Ne(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){let o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return na(t)&&Fe(s)?!1:t in e}function fc(e,t){let s=e._def.props;if(!s)return!1;let r=Ye(t);return Array.isArray(s)?s.some(o=>Ye(o)===r):Object.keys(s).some(o=>Ye(o)===r)}var Ys=e=>{let t=e.props["onUpdate:modelValue"]||!1;return ke(t)?s=>wn(t,s):t};function mc(e){e.target.composing=!0}function sa(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}var cn=Symbol("_assign"),Ws=Symbol("_initialValue");function Yo(e,t,s){return t&&(e=e.trim()),s&&(e=kn(e)),e}var ps={created(e,{modifiers:{lazy:t,trim:s,number:r}},o){e.parentNode&&(e.type==="text"?e[Ws]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Ws]=e.defaultValue.replace(/\r\n?/g,` -`))),e[cn]=Ys(o);let i=r||o.props&&o.props.type==="number";un(e,t?"change":"input",a=>{a.target.composing||e[cn](Yo(e.value,s,i))}),(s||i)&&un(e,"change",()=>{e.value=Yo(e.value,s,i)}),t||(un(e,"compositionstart",mc),un(e,"compositionend",sa),un(e,"change",sa))},mounted(e,{value:t,modifiers:{trim:s,number:r}}){let o=t??"",i=e[Ws];delete e[Ws],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[cn](Yo(e.value,s,r)):e.value=o},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:r,trim:o,number:i}},a){if(e[cn]=Ys(a),e.composing)return;let c=(i||e.type==="number")&&!/^0\d/.test(e.value)?kn(e.value):e.value,f=t??"";if(c===f)return;let g=e.getRootNode();(g instanceof Document||g instanceof ShadowRoot)&&g.activeElement===e&&e.type!=="range"&&(r&&t===s||o&&e.value.trim()===f)||(e.value=f)}};var Qs={deep:!0,created(e,{value:t,modifiers:{number:s}},r){e._modelValue=t,un(e,"change",()=>{let o=Array.prototype.filter.call(e.options,f=>f.selected).map(f=>s?kn(Js(f)):Js(f)),i=e.multiple,a=i?Ht(e._modelValue)?new Set(o):o:o[0],c=e._pendingValue=[i,i?ke(a)?o.slice():o:a];try{e[cn](a)}finally{Ze(()=>{e._pendingValue===c&&(e._pendingValue=void 0)})}}),e[cn]=Ys(r)},mounted(e,{value:t}){oa(e,t)},beforeUpdate(e,{value:t},s){e._modelValue=t,e[cn]=Ys(s)},updated(e,{value:t}){let s=e._pendingValue;e._pendingValue=void 0,(!s||s[0]!==e.multiple||!hc(t,s[1],s[0]))&&oa(e,t)}};function hc(e,t,s){if(!s)return Ot(e,t);if(ke(e))return Ot(e,t);if(Ht(e)){if(e.size!==t.length)return!1;for(let r of t)if(!e.has(r))return!1;return!0}return!1}function oa(e,t){let s=e.multiple,r=ke(t);if(!(s&&!r&&!Ht(t))){for(let o=0,i=e.options.length;oString(g)===String(c)):a.selected=Sr(t,c)>-1}else a.selected=t.has(c);else if(Ot(Js(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Js(e){return"_value"in e?e._value:e.value}var vc=["ctrl","shift","alt","meta"],yc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>vc.some(s=>e[`${s}Key`]&&!t.includes(s))},ue=(e,t)=>{if(!e)return e;let s=e._withMods||(e._withMods={}),r=t.join(".");return s[r]||(s[r]=((o,...i)=>{for(let a=0;a{let s=e._withKeys||(e._withKeys={}),r=t.join(".");return s[r]||(s[r]=(o=>{if(!("key"in o))return;let i=Tt(o.key);if(t.some(a=>a===i||gc[a]===i))return e(o)}))},bc=je({patchProp:cc},Ju),ra;function wc(){return ra||(ra=Ui(bc))}var la=((...e)=>{let t=wc().createApp(...e),{mount:s}=t;return t.mount=r=>{let o=Cc(r);if(!o)return;let i=t._component;!Ne(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");let a=s(o,!1,kc(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),a},t});function kc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Cc(e){return Fe(e)?document.querySelector(e):e}var mn=typeof document<"u";function ua(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ec(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ua(e.default)}var Ve=Object.assign;function Xs(e,t){let s={};for(let r in t){let o=t[r];s[r]=kt(o)?o.map(e):e(o)}return s}var Tn=()=>{},kt=Array.isArray;function Zo(e,t){let s={};for(let r in e)s[r]=r in t?t[r]:e[r];return s}var ca=/#/g,Sc=/&/g,Nc=/\//g,_c=/=/g,Dc=/\?/g,pa=/\+/g,Rc=/%5B/g,Tc=/%5D/g,fa=/%5E/g,Oc=/%60/g,ma=/%7B/g,Ac=/%7C/g,ha=/%7D/g,Ic=/%20/g;function xo(e){return e==null?"":encodeURI(""+e).replace(Ac,"|").replace(Rc,"[").replace(Tc,"]")}function va(e){return xo(e).replace(ma,"{").replace(ha,"}").replace(fa,"^")}function Qo(e){return xo(e).replace(pa,"%2B").replace(Ic,"+").replace(ca,"%23").replace(Sc,"%26").replace(Oc,"`").replace(ma,"{").replace(ha,"}").replace(fa,"^")}function Pc(e){return Qo(e).replace(_c,"%3D")}function Vc(e){return xo(e).replace(ca,"%23").replace(Dc,"%3F")}function ya(e){return Vc(e).replace(Nc,"%2F")}function Rn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}var Mc=/\/$/,qc=e=>e.replace(Mc,"");function Zs(e,t,s="/"){let r,o={},i="",a="",c=t.indexOf("#"),f=t.indexOf("?");return f=c>=0&&f>c?-1:f,f>=0&&(r=t.slice(0,f),i=t.slice(f,c>0?c:t.length),o=e(i.slice(1))),c>=0&&(r=r||t.slice(0,c),a=t.slice(c,t.length)),r=$c(r??t,s),{fullPath:r+i+a,path:r,query:o,hash:Rn(a)}}function ga(e,t){let s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function er(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ba(e,t,s){let r=t.matched.length-1,o=s.matched.length-1;return r>-1&&r===o&&pn(t.matched[r],s.matched[o])&&tr(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function pn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function tr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var s in e)if(!Lc(e[s],t[s]))return!1;return!0}function Lc(e,t){return kt(e)?da(e,t):kt(t)?da(t,e):e?.valueOf()===t?.valueOf()}function da(e,t){return kt(t)?e.length===t.length&&e.every((s,r)=>s===t[r]):e.length===1&&e[0]===t}function $c(e,t){if(e.startsWith("/"))return e;if(!e)return t;let s=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let i=s.length-1,a,c;for(a=0;a1&&i--;else break;return s.slice(0,i).join("/")+"/"+r.slice(a).join("/")}var Qt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},xs=(function(e){return e.pop="pop",e.push="push",e})({}),eo=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function wa(e){if(!e)if(mn){let t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),qc(e)}var Uc=/^[^#]+#/;function ka(e,t){return e.replace(Uc,"#")+t}function Fc(e,t){let s=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-s.left-(t.left||0),top:r.top-s.top-(t.top||0)}}var fs=()=>({left:window.scrollX,top:window.scrollY});function Ca(e){let t;if("el"in e){let s=e.el,r=typeof s=="string"&&s.startsWith("#"),o=typeof s=="string"?r?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!o)return;t=Fc(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function nr(e,t){return(history.state?history.state.position-t:-1)+e}var Xo=new Map;function Ea(e,t){Xo.set(e,t)}function Sa(e){let t=Xo.get(e);return Xo.delete(e),t}function zc(e){return typeof e=="string"||e&&typeof e=="object"}function sr(e){return typeof e=="string"||typeof e=="symbol"}var Be=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({}),Na=Symbol("");var pU={[Be.MATCHER_NOT_FOUND]({location:e,currentLocation:t}){return`No match for +"use strict";(()=>{var ud=Object.defineProperty;var cd=(e,t)=>{for(var s in t)ud(e,s,{get:t[s],enumerable:!0})};var be=["abap","abc","actionscript","ada","alda","apache_conf","apex","applescript","aql","asciidoc","asl","assembly_x86","autohotkey","batchfile","c9search","c_cpp","cirru","clojure","cobol","coffee","coldfusion","crystal","csharp","csound_document","csound_orchestra","csound_score","csp","css","curly","d","dart","diff","django","dockerfile","dot","drools","edifact","eiffel","ejs","elixir","elm","erlang","forth","fortran","fsharp","fsl","ftl","gcode","gherkin","gitignore","glsl","gobstones","golang","graphqlschema","groovy","haml","handlebars","haskell","haskell_cabal","haxe","hjson","html","html_elixir","html_ruby","ini","io","jack","jade","java","javascript","json","json5","jsoniq","jsp","jssm","jsx","julia","kotlin","latex","less","liquid","lisp","livescript","logiql","logtalk","lsl","lua","luapage","lucene","makefile","markdown","mask","matlab","maze","mediawiki","mel","mixal","mushcode","mysql","nginx","nim","nix","nsis","nunjucks","objectivec","ocaml","pascal","perl","perl6","pgsql","php","php_laravel_blade","pig","plain_text","powershell","praat","prisma","prolog","properties","protobuf","puppet","python","qml","r","razor","rdoc","red","redshift","rhtml","rst","ruby","rust","sass","scad","scala","scheme","scss","sh","sjs","slim","smarty","snippets","soy_template","space","sparql","sql","sqlserver","stylus","svg","swift","tcl","terraform","tex","text","textile","toml","tsx","turtle","twig","typescript","vala","vbscript","velocity","verilog","vhdl","visualforce","wollok","xml","xquery","yaml","zeek"];var we={markdown:"/script/markdown.1d3b1ed22a.min.js",notebook:"/script/notebook.c3144c18ae.min.js",org:"/script/org.f61f262915.min.js",pdf:"/script/pdf.4d9cc6ff49.min.js",editor:"/script/editor.4f142d3adc.min.js"};var ms=new Map,md=we;function en(e){if(!ms.has(e)){let t=document.createElement("script");t.src=md[e];let s=new Promise((r,o)=>{t.onload=r,t.onerror=()=>{ms.delete(e),t.remove(),o(new Error(`Unable to load ${e}. Please retry.`))}});ms.set(e,s),document.head.appendChild(t)}return ms.get(e)}async function hs(){await en("editor"),ace.config.set("basePath","/script/external/ace/")}function vn(e){let t=Object.create(null);for(let s of e.split(","))t[s]=1;return s=>s in t}var Me={},Zt=[],it=()=>{},uo=()=>!1,yn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gn=e=>e.startsWith("onUpdate:"),je=Object.assign,In=(e,t)=>{let s=e.indexOf(t);s>-1&&e.splice(s,1)},hd=Object.prototype.hasOwnProperty,Ae=(e,t)=>hd.call(e,t),Ce=Array.isArray,zt=e=>Pn(e)==="[object Map]",Ht=e=>Pn(e)==="[object Set]",yr=e=>Pn(e)==="[object Date]";var Ne=e=>typeof e=="function",Fe=e=>typeof e=="string",ft=e=>typeof e=="symbol",Pe=e=>e!==null&&typeof e=="object",co=e=>(Pe(e)||Ne(e))&&Ne(e.then)&&Ne(e.catch),kr=Object.prototype.toString,Pn=e=>kr.call(e),po=e=>Pn(e).slice(8,-1),vs=e=>Pn(e)==="[object Object]",ys=e=>Fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bn=vn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");var gs=e=>{let t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},vd=/-\w/g,Ye=gs(e=>e.replace(vd,t=>t.slice(1).toUpperCase())),yd=/\B([A-Z])/g,Tt=gs(e=>e.replace(yd,"-$1").toLowerCase()),tn=gs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Vn=gs(e=>e?`on${tn(e)}`:""),gt=(e,t)=>!Object.is(e,t),wn=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:s})},kn=e=>{let t=parseFloat(e);return isNaN(t)?e:t};var gr,Mn=()=>gr||(gr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Te(e){if(Ce(e)){let t={};for(let s=0;ss.startsWith("/*")?"":s).split(gd).forEach(s=>{if(s){let r=s.split(bd);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function T(e){let t="";if(Fe(e))t=e;else if(Ce(e))for(let s=0;sOt(s,t))}var Nr=e=>!!(e&&e.__v_isRef===!0),u=e=>Fe(e)?e:e==null?"":Ce(e)||Pe(e)&&(e.toString===kr||!Ne(e.toString))?Nr(e)?u(e.value):JSON.stringify(e,_r,2):String(e),_r=(e,t)=>Nr(t)?_r(e,t.value):zt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[r,o],i)=>(s[lo(r,i)+" =>"]=o,s),{})}:Ht(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>lo(s))}:ft(t)?lo(t):Pe(t)&&!Ce(t)&&!vs(t)?String(t):t,lo=(e,t="")=>{var s;return ft(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};function Nd(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var Je,Un=class{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Je&&(Je.active?(this.parent=Je,this.index=(Je.scopes||(Je.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){let r=this.scopes.slice();for(t=0,s=r.length;t0&&--this._on===0){if(Je===this)Je=this.prevScope;else{let t=Je;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,r;for(s=0,r=this.effects.length;s0)return;if($n){let t=$n;for($n=void 0;t;){let s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Ln;){let t=Ln;for(Ln=void 0;t;){let s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=s}}if(e)throw e}function Pr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Vr(e){let t,s=e.depsTail,r=s;for(;r;){let o=r.prevDep;r.version===-1?(r===s&&(s=o),_o(r),_d(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}e.deps=t,e.depsTail=s}function vo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Mr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Mr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Fn)||(e.globalVersion=Fn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!vo(e))))return;e.flags|=2;let t=e.dep,s=$e,r=Et;$e=e,Et=!0;try{Pr(e);let o=e.fn(e._value);(t.version===0||gt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{$e=s,Et=r,Vr(e),e.flags&=-3}}function _o(e,t=!1){let{dep:s,prevSub:r,nextSub:o}=e;if(r&&(r.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=r,e.nextSub=void 0),s.subs===e&&(s.subs=r,!r&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)_o(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function _d(e){let{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}var Et=!0,qr=[];function St(){qr.push(Et),Et=!1}function Nt(){let e=qr.pop();Et=e===void 0?!0:e}function Dr(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let s=$e;$e=void 0;try{t()}finally{$e=s}}}var Fn=0,yo=class{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},zn=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!$e||!Et||$e===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==$e)s=this.activeLink=new yo($e,this),$e.deps?(s.prevDep=$e.depsTail,$e.depsTail.nextDep=s,$e.depsTail=s):$e.deps=$e.depsTail=s,Lr(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){let r=s.nextDep;r.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=r),s.prevDep=$e.depsTail,s.nextDep=void 0,$e.depsTail.nextDep=s,$e.depsTail=s,$e.deps===s&&($e.deps=r)}return s}trigger(t){this.version++,Fn++,this.notify(t)}notify(t){So();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{No()}}};function Lr(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Lr(r)}let s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}var go=new WeakMap,sn=Symbol(""),bo=Symbol(""),Hn=Symbol("");function xe(e,t,s){if(Et&&$e){let r=go.get(e);r||go.set(e,r=new Map);let o=r.get(s);o||(r.set(s,o=new zn),o.map=r,o.key=s),o.track()}}function It(e,t,s,r,o,i){let a=go.get(e);if(!a){Fn++;return}let c=f=>{f&&f.trigger()};if(So(),t==="clear")a.forEach(c);else{let f=Ce(e),g=f&&ys(s);if(f&&s==="length"){let b=Number(r);a.forEach((k,m)=>{(m==="length"||m===Hn||!ft(m)&&m>=b)&&c(k)})}else switch((s!==void 0||a.has(void 0))&&c(a.get(s)),g&&c(a.get(Hn)),t){case"add":f?g&&c(a.get("length")):(c(a.get(sn)),zt(e)&&c(a.get(bo)));break;case"delete":f||(c(a.get(sn)),zt(e)&&c(a.get(bo)));break;case"set":zt(e)&&c(a.get(sn));break}}No()}function Cn(e){let t=Ie(e);return t===e||(xe(t,"iterate",Hn),at(e))?t:bt(e)?Vt(e)?t.map(s=>jt(mt(s))):t.map(jt):t.map(mt)}function jn(e){return xe(e=Ie(e),"iterate",Hn),e}function At(e,t){return bt(e)?jt(Vt(e)?mt(t):t):mt(t)}var Dd={__proto__:null,[Symbol.iterator](){return mo(this,Symbol.iterator,e=>At(this,e))},concat(...e){return Cn(this).concat(...e.map(t=>Ce(t)?Cn(t):t))},entries(){return mo(this,"entries",e=>(e[1]=At(this,e[1]),e))},every(e,t){return Bt(this,"every",e,t,void 0,arguments)},filter(e,t){return Bt(this,"filter",e,t,s=>s.map(r=>At(this,r)),arguments)},find(e,t){return Bt(this,"find",e,t,s=>At(this,s),arguments)},findIndex(e,t){return Bt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Bt(this,"findLast",e,t,s=>At(this,s),arguments)},findLastIndex(e,t){return Bt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Bt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ho(this,"includes",e)},indexOf(...e){return ho(this,"indexOf",e)},join(e){return Cn(this).join(e)},lastIndexOf(...e){return ho(this,"lastIndexOf",e)},map(e,t){return Bt(this,"map",e,t,void 0,arguments)},pop(){return qn(this,"pop")},push(...e){return qn(this,"push",e)},reduce(e,...t){return Tr(this,"reduce",e,t)},reduceRight(e,...t){return Tr(this,"reduceRight",e,t)},shift(){return qn(this,"shift")},some(e,t){return Bt(this,"some",e,t,void 0,arguments)},splice(...e){return qn(this,"splice",e)},toReversed(){return Cn(this).toReversed()},toSorted(e){return Cn(this).toSorted(e)},toSpliced(...e){return Cn(this).toSpliced(...e)},unshift(...e){return qn(this,"unshift",e)},values(){return mo(this,"values",e=>At(this,e))}};function mo(e,t,s){let r=jn(e),o=r[t],i=o.call(r);if(r!==e&&!at(e)){if(i[Symbol.toStringTag]==="Array Iterator"){let a=Object.create(Object.getPrototypeOf(i));return a.next=()=>Rr(i.next(),s),o!==$r[t]&&Object.defineProperties(a,{return:{get(){let c=i.return;return typeof c=="function"?c.bind(i):c}},throw:{get(){let c=i.throw;return typeof c=="function"?c.bind(i):c}}}),a}i._next=i.next,i.next=()=>Rr(i._next(),s)}return i}function Rr(e,t){return e.done||(e.value=t(e.value)),e}var $r=Array.prototype;function Bt(e,t,s,r,o,i){let a=jn(e),c=a!==e&&!at(e),f=a[t];if(f!==$r[t]){let k=f.apply(e,i);return c?mt(k):k}let g=s;a!==e&&(c?g=function(k,m){return s.call(this,At(e,k),m,e)}:s.length>2&&(g=function(k,m){return s.call(this,k,m,e)}));let b=f.call(a,g,r);return c&&o?o(b):b}function Tr(e,t,s,r){let o=jn(e),i=o!==e&&!at(e),a=s,c=!1;o!==e&&(i?(c=r.length===0,a=function(g,b,k){return c&&(c=!1,g=At(e,g)),s.call(this,g,At(e,b),k,e)}):s.length>3&&(a=function(g,b,k){return s.call(this,g,b,k,e)}));let f=o[t](a,...r);return c?At(e,f):f}function ho(e,t,s){let r=Ie(e);xe(r,"iterate",Hn);let o=r[t](...s);return(o===-1||o===!1)&&Wn(s[0])?(s[0]=Ie(s[0]),r[t](...s)):o}function qn(e,t,s=[]){St(),So();let r=Ie(e)[t].apply(e,s);return No(),Nt(),r}var Rd=vn("__proto__,__v_isRef,__isVue"),Ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ft));function Td(e){ft(e)||(e=String(e));let t=Ie(this);return xe(t,"has",e),t.hasOwnProperty(e)}var Ss=class{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,r){if(s==="__v_skip")return t.__v_skip;let o=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return i;if(s==="__v_raw")return r===(o?i?$d:Hr:i?zr:Fr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;let a=Ce(t);if(!o){let f;if(a&&(f=Dd[s]))return f;if(s==="hasOwnProperty")return Td}let c=Reflect.get(t,s,Xe(t)?t:r);if((ft(s)?Ur.has(s):Rd(s))||(o||xe(t,"get",s),i))return c;if(Xe(c)){let f=a&&ys(s)?c:c.value;return o&&Pe(f)?_s(f):f}return Pe(c)?o?_s(c):ze(c):c}},Ns=class extends Ss{constructor(t=!1){super(!1,t)}set(t,s,r,o){let i=t[s],a=Ce(t)&&ys(s);if(!this._isShallow){let g=bt(i);if(!at(r)&&!bt(r)&&(i=Ie(i),r=Ie(r)),!a&&Xe(i)&&!Xe(r))return g||(i.value=r),!0}let c=a?Number(s)e,ks=e=>Reflect.getPrototypeOf(e);function Pd(e,t,s){return function(...r){let o=this.__v_raw,i=Ie(o),a=zt(i),c=e==="entries"||e===Symbol.iterator&&a,f=e==="keys"&&a,g=o[e](...r),b=s?ko:t?jt:mt;return!t&&xe(i,"iterate",f?bo:sn),je(Object.create(g),{next(){let{value:k,done:m}=g.next();return m?{value:k,done:m}:{value:c?[b(k[0]),b(k[1])]:b(k),done:m}}})}}function Cs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Vd(e,t){let s={get(o){let i=this.__v_raw,a=Ie(i),c=Ie(o);e||(gt(o,c)&&xe(a,"get",o),xe(a,"get",c));let{has:f}=ks(a),g=t?ko:e?jt:mt;if(f.call(a,o))return g(i.get(o));if(f.call(a,c))return g(i.get(c));i!==a&&i.get(o)},get size(){let o=this.__v_raw;return!e&&xe(Ie(o),"iterate",sn),o.size},has(o){let i=this.__v_raw,a=Ie(i),c=Ie(o);return e||(gt(o,c)&&xe(a,"has",o),xe(a,"has",c)),o===c?i.has(o):i.has(o)||i.has(c)},forEach(o,i){let a=this,c=a.__v_raw,f=Ie(c),g=t?ko:e?jt:mt;return!e&&xe(f,"iterate",sn),c.forEach((b,k)=>o.call(i,g(b),g(k),a))}};return je(s,e?{add:Cs("add"),set:Cs("set"),delete:Cs("delete"),clear:Cs("clear")}:{add(o){let i=Ie(this),a=ks(i),c=Ie(o),f=!t&&!at(o)&&!bt(o)?c:o;return a.has.call(i,f)||gt(o,f)&&a.has.call(i,o)||gt(c,f)&&a.has.call(i,c)||(i.add(f),It(i,"add",f,f)),this},set(o,i){!t&&!at(i)&&!bt(i)&&(i=Ie(i));let a=Ie(this),{has:c,get:f}=ks(a),g=c.call(a,o);g||(o=Ie(o),g=c.call(a,o));let b=f.call(a,o);return a.set(o,i),g?gt(i,b)&&It(a,"set",o,i,b):It(a,"add",o,i),this},delete(o){let i=Ie(this),{has:a,get:c}=ks(i),f=a.call(i,o);f||(o=Ie(o),f=a.call(i,o));let g=c?c.call(i,o):void 0,b=i.delete(o);return f&&It(i,"delete",o,void 0,g),b},clear(){let o=Ie(this),i=o.size!==0,a=void 0,c=o.clear();return i&&It(o,"clear",void 0,void 0,a),c}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=Pd(o,e,t)}),s}function Do(e,t){let s=Vd(e,t);return(r,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_isShallow"?t:o==="__v_raw"?r:Reflect.get(Ae(s,o)&&o in r?s:r,o,i)}var Md={get:Do(!1,!1)},qd={get:Do(!1,!0)},Ld={get:Do(!0,!1)};var Fr=new WeakMap,zr=new WeakMap,Hr=new WeakMap,$d=new WeakMap;function Ud(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ze(e){return bt(e)?e:Ro(e,!1,Od,Md,Fr)}function Gn(e){return Ro(e,!1,Id,qd,zr)}function _s(e){return Ro(e,!0,Ad,Ld,Hr)}function Ro(e,t,s,r,o){if(!Pe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let i=o.get(e);if(i)return i;let a=Ud(po(e));if(a===0)return e;let c=new Proxy(e,a===2?r:s);return o.set(e,c),c}function Vt(e){return bt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function at(e){return!!(e&&e.__v_isShallow)}function Wn(e){return e?!!e.__v_raw:!1}function Ie(e){let t=e&&e.__v_raw;return t?Ie(t):e}function Kn(e){return!Ae(e,"__v_skip")&&Object.isExtensible(e)&&bs(e,"__v_skip",!0),e}var mt=e=>Pe(e)?ze(e):e,jt=e=>Pe(e)?_s(e):e;function Xe(e){return e?e.__v_isRef===!0:!1}function et(e){return Br(e,!1)}function Rs(e){return Br(e,!0)}function Br(e,t){return Xe(e)?e:new Co(e,t)}var Co=class{constructor(t,s){this.dep=new zn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:Ie(t),this._value=s?t:mt(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){let s=this._rawValue,r=this.__v_isShallow||at(t)||bt(t);t=r?t:Ie(t),gt(t,s)&&(this._rawValue=t,this._value=r?t:mt(t),this.dep.trigger())}};function Gt(e){return Xe(e)?e.value:e}var Fd={get:(e,t,s)=>t==="__v_raw"?e:Gt(Reflect.get(e,t,s)),set:(e,t,s,r)=>{let o=e[t];return Xe(o)&&!Xe(s)?(o.value=s,!0):Reflect.set(e,t,s,r)}};function Ts(e){return Vt(e)?e:new Proxy(e,Fd)}var Eo=class{constructor(t,s,r){this.fn=t,this.setter=s,this._value=void 0,this.dep=new zn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Fn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&$e!==this)return Ir(this,!0),!0}get value(){let t=this.dep.track();return Mr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}};function jr(e,t,s=!1){let r,o;return Ne(e)?r=e:(r=e.get,o=e.set),new Eo(r,o,s)}var Es={},Ds=new WeakMap,nn;function Gr(e,t=!1,s=nn){if(s){let r=Ds.get(s);r||Ds.set(s,r=[]),r.push(e)}}function Wr(e,t,s=Me){let{immediate:r,deep:o,once:i,scheduler:a,augmentJob:c,call:f}=s,g=q=>{(s.onWarn||Nd)("Invalid watch source: ",q,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},b=q=>o?q:at(q)||o===!1||o===0?Pt(q,1):Pt(q),k,m,C,A,h=!1,E=!1;if(Xe(e)?(m=()=>e.value,h=at(e)):Vt(e)?(m=()=>b(e),h=!0):Ce(e)?(E=!0,h=e.some(q=>Vt(q)||at(q)),m=()=>e.map(q=>{if(Xe(q))return q.value;if(Vt(q))return b(q);if(Ne(q))return f?f(q,2):q()})):Ne(e)?t?m=f?()=>f(e,2):e:m=()=>{if(C){St();try{C()}finally{Nt()}}let q=nn;nn=k;try{return f?f(e,3,[A]):e(A)}finally{nn=q}}:m=it,t&&o){let q=m,z=o===!0?1/0:o;m=()=>Pt(q(),z)}let N=Or(),R=()=>{k.stop(),N&&N.active&&In(N.effects,k)};if(i&&t){let q=t;t=(...z)=>{try{return q(...z)}finally{R()}}}let P=E?new Array(e.length).fill(Es):Es,H=q=>{if(!(!(k.flags&1)||!k.dirty&&!q))if(t){let z=k.run();if(q||o||h||(E?z.some((ie,ae)=>gt(ie,P[ae])):gt(z,P))){let ie=nn;St();try{C&&C(),nn=k;let ae=[z,P===Es?void 0:E&&P[0]===Es?[]:P,A];P=z,f?f(t,3,ae):t(...ae)}finally{nn=ie,Nt()}}}else k.run()};return c&&c(H),k=new En(m),k.scheduler=a?()=>a(H,!1):H,A=q=>Gr(q,!1,k),C=k.onStop=()=>{let q=Ds.get(k);if(q){if(f)f(q,4);else for(let z of q)z();Ds.delete(k)}},t?r?H(!0):P=k.run():a?a(H.bind(null,!0),!0):k.run(),R.pause=k.pause.bind(k),R.resume=k.resume.bind(k),R.stop=R,R}function Pt(e,t=1/0,s){if(t<=0||!Pe(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Xe(e))Pt(e.value,t,s);else if(Ce(e))for(let r=0;r{Pt(r,t,s)});else if(vs(e)){for(let r in e)Pt(e[r],t,s);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Pt(e[r],t,s)}return e}function rs(e,t,s,r){try{return r?e(...r):e()}catch(o){is(o,t,s)}}function wt(e,t,s,r){if(Ne(e)){let o=rs(e,t,s,r);return o&&co(o)&&o.catch(i=>{is(i,t,s)}),o}if(Ce(e)){let o=[];for(let i=0;i>>1,o=ot[r],i=es(o);i=es(s)?ot.push(e):ot.splice(Gd(t),0,e),e.flags|=1,di()}}function di(){Is||(Is=li.then(fi))}function ui(e){if(!Ce(e))xt&&e.id===-1?xt.splice(Sn+1,0,e):e.flags&1||(qt.push(e),e.flags|=1);else for(let t=0;t=t))continue;ot.splice(r,1),r=e?r-1:_t,o.flags&4&&(o.flags&=-2),o(),o.flags&4||(o.flags&=-2)}}}function pi(e,t,s=0){if(qt.length){let r=qt,o=0;if(t){r=[];for(let a=0;aes(a)-es(c));if(qt.length=o,xt){for(let a=0;ae.id==null?e.flags&2?-1:1/0:e.id;function fi(e){let t=it;try{for(_t=0;_t{r._d&&qs(-1);let i=Ps(t),a=an.length,c;try{c=e(...o)}finally{for(let f=an.length;f>a;f--)Bi();Ps(i),r._d&&qs(1)}return c};return r._n=!0,r._c=!0,r._d=!0,r}function D(e,t){if(ht===null)return e;let s=js(ht),r=e.dirs||(e.dirs=[]);for(let o=0;o1)return s&&Ne(t)?t.call(r&&r.proxy):t}}var Yd=Symbol.for("v-scx"),Jd=()=>{{let e=dt(Yd);return e}};function He(e,t,s){return hi(e,t,s)}function hi(e,t,s=Me){let{immediate:r,deep:o,flush:i,once:a}=s,c=je({},s),f=t&&r||!t&&i!=="post",g;if(Dn){if(i==="sync"){let C=Jd();g=C.__watcherHandles||(C.__watcherHandles=[])}else if(!f){let C=()=>{};return C.stop=it,C.resume=it,C.pause=it,C}}let b=tt;c.call=(C,A,h)=>wt(C,b,A,h);let k=!1;i==="post"?c.scheduler=C=>{C.i=b,lt(C,b&&b.suspense)}:i!=="sync"&&(k=!0,c.scheduler=(C,A)=>{A?C():Fo(C)}),c.augmentJob=C=>{t&&(C.flags|=4),k&&(C.flags|=2,b&&(C.id=b.uid,C.i=b))};let m=Wr(e,t,c);return Dn&&(g?g.push(m):f&&m()),m}function Qd(e,t,s){let r=this.proxy,o=Fe(e)?e.includes(".")?vi(r,e):()=>r[e]:e.bind(r,r),i;Ne(t)?i=t:(i=t.handler,s=t);let a=ds(this),c=hi(o,i.bind(r),s);return a(),c}function vi(e,t){let s=t.split(".");return()=>{let r=e;for(let o=0;oe.__isTeleport;var Oo=Symbol("_leaveCb");function Zd(e){let t=e[0];if(e.length>1){let s=!1;for(let r of e)if(r.type!==Dt){t=r,s=!0;break}}return t}function yi(e){if(!Fs(e))return Us(e.type)&&e.children?Zd(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&Ne(s.default))return s.default()}}function ts(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let s=e.component.subTree;ts(Us(s.type)&&yi(s)||s,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===K&&Ce(e.children)){let s=Ti(e.children,!1);s&&ts(s,t)}}function Vo(e){if(e.component)return Vo(e.component.subTree);if(e.type===K){let t=Ce(e.children)&&Ti(e.children,!1);return t?Vo(t):void 0}if(e.type!==Dt)return e}function as(e,t){return Ne(e)?je({name:e.name},t,{setup:e}):e}function zo(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Kr(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}var Vs=new WeakMap;function Qn(e,t,s,r,o=!1){if(Ce(e)){e.forEach((h,E)=>Qn(h,t&&(Ce(t)?t[E]:t),s,r,o));return}if(Xn(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Qn(e,t,s,r.component.subTree);return}let i=r.shapeFlag&4?js(r.component):r.el,a=o?null:i,{i:c,r:f}=e,g=t&&t.r,b=c.refs===Me?c.refs={}:c.refs,k=c.setupState,m=Ie(k),C=k===Me?uo:h=>Kr(b,h)?!1:Ae(m,h),A=(h,E)=>!(E&&Kr(b,E));if(g!=null&&g!==f){if(Yr(t),Fe(g))b[g]=null,C(g)&&(k[g]=null);else if(Xe(g)){let h=t;A(g,h.k)&&(g.value=null),h.k&&(b[h.k]=null)}}if(Ne(f))rs(f,c,12,[a,b]);else{let h=Fe(f),E=Xe(f);if(h||E){let N=()=>{if(e.f){let R=h?C(f)?k[f]:b[f]:A(f)||!e.k?f.value:b[e.k];if(o)Ce(R)&&In(R,i);else if(Ce(R))R.includes(i)||R.push(i);else if(h)b[f]=[i],C(f)&&(k[f]=b[f]);else{let P=[i];A(f,e.k)&&(f.value=P),e.k&&(b[e.k]=P)}}else h?(b[f]=a,C(f)&&(k[f]=a)):E&&(A(f,e.k)&&(f.value=a),e.k&&(b[e.k]=a))};if(a){let R=()=>{N(),Vs.delete(e)};R.id=-1,Vs.set(e,R),lt(R,s)}else Yr(e),N()}}}function Yr(e){let t=Vs.get(e);t&&(t.flags|=8,Vs.delete(e))}var Jr=e=>e.nodeType===8;var V$=Mn().requestIdleCallback||(e=>setTimeout(e,1)),M$=Mn().cancelIdleCallback||(e=>clearTimeout(e));function xd(e,t){if(Jr(e)&&e.data==="["){let s=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Jr(r))if(r.data==="]"){if(--s===0)break}else r.data==="["&&s++;r=r.nextSibling}}else t(e)}var Xn=e=>!!e.type.__asyncLoader;function gi(e){Ne(e)&&(e={loader:e});let{loader:t,loadingComponent:s,errorComponent:r,delay:o=200,hydrate:i,timeout:a,suspensible:c=!0,onError:f}=e,g=null,b,k=0,m=()=>(k++,g=null,C()),C=()=>{let A;return g||(A=g=t().catch(h=>{if(h=h instanceof Error?h:new Error(String(h)),f)return new Promise((E,N)=>{f(h,()=>E(m()),()=>N(h),k+1)});throw h}).then(h=>A!==g&&g?g:(h&&(h.__esModule||h[Symbol.toStringTag]==="Module")&&(h=h.default),b=h,h)))};return as({name:"AsyncComponentWrapper",__asyncLoader:C,__asyncHydrate(A,h,E){let N=A.isConnected,R=!1;(h.bu||(h.bu=[])).push(()=>R=!0);let P=()=>{R||!A.parentNode||N&&!A.isConnected||E()},H=i?()=>{let q=i(P,z=>xd(A,z));q&&(h.bum||(h.bum=[])).push(q)}:P;b?H():C().then(()=>!h.isUnmounted&&H())},get __asyncResolved(){return b},setup(){let A=tt;if(zo(A),b)return()=>Os(b,A);let h=q=>{g=null,is(q,A,13,!r)};if(c&&A.suspense||Dn)return C().then(q=>()=>Os(q,A)).catch(q=>(h(q),()=>r?Oe(r,{error:q}):null));let E=et(!1),N=et(),R=et(!!o),P,H;return ls(()=>{P!=null&&clearTimeout(P),H!=null&&clearTimeout(H)}),o&&(H=setTimeout(()=>{A.isUnmounted||(R.value=!1)},o)),a!=null&&(P=setTimeout(()=>{if(!A.isUnmounted&&!E.value&&!N.value){let q=new Error(`Async component timed out after ${a}ms.`);h(q),N.value=q}},a)),C().then(()=>{A.isUnmounted||(E.value=!0,A.parent&&Fs(A.parent.vnode)&&A.parent.update())}).catch(q=>{if(A.isUnmounted){g=null;return}h(q),N.value=q}),()=>{if(E.value&&b)return Os(b,A);if(N.value&&r)return Oe(r,{error:N.value});if(s&&!R.value)return Os(s,A)}}})}function Os(e,t){let{ref:s,props:r,children:o,ce:i}=t.vnode,a=Oe(e,r,o);return a.ref=s,a.ce=i,delete t.vnode.ce,a}var Fs=e=>e.type.__isKeepAlive;function bi(e,t){ki(e,"a",t)}function wi(e,t){ki(e,"da",t)}function ki(e,t,s=tt){let r=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(zs(t,r,s),s){let o=s.parent;for(;o&&o.parent;)Fs(o.parent.vnode)&&eu(r,t,s,o),o=o.parent}}function eu(e,t,s,r){let o=zs(t,e,r,!0);ls(()=>{In(r[t],o)},s)}function zs(e,t,s=tt,r=!1){if(s){let o=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...a)=>{St();let c=ds(s),f=wt(t,s,e,a);return c(),Nt(),f});return r?o.unshift(i):o.push(i),i}}var Kt=e=>(t,s=tt)=>{(!Dn||e==="sp")&&zs(e,(...r)=>t(...r),s)},tu=Kt("bm"),$t=Kt("m"),Ci=Kt("bu"),Ei=Kt("u"),dn=Kt("bum"),ls=Kt("um"),nu=Kt("sp"),su=Kt("rtg"),ou=Kt("rtc");function ru(e,t=tt){zs("ec",e,t)}var Si="components",iu="directives";function Ge(e,t){return Ni(Si,e,!0,t)||e}var au=Symbol.for("v-ndc");function Ee(e){return Ni(iu,e)}function Ni(e,t,s=!0,r=!1){let o=ht||tt;if(o){let i=o.type;if(e===Si){let c=ju(i,!1);if(c&&(c===t||c===Ye(t)||c===tn(Ye(t))))return i}let a=Qr(o[e]||i[e],t)||Qr(o.appContext[e],t);return!a&&r?i:a}}function Qr(e,t){return e&&(e[t]||e[Ye(t)]||e[tn(Ye(t))])}function re(e,t,s,r){let o,i=s&&s[r],a=Ce(e);if(a||Fe(e)){let c=a&&Vt(e),f=!1,g=!1;c&&(f=!at(e),g=bt(e),e=jn(e)),o=new Array(e.length);for(let b=0,k=e.length;bt(c,f,void 0,i&&i[f]));else{let c=Object.keys(e);o=new Array(c.length);for(let f=0,g=c.length;fe?Ki(e)?js(e):Mo(e.parent):null;var Zn=je(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Mo(e.parent),$root:e=>Mo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ho(e),$forceUpdate:e=>e.f||(e.f=()=>{Fo(e.update)}),$nextTick:e=>e.n||(e.n=Ze.bind(e.proxy)),$watch:e=>Qd.bind(e)});var Ao=(e,t)=>e!==Me&&!e.__isScriptSetup&&Ae(e,t),lu={get({_:e},t){if(t==="__v_skip")return!0;let{ctx:s,setupState:r,data:o,props:i,accessCache:a,type:c,appContext:f}=e;if(t[0]!=="$"){let m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return s[t];case 3:return i[t]}else{if(Ao(r,t))return a[t]=1,r[t];if(o!==Me&&Ae(o,t))return a[t]=2,o[t];if(Ae(i,t))return a[t]=3,i[t];if(s!==Me&&Ae(s,t))return a[t]=4,s[t];qo&&(a[t]=0)}}let g=Zn[t],b,k;if(g)return t==="$attrs"&&xe(e.attrs,"get",""),g(e);if((b=c.__cssModules)&&(b=b[t]))return b;if(s!==Me&&Ae(s,t))return a[t]=4,s[t];if(k=f.config.globalProperties,Ae(k,t))return k[t]},set({_:e},t,s){let{data:r,setupState:o,ctx:i}=e;return Ao(o,t)?(o[t]=s,!0):r!==Me&&Ae(r,t)?(r[t]=s,!0):Ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:r,appContext:o,props:i,type:a}},c){let f;return!!(s[c]||e!==Me&&c[0]!=="$"&&Ae(e,c)||Ao(t,c)||Ae(i,c)||Ae(r,c)||Ae(Zn,c)||Ae(o.config.globalProperties,c)||(f=a.__cssModules)&&f[c])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Ae(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Xr(e){return Ce(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}var qo=!0;function du(e){let t=Ho(e),s=e.proxy,r=e.ctx;qo=!1,t.beforeCreate&&Zr(t.beforeCreate,e,"bc");let{data:o,computed:i,methods:a,watch:c,provide:f,inject:g,created:b,beforeMount:k,mounted:m,beforeUpdate:C,updated:A,activated:h,deactivated:E,beforeDestroy:N,beforeUnmount:R,destroyed:P,unmounted:H,render:q,renderTracked:z,renderTriggered:ie,errorCaptured:ae,serverPrefetch:_,expose:Y,inheritAttrs:Z,components:he,directives:ue,filters:ce}=t;if(g&&uu(g,r,null),a)for(let Se in a){let ge=a[Se];Ne(ge)&&(r[Se]=ge.bind(s))}if(o){let Se=o.call(s,s);Pe(Se)&&(e.data=ze(Se))}if(qo=!0,i)for(let Se in i){let ge=i[Se],Ue=Ne(ge)?ge.bind(s,s):Ne(ge.get)?ge.get.bind(s,s):it,L=!Ne(ge)&&Ne(ge.set)?ge.set.bind(s):it,X=nt({get:Ue,set:L});Object.defineProperty(r,Se,{enumerable:!0,configurable:!0,get:()=>X.value,set:J=>X.value=J})}if(c)for(let Se in c)_i(c[Se],r,s,Se);if(f){let Se=Ne(f)?f.call(s):f;Reflect.ownKeys(Se).forEach(ge=>{ln(ge,Se[ge])})}b&&Zr(b,e,"c");function _e(Se,ge){Ce(ge)?ge.forEach(Ue=>Se(Ue.bind(s))):ge&&Se(ge.bind(s))}if(_e(tu,k),_e($t,m),_e(Ci,C),_e(Ei,A),_e(bi,h),_e(wi,E),_e(ru,ae),_e(ou,z),_e(su,ie),_e(dn,R),_e(ls,H),_e(nu,_),Ce(Y))if(Y.length){let Se=e.exposed||(e.exposed={});Y.forEach(ge=>{Object.defineProperty(Se,ge,{get:()=>s[ge],set:Ue=>s[ge]=Ue,enumerable:!0})})}else e.exposed||(e.exposed={});q&&e.render===it&&(e.render=q),Z!=null&&(e.inheritAttrs=Z),he&&(e.components=he),ue&&(e.directives=ue),_&&zo(e)}function uu(e,t,s=it){Ce(e)&&(e=Lo(e));for(let r in e){let o=e[r],i;Pe(o)?"default"in o?i=dt(o.from||r,o.default,!0):i=dt(o.from||r):i=dt(o),Xe(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[r]=i}}function Zr(e,t,s){wt(Ce(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,s)}function _i(e,t,s,r){let o=r.includes(".")?vi(s,r):()=>s[r];if(Fe(e)){let i=t[e];Ne(i)&&He(o,i)}else if(Ne(e))He(o,e.bind(s));else if(Pe(e))if(Ce(e))e.forEach(i=>_i(i,t,s,r));else{let i=Ne(e.handler)?e.handler.bind(s):t[e.handler];Ne(i)&&He(o,i,e)}}function Ho(e){let t=e.type,{mixins:s,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,c=i.get(t),f;return c?f=c:!o.length&&!s&&!r?f=t:(f={},o.length&&o.forEach(g=>Ms(f,g,a,!0)),Ms(f,t,a)),Pe(t)&&i.set(t,f),f}function Ms(e,t,s,r=!1){let{mixins:o,extends:i}=t;i&&Ms(e,i,s,!0),o&&o.forEach(a=>Ms(e,a,s,!0));for(let a in t)if(!(r&&a==="expose")){let c=cu[a]||s&&s[a];e[a]=c?c(e[a],t[a]):t[a]}return e}var cu={data:xr,props:ei,emits:ei,methods:Jn,computed:Jn,beforeCreate:st,created:st,beforeMount:st,mounted:st,beforeUpdate:st,updated:st,beforeDestroy:st,beforeUnmount:st,destroyed:st,unmounted:st,activated:st,deactivated:st,errorCaptured:st,serverPrefetch:st,components:Jn,directives:Jn,watch:fu,provide:xr,inject:pu};function xr(e,t){return t?e?function(){return je(Ne(e)?e.call(this,this):e,Ne(t)?t.call(this,this):t)}:t:e}function pu(e,t){return Jn(Lo(e),Lo(t))}function Lo(e){if(Ce(e)){let t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ye(t)}Modifiers`]||e[`${Tt(t)}Modifiers`];function yu(e,t,...s){if(e.isUnmounted)return;let r=e.vnode.props||Me,o=s,i=t.startsWith("update:"),a=i&&vu(r,t.slice(7));a&&(a.trim&&(o=s.map(b=>Fe(b)?b.trim():b)),a.number&&(o=o.map(kn)));let c,f=r[c=Vn(t)]||r[c=Vn(Ye(t))];!f&&i&&(f=r[c=Vn(Tt(t))]),f&&wt(f,e,6,o);let g=r[c+"Once"];if(g){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,wt(g,e,6,o)}}var gu=new WeakMap;function Ri(e,t,s=!1){let r=s?gu:t.emitsCache,o=r.get(e);if(o!==void 0)return o;let i=e.emits,a={},c=!1;if(!Ne(e)){let f=g=>{let b=Ri(g,t,!0);b&&(c=!0,je(a,b))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!c?(Pe(e)&&r.set(e,null),null):(Ce(i)?i.forEach(f=>a[f]=null):je(a,i),Pe(e)&&r.set(e,a),a)}function Hs(e,t){return!e||!yn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ae(e,t[0].toLowerCase()+t.slice(1))||Ae(e,Tt(t))||Ae(e,t))}function Io(e){let{type:t,vnode:s,proxy:r,withProxy:o,propsOptions:[i],slots:a,attrs:c,emit:f,render:g,renderCache:b,props:k,data:m,setupState:C,ctx:A,inheritAttrs:h}=e,E=Ps(e),N,R;try{if(s.shapeFlag&4){let q=o||r,z=q;N=Lt(g.call(z,q,b,k,C,m,A)),R=c}else{let q=t;N=Lt(q.length>1?q(k,{attrs:c,slots:a,emit:f}):q(k,null)),R=t.props?c:bu(c)}}catch(q){an.length=0,is(q,e,1),N=Oe(Dt)}let P=N,H;if(R&&h!==!1){let q=Object.keys(R),{shapeFlag:z}=P;q.length&&z&7&&(i&&q.some(gn)&&(R=wu(R,i)),P=_n(P,R,!1,!0))}if(s.dirs&&(P=_n(P,null,!1,!0),P.dirs=P.dirs?P.dirs.concat(s.dirs):s.dirs),s.transition){let q=Us(P.type)&&yi(P)||P;ts(q,s.transition)}return N=P,Ps(E),N}function Ti(e,t=!0){let s;for(let r=0;r{let t;for(let s in e)(s==="class"||s==="style"||yn(s))&&((t||(t={}))[s]=e[s]);return t},wu=(e,t)=>{let s={};for(let r in e)(!gn(r)||!(r.slice(9)in t))&&(s[r]=e[r]);return s};function ku(e,t,s){let{props:r,children:o,component:i}=e,{props:a,children:c,patchFlag:f}=t,g=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return r?ti(r,a,g):!!a;if(f&8){let b=t.dynamicProps;for(let k=0;kObject.create(Ai),Pi=e=>Object.getPrototypeOf(e)===Ai;function Eu(e,t,s,r=!1){let o={},i=Ii();e.propsDefaults=Object.create(null),Vi(e,t,o,i);for(let a in e.propsOptions[0])a in o||(o[a]=void 0);s?e.props=r?o:Gn(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Su(e,t,s,r){let{props:o,attrs:i,vnode:{patchFlag:a}}=e,c=Ie(o),[f]=e.propsOptions,g=!1;if((r||a>0)&&!(a&16)){if(a&8){let b=e.vnode.dynamicProps;for(let k=0;k{f=!0;let[m,C]=Mi(k,t,!0);je(a,m),C&&c.push(...C)};!s&&t.mixins.length&&t.mixins.forEach(b),e.extends&&b(e.extends),e.mixins&&e.mixins.forEach(b)}if(!i&&!f)return Pe(e)&&r.set(e,Zt),Zt;if(Ce(i))for(let b=0;be==="_"||e==="_ctx"||e==="$stable",jo=e=>Ce(e)?e.map(Lt):[Lt(e)],_u=(e,t,s)=>{if(t._n)return t;let r=Kd((...o)=>jo(t(...o)),s);return r._c=!1,r},qi=(e,t,s)=>{let r=e._ctx;for(let o in e){if(Bo(o))continue;let i=e[o];if(Ne(i))t[o]=_u(o,i,r);else if(i!=null){let a=jo(i);t[o]=()=>a}}},Li=(e,t)=>{let s=jo(t);e.slots.default=()=>s},$i=(e,t,s)=>{for(let r in t)(s||!Bo(r))&&(e[r]=t[r])},Du=(e,t,s)=>{let r=e.slots=Ii();if(e.vnode.shapeFlag&32){let o=t._;o?($i(r,t,s),s&&bs(r,"_",o,!0)):qi(t,r)}else t&&Li(e,t)},Ru=(e,t,s)=>{let{vnode:r,slots:o}=e,i=!0,a=Me;if(r.shapeFlag&32){let c=t._;c?s&&c===1?i=!1:$i(o,t,s):(i=!t.$stable,qi(t,o)),a=t}else t&&(Li(e,t),a={default:1});if(i)for(let c in o)!Bo(c)&&a[c]==null&&delete o[c]};function Tu(){let e=[]}var lt=Pu;function Ui(e){return Ou(e)}function Ou(e,t){Tu();let s=Mn();s.__VUE__=!0;let{insert:r,remove:o,patchProp:i,createElement:a,createText:c,createComment:f,setText:g,setElementText:b,parentNode:k,nextSibling:m,setScopeId:C=it,insertStaticContent:A}=e,h=(v,w,O,V=null,M=null,G=null,F=void 0,W=null,ee=!!w.dynamicChildren)=>{if(v===w)return;v&&!Yn(v,w)&&(V=te(v),ne(v,M,G,!0),v=null),w.patchFlag===-2&&(ee=!1,w.dynamicChildren=null),w.dynamicChildren&&v&&v.dynamicChildren&&v.dynamicChildren.hasOnce&&(w.dynamicChildren===Zt&&(w.dynamicChildren=[]),w.dynamicChildren.hasOnce=!0);let{type:j,ref:le,shapeFlag:se}=w;switch(j){case Bs:E(v,w,O,V);break;case Dt:N(v,w,O,V);break;case xn:v==null&&R(w,O,V,F);break;case K:ue(v,w,O,V,M,G,F,W,ee);break;default:se&1?z(v,w,O,V,M,G,F,W,ee):se&6?ce(v,w,O,V,M,G,F,W,ee):(se&64||se&128)&&j.process(v,w,O,V,M,G,F,W,ee,S)}le!=null&&M?Qn(le,v&&v.ref,G,w||v,!w):le==null&&v&&v.ref!=null&&Qn(v.ref,null,G,v,!0)},E=(v,w,O,V)=>{if(v==null)r(w.el=c(w.children),O,V);else{let M=w.el=v.el;w.children!==v.children&&g(M,w.children)}},N=(v,w,O,V)=>{v==null?r(w.el=f(w.children||""),O,V):w.el=v.el},R=(v,w,O,V)=>{[v.el,v.anchor]=A(v.children,w,O,V,v.el,v.anchor)},P=(v,w,O,V)=>{if(w.children!==v.children){let M=m(v.anchor);q(v),[w.el,w.anchor]=A(w.children,O,M,V)}else w.el=v.el,w.anchor=v.anchor},H=({el:v,anchor:w},O,V)=>{let M;for(;v&&v!==w;)M=m(v),r(v,O,V),v=M;r(w,O,V)},q=({el:v,anchor:w})=>{let O;for(;v&&v!==w;)O=m(v),o(v),v=O;o(w)},z=(v,w,O,V,M,G,F,W,ee)=>{if(w.type==="svg"?F="svg":w.type==="math"&&(F="mathml"),v==null)ie(w,O,V,M,G,F,W,ee);else{let j=v.el&&v.el._isVueCE?v.el:null;try{j&&j._beginPatch(),Y(v,w,M,G,F,W,ee)}finally{j&&j._endPatch()}}},ie=(v,w,O,V,M,G,F,W)=>{let ee,j,{props:le,shapeFlag:se,transition:pe,dirs:ke}=v;if(ee=v.el=a(v.type,G,le&&le.is,le),se&8?b(ee,v.children):se&16&&_(v.children,ee,null,V,M,Po(v,G),F,W),ke&&on(v,null,V,"created"),ae(ee,v,v.scopeId,F,V),le){for(let Le in le)Le!=="value"&&!bn(Le)&&i(ee,Le,null,le[Le],G,V);"value"in le&&i(ee,"value",null,le.value,G),(j=le.onVnodeBeforeMount)&&Mt(j,V,v)}ke&&on(v,null,V,"beforeMount");let Re=Au(M,pe);Re&&pe.beforeEnter(ee),r(ee,w,O),((j=le&&le.onVnodeMounted)||Re||ke)&<(()=>{let qe;j&&Mt(j,V,v),Re&&pe.enter(ee),ke&&on(v,null,V,"mounted")},M)},ae=(v,w,O,V,M)=>{if(O&&C(v,O),V)for(let G=0;G{for(let j=ee;j{let W=w.el=v.el,{patchFlag:ee,dynamicChildren:j,dirs:le}=w;ee|=v.patchFlag&16;let se=v.props||Me,pe=w.props||Me,ke;if(O&&rn(O,!1),(ke=pe.onVnodeBeforeUpdate)&&Mt(ke,O,w,v),le&&on(w,v,O,"beforeUpdate"),O&&rn(O,!0),j&&(!v.dynamicChildren||v.dynamicChildren.length!==j.length)&&(ee=0,F=!1,j=null),(se.innerHTML&&pe.innerHTML==null||se.textContent&&pe.textContent==null)&&b(W,""),j?Z(v.dynamicChildren,j,W,O,V,Po(w,M),G):F||Ue(v,w,W,null,O,V,Po(w,M),G,!1),ee>0){if(ee&16)he(W,se,pe,O,M);else if(ee&2&&se.class!==pe.class&&i(W,"class",null,pe.class,M),ee&4&&i(W,"style",se.style,pe.style,M),ee&8){let Re=w.dynamicProps;for(let Le=0;Le{ke&&Mt(ke,O,w,v),le&&on(w,v,O,"updated")},V)},Z=(v,w,O,V,M,G,F)=>{for(let W=0;W{if(w!==O){if(w!==Me)for(let G in w)!bn(G)&&!(G in O)&&i(v,G,w[G],null,M,V);for(let G in O){if(bn(G))continue;let F=O[G],W=w[G];F!==W&&G!=="value"&&i(v,G,W,F,M,V)}"value"in O&&i(v,"value",w.value,O.value,M)}},ue=(v,w,O,V,M,G,F,W,ee)=>{let j=w.el=v?v.el:c(""),le=w.anchor=v?v.anchor:c(""),{patchFlag:se,dynamicChildren:pe,slotScopeIds:ke}=w;ke&&(W=W?W.concat(ke):ke),v==null?(r(j,O,V),r(le,O,V),_(w.children||[],O,le,M,G,F,W,ee)):se>0&&se&64&&pe&&v.dynamicChildren&&v.dynamicChildren.length===pe.length?(Z(v.dynamicChildren,pe,O,M,G,F,W),(w.key!=null||M&&w===M.subTree)&&Fi(v,w,!0)):Ue(v,w,O,le,M,G,F,W,ee)},ce=(v,w,O,V,M,G,F,W,ee)=>{w.slotScopeIds=W,v==null?w.shapeFlag&512?M.ctx.activate(w,O,V,F,ee):ye(w,O,V,M,G,F,ee):_e(v,w,ee)},ye=(v,w,O,V,M,G,F)=>{let W=v.component=Uu(v,V,M);if(Fs(v)&&(W.ctx.renderer=S),Fu(W,!1,F),W.asyncDep){if(M&&M.registerDep(W,Se,F,G),!v.el){let ee=W.subTree=Oe(Dt);N(null,ee,w,O),v.placeholder=ee.el}}else Se(W,v,w,O,M,G,F)},_e=(v,w,O)=>{let V=w.component=v.component;if(ku(v,w,O))if(V.asyncDep&&!V.asyncResolved){w.el=v.el,w.placeholder=v.placeholder,ge(V,w,O);return}else V.next=w,V.update();else w.el=v.el,w.placeholder=v.placeholder,V.vnode=w},Se=(v,w,O,V,M,G,F)=>{let W=()=>{if(v.isMounted){let{next:se,bu:pe,u:ke,parent:Re,vnode:Le}=v;{let ct=zi(v);if(ct){se&&(se.el=Le.el,ge(v,se,F)),ct.asyncDep.then(()=>{lt(()=>{v.isUnmounted||j()},M)});return}}let qe=se,We;rn(v,!1),se?(se.el=Le.el,ge(v,se,F)):se=Le,pe&&wn(pe),(We=se.props&&se.props.onVnodeBeforeUpdate)&&Mt(We,Re,se,Le),rn(v,!0);let Ke=Io(v),Ct=v.subTree;v.subTree=Ke,h(Ct,Ke,k(Ct.el),te(Ct),v,M,G),se.el=Ke.el,qe===null&&Cu(v,Ke.el),ke&<(ke,M),(We=se.props&&se.props.onVnodeUpdated)&<(()=>Mt(We,Re,se,Le),M)}else{let se,{el:pe,props:ke}=w,{bm:Re,m:Le,parent:qe,root:We,type:Ke}=v,Ct=Xn(w);if(rn(v,!1),Re&&wn(Re),!Ct&&(se=ke&&ke.onVnodeBeforeMount)&&Mt(se,qe,w),rn(v,!0),pe&&B){let ct=()=>{v.subTree=Io(v),B(pe,v.subTree,v,M,null)};Ct&&Ke.__asyncHydrate?Ke.__asyncHydrate(pe,v,ct):ct()}else{We.ce&&We.ce._hasShadowRoot()&&We.ce._injectChildStyle(Ke,v.parent?v.parent.type:void 0);let ct=v.subTree=Io(v);h(null,ct,O,V,v,M,G),w.el=ct.el}if(Le&<(Le,M),!Ct&&(se=ke&&ke.onVnodeMounted)){let ct=w;lt(()=>Mt(se,qe,ct),M)}(w.shapeFlag&256||qe&&Xn(qe.vnode)&&qe.vnode.shapeFlag&256)&&v.a&<(v.a,M),v.isMounted=!0,w=O=V=null}};v.scope.on();let ee=v.effect=new En(W);v.scope.off();let j=v.update=ee.run.bind(ee),le=v.job=ee.runIfDirty.bind(ee);le.i=v,le.id=v.uid,ee.scheduler=()=>Fo(le),rn(v,!0),j()},ge=(v,w,O)=>{w.component=v;let V=v.vnode.props;v.vnode=w,v.next=null,Su(v,w.props,V,O),Ru(v,w.children,O),St(),ci(v),Nt()},Ue=(v,w,O,V,M,G,F,W,ee=!1)=>{let j=v&&v.children,le=v?v.shapeFlag:0,se=w.children,{patchFlag:pe,shapeFlag:ke}=w;if(pe>0){if(pe&128){X(j,se,O,V,M,G,F,W,ee);return}else if(pe&256){L(j,se,O,V,M,G,F,W,ee);return}}ke&8?(le&16&&U(j,M,G),se!==j&&b(O,se)):le&16?ke&16?X(j,se,O,V,M,G,F,W,ee):U(j,M,G,!0):(le&8&&b(O,""),ke&16&&_(se,O,V,M,G,F,W,ee))},L=(v,w,O,V,M,G,F,W,ee)=>{v=v||Zt,w=w||Zt;let j=v.length,le=w.length,se=Math.min(j,le),pe;for(pe=0;pele?U(v,M,G,!0,!1,se):_(w,O,V,M,G,F,W,ee,se)},X=(v,w,O,V,M,G,F,W,ee)=>{let j=0,le=w.length,se=v.length-1,pe=le-1;for(;j<=se&&j<=pe;){let ke=v[j],Re=w[j]=ee?Wt(w[j]):Lt(w[j]);if(Yn(ke,Re))h(ke,Re,O,null,M,G,F,W,ee);else break;j++}for(;j<=se&&j<=pe;){let ke=v[se],Re=w[pe]=ee?Wt(w[pe]):Lt(w[pe]);if(Yn(ke,Re))h(ke,Re,O,null,M,G,F,W,ee);else break;se--,pe--}if(j>se){if(j<=pe){let ke=pe+1,Re=kepe)for(;j<=se;)ne(v[j],M,G,!0),j++;else{let ke=j,Re=j,Le=new Map;for(j=Re;j<=pe;j++){let pt=w[j]=ee?Wt(w[j]):Lt(w[j]);pt.key!=null&&Le.set(pt.key,j)}let qe,We=0,Ke=pe-Re+1,Ct=!1,ct=0,An=new Array(Ke);for(j=0;j=Ke){ne(pt,M,G,!0);continue}let Rt;if(pt.key!=null)Rt=Le.get(pt.key);else for(qe=Re;qe<=pe;qe++)if(An[qe-Re]===0&&Yn(pt,w[qe])){Rt=qe;break}Rt===void 0?ne(pt,M,G,!0):(An[Rt-Re]=j+1,Rt>=ct?ct=Rt:Ct=!0,h(pt,w[Rt],O,null,M,G,F,W,ee),We++)}let mr=Ct?Iu(An):Zt;for(qe=mr.length-1,j=Ke-1;j>=0;j--){let pt=Re+j,Rt=w[pt],hr=w[pt+1],vr=pt+1{let{el:G,type:F,transition:W,children:ee,shapeFlag:j}=v;if(j&6){J(v.component.subTree,w,O,V);return}if(j&128){v.suspense.move(w,O,V);return}if(j&64){F.move(v,w,O,S);return}if(F===K){r(G,w,O);for(let se=0;seW.enter(G),M));else{let{leave:se,delayLeave:pe,afterLeave:ke}=W,Re=()=>{v.ctx.isUnmounted?o(G):r(G,w,O)},Le=()=>{let qe=G._isLeaving||!!G[Oo];G._isLeaving&&G[Oo](!0),W.persisted&&!qe?Re():se(G,()=>{Re(),ke&&ke()})};pe?pe(G,Re,Le):Le()}else r(G,w,O)},ne=(v,w,O,V=!1,M=!1)=>{let{type:G,props:F,ref:W,children:ee,dynamicChildren:j,shapeFlag:le,patchFlag:se,dirs:pe,cacheIndex:ke,memo:Re}=v;if((se===-2||j&&j.hasOnce)&&(M=!1),W!=null&&(St(),Qn(W,null,O,v,!0),Nt()),ke!=null&&(!v.ctx||v.ctx===w)&&(w.renderCache[ke]=void 0),le&256){w.ctx.deactivate(v);return}let Le=le&1&&pe,qe=!Xn(v),We;if(qe&&(We=F&&F.onVnodeBeforeUnmount)&&Mt(We,w,v),le&6)oe(v.component,O,V);else{if(le&128){v.suspense.unmount(O,V);return}Le&&on(v,null,w,"beforeUnmount"),le&64?v.type.remove(v,w,O,S,V):j&&!j.hasOnce&&(G!==K||se>0&&se&64)?U(j,w,O,!1,!0):(G===K&&se&384||!M&&le&16)&&U(ee,w,O),V&&me(v)}let Ke=Re!=null&&ke==null;(qe&&(We=F&&F.onVnodeUnmounted)||Le||Ke)&<(()=>{We&&Mt(We,w,v),Le&&on(v,null,w,"unmounted"),Ke&&(v.el=null)},O)},me=v=>{let{type:w,el:O,anchor:V,transition:M}=v,G=w===K;if(G&&!M){ve(O,V);return}if(w===xn){q(v),M&&!M.persisted&&M.afterLeave&&M.afterLeave();return}let F=G?Vo(v):v,W=()=>{G?k(O)&&ve(O,V):o(O),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(F&&F.shapeFlag&1&&M&&!M.persisted){let{leave:ee,delayLeave:j}=M,le=F.el,se=()=>ee(le,W);j?j(le,W,se):se()}else W()},ve=(v,w)=>{let O;for(;v!==w;)O=m(v),o(v),v=O;o(w)},oe=(v,w,O)=>{let{bum:V,scope:M,job:G,subTree:F,um:W,m:ee,a:j}=v;si(ee),si(j),V&&wn(V),M.stop(),G?(G.flags|=8,ne(F,v,w,O)):v.vnode.el&&F&&(F.transition=v.vnode.transition,ne(F,v,w,O)),W&<(W,w),lt(()=>{v.isUnmounted=!0},w)},U=(v,w,O,V=!1,M=!1,G=0)=>{for(let F=G;F{if(v.shapeFlag&6)return te(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();let w=m(v.anchor||v.el),O=w&&w[Xd];return O?m(O):w},x=(v,w,O)=>{let V=v&&w._vnode?void 0:v&&v.component?v.component.uid:$u();Wd(()=>{v==null?w._vnode&&ne(w._vnode,null,null,!0):h(w._vnode||null,v,w,null,null,null,O),w._vnode=v},V)},S={p:h,um:ne,m:J,r:me,mt:ye,mc:_,pc:Ue,pbc:Z,n:te,o:e},I,B;return t&&([I,B]=t(S)),{render:x,hydrate:I,createApp:hu(x,I)}}function Po({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function rn({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Au(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Fi(e,t,s=!1){let r=e.children,o=t.children;if(Ce(r)&&Ce(o))for(let i=0;i>1,e[s[c]]0&&(t[r]=s[i-1]),s[i]=r)}}for(i=s.length,a=s[i-1];i-- >0;)s[i]=a,a=t[a];return s}function zi(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zi(t)}function si(e){if(e)for(let t=0;te.__isSuspense;function Pu(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):ui(e)}var K=Symbol.for("v-fgt"),Bs=Symbol.for("v-txt"),Dt=Symbol.for("v-cmt"),xn=Symbol.for("v-stc"),an=[],vt=null;function l(e=!1){an.push(vt=e?null:[])}function Bi(){an.pop(),vt=an[an.length-1]||null}var ns=1;function qs(e,t=!1){ns+=e,e<0&&vt&&t&&(vt.hasOnce=!0)}function ji(e){return e.dynamicChildren=ns>0?vt||Zt:null,Bi(),ns>0&&vt&&vt.push(e),e}function d(e,t,s,r,o,i){return ji(n(e,t,s,r,o,i,!0))}function Ut(e,t,s,r,o){return ji(Oe(e,t,s,r,o,!0))}function ss(e){return e?e.__v_isVNode===!0:!1}function Yn(e,t){return e.type===t.type&&e.key===t.key}var Gi=({key:e})=>e??null,As=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Fe(e)||Xe(e)||Ne(e)?{i:ht,r:e,k:t,f:!!s}:e:null);function n(e,t=null,s=null,r=0,o=null,i=e===K?0:1,a=!1,c=!1){let f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Gi(t),ref:t&&As(t),scopeId:mi,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ht};return c?(Ls(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Fe(s)?8:16),ns>0&&!a&&vt&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&vt.push(f),f}var Oe=Vu;function Vu(e,t=null,s=null,r=0,o=null,i=!1){if((!e||e===au)&&(e=Dt),ss(e)){let c=_n(e,t,!0);return s&&Ls(c,s),ns>0&&!i&&vt&&(c.shapeFlag&6?vt[vt.indexOf(e)]=c:vt.push(c)),c.patchFlag=-2,c}if(Gu(e)&&(e=e.__vccOpts),t){t=Mu(t);let{class:c,style:f}=t;c&&!Fe(c)&&(t.class=T(c)),Pe(f)&&(Wn(f)&&!Ce(f)&&(f=je({},f)),t.style=Te(f))}let a=Fe(e)?1:Hi(e)?128:Us(e)?64:Pe(e)?4:Ne(e)?2:0;return n(e,t,s,r,o,a,i,!0)}function Mu(e){return e?Wn(e)||Pi(e)?je({},e):e:null}function _n(e,t,s=!1,r=!1){let{props:o,ref:i,patchFlag:a,children:c,transition:f}=e,g=t?qu(o||{},t):o,b={__v_isVNode:!0,__v_skip:!0,type:e.type,props:g,key:g&&Gi(g),ref:t&&t.ref?s&&i?Ce(i)?i.concat(As(t)):[i,As(t)]:As(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==K?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&_n(e.ssContent),ssFallback:e.ssFallback&&_n(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return f&&r&&ts(b,f.clone(b)),b}function y(e=" ",t=0){return Oe(Bs,null,e,t)}function fe(e,t){let s=Oe(xn,null,e);return s.staticCount=t,s}function p(e="",t=!1){return t?(l(),Ut(Dt,null,e)):Oe(Dt,null,e)}function Lt(e){return e==null||typeof e=="boolean"?Oe(Dt):Ce(e)?Oe(K,null,e.slice()):ss(e)?Wt(e):Oe(Bs,null,String(e))}function Wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_n(e)}function Ls(e,t){let s=0,{shapeFlag:r}=e;if(t==null)t=null;else if(Ce(t))s=16;else if(typeof t=="object")if(r&65){let o=t.default;o&&(o._c&&(o._d=!1),Ls(e,o()),o._c&&(o._d=!0));return}else{s=32;let o=t._;!o&&!Pi(t)?t._ctx=ht:o===3&&ht&&(ht.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ne(t)){if(r&65){Ls(e,{default:t});return}t={default:t,_ctx:ht},s=32}else t=String(t),r&64?(s=16,t=[y(t)]):s=8;e.children=t,e.shapeFlag|=s}function qu(...e){let t={};for(let s=0;stt||ht,$s,os;{let e=Mn(),t=(s,r)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(r),i=>{o.length>1?o.forEach(a=>a(i)):o[0](i)}};$s=t("__VUE_INSTANCE_SETTERS__",s=>tt=s),os=t("__VUE_SSR_SETTERS__",s=>Dn=s)}var ds=e=>{let t=tt;return $s(e),e.scope.on(),()=>{e.scope.off(),$s(t)}},oi=()=>{tt&&tt.scope.off(),$s(null)};function Ki(e){return e.vnode.shapeFlag&4}var Dn=!1;function Fu(e,t=!1,s=!1){t&&os(t);let{props:r,children:o}=e.vnode,i=Ki(e);Eu(e,r,i,t),Du(e,o,s||t);let a=i?zu(e,t):void 0;return t&&os(!1),a}function zu(e,t){let s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,lu);let{setup:r}=s;if(r){St();let o=e.setupContext=r.length>1?Bu(e):null,i=ds(e),a=rs(r,e,0,[e.props,o]),c=co(a);if(Nt(),i(),(c||e.sp)&&!Xn(e)&&zo(e),c){if(a.then(oi,oi),t)return a.then(f=>{os(!0);try{ri(e,f,t)}finally{os(!1)}}).catch(f=>{is(f,e,0)});e.asyncDep=a}else ri(e,a,t)}else Yi(e,t)}function ri(e,t,s){Ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Pe(t)&&(e.setupState=Ts(t)),Yi(e,s)}var ii,ai;function Yi(e,t,s){let r=e.type;if(!e.render){if(!t&&ii&&!r.render){let o=r.template||Ho(e).template;if(o){let{isCustomElement:i,compilerOptions:a}=e.appContext.config,{delimiters:c,compilerOptions:f}=r,g=je(je({isCustomElement:i,delimiters:c},a),f);r.render=ii(o,g)}}e.render=r.render||it,ai&&ai(e)}{let o=ds(e);St();try{du(e)}finally{Nt(),o()}}}var Hu={get(e,t){return xe(e,"get",""),e[t]}};function Bu(e){let t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Hu),slots:e.slots,emit:e.emit,expose:t}}function js(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ts(Kn(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Zn)return Zn[s](e)},has(t,s){return s in t||s in Zn}})):e.proxy}function ju(e,t=!0){return Ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Gu(e){return Ne(e)&&"__vccOpts"in e}var nt=(e,t)=>jr(e,t,Dn);function De(e,t,s){try{qs(-1);let r=arguments.length;return r===2?Pe(t)&&!Ce(t)?ss(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(r>3?s=Array.prototype.slice.call(arguments,2):r===3&&ss(s)&&(s=[s]),Oe(e,t,s))}finally{qs(1)}}var Wu="3.5.44";var Jo,Ji=typeof window<"u"&&window.trustedTypes;if(Ji)try{Jo=Ji.createPolicy("vue",{createHTML:e=>e})}catch{}var ia=Jo?e=>Jo.createHTML(e):e=>e,Ku="http://www.w3.org/2000/svg",Yu="http://www.w3.org/1998/Math/MathML",Yt=typeof document<"u"?document:null,Qi=Yt&&Yt.createElement("template"),Ju={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,r)=>{let o=t==="svg"?Yt.createElementNS(Ku,e):t==="mathml"?Yt.createElementNS(Yu,e):s?Yt.createElement(e,{is:s}):Yt.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Yt.createTextNode(e),createComment:e=>Yt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,r,o,i){let a=s?s.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===i||!(o=o.nextSibling)););else{Qi.innerHTML=ia(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);let c=Qi.content;if(r==="svg"||r==="mathml"){let f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,s)}return[a?a.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}};var Qu=Symbol("_vtc");function Xu(e,t,s){let r=e[Qu];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}var Ks=Symbol("_vod"),aa=Symbol("_vsh"),Q={name:"show",beforeMount(e,{value:t},{transition:s}){e[Ks]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):us(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:r}){!t!=!s&&(r?t?(r.beforeEnter(e),us(e,!0),r.enter(e)):r.leave(e,()=>{us(e,!1)}):us(e,t))},beforeUnmount(e,{value:t}){us(e,t)}};function us(e,t){e.style.display=t?e[Ks]:"none",e[aa]=!t}var Zu=Symbol("");var xu=/(?:^|;)\s*display\s*:/;function ec(e,t,s){let r=e.style,o=Fe(s),i=!1;if(s&&!o){if(t)if(Fe(t))for(let a of t.split(";")){let c=a.slice(0,a.indexOf(":")).trim();s[c]==null&&cs(r,c,"")}else for(let a in t)s[a]==null&&cs(r,a,"");for(let a in s){a==="display"&&(i=!0);let c=s[a];c!=null?nc(e,a,!Fe(t)&&t?t[a]:void 0,c)||cs(r,a,c):cs(r,a,"")}}else if(o){if(t!==s){let a=r[Zu];a&&(s+=";"+a),r.cssText=s,i=xu.test(s)}}else t&&e.removeAttribute("style");Ks in e&&((!o||t!==s)&&(e[Ks]=i?r.display:""),e[aa]&&(r.display="none"))}var Gs=/\s*!important$/;function cs(e,t,s){if(Ce(s))s.forEach(r=>cs(e,t,r));else if(s==null&&(s=""),t.startsWith("--"))Gs.test(s)?e.setProperty(t,s.replace(Gs,""),"important"):e.setProperty(t,s);else{let r=tc(e,t);Gs.test(s)?e.setProperty(Tt(r),s.replace(Gs,""),"important"):e[r]=s}}var Xi=["Webkit","Moz","ms"],Wo={};function tc(e,t){let s=Wo[t];if(s)return s;let r=Ye(t);if(r!=="filter"&&r in e)return Wo[t]=r;r=tn(r);for(let o=0;oKo||(lc.then(()=>Ko=0),Ko=Date.now());function uc(e,t){let s=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=s.attached)return;let o=s.value;if(Ce(o)){let i=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{i.call(r),r._stopped=!0};let a=o.slice(),c=[r];for(let f=0;fe.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,cc=(e,t,s,r,o,i)=>{let a=o==="svg";t==="class"?Xu(e,r,a):t==="style"?ec(e,s,r):yn(t)?gn(t)||oc(e,t,s,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):pc(e,t,r,a))?(ea(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&xi(e,t,r,a,i,t!=="value")):e._isVueCE&&(fc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Fe(r)))?ea(e,Ye(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),xi(e,t,r,a))};function pc(e,t,s,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&na(t)&&Ne(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){let o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return na(t)&&Fe(s)?!1:t in e}function fc(e,t){let s=e._def.props;if(!s)return!1;let r=Ye(t);return Array.isArray(s)?s.some(o=>Ye(o)===r):Object.keys(s).some(o=>Ye(o)===r)}var Ys=e=>{let t=e.props["onUpdate:modelValue"]||!1;return Ce(t)?s=>wn(t,s):t};function mc(e){e.target.composing=!0}function sa(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}var cn=Symbol("_assign"),Ws=Symbol("_initialValue");function Yo(e,t,s){return t&&(e=e.trim()),s&&(e=kn(e)),e}var ps={created(e,{modifiers:{lazy:t,trim:s,number:r}},o){e.parentNode&&(e.type==="text"?e[Ws]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Ws]=e.defaultValue.replace(/\r\n?/g,` +`))),e[cn]=Ys(o);let i=r||o.props&&o.props.type==="number";un(e,t?"change":"input",a=>{a.target.composing||e[cn](Yo(e.value,s,i))}),(s||i)&&un(e,"change",()=>{e.value=Yo(e.value,s,i)}),t||(un(e,"compositionstart",mc),un(e,"compositionend",sa),un(e,"change",sa))},mounted(e,{value:t,modifiers:{trim:s,number:r}}){let o=t??"",i=e[Ws];delete e[Ws],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[cn](Yo(e.value,s,r)):e.value=o},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:r,trim:o,number:i}},a){if(e[cn]=Ys(a),e.composing)return;let c=(i||e.type==="number")&&!/^0\d/.test(e.value)?kn(e.value):e.value,f=t??"";if(c===f)return;let g=e.getRootNode();(g instanceof Document||g instanceof ShadowRoot)&&g.activeElement===e&&e.type!=="range"&&(r&&t===s||o&&e.value.trim()===f)||(e.value=f)}};var Qs={deep:!0,created(e,{value:t,modifiers:{number:s}},r){e._modelValue=t,un(e,"change",()=>{let o=Array.prototype.filter.call(e.options,f=>f.selected).map(f=>s?kn(Js(f)):Js(f)),i=e.multiple,a=i?Ht(e._modelValue)?new Set(o):o:o[0],c=e._pendingValue=[i,i?Ce(a)?o.slice():o:a];try{e[cn](a)}finally{Ze(()=>{e._pendingValue===c&&(e._pendingValue=void 0)})}}),e[cn]=Ys(r)},mounted(e,{value:t}){oa(e,t)},beforeUpdate(e,{value:t},s){e._modelValue=t,e[cn]=Ys(s)},updated(e,{value:t}){let s=e._pendingValue;e._pendingValue=void 0,(!s||s[0]!==e.multiple||!hc(t,s[1],s[0]))&&oa(e,t)}};function hc(e,t,s){if(!s)return Ot(e,t);if(Ce(e))return Ot(e,t);if(Ht(e)){if(e.size!==t.length)return!1;for(let r of t)if(!e.has(r))return!1;return!0}return!1}function oa(e,t){let s=e.multiple,r=Ce(t);if(!(s&&!r&&!Ht(t))){for(let o=0,i=e.options.length;oString(g)===String(c)):a.selected=Sr(t,c)>-1}else a.selected=t.has(c);else if(Ot(Js(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Js(e){return"_value"in e?e._value:e.value}var vc=["ctrl","shift","alt","meta"],yc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>vc.some(s=>e[`${s}Key`]&&!t.includes(s))},de=(e,t)=>{if(!e)return e;let s=e._withMods||(e._withMods={}),r=t.join(".");return s[r]||(s[r]=((o,...i)=>{for(let a=0;a{let s=e._withKeys||(e._withKeys={}),r=t.join(".");return s[r]||(s[r]=(o=>{if(!("key"in o))return;let i=Tt(o.key);if(t.some(a=>a===i||gc[a]===i))return e(o)}))},bc=je({patchProp:cc},Ju),ra;function wc(){return ra||(ra=Ui(bc))}var la=((...e)=>{let t=wc().createApp(...e),{mount:s}=t;return t.mount=r=>{let o=Cc(r);if(!o)return;let i=t._component;!Ne(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");let a=s(o,!1,kc(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),a},t});function kc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Cc(e){return Fe(e)?document.querySelector(e):e}var mn=typeof document<"u";function ua(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ec(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ua(e.default)}var Ve=Object.assign;function Xs(e,t){let s={};for(let r in t){let o=t[r];s[r]=kt(o)?o.map(e):e(o)}return s}var Tn=()=>{},kt=Array.isArray;function Zo(e,t){let s={};for(let r in e)s[r]=r in t?t[r]:e[r];return s}var ca=/#/g,Sc=/&/g,Nc=/\//g,_c=/=/g,Dc=/\?/g,pa=/\+/g,Rc=/%5B/g,Tc=/%5D/g,fa=/%5E/g,Oc=/%60/g,ma=/%7B/g,Ac=/%7C/g,ha=/%7D/g,Ic=/%20/g;function xo(e){return e==null?"":encodeURI(""+e).replace(Ac,"|").replace(Rc,"[").replace(Tc,"]")}function va(e){return xo(e).replace(ma,"{").replace(ha,"}").replace(fa,"^")}function Qo(e){return xo(e).replace(pa,"%2B").replace(Ic,"+").replace(ca,"%23").replace(Sc,"%26").replace(Oc,"`").replace(ma,"{").replace(ha,"}").replace(fa,"^")}function Pc(e){return Qo(e).replace(_c,"%3D")}function Vc(e){return xo(e).replace(ca,"%23").replace(Dc,"%3F")}function ya(e){return Vc(e).replace(Nc,"%2F")}function Rn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}var Mc=/\/$/,qc=e=>e.replace(Mc,"");function Zs(e,t,s="/"){let r,o={},i="",a="",c=t.indexOf("#"),f=t.indexOf("?");return f=c>=0&&f>c?-1:f,f>=0&&(r=t.slice(0,f),i=t.slice(f,c>0?c:t.length),o=e(i.slice(1))),c>=0&&(r=r||t.slice(0,c),a=t.slice(c,t.length)),r=$c(r??t,s),{fullPath:r+i+a,path:r,query:o,hash:Rn(a)}}function ga(e,t){let s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function er(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ba(e,t,s){let r=t.matched.length-1,o=s.matched.length-1;return r>-1&&r===o&&pn(t.matched[r],s.matched[o])&&tr(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function pn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function tr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var s in e)if(!Lc(e[s],t[s]))return!1;return!0}function Lc(e,t){return kt(e)?da(e,t):kt(t)?da(t,e):e?.valueOf()===t?.valueOf()}function da(e,t){return kt(t)?e.length===t.length&&e.every((s,r)=>s===t[r]):e.length===1&&e[0]===t}function $c(e,t){if(e.startsWith("/"))return e;if(!e)return t;let s=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let i=s.length-1,a,c;for(a=0;a1&&i--;else break;return s.slice(0,i).join("/")+"/"+r.slice(a).join("/")}var Qt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},xs=(function(e){return e.pop="pop",e.push="push",e})({}),eo=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function wa(e){if(!e)if(mn){let t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),qc(e)}var Uc=/^[^#]+#/;function ka(e,t){return e.replace(Uc,"#")+t}function Fc(e,t){let s=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-s.left-(t.left||0),top:r.top-s.top-(t.top||0)}}var fs=()=>({left:window.scrollX,top:window.scrollY});function Ca(e){let t;if("el"in e){let s=e.el,r=typeof s=="string"&&s.startsWith("#"),o=typeof s=="string"?r?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!o)return;t=Fc(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function nr(e,t){return(history.state?history.state.position-t:-1)+e}var Xo=new Map;function Ea(e,t){Xo.set(e,t)}function Sa(e){let t=Xo.get(e);return Xo.delete(e),t}function zc(e){return typeof e=="string"||e&&typeof e=="object"}function sr(e){return typeof e=="string"||typeof e=="symbol"}var Be=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({}),Na=Symbol("");var pU={[Be.MATCHER_NOT_FOUND]({location:e,currentLocation:t}){return`No match for ${JSON.stringify(e)}${t?` while being at -`+JSON.stringify(t):""}`},[Be.NAVIGATION_GUARD_REDIRECT]({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${Bc(t)}" via a navigation guard.`},[Be.NAVIGATION_ABORTED]({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},[Be.NAVIGATION_CANCELLED]({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},[Be.NAVIGATION_DUPLICATED]({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function fn(e,t){return Ve(new Error,{type:e,[Na]:!0},t)}function Ft(e,t){return e instanceof Error&&Na in e&&(t==null||!!(e.type&t))}var Hc=["params","query","hash"];function Bc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;let t={};for(let s of Hc)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function _a(e){let t={};if(e===""||e==="?")return t;let s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&Qo(o)):[r&&Qo(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+s,o!=null&&(t+="="+o))})}return t}function Da(e){let t={};for(let s in e){let r=e[s];r!==void 0&&(t[s]=kt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}var Ra=Symbol(""),rr=Symbol(""),to=Symbol(""),no=Symbol(""),so=Symbol("");function On(){let e=[];function t(r){return e.push(r),()=>{let o=e.indexOf(r);o>-1&&e.splice(o,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function Jt(e,t,s,r,o,i=a=>a()){let a=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((c,f)=>{let g=m=>{m===!1?f(fn(Be.NAVIGATION_ABORTED,{from:s,to:t})):m instanceof Error?f(m):zc(m)?f(fn(Be.NAVIGATION_GUARD_REDIRECT,{from:t,to:m})):(a&&r.enterCallbacks[o]===a&&typeof m=="function"&&a.push(m),c())},b=i(()=>e.call(r&&r.instances[o],t,s,g)),k=Promise.resolve(b);e.length<3&&(k=k.then(g)),k.catch(m=>f(m))})}function oo(e,t,s,r,o=i=>i()){let i=[];for(let a of e)for(let c in a.components){let f=a.components[c];if(!(t!=="beforeRouteEnter"&&!a.instances[c]))if(ua(f)){let g=(f.__vccOpts||f)[t];g&&i.push(Jt(g,s,r,a,c,o))}else{let g=f();i.push(()=>g.then(b=>{if(!b)throw new Error(`Couldn't resolve component "${c}" at "${a.path}"`);let k=Ec(b)?b.default:b;a.mods[c]=b,a.components[c]=k;let m=(k.__vccOpts||k)[t];return m&&Jt(m,s,r,a,c,o)()}))}}return i}function Ta(e,t){let s=[],r=[],o=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;apn(g,c))?r.push(c):s.push(c));let f=e.matched[a];f&&(t.matched.find(g=>pn(g,f))||o.push(f))}return[s,r,o]}var jc=()=>location.protocol+"//"+location.host;function Fa(e,t){let{pathname:s,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let a=o.includes(e.slice(i))?e.slice(i).length:1,c=o.slice(a);return c[0]!=="/"&&(c="/"+c),er(c,"")}return er(s,e)+r+o}function Gc(e,t,s,r){let o=[],i=[],a=null,c=({state:m})=>{let C=Fa(e,location),A=s.value,h=t.value,E=0;if(m){if(s.value=C,t.value=m,a&&a===A){a=null;return}E=h?m.position-h.position:0}else r(C);o.forEach(N=>{N(s.value,A,{delta:E,type:xs.pop,direction:E?E>0?eo.forward:eo.back:eo.unknown})})};function f(){a=s.value}function g(m){o.push(m);let C=()=>{let A=o.indexOf(m);A>-1&&o.splice(A,1)};return i.push(C),C}function b(){if(document.visibilityState==="hidden"){let{history:m}=window;if(!m.state)return;m.replaceState(Ve({},m.state,{scroll:fs()}),"")}}function k(){for(let m of i)m();i=[],window.removeEventListener("popstate",c),window.removeEventListener("pagehide",b),document.removeEventListener("visibilitychange",b)}return window.addEventListener("popstate",c),window.addEventListener("pagehide",b),document.addEventListener("visibilitychange",b),{pauseListeners:f,listen:g,destroy:k}}function Oa(e,t,s,r=!1,o=!1){return{back:e,current:t,forward:s,replaced:r,position:window.history.length,scroll:o?fs():null}}function Wc(e){let{history:t,location:s}=window,r={value:Fa(e,s)},o={value:t.state};o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(f,g,b){let k=e.indexOf("#"),m=k>-1?(s.host&&document.querySelector("base")?e:e.slice(k))+f:jc()+e+f;try{t[b?"replaceState":"pushState"](g,"",m),o.value=g}catch(C){console.error(C),s[b?"replace":"assign"](m)}}function a(f,g){i(f,Ve({},t.state,Oa(o.value.back,f,o.value.forward,!0),g,{position:o.value.position}),!0),r.value=f}function c(f,g){let b=Ve({},o.value,t.state,{forward:f,scroll:fs()});i(b.current,b,!0),i(f,Ve({},Oa(r.value,f,null),{position:b.position+1},g),!1),r.value=f}return{location:r,state:o,push:c,replace:a}}function za(e){e=wa(e);let t=Wc(e),s=Gc(e,t.state,t.location,t.replace);function r(i,a=!0){a||s.pauseListeners(),history.go(i)}let o=Ve({location:"",base:e,go:r,createHref:ka.bind(null,e)},t,s);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}var hn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),Qe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Qe||{}),Kc={type:hn.Static,value:""},Yc=/[a-zA-Z0-9_]/;function Jc(e){if(!e)return[[]];if(e==="/")return[[Kc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(C){throw new Error(`ERR (${s})/"${g}": ${C}`)}let s=Qe.Static,r=s,o=[],i;function a(){i&&o.push(i),i=[]}let c=0,f,g="",b="";function k(){g&&(s===Qe.Static?i.push({type:hn.Static,value:g}):s===Qe.Param||s===Qe.ParamRegExp||s===Qe.ParamRegExpEnd?(i.length>1&&(f==="*"||f==="+")&&t(`A repeatable param (${g}) must be alone in its segment. eg: '/:ids+.`),i.push({type:hn.Param,value:g,regexp:b,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):t("Invalid state to consume buffer"),g="")}function m(){g+=f}for(;ct.length?t.length===1&&t[0]===rt.Static+rt.Segment?1:-1:0}function Ha(e,t){let s=0,r=e.score,o=t.score;for(;s0&&t[t.length-1]<0}var ep={strict:!1,end:!0,sensitive:!1};function tp(e,t,s){let r=Zc(Jc(e.path),s),o=Ve(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function np(e,t){let s=[],r=new Map;t=Zo(ep,t);function o(k){return r.get(k)}function i(k,m,C){let A=!C,h=Va(k);h.aliasOf=C&&C.record;let E=Zo(t,k),N=[h];if("alias"in k){let H=typeof k.alias=="string"?[k.alias]:k.alias;for(let q of H)N.push(Va(Ve({},h,{components:C?C.record.components:h.components,path:q,aliasOf:C?C.record:h})))}let R,V;for(let H of N){let{path:q}=H;if(m&&q[0]!=="/"){let z=m.record.path,Z=z[z.length-1]==="/"?"":"/";H.path=m.record.path+(q&&Z+q)}if(R=tp(H,m,E),C?C.alias.push(R):(V=V||R,V!==R&&V.alias.push(R),A&&k.name&&!Ma(R)&&a(k.name)),Ba(R)&&f(R),h.children){let z=h.children;for(let Z=0;Z{a(V)}:Tn}function a(k){if(sr(k)){let m=r.get(k);m&&(r.delete(k),s.splice(s.indexOf(m),1),m.children.forEach(a),m.alias.forEach(a))}else{let m=s.indexOf(k);m>-1&&(s.splice(m,1),k.record.name&&r.delete(k.record.name),k.children.forEach(a),k.alias.forEach(a))}}function c(){return s}function f(k){let m=rp(k,s);s.splice(m,0,k),k.record.name&&!Ma(k)&&r.set(k.record.name,k)}function g(k,m){let C,A={},h,E;if("name"in k&&k.name){if(C=r.get(k.name),!C)throw fn(Be.MATCHER_NOT_FOUND,{location:k});E=C.record.name,A=Ve(Pa(m.params,C.keys.filter(V=>!V.optional).concat(C.parent?C.parent.keys.filter(V=>V.optional):[]).map(V=>V.name)),k.params&&Pa(k.params,C.keys.map(V=>V.name))),h=C.stringify(A)}else if(k.path!=null)h=k.path,C=s.find(V=>V.re.test(h)),C&&(A=C.parse(h),E=C.record.name);else{if(C=m.name?r.get(m.name):s.find(V=>V.re.test(m.path)),!C)throw fn(Be.MATCHER_NOT_FOUND,{location:k,currentLocation:m});E=C.record.name,A=Ve({},m.params,k.params),h=C.stringify(A)}let N=[],R=C;for(;R;)N.unshift(R.record),R=R.parent;return{name:E,path:h,params:A,matched:N,meta:op(N)}}e.forEach(k=>i(k));function b(){s.length=0,r.clear()}return{addRoute:i,resolve:g,removeRoute:a,clearRoutes:b,getRoutes:c,getRecordMatcher:o}}function Pa(e,t){let s={};for(let r of t)r in e&&(s[r]=e[r]);return s}function Va(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:sp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function sp(e){let t={},s=e.props||!1;if("component"in e)t.default=s;else for(let r in e.components)t[r]=typeof s=="object"?s[r]:s;return t}function Ma(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function op(e){return e.reduce((t,s)=>Ve(t,s.meta),{})}function rp(e,t){let s=0,r=t.length;for(;s!==r;){let i=s+r>>1;Ha(e,t[i])<0?r=i:s=i+1}let o=ip(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function ip(e){let t=e;for(;t=t.parent;)if(Ba(t)&&Ha(e,t)===0)return t}function Ba({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function qa(e){let t=dt(to),s=dt(no),r=!1,o=null,i=nt(()=>{let b=Gt(e.to);return t.resolve(b)}),a=nt(()=>{let{matched:b}=i.value,{length:k}=b,m=b[k-1],C=s.matched;if(!m||!C.length)return-1;let A=C.findIndex(pn.bind(null,m));if(A>-1)return A;let h=La(b[k-2]);return k>1&&La(m)===h&&C[C.length-1].path!==h?C.findIndex(pn.bind(null,b[k-2])):A}),c=nt(()=>a.value>-1&&cp(s.params,i.value.params)),f=nt(()=>a.value>-1&&a.value===s.matched.length-1&&tr(s.params,i.value.params));function g(b={}){if(up(b)){let k=t[Gt(e.replace)?"replace":"push"](Gt(e.to)).catch(Tn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>k),k}return Promise.resolve()}return{route:i,href:nt(()=>i.value.href),isActive:c,isExactActive:f,navigate:g}}function ap(e){return e.length===1?e[0]:e}var lp=as({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:qa,setup(e,{slots:t}){let s=ze(qa(e)),{options:r}=dt(to),o=nt(()=>({[$a(e.activeClass,r.linkActiveClass,"router-link-active")]:s.isActive,[$a(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{let i=t.default&&ap(t.default(s));return e.custom?i:De("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:o.value},i)}}}),dp=lp;function up(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function cp(e,t){for(let s in t){let r=t[s],o=e[s];if(typeof r=="string"){if(r!==o)return!1}else if(!kt(o)||o.length!==r.length||r.some((i,a)=>i.valueOf()!==o[a].valueOf()))return!1}return!0}function La(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}var $a=(e,t,s)=>e??t??s,pp=as({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){let r=dt(so),o=nt(()=>e.route||r.value),i=dt(rr,0),a=nt(()=>{let g=Gt(i),{matched:b}=o.value,k;for(;(k=b[g])&&!k.components;)g++;return g}),c=nt(()=>o.value.matched[a.value]);ln(rr,nt(()=>a.value+1)),ln(Ra,c),ln(so,o);let f=et();return He(()=>[f.value,c.value,e.name],([g,b,k],[m,C,A])=>{b&&(b.instances[k]=g,C&&C!==b&&g&&g===m&&(b.leaveGuards.size||(b.leaveGuards=C.leaveGuards),b.updateGuards.size||(b.updateGuards=C.updateGuards))),g&&b&&(!C||!pn(b,C)||!m)&&(b.enterCallbacks[k]||[]).forEach(h=>h(g))},{flush:"post"}),()=>{let g=o.value,b=e.name,k=c.value,m=k&&k.components[b];if(!m)return Ua(s.default,{Component:m,route:g});let C=k.props[b],A=C?C===!0?g.params:typeof C=="function"?C(g):C:null,E=De(m,Ve({},A,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(k.instances[b]=null)},ref:f}));return Ua(s.default,{Component:E,route:g})||E}}});function Ua(e,t){if(!e)return null;let s=e(t);return s.length===1?s[0]:s}var ir=pp;function ja(e){let t=np(e.routes,e),s=e.parseQuery||_a,r=e.stringifyQuery||or,o=e.history,i=On(),a=On(),c=On(),f=Rs(Qt),g=Qt;mn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");let b=Xs.bind(null,U=>""+U),k=Xs.bind(null,ya),m=Xs.bind(null,Rn);function C(U,te){let x,S;return sr(U)?(x=t.getRecordMatcher(U),S=te):S=U,t.addRoute(S,x)}function A(U){let te=t.getRecordMatcher(U);te&&t.removeRoute(te)}function h(){return t.getRoutes().map(U=>U.record)}function E(U){return!!t.getRecordMatcher(U)}function N(U,te){if(te=Ve({},te||f.value),typeof U=="string"){let w=Zs(s,U,te.path),O=t.resolve({path:w.path},te),P=o.createHref(w.fullPath);return Ve(w,O,{params:m(O.params),hash:Rn(w.hash),redirectedFrom:void 0,href:P})}let x;if(U.path!=null)x=Ve({},U,{path:Zs(s,U.path,te.path).path});else{let w=Ve({},U.params);for(let O in w)w[O]==null&&delete w[O];x=Ve({},U,{params:k(w)}),te.params=k(te.params)}let S=t.resolve(x,te),I=U.hash||"";S.params=b(m(S.params));let B=ga(r,Ve({},U,{hash:va(I),path:S.path})),v=o.createHref(B);return Ve({fullPath:B,hash:I,query:r===or?Da(U.query):U.query||{}},S,{redirectedFrom:void 0,href:v})}function R(U){return typeof U=="string"?Zs(s,U,f.value.path):Ve({},U)}function V(U,te){if(g!==U)return fn(Be.NAVIGATION_CANCELLED,{from:te,to:U})}function H(U){return Z(U)}function q(U){return H(Ve(R(U),{replace:!0}))}function z(U,te){let x=U.matched[U.matched.length-1];if(x&&x.redirect){let{redirect:S}=x,I=typeof S=="function"?S(U,te):S;return typeof I=="string"&&(I=I.includes("?")||I.includes("#")?I=R(I):{path:I},I.params={}),Ve({query:U.query,hash:U.hash,params:I.path!=null?{}:U.params},I)}}function Z(U,te){let x=g=N(U),S=f.value,I=U.state,B=U.force,v=U.replace===!0,w=z(x,S);if(w)return Z(Ve(R(w),{state:typeof w=="object"?Ve({},I,w.state):I,force:B,replace:v}),te||x);let O=x;O.redirectedFrom=te;let P;return!B&&ba(r,S,x)&&(P=fn(Be.NAVIGATION_DUPLICATED,{to:O,from:S}),X(S,S,!0,!1)),(P?Promise.resolve(P):j(O,S)).catch(M=>Ft(M)?Ft(M,Be.NAVIGATION_GUARD_REDIRECT)?M:L(M):ye(M,O,S)).then(M=>{if(M){if(Ft(M,Be.NAVIGATION_GUARD_REDIRECT))return Z(Ve({replace:v},R(M.to),{state:typeof M.to=="object"?Ve({},I,M.to.state):I,force:B}),te||O)}else M=le(O,S,!0,v,I);return ne(O,S,M),M})}function ae(U,te){let x=V(U,te);return x?Promise.reject(x):Promise.resolve()}function _(U){let te=me.values().next().value;return te&&typeof te.runWithContext=="function"?te.runWithContext(U):U()}function j(U,te){let x,[S,I,B]=Ta(U,te);x=oo(S.reverse(),"beforeRouteLeave",U,te);for(let w of S)w.leaveGuards.forEach(O=>{x.push(Jt(O,U,te))});let v=ae.bind(null,U,te);return x.push(v),re(x).then(()=>{x=[];for(let w of i.list())x.push(Jt(w,U,te));return x.push(v),re(x)}).then(()=>{x=oo(I,"beforeRouteUpdate",U,te);for(let w of I)w.updateGuards.forEach(O=>{x.push(Jt(O,U,te))});return x.push(v),re(x)}).then(()=>{x=[];for(let w of B)if(w.beforeEnter)if(kt(w.beforeEnter))for(let O of w.beforeEnter)x.push(Jt(O,U,te));else x.push(Jt(w.beforeEnter,U,te));return x.push(v),re(x)}).then(()=>(U.matched.forEach(w=>w.enterCallbacks={}),x=oo(B,"beforeRouteEnter",U,te,_),x.push(v),re(x))).then(()=>{x=[];for(let w of a.list())x.push(Jt(w,U,te));return x.push(v),re(x)}).catch(w=>Ft(w,Be.NAVIGATION_CANCELLED)?w:Promise.reject(w))}function ne(U,te,x){c.list().forEach(S=>_(()=>S(U,te,x)))}function le(U,te,x,S,I){let B=V(U,te);if(B)return B;let v=te===Qt,w=mn?history.state:{};x&&(S||v?o.replace(U.fullPath,Ve({scroll:v&&w&&w.scroll},I)):o.push(U.fullPath,I)),f.value=U,X(U,te,x,v),L()}let Ce;function ce(){Ce||(Ce=o.listen((U,te,x)=>{if(!he.listening)return;let S=N(U),I=z(S,he.currentRoute.value);if(I){Z(Ve(I,{replace:!0,force:!0}),S).catch(Tn);return}g=S;let B=f.value;mn&&Ea(nr(B.fullPath,x.delta),fs()),j(S,B).catch(v=>Ft(v,Be.NAVIGATION_ABORTED|Be.NAVIGATION_CANCELLED)?v:Ft(v,Be.NAVIGATION_GUARD_REDIRECT)?(Z(Ve(R(v.to),{force:!0}),S).then(w=>{Ft(w,Be.NAVIGATION_ABORTED|Be.NAVIGATION_DUPLICATED)&&!x.delta&&x.type===xs.pop&&o.go(-1,!1)}).catch(Tn),Promise.reject()):(x.delta&&o.go(-x.delta,!1),ye(v,S,B))).then(v=>{v=v||le(S,B,!1),v&&(x.delta&&!Ft(v,Be.NAVIGATION_CANCELLED)?o.go(-x.delta,!1):x.type===xs.pop&&Ft(v,Be.NAVIGATION_ABORTED|Be.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),ne(S,B,v)}).catch(Tn)}))}let ve=On(),_e=On(),Se;function ye(U,te,x){L(U);let S=_e.list();return S.length?S.forEach(I=>I(U,te,x)):console.error(U),Promise.reject(U)}function Ue(){return Se&&f.value!==Qt?Promise.resolve():new Promise((U,te)=>{ve.add([U,te])})}function L(U){return Se||(Se=!U,ce(),ve.list().forEach(([te,x])=>U?x(U):te()),ve.reset()),U}function X(U,te,x,S){let{scrollBehavior:I}=e;if(!mn||!I)return Promise.resolve();let B=!x&&Sa(nr(U.fullPath,0))||(S||!x)&&history.state&&history.state.scroll||null;return Ze().then(()=>I(U,te,B)).then(v=>v&&Ca(v)).catch(v=>ye(v,U,te))}let J=U=>o.go(U),se,me=new Set,he={currentRoute:f,listening:!0,addRoute:C,removeRoute:A,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:h,resolve:N,options:e,push:H,replace:q,go:J,back:()=>J(-1),forward:()=>J(1),beforeEach:i.add,beforeResolve:a.add,afterEach:c.add,onError:_e.add,isReady:Ue,install(U){U.component("RouterLink",dp),U.component("RouterView",ir),U.config.globalProperties.$router=he,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>Gt(f)}),mn&&!se&&f.value===Qt&&(se=!0,H(o.location).catch(S=>{}));let te={};for(let S in Qt)Object.defineProperty(te,S,{get:()=>f.value[S],enumerable:!0});U.provide(to,he),U.provide(no,Gn(te)),U.provide(so,f);let x=U.unmount;me.add(U),U.unmount=function(){me.delete(U),me.size<1&&(g=Qt,Ce&&Ce(),Ce=null,f.value=Qt,se=!1,Se=!1),x()}}};function re(U){return U.reduce((te,x)=>te.then(()=>_(x)),Promise.resolve())}return he}function Ga(e){return dt(no)}function Wa(e,t){return t?.split(".").reduce((s,r)=>s?.[r],e)}function ar(e=null,t=new Map){let s=ze({}),r=[],o=!1,i=new Proxy(s,{get(a,c){return typeof c=="string"&&c.startsWith("__v_")||Reflect.has(a,c)?Reflect.get(a,c):e?.[c]}});return Object.defineProperty(s,"parent",{value:e,configurable:!0}),Object.defineProperty(s,"viewState",{get:()=>i}),i.watch=(a,c,f=!1,g=!0)=>{let b=typeof a=="function"?()=>a(i):()=>Wa(i,a),k=He(b,c,{deep:f,flush:"post"});return r.push(k),g&&Ze(()=>{o||c(b(),b())}),k},i.watchGroup=(a,c,f=!0)=>i.watch(()=>a.map(g=>Wa(i,g)),c,!0,f),i.on=(a,c)=>{if(a==="dispose")return r.push(c),()=>{};t.has(a)||t.set(a,new Set),t.get(a).add(c);let f=()=>t.get(a)?.delete(c);return r.push(f),f},i.emit=(a,...c)=>{for(let f of[...t.get(a)||[]])f({},...c)},i.dispose=()=>{o=!0,r.splice(0).reverse().forEach(a=>a())},Bn(i.dispose),i}function ut(){let e=new Set,t=new Set,s=!1,r=(i,a=0)=>{if(s)return;let c=setTimeout(()=>{e.delete(c),i()},a);return e.add(c),c};r.cancel=i=>{clearTimeout(i),e.delete(i)};let o=(i,a)=>{if(s)return;let c=setInterval(i,a);return t.add(c),c};return o.cancel=i=>{clearInterval(i),t.delete(i)},Bn(()=>{s=!0,e.forEach(clearTimeout),t.forEach(clearInterval)}),{timeout:r,interval:o}}function Xt(){let e=new Set;return Bn(()=>{e.forEach(t=>t()),e.clear()}),(t,s,r,o)=>{t.addEventListener(s,r,o);let i=()=>{t.removeEventListener(s,r,o),e.delete(i)};return e.add(i),i}}function lr(e,t,s){let r,o=!1,i="form-draft:"+s,a=()=>Object.fromEntries(t.map(m=>[m,e[m]])),c=()=>JSON.stringify(a()),f=m=>{for(let C of t)Object.prototype.hasOwnProperty.call(m,C)&&(e[C]=m[C]);e.options?.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate))},g=()=>{try{window.sessionStorage.removeItem(i)}catch{}},b=(m=!1)=>{if(r!==void 0){if(m&&document.querySelectorAll("input, select, textarea").forEach(C=>{C._field?.binding.state===e&&C._field.timer&&C._field.commit()}),e.unsavedChanges=c()!==r,e.draftSaved=!1,!e.unsavedChanges){g();return}try{window.sessionStorage.setItem(i,JSON.stringify({account:e.user?.username||null,savedAt:Date.now(),values:a()})),e.draftSaved=!0}catch{}}},k=()=>b(!0);return e.on("routeLeave",k),window.addEventListener("beforeunload",k),e.on("dispose",()=>window.removeEventListener("beforeunload",k)),{restore(){r=c();let m;try{m=JSON.parse(window.sessionStorage.getItem(i)||"null")}catch{}let C=m&&m.account===(e.user?.username||null)&&Date.now()-m.savedAt<30*6e4&&m.values;return C&&(f(m.values),e.draftRestored=!0),o||(o=!0,e.watch(()=>a(),()=>b(),!0)),e.unsavedChanges=c()!==r,!!C},checkpoint(){return JSON.parse(c())},accept(m){r=JSON.stringify(m),e.draftRestored=!1,b()},discard(){document.querySelectorAll("input, select, textarea").forEach(m=>{m._field?.binding.state!==e||!m._field.timer||(clearTimeout(m._field.timer),m._field.timer=null,m.value=m._field.binding.value??"")}),r!==void 0&&f(JSON.parse(r)),e.draftRestored=!1,b()},clear(){r=c(),e.unsavedChanges=!1,e.draftRestored=!1,e.draftSaved=!1,g()}}}var ro={VIEWER_ERRORS:{title:"Content could not be loaded",access_title:"GitHub access needs attention",reader_help:"Reading this repository? You do not need to sign in. Try again after the owner restores access, or let them know this anonymous link is unavailable.",owner_help:"Own this repository? If your GitHub account was suspended or recently recovered, sign in to Anonymous GitHub again and check the GitHub connection and repository permissions in your dashboard. Then retry this page. Keep the existing anonymous URL; do not delete the repository to restore access.",retry:"Try again",dashboard:"Open owner dashboard"},ERRORS:{cache_busy:"Downloads are busy. Please try again shortly.",invalid_sort:"The selected sort order is invalid.",invalid_cursor:"This project page is no longer valid. Reload the list.",repository_changed:"The repository changed while processing. Please retry.",repository_job_cancelled:"The repository changed or was removed while processing.",storage_delete_failed:"Unable to remove cached files. Please try again later.",unknown_error:"We could not load this content. Try again. If it still fails, contact support with the anonymous URL and the time of the error.",unreachable:"The service could not complete this request. Wait a moment and try again.",request_error:"The connection was interrupted. Check your internet connection and try again.",not_found:"The requested resource could not be found.",not_connected:"You must be logged in to perform this action.",not_authorized:"You do not have permission to perform this action.",unable_to_connect_user:"Unable to connect your account. Please try again later.",user_not_found:"The requested user could not be found.",user_banned:"Your account has been banned. Contact the admin for more information.",repo_access_limited:"GitHub blocked access because the repository's organization restricts third-party OAuth apps. Ask an org owner to approve Anonymous GitHub under Settings \u2192 Third-party Access \u2192 OAuth app policy, or anonymize a personal fork instead.",repo_saml_enforcement:"The repository's organization enforces SAML single sign-on. Authorize your token for that organization (GitHub \u2192 Settings \u2192 Applications, or re-run the org's SSO sign-in), then retry. Alternatively, anonymize a personal fork.",repo_not_found:"Anonymous GitHub cannot access the source repository on GitHub. It may be private, unavailable, or require the owner to reconnect GitHub.",repo_empty:"The selected branch has no commits on GitHub. Push at least one commit, or pick a different branch, then retry.",repo_not_accessible:"Anonymous GitHub cannot access this repository. Verify the repository exists and that Anonymous GitHub has been authorized for the owning organization.",repository_archived:"This repository has been archived and its files are no longer available.",repository_expired:"The repository is expired.",invalid_status:"This action cannot be performed while the resource is in its current state.",repository_not_ready:"Anonymous GitHub is still processing the repository, it can take several minutes.",repository_not_accessible:"This repository is currently not accessible.",repo_is_updating:"Anonymous GitHub is still processing the repository, it can take several minutes.",invalid_repo:"The provided repository is not valid.",invalid_source_repository:"The repository source name is invalid; expected the form 'owner/name'.",repoId_not_defined:"A repository ID must be provided.",repoUrl_not_defined:"The repository URL needs to be defined.",source_not_provided:"A repository source must be provided.",github_rate_limit_exceeded:"GitHub temporarily blocked the request because we hit its API rate limit. Wait a few minutes and try again. If the problem persists and you contact GitHub Support, include the request ID and timestamp shown in GitHub's response (the 'X-GitHub-Request-Id' header).",rate_limited:"GitHub API rate limit reached. The repository will be available shortly \u2014 please wait a moment and refresh.",repoId_already_used:"The repository ID is already used.",invalid_repoId:"The format of the repository ID is invalid.",unsupported_source:"The repository source type is not supported.",branch_not_specified:"The branch is not specified.",branch_not_found:"The branch of the repository cannot be found.",commit_not_specified:"A commit must be specified.",commit_not_found:"The configured commit no longer exists in the source repository. It may have been force-pushed, rebased, or removed.",repo_renamed:"The source repository appears to have been renamed or moved on GitHub. Please refresh and try again \u2014 the cached name has been updated.",invalid_commit_format:"The commit hash format is invalid. It must be a hexadecimal string.",pull_request_not_found:"The requested pull request could not be found.",pull_request_expired:"This pull request has expired and is no longer available.",pull_request_not_ready:"This pull request is still being prepared. Please try again shortly.",pull_request_not_available:"This pull request is currently not available.",invalid_pullRequestId:"The pull request ID is invalid.",pullRequestId_already_used:"This pull request ID is already in use. Please choose a different one.",repository_not_specified:"A repository must be specified for this pull request.",pullRequestId_not_specified:"A pull request ID must be specified.",pullRequestId_is_not_a_number:"The source pull request ID must be a number.",options_not_provided:"Anonymization options are mandatory.",terms_not_specified:"Anonymization terms must be specified.",invalid_terms_format:"Terms are in an invalid format.",missing_content:"No content was provided to the anonymization preview.",unable_to_anonymize:"An error happened during the anonymization process. Please try later or report the issue.",non_supported_mode:"The selected anonymization mode is invalid, only download and stream are supported.",invalid_path:"The provided path is invalid or missing.",path_not_specified:"A file path must be specified.",path_not_defined:"The file path has not been resolved yet.",invalid_file_path:"The requested file path is not valid.",invalid_request:"The request is missing required fields or is malformed.",invalid_project_name:"Use a project name of up to 100 characters without line breaks or control characters.",no_file_selected:"Please select a file.",file_not_found:"The requested file is not found.",file_not_accessible:"The requested file is not accessible.",file_not_supported:"The file type is not supported. Anonymous GitHub cannot handle it.",file_too_big:"The file size exceeds the limit of Anonymous GitHub.",is_folder:"The path points to a folder.",folder_not_supported:"The path points to a folder. Please select a file.",unable_to_write_file:"Unable to write file on disk.",download_not_enabled:"Repository downloads are not enabled on this server.",unable_to_download:"The repository could not be downloaded. Please try again later.",s3_config_not_provided:"Object storage has not been configured on this server.",stats_unsupported:"Statistics are only supported in download mode.",branches_not_found:"The requested branch is not found.",readme_not_available:"No README for the repository is found.",page_not_supported_on_different_branch:"GitHub Pages is served from a different branch than the one selected. Pick the branch that GitHub Pages is configured to use.",page_not_activated:"GitHub Pages is not enabled on this repository. Enable it in the repository settings on GitHub before anonymizing.",is_removed:"This resource has been removed and is no longer available.",conf_name_missing:"A conference name is required.",conf_id_missing:"A conference ID is required.",conf_id_used:"This conference ID is already in use. Please choose a different one.",conf_start_date_missing:"A start date is required for the conference.",conf_end_date_missing:"An end date is required for the conference.",conf_start_date_invalid:"The start date must be before the end date.",conf_end_date_invalid:"The end date must be in the future.",invalid_plan:"The selected plan is not valid.",conference_not_found:"The requested conference could not be found.",conf_not_found:"The requested conference could not be found.",conf_not_activated:"The conference is not activated.",billing_missing:"Billing information is required for this plan.",billing_name_missing:"A billing name is required.",billing_email_missing:"A billing email is required.",billing_address_missing:"A billing address is required.",billing_city_missing:"A billing city is required.",billing_zip_missing:"A billing ZIP/postal code is required.",billing_country_missing:"A billing country is required.",queue_not_found:"The specified queue could not be found.",job_not_found:"The specified job could not be found in the queue.",error_retrying_job:"An error occurred while retrying the job.",gist_expired:"The gist is expired.",gist_not_ready:"Anonymous GitHub is still processing the gist, it can take several minutes.",gist_not_found:"The requested gist could not be found.",gist_not_available:"This gist is currently not available.",invalid_gistId:"The format of the gist ID is invalid.",gistId_not_specified:"A gist ID must be provided.",gistId_already_used:"The gist ID is already used.",missing_token:"An authentication token is required.",invalid_token:"The provided authentication token is invalid.",login_failed:"Login failed. Please try again.",server_error:"An unexpected server error occurred. Please try again later.",username_not_defined:"A username must be provided.",github_user_not_found:"The specified GitHub user could not be found.",cannot_coauthor_self:"You cannot add yourself as a co-author.",storage_write_size_mismatch:"The downloaded file was smaller than expected. The upstream source may have returned an incomplete response \u2014 please try again.",storage_read_error:"An error occurred while reading the file from storage \u2014 please try again.",upstream_error:"A temporary error occurred while fetching from GitHub \u2014 please try again.",token_expired:"The repository owner needs to renew their GitHub connection before this content can be loaded.",job_is_active:"This job is currently running \u2014 wait for it to finish or remove it first.",github_app_access_required:"Allow this repository on GitHub using the read-only access button, then retry. Organization access may require administrator approval.",github_app_reconnect_required:"Reconnect your GitHub App account to restore read-only access.",github_app_disabled:"New GitHub App connections are currently unavailable.",github_oauth_required:"Connect legacy GitHub OAuth to use this feature.",github_identity_mismatch:"Use the same GitHub account that you are signed in with here.",github_app_permissions_invalid:"The GitHub App must be configured with read-only permissions.",github_unavailable:"GitHub is temporarily unavailable. Please retry.",connection_changed:"The repository connection changed. Reload and try again.",repository_busy:"Wait for the repository operation to finish before changing its connection.",invalid_connection:"Select a supported GitHub connection.",github_oauth_disabled:"Legacy OAuth sign-in is currently disabled.",invalid_auth_state:"The authorization session expired. Please start again from Anonymous GitHub.",invalid_webhook_signature:"The webhook signature is invalid.",webhook_processing_failed:"Webhook processing failed. Retry the delivery.",github_app_authorization_cancelled:"GitHub authorization was cancelled.",github_account_link_required:"Verify your existing account with your previous GitHub connection. Future sign-ins will use the GitHub App.",github_app_refresh_busy:"GitHub credentials are being renewed. Please retry shortly.",github_grant_revocation_failed:"Unable to revoke the GitHub grant. Please retry.",another_login_required:"Connect and verify another sign-in method before disconnecting OAuth.",oauth_resources_remaining:"Some resources still require OAuth. Migrate or remove them before disconnecting.",invalid_github_path:"The GitHub repository path is invalid."},WARNINGS:{page_not_enabled_on_repo:"GitHub Pages is not enabled on this repository. Enable it in the repository's Settings \u2192 Pages on GitHub, then refresh.",page_branch_mismatch:"GitHub Pages on this repository is served from the '{{pageBranch}}' branch, but you selected '{{selectedBranch}}'. Switch the branch above to '{{pageBranch}}' to anonymize the Pages site.",folder_truncated:"This folder has more than 10,000 entries; only a partial listing is shown.",repo_truncated:"Some folders in this repository have too many files to be fully listed. Affected folders are marked with a warning icon.",submodules_not_included:"This repository uses git submodules. Submodule contents are not included in the anonymized repository and appear as empty folders."},VIEWER_LOADING:{loading:"Loading file\u2026",receiving:"Receiving file\u2026",slow:"Still loading. You can select another file while you wait."}};typeof window<"u"&&window.document?.addEventListener&&window.document.addEventListener("error",e=>{let t=e.target;if(!t||t.tagName!=="IMG"||t.dataset.failed||!t.closest?.(".markdown-body, .anonymize-preview-body"))return;t.dataset.failed="1";let s=window.document.createElement("span");s.className="img-unavailable",s.textContent=t.alt?"Image unavailable: "+t.alt:"Image unavailable",t.replaceWith(s)},!0);function dr(e){let t=e?.data;if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return typeof t?.error=="string"&&Object.prototype.hasOwnProperty.call(ro.ERRORS,t.error)?t.error:e?.status===-1||e?.status===0?"request_error":[502,503,504].includes(e?.status)?"unreachable":"unknown_error"}function mp(e){if(!["ArrowLeft","ArrowRight","Home","End"].includes(e.key))return;let t=[...e.currentTarget.closest('[role="tablist"]').querySelectorAll('[role="tab"]')],s=t.indexOf(e.currentTarget),r=e.key==="Home"?0:e.key==="End"?t.length-1:(s+(e.key==="ArrowRight"?1:-1)+t.length)%t.length;e.preventDefault(),t[r]?.focus(),t[r]?.click()}var Ka=function(e,t,s,r){e.previewTabKeydown=mp,e.title="Main",e.user={status:"connection"},e.site_options,e.toasts=[],e.removeToast=function(f){let g=e.toasts.indexOf(f);g!==-1&&e.toasts.splice(g,1)},e.addToast=function(f){return e.toasts.push(f),r(function(){e.removeToast(f)},8e3),f},e.path=s.url(),e.paths=s.path().substring(1).split("/"),e.darkMode=function(f){localStorage.setItem("darkMode",f),e.isDarkMode=f;let g="/css/prism-okaidia.css",b="/css/prism.css";if(f){$("body").addClass("dark-mode");let m=document.createElement("link");m.href=g,m.rel="stylesheet",document.head.append(m),$(`link[href='${b}']`).remove()}else{$("body").removeClass("dark-mode");let m=document.createElement("link");m.href=b,m.rel="stylesheet",document.head.append(m),$(`link[href='${g}']`).remove()}let k=document.querySelector("[class*='floatingchat-container-wrap'] [class*='floating-chat-kofi-text-container-wrap']");k&&(k.style.backgroundColor=f?"#FAF9F6":"#1A1815",k.style.color=f?"#1A1815":"#FAF9F6"),e.emit("dark-mode",f)},e.darkMode(localStorage.getItem("darkMode")=="true");function o(){t.get("/api/user").then(f=>{f&&(e.user=f.data)},()=>{e.user=null})}o();function i(){t.get("/api/options").then(f=>{f&&(e.site_options=f.data)},()=>{e.site_options=null})}i();function a(){t.get("/api/message").then(f=>{f&&(e.generalMessage=f.data)},()=>{e.generalMessage=null})}a();function c(f,g){g&&(e.title=g.title),e.path=s.url(),e.paths=s.path().substring(1).split("/")}e.on("routeChange",c),e.on("routeUpdate",c)},Ya=function(e,t){let s=Xt(),r=ut(),o=()=>{let i=window.location.hash.slice(1),a=document.getElementById(i);if(!a?.classList.contains("panel-collapse"))return;$(a).collapse("show");let c=document.getElementById(a.getAttribute("aria-labelledby"));c?.setAttribute("tabindex","-1"),c?.focus({preventScroll:!0}),c?.scrollIntoView?.({block:"start"})};e.on("routeUpdate",()=>r.timeout(o,0)),s(window,"hashchange",o),r.timeout(o,0)},Ja=function(e,t,s,r,o){e.terms="",e.options={expirationMode:"remove",update:!1,image:!0,pdf:!0,notebook:!0,loc:!0,link:!0},e.saving=!1,e.message=null,e.error=null,o.load().then(f=>{e.quota=f},console.error);let i=lr(e,["terms","options"],"profile");e.discardDraft=()=>i.discard();function a(){t.get("/api/user/default").then(f=>{let g=f.data||{};g.terms&&(e.terms=g.terms.join(` +`+JSON.stringify(t):""}`},[Be.NAVIGATION_GUARD_REDIRECT]({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${Bc(t)}" via a navigation guard.`},[Be.NAVIGATION_ABORTED]({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},[Be.NAVIGATION_CANCELLED]({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},[Be.NAVIGATION_DUPLICATED]({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function fn(e,t){return Ve(new Error,{type:e,[Na]:!0},t)}function Ft(e,t){return e instanceof Error&&Na in e&&(t==null||!!(e.type&t))}var Hc=["params","query","hash"];function Bc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;let t={};for(let s of Hc)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function _a(e){let t={};if(e===""||e==="?")return t;let s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&Qo(o)):[r&&Qo(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+s,o!=null&&(t+="="+o))})}return t}function Da(e){let t={};for(let s in e){let r=e[s];r!==void 0&&(t[s]=kt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}var Ra=Symbol(""),rr=Symbol(""),to=Symbol(""),no=Symbol(""),so=Symbol("");function On(){let e=[];function t(r){return e.push(r),()=>{let o=e.indexOf(r);o>-1&&e.splice(o,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function Jt(e,t,s,r,o,i=a=>a()){let a=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((c,f)=>{let g=m=>{m===!1?f(fn(Be.NAVIGATION_ABORTED,{from:s,to:t})):m instanceof Error?f(m):zc(m)?f(fn(Be.NAVIGATION_GUARD_REDIRECT,{from:t,to:m})):(a&&r.enterCallbacks[o]===a&&typeof m=="function"&&a.push(m),c())},b=i(()=>e.call(r&&r.instances[o],t,s,g)),k=Promise.resolve(b);e.length<3&&(k=k.then(g)),k.catch(m=>f(m))})}function oo(e,t,s,r,o=i=>i()){let i=[];for(let a of e)for(let c in a.components){let f=a.components[c];if(!(t!=="beforeRouteEnter"&&!a.instances[c]))if(ua(f)){let g=(f.__vccOpts||f)[t];g&&i.push(Jt(g,s,r,a,c,o))}else{let g=f();i.push(()=>g.then(b=>{if(!b)throw new Error(`Couldn't resolve component "${c}" at "${a.path}"`);let k=Ec(b)?b.default:b;a.mods[c]=b,a.components[c]=k;let m=(k.__vccOpts||k)[t];return m&&Jt(m,s,r,a,c,o)()}))}}return i}function Ta(e,t){let s=[],r=[],o=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;apn(g,c))?r.push(c):s.push(c));let f=e.matched[a];f&&(t.matched.find(g=>pn(g,f))||o.push(f))}return[s,r,o]}var jc=()=>location.protocol+"//"+location.host;function Fa(e,t){let{pathname:s,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let a=o.includes(e.slice(i))?e.slice(i).length:1,c=o.slice(a);return c[0]!=="/"&&(c="/"+c),er(c,"")}return er(s,e)+r+o}function Gc(e,t,s,r){let o=[],i=[],a=null,c=({state:m})=>{let C=Fa(e,location),A=s.value,h=t.value,E=0;if(m){if(s.value=C,t.value=m,a&&a===A){a=null;return}E=h?m.position-h.position:0}else r(C);o.forEach(N=>{N(s.value,A,{delta:E,type:xs.pop,direction:E?E>0?eo.forward:eo.back:eo.unknown})})};function f(){a=s.value}function g(m){o.push(m);let C=()=>{let A=o.indexOf(m);A>-1&&o.splice(A,1)};return i.push(C),C}function b(){if(document.visibilityState==="hidden"){let{history:m}=window;if(!m.state)return;m.replaceState(Ve({},m.state,{scroll:fs()}),"")}}function k(){for(let m of i)m();i=[],window.removeEventListener("popstate",c),window.removeEventListener("pagehide",b),document.removeEventListener("visibilitychange",b)}return window.addEventListener("popstate",c),window.addEventListener("pagehide",b),document.addEventListener("visibilitychange",b),{pauseListeners:f,listen:g,destroy:k}}function Oa(e,t,s,r=!1,o=!1){return{back:e,current:t,forward:s,replaced:r,position:window.history.length,scroll:o?fs():null}}function Wc(e){let{history:t,location:s}=window,r={value:Fa(e,s)},o={value:t.state};o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(f,g,b){let k=e.indexOf("#"),m=k>-1?(s.host&&document.querySelector("base")?e:e.slice(k))+f:jc()+e+f;try{t[b?"replaceState":"pushState"](g,"",m),o.value=g}catch(C){console.error(C),s[b?"replace":"assign"](m)}}function a(f,g){i(f,Ve({},t.state,Oa(o.value.back,f,o.value.forward,!0),g,{position:o.value.position}),!0),r.value=f}function c(f,g){let b=Ve({},o.value,t.state,{forward:f,scroll:fs()});i(b.current,b,!0),i(f,Ve({},Oa(r.value,f,null),{position:b.position+1},g),!1),r.value=f}return{location:r,state:o,push:c,replace:a}}function za(e){e=wa(e);let t=Wc(e),s=Gc(e,t.state,t.location,t.replace);function r(i,a=!0){a||s.pauseListeners(),history.go(i)}let o=Ve({location:"",base:e,go:r,createHref:ka.bind(null,e)},t,s);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}var hn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),Qe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Qe||{}),Kc={type:hn.Static,value:""},Yc=/[a-zA-Z0-9_]/;function Jc(e){if(!e)return[[]];if(e==="/")return[[Kc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(C){throw new Error(`ERR (${s})/"${g}": ${C}`)}let s=Qe.Static,r=s,o=[],i;function a(){i&&o.push(i),i=[]}let c=0,f,g="",b="";function k(){g&&(s===Qe.Static?i.push({type:hn.Static,value:g}):s===Qe.Param||s===Qe.ParamRegExp||s===Qe.ParamRegExpEnd?(i.length>1&&(f==="*"||f==="+")&&t(`A repeatable param (${g}) must be alone in its segment. eg: '/:ids+.`),i.push({type:hn.Param,value:g,regexp:b,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):t("Invalid state to consume buffer"),g="")}function m(){g+=f}for(;ct.length?t.length===1&&t[0]===rt.Static+rt.Segment?1:-1:0}function Ha(e,t){let s=0,r=e.score,o=t.score;for(;s0&&t[t.length-1]<0}var ep={strict:!1,end:!0,sensitive:!1};function tp(e,t,s){let r=Zc(Jc(e.path),s),o=Ve(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function np(e,t){let s=[],r=new Map;t=Zo(ep,t);function o(k){return r.get(k)}function i(k,m,C){let A=!C,h=Va(k);h.aliasOf=C&&C.record;let E=Zo(t,k),N=[h];if("alias"in k){let H=typeof k.alias=="string"?[k.alias]:k.alias;for(let q of H)N.push(Va(Ve({},h,{components:C?C.record.components:h.components,path:q,aliasOf:C?C.record:h})))}let R,P;for(let H of N){let{path:q}=H;if(m&&q[0]!=="/"){let z=m.record.path,ie=z[z.length-1]==="/"?"":"/";H.path=m.record.path+(q&&ie+q)}if(R=tp(H,m,E),C?C.alias.push(R):(P=P||R,P!==R&&P.alias.push(R),A&&k.name&&!Ma(R)&&a(k.name)),Ba(R)&&f(R),h.children){let z=h.children;for(let ie=0;ie{a(P)}:Tn}function a(k){if(sr(k)){let m=r.get(k);m&&(r.delete(k),s.splice(s.indexOf(m),1),m.children.forEach(a),m.alias.forEach(a))}else{let m=s.indexOf(k);m>-1&&(s.splice(m,1),k.record.name&&r.delete(k.record.name),k.children.forEach(a),k.alias.forEach(a))}}function c(){return s}function f(k){let m=rp(k,s);s.splice(m,0,k),k.record.name&&!Ma(k)&&r.set(k.record.name,k)}function g(k,m){let C,A={},h,E;if("name"in k&&k.name){if(C=r.get(k.name),!C)throw fn(Be.MATCHER_NOT_FOUND,{location:k});E=C.record.name,A=Ve(Pa(m.params,C.keys.filter(P=>!P.optional).concat(C.parent?C.parent.keys.filter(P=>P.optional):[]).map(P=>P.name)),k.params&&Pa(k.params,C.keys.map(P=>P.name))),h=C.stringify(A)}else if(k.path!=null)h=k.path,C=s.find(P=>P.re.test(h)),C&&(A=C.parse(h),E=C.record.name);else{if(C=m.name?r.get(m.name):s.find(P=>P.re.test(m.path)),!C)throw fn(Be.MATCHER_NOT_FOUND,{location:k,currentLocation:m});E=C.record.name,A=Ve({},m.params,k.params),h=C.stringify(A)}let N=[],R=C;for(;R;)N.unshift(R.record),R=R.parent;return{name:E,path:h,params:A,matched:N,meta:op(N)}}e.forEach(k=>i(k));function b(){s.length=0,r.clear()}return{addRoute:i,resolve:g,removeRoute:a,clearRoutes:b,getRoutes:c,getRecordMatcher:o}}function Pa(e,t){let s={};for(let r of t)r in e&&(s[r]=e[r]);return s}function Va(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:sp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function sp(e){let t={},s=e.props||!1;if("component"in e)t.default=s;else for(let r in e.components)t[r]=typeof s=="object"?s[r]:s;return t}function Ma(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function op(e){return e.reduce((t,s)=>Ve(t,s.meta),{})}function rp(e,t){let s=0,r=t.length;for(;s!==r;){let i=s+r>>1;Ha(e,t[i])<0?r=i:s=i+1}let o=ip(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function ip(e){let t=e;for(;t=t.parent;)if(Ba(t)&&Ha(e,t)===0)return t}function Ba({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function qa(e){let t=dt(to),s=dt(no),r=!1,o=null,i=nt(()=>{let b=Gt(e.to);return t.resolve(b)}),a=nt(()=>{let{matched:b}=i.value,{length:k}=b,m=b[k-1],C=s.matched;if(!m||!C.length)return-1;let A=C.findIndex(pn.bind(null,m));if(A>-1)return A;let h=La(b[k-2]);return k>1&&La(m)===h&&C[C.length-1].path!==h?C.findIndex(pn.bind(null,b[k-2])):A}),c=nt(()=>a.value>-1&&cp(s.params,i.value.params)),f=nt(()=>a.value>-1&&a.value===s.matched.length-1&&tr(s.params,i.value.params));function g(b={}){if(up(b)){let k=t[Gt(e.replace)?"replace":"push"](Gt(e.to)).catch(Tn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>k),k}return Promise.resolve()}return{route:i,href:nt(()=>i.value.href),isActive:c,isExactActive:f,navigate:g}}function ap(e){return e.length===1?e[0]:e}var lp=as({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:qa,setup(e,{slots:t}){let s=ze(qa(e)),{options:r}=dt(to),o=nt(()=>({[$a(e.activeClass,r.linkActiveClass,"router-link-active")]:s.isActive,[$a(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{let i=t.default&&ap(t.default(s));return e.custom?i:De("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:o.value},i)}}}),dp=lp;function up(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function cp(e,t){for(let s in t){let r=t[s],o=e[s];if(typeof r=="string"){if(r!==o)return!1}else if(!kt(o)||o.length!==r.length||r.some((i,a)=>i.valueOf()!==o[a].valueOf()))return!1}return!0}function La(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}var $a=(e,t,s)=>e??t??s,pp=as({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){let r=dt(so),o=nt(()=>e.route||r.value),i=dt(rr,0),a=nt(()=>{let g=Gt(i),{matched:b}=o.value,k;for(;(k=b[g])&&!k.components;)g++;return g}),c=nt(()=>o.value.matched[a.value]);ln(rr,nt(()=>a.value+1)),ln(Ra,c),ln(so,o);let f=et();return He(()=>[f.value,c.value,e.name],([g,b,k],[m,C,A])=>{b&&(b.instances[k]=g,C&&C!==b&&g&&g===m&&(b.leaveGuards.size||(b.leaveGuards=C.leaveGuards),b.updateGuards.size||(b.updateGuards=C.updateGuards))),g&&b&&(!C||!pn(b,C)||!m)&&(b.enterCallbacks[k]||[]).forEach(h=>h(g))},{flush:"post"}),()=>{let g=o.value,b=e.name,k=c.value,m=k&&k.components[b];if(!m)return Ua(s.default,{Component:m,route:g});let C=k.props[b],A=C?C===!0?g.params:typeof C=="function"?C(g):C:null,E=De(m,Ve({},A,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(k.instances[b]=null)},ref:f}));return Ua(s.default,{Component:E,route:g})||E}}});function Ua(e,t){if(!e)return null;let s=e(t);return s.length===1?s[0]:s}var ir=pp;function ja(e){let t=np(e.routes,e),s=e.parseQuery||_a,r=e.stringifyQuery||or,o=e.history,i=On(),a=On(),c=On(),f=Rs(Qt),g=Qt;mn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");let b=Xs.bind(null,U=>""+U),k=Xs.bind(null,ya),m=Xs.bind(null,Rn);function C(U,te){let x,S;return sr(U)?(x=t.getRecordMatcher(U),S=te):S=U,t.addRoute(S,x)}function A(U){let te=t.getRecordMatcher(U);te&&t.removeRoute(te)}function h(){return t.getRoutes().map(U=>U.record)}function E(U){return!!t.getRecordMatcher(U)}function N(U,te){if(te=Ve({},te||f.value),typeof U=="string"){let w=Zs(s,U,te.path),O=t.resolve({path:w.path},te),V=o.createHref(w.fullPath);return Ve(w,O,{params:m(O.params),hash:Rn(w.hash),redirectedFrom:void 0,href:V})}let x;if(U.path!=null)x=Ve({},U,{path:Zs(s,U.path,te.path).path});else{let w=Ve({},U.params);for(let O in w)w[O]==null&&delete w[O];x=Ve({},U,{params:k(w)}),te.params=k(te.params)}let S=t.resolve(x,te),I=U.hash||"";S.params=b(m(S.params));let B=ga(r,Ve({},U,{hash:va(I),path:S.path})),v=o.createHref(B);return Ve({fullPath:B,hash:I,query:r===or?Da(U.query):U.query||{}},S,{redirectedFrom:void 0,href:v})}function R(U){return typeof U=="string"?Zs(s,U,f.value.path):Ve({},U)}function P(U,te){if(g!==U)return fn(Be.NAVIGATION_CANCELLED,{from:te,to:U})}function H(U){return ie(U)}function q(U){return H(Ve(R(U),{replace:!0}))}function z(U,te){let x=U.matched[U.matched.length-1];if(x&&x.redirect){let{redirect:S}=x,I=typeof S=="function"?S(U,te):S;return typeof I=="string"&&(I=I.includes("?")||I.includes("#")?I=R(I):{path:I},I.params={}),Ve({query:U.query,hash:U.hash,params:I.path!=null?{}:U.params},I)}}function ie(U,te){let x=g=N(U),S=f.value,I=U.state,B=U.force,v=U.replace===!0,w=z(x,S);if(w)return ie(Ve(R(w),{state:typeof w=="object"?Ve({},I,w.state):I,force:B,replace:v}),te||x);let O=x;O.redirectedFrom=te;let V;return!B&&ba(r,S,x)&&(V=fn(Be.NAVIGATION_DUPLICATED,{to:O,from:S}),X(S,S,!0,!1)),(V?Promise.resolve(V):Y(O,S)).catch(M=>Ft(M)?Ft(M,Be.NAVIGATION_GUARD_REDIRECT)?M:L(M):ge(M,O,S)).then(M=>{if(M){if(Ft(M,Be.NAVIGATION_GUARD_REDIRECT))return ie(Ve({replace:v},R(M.to),{state:typeof M.to=="object"?Ve({},I,M.to.state):I,force:B}),te||O)}else M=he(O,S,!0,v,I);return Z(O,S,M),M})}function ae(U,te){let x=P(U,te);return x?Promise.reject(x):Promise.resolve()}function _(U){let te=me.values().next().value;return te&&typeof te.runWithContext=="function"?te.runWithContext(U):U()}function Y(U,te){let x,[S,I,B]=Ta(U,te);x=oo(S.reverse(),"beforeRouteLeave",U,te);for(let w of S)w.leaveGuards.forEach(O=>{x.push(Jt(O,U,te))});let v=ae.bind(null,U,te);return x.push(v),oe(x).then(()=>{x=[];for(let w of i.list())x.push(Jt(w,U,te));return x.push(v),oe(x)}).then(()=>{x=oo(I,"beforeRouteUpdate",U,te);for(let w of I)w.updateGuards.forEach(O=>{x.push(Jt(O,U,te))});return x.push(v),oe(x)}).then(()=>{x=[];for(let w of B)if(w.beforeEnter)if(kt(w.beforeEnter))for(let O of w.beforeEnter)x.push(Jt(O,U,te));else x.push(Jt(w.beforeEnter,U,te));return x.push(v),oe(x)}).then(()=>(U.matched.forEach(w=>w.enterCallbacks={}),x=oo(B,"beforeRouteEnter",U,te,_),x.push(v),oe(x))).then(()=>{x=[];for(let w of a.list())x.push(Jt(w,U,te));return x.push(v),oe(x)}).catch(w=>Ft(w,Be.NAVIGATION_CANCELLED)?w:Promise.reject(w))}function Z(U,te,x){c.list().forEach(S=>_(()=>S(U,te,x)))}function he(U,te,x,S,I){let B=P(U,te);if(B)return B;let v=te===Qt,w=mn?history.state:{};x&&(S||v?o.replace(U.fullPath,Ve({scroll:v&&w&&w.scroll},I)):o.push(U.fullPath,I)),f.value=U,X(U,te,x,v),L()}let ue;function ce(){ue||(ue=o.listen((U,te,x)=>{if(!ve.listening)return;let S=N(U),I=z(S,ve.currentRoute.value);if(I){ie(Ve(I,{replace:!0,force:!0}),S).catch(Tn);return}g=S;let B=f.value;mn&&Ea(nr(B.fullPath,x.delta),fs()),Y(S,B).catch(v=>Ft(v,Be.NAVIGATION_ABORTED|Be.NAVIGATION_CANCELLED)?v:Ft(v,Be.NAVIGATION_GUARD_REDIRECT)?(ie(Ve(R(v.to),{force:!0}),S).then(w=>{Ft(w,Be.NAVIGATION_ABORTED|Be.NAVIGATION_DUPLICATED)&&!x.delta&&x.type===xs.pop&&o.go(-1,!1)}).catch(Tn),Promise.reject()):(x.delta&&o.go(-x.delta,!1),ge(v,S,B))).then(v=>{v=v||he(S,B,!1),v&&(x.delta&&!Ft(v,Be.NAVIGATION_CANCELLED)?o.go(-x.delta,!1):x.type===xs.pop&&Ft(v,Be.NAVIGATION_ABORTED|Be.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),Z(S,B,v)}).catch(Tn)}))}let ye=On(),_e=On(),Se;function ge(U,te,x){L(U);let S=_e.list();return S.length?S.forEach(I=>I(U,te,x)):console.error(U),Promise.reject(U)}function Ue(){return Se&&f.value!==Qt?Promise.resolve():new Promise((U,te)=>{ye.add([U,te])})}function L(U){return Se||(Se=!U,ce(),ye.list().forEach(([te,x])=>U?x(U):te()),ye.reset()),U}function X(U,te,x,S){let{scrollBehavior:I}=e;if(!mn||!I)return Promise.resolve();let B=!x&&Sa(nr(U.fullPath,0))||(S||!x)&&history.state&&history.state.scroll||null;return Ze().then(()=>I(U,te,B)).then(v=>v&&Ca(v)).catch(v=>ge(v,U,te))}let J=U=>o.go(U),ne,me=new Set,ve={currentRoute:f,listening:!0,addRoute:C,removeRoute:A,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:h,resolve:N,options:e,push:H,replace:q,go:J,back:()=>J(-1),forward:()=>J(1),beforeEach:i.add,beforeResolve:a.add,afterEach:c.add,onError:_e.add,isReady:Ue,install(U){U.component("RouterLink",dp),U.component("RouterView",ir),U.config.globalProperties.$router=ve,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>Gt(f)}),mn&&!ne&&f.value===Qt&&(ne=!0,H(o.location).catch(S=>{}));let te={};for(let S in Qt)Object.defineProperty(te,S,{get:()=>f.value[S],enumerable:!0});U.provide(to,ve),U.provide(no,Gn(te)),U.provide(so,f);let x=U.unmount;me.add(U),U.unmount=function(){me.delete(U),me.size<1&&(g=Qt,ue&&ue(),ue=null,f.value=Qt,ne=!1,Se=!1),x()}}};function oe(U){return U.reduce((te,x)=>te.then(()=>_(x)),Promise.resolve())}return ve}function Ga(e){return dt(no)}function Wa(e,t){return t?.split(".").reduce((s,r)=>s?.[r],e)}function ar(e=null,t=new Map){let s=ze({}),r=[],o=!1,i=new Proxy(s,{get(a,c){return typeof c=="string"&&c.startsWith("__v_")||Reflect.has(a,c)?Reflect.get(a,c):e?.[c]}});return Object.defineProperty(s,"parent",{value:e,configurable:!0}),Object.defineProperty(s,"viewState",{get:()=>i}),i.watch=(a,c,f=!1,g=!0)=>{let b=typeof a=="function"?()=>a(i):()=>Wa(i,a),k=He(b,c,{deep:f,flush:"post"});return r.push(k),g&&Ze(()=>{o||c(b(),b())}),k},i.watchGroup=(a,c,f=!0)=>i.watch(()=>a.map(g=>Wa(i,g)),c,!0,f),i.on=(a,c)=>{if(a==="dispose")return r.push(c),()=>{};t.has(a)||t.set(a,new Set),t.get(a).add(c);let f=()=>t.get(a)?.delete(c);return r.push(f),f},i.emit=(a,...c)=>{for(let f of[...t.get(a)||[]])f({},...c)},i.dispose=()=>{o=!0,r.splice(0).reverse().forEach(a=>a())},Bn(i.dispose),i}function ut(){let e=new Set,t=new Set,s=!1,r=(i,a=0)=>{if(s)return;let c=setTimeout(()=>{e.delete(c),i()},a);return e.add(c),c};r.cancel=i=>{clearTimeout(i),e.delete(i)};let o=(i,a)=>{if(s)return;let c=setInterval(i,a);return t.add(c),c};return o.cancel=i=>{clearInterval(i),t.delete(i)},Bn(()=>{s=!0,e.forEach(clearTimeout),t.forEach(clearInterval)}),{timeout:r,interval:o}}function Xt(){let e=new Set;return Bn(()=>{e.forEach(t=>t()),e.clear()}),(t,s,r,o)=>{t.addEventListener(s,r,o);let i=()=>{t.removeEventListener(s,r,o),e.delete(i)};return e.add(i),i}}function lr(e,t,s){let r,o=!1,i="form-draft:"+s,a=()=>Object.fromEntries(t.map(m=>[m,e[m]])),c=()=>JSON.stringify(a()),f=m=>{for(let C of t)Object.prototype.hasOwnProperty.call(m,C)&&(e[C]=m[C]);e.options?.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate))},g=()=>{try{window.sessionStorage.removeItem(i)}catch{}},b=(m=!1)=>{if(r!==void 0){if(m&&document.querySelectorAll("input, select, textarea").forEach(C=>{C._field?.binding.state===e&&C._field.timer&&C._field.commit()}),e.unsavedChanges=c()!==r,e.draftSaved=!1,!e.unsavedChanges){g();return}try{window.sessionStorage.setItem(i,JSON.stringify({account:e.user?.username||null,savedAt:Date.now(),values:a()})),e.draftSaved=!0}catch{}}},k=()=>b(!0);return e.on("routeLeave",k),window.addEventListener("beforeunload",k),e.on("dispose",()=>window.removeEventListener("beforeunload",k)),{restore(){r=c();let m;try{m=JSON.parse(window.sessionStorage.getItem(i)||"null")}catch{}let C=m&&m.account===(e.user?.username||null)&&Date.now()-m.savedAt<30*6e4&&m.values;return C&&(f(m.values),e.draftRestored=!0),o||(o=!0,e.watch(()=>a(),()=>b(),!0)),e.unsavedChanges=c()!==r,!!C},checkpoint(){return JSON.parse(c())},accept(m){r=JSON.stringify(m),e.draftRestored=!1,b()},discard(){document.querySelectorAll("input, select, textarea").forEach(m=>{m._field?.binding.state!==e||!m._field.timer||(clearTimeout(m._field.timer),m._field.timer=null,m.value=m._field.binding.value??"")}),r!==void 0&&f(JSON.parse(r)),e.draftRestored=!1,b()},clear(){r=c(),e.unsavedChanges=!1,e.draftRestored=!1,e.draftSaved=!1,g()}}}var ro={VIEWER_ERRORS:{title:"Content could not be loaded",access_title:"GitHub access needs attention",reader_help:"Reading this repository? You do not need to sign in. Try again after the owner restores access, or let them know this anonymous link is unavailable.",owner_help:"Own this repository? If your GitHub account was suspended or recently recovered, sign in to Anonymous GitHub again and check the GitHub connection and repository permissions in your dashboard. Then retry this page. Keep the existing anonymous URL; do not delete the repository to restore access.",retry:"Try again",dashboard:"Open owner dashboard"},ERRORS:{cache_busy:"Downloads are busy. Please try again shortly.",invalid_sort:"The selected sort order is invalid.",invalid_cursor:"This project page is no longer valid. Reload the list.",repository_changed:"The repository changed while processing. Please retry.",repository_job_cancelled:"The repository changed or was removed while processing.",storage_delete_failed:"Unable to remove cached files. Please try again later.",unknown_error:"We could not load this content. Try again. If it still fails, contact support with the anonymous URL and the time of the error.",unreachable:"The service could not complete this request. Wait a moment and try again.",request_error:"The connection was interrupted. Check your internet connection and try again.",not_found:"The requested resource could not be found.",not_connected:"You must be logged in to perform this action.",not_authorized:"You do not have permission to perform this action.",unable_to_connect_user:"Unable to connect your account. Please try again later.",user_not_found:"The requested user could not be found.",user_banned:"Your account has been banned. Contact the admin for more information.",repo_access_limited:"GitHub blocked access because the repository's organization restricts third-party OAuth apps. Ask an org owner to approve Anonymous GitHub under Settings \u2192 Third-party Access \u2192 OAuth app policy, or anonymize a personal fork instead.",repo_saml_enforcement:"The repository's organization enforces SAML single sign-on. Authorize your token for that organization (GitHub \u2192 Settings \u2192 Applications, or re-run the org's SSO sign-in), then retry. Alternatively, anonymize a personal fork.",repo_not_found:"Anonymous GitHub cannot access the source repository on GitHub. It may be private, unavailable, or require the owner to reconnect GitHub.",repo_empty:"The selected branch has no commits on GitHub. Push at least one commit, or pick a different branch, then retry.",repo_not_accessible:"Anonymous GitHub cannot access this repository. Verify the repository exists and that Anonymous GitHub has been authorized for the owning organization.",repository_archived:"This repository has been archived and its files are no longer available.",repository_expired:"The repository is expired.",invalid_status:"This action cannot be performed while the resource is in its current state.",repository_not_ready:"Anonymous GitHub is still processing the repository, it can take several minutes.",repository_not_accessible:"This repository is currently not accessible.",repo_is_updating:"Anonymous GitHub is still processing the repository, it can take several minutes.",invalid_repo:"The provided repository is not valid.",invalid_source_repository:"The repository source name is invalid; expected the form 'owner/name'.",repoId_not_defined:"A repository ID must be provided.",repoUrl_not_defined:"The repository URL needs to be defined.",source_not_provided:"A repository source must be provided.",github_rate_limit_exceeded:"GitHub temporarily blocked the request because we hit its API rate limit. Wait a few minutes and try again. If the problem persists and you contact GitHub Support, include the request ID and timestamp shown in GitHub's response (the 'X-GitHub-Request-Id' header).",rate_limited:"GitHub API rate limit reached. The repository will be available shortly \u2014 please wait a moment and refresh.",repoId_already_used:"The repository ID is already used.",invalid_repoId:"The format of the repository ID is invalid.",unsupported_source:"The repository source type is not supported.",branch_not_specified:"The branch is not specified.",branch_not_found:"The branch of the repository cannot be found.",commit_not_specified:"A commit must be specified.",commit_not_found:"The configured commit no longer exists in the source repository. It may have been force-pushed, rebased, or removed.",repo_renamed:"The source repository appears to have been renamed or moved on GitHub. Please refresh and try again \u2014 the cached name has been updated.",invalid_commit_format:"The commit hash format is invalid. It must be a hexadecimal string.",pull_request_not_found:"The requested pull request could not be found.",pull_request_expired:"This pull request has expired and is no longer available.",pull_request_not_ready:"This pull request is still being prepared. Please try again shortly.",pull_request_not_available:"This pull request is currently not available.",invalid_pullRequestId:"The pull request ID is invalid.",pullRequestId_already_used:"This pull request ID is already in use. Please choose a different one.",repository_not_specified:"A repository must be specified for this pull request.",pullRequestId_not_specified:"A pull request ID must be specified.",pullRequestId_is_not_a_number:"The source pull request ID must be a number.",options_not_provided:"Anonymization options are mandatory.",terms_not_specified:"Anonymization terms must be specified.",invalid_terms_format:"Terms are in an invalid format.",missing_content:"No content was provided to the anonymization preview.",unable_to_anonymize:"An error happened during the anonymization process. Please try later or report the issue.",non_supported_mode:"The selected anonymization mode is invalid, only download and stream are supported.",invalid_path:"The provided path is invalid or missing.",path_not_specified:"A file path must be specified.",path_not_defined:"The file path has not been resolved yet.",invalid_file_path:"The requested file path is not valid.",invalid_request:"The request is missing required fields or is malformed.",invalid_project_name:"Use a project name of up to 100 characters without line breaks or control characters.",no_file_selected:"Please select a file.",file_not_found:"The requested file is not found.",file_not_accessible:"The requested file is not accessible.",file_not_supported:"The file type is not supported. Anonymous GitHub cannot handle it.",file_too_big:"The file size exceeds the limit of Anonymous GitHub.",is_folder:"The path points to a folder.",folder_not_supported:"The path points to a folder. Please select a file.",unable_to_write_file:"Unable to write file on disk.",download_not_enabled:"Repository downloads are not enabled on this server.",unable_to_download:"The repository could not be downloaded. Please try again later.",s3_config_not_provided:"Object storage has not been configured on this server.",stats_unsupported:"Statistics are only supported in download mode.",branches_not_found:"The requested branch is not found.",readme_not_available:"No README for the repository is found.",page_not_supported_on_different_branch:"GitHub Pages is served from a different branch than the one selected. Pick the branch that GitHub Pages is configured to use.",page_not_activated:"GitHub Pages is not enabled on this repository. Enable it in the repository settings on GitHub before anonymizing.",is_removed:"This resource has been removed and is no longer available.",conf_name_missing:"A conference name is required.",conf_id_missing:"A conference ID is required.",conf_id_used:"This conference ID is already in use. Please choose a different one.",conf_start_date_missing:"A start date is required for the conference.",conf_end_date_missing:"An end date is required for the conference.",conf_start_date_invalid:"The start date must be before the end date.",conf_end_date_invalid:"The end date must be in the future.",invalid_plan:"The selected plan is not valid.",conference_not_found:"The requested conference could not be found.",conf_not_found:"The requested conference could not be found.",conf_not_activated:"The conference is not activated.",billing_missing:"Billing information is required for this plan.",billing_name_missing:"A billing name is required.",billing_email_missing:"A billing email is required.",billing_address_missing:"A billing address is required.",billing_city_missing:"A billing city is required.",billing_zip_missing:"A billing ZIP/postal code is required.",billing_country_missing:"A billing country is required.",queue_not_found:"The specified queue could not be found.",job_not_found:"The specified job could not be found in the queue.",error_retrying_job:"An error occurred while retrying the job.",gist_expired:"The gist is expired.",gist_not_ready:"Anonymous GitHub is still processing the gist, it can take several minutes.",gist_not_found:"The requested gist could not be found.",gist_not_available:"This gist is currently not available.",invalid_gistId:"The format of the gist ID is invalid.",gistId_not_specified:"A gist ID must be provided.",gistId_already_used:"The gist ID is already used.",missing_token:"An authentication token is required.",invalid_token:"The provided authentication token is invalid.",login_failed:"Login failed. Please try again.",server_error:"An unexpected server error occurred. Please try again later.",username_not_defined:"A username must be provided.",github_user_not_found:"The specified GitHub user could not be found.",cannot_coauthor_self:"You cannot add yourself as a co-author.",storage_write_size_mismatch:"The downloaded file was smaller than expected. The upstream source may have returned an incomplete response \u2014 please try again.",storage_read_error:"An error occurred while reading the file from storage \u2014 please try again.",upstream_error:"A temporary error occurred while fetching from GitHub \u2014 please try again.",token_expired:"The repository owner needs to renew their GitHub connection before this content can be loaded.",job_is_active:"This job is currently running \u2014 wait for it to finish or remove it first.",github_app_access_required:"Allow this repository on GitHub using the read-only access button, then retry. Organization access may require administrator approval.",github_app_reconnect_required:"Reconnect your GitHub App account to restore read-only access.",github_app_disabled:"New GitHub App connections are currently unavailable.",github_oauth_required:"Connect legacy GitHub OAuth to use this feature.",github_identity_mismatch:"Use the same GitHub account that you are signed in with here.",github_app_permissions_invalid:"The GitHub App must be configured with read-only permissions.",github_unavailable:"GitHub is temporarily unavailable. Please retry.",connection_changed:"The repository connection changed. Reload and try again.",repository_busy:"Wait for the repository operation to finish before changing its connection.",invalid_connection:"Select a supported GitHub connection.",github_oauth_disabled:"Legacy OAuth sign-in is currently disabled.",invalid_auth_state:"The authorization session expired. Please start again from Anonymous GitHub.",invalid_webhook_signature:"The webhook signature is invalid.",webhook_processing_failed:"Webhook processing failed. Retry the delivery.",github_app_authorization_cancelled:"GitHub authorization was cancelled.",github_account_link_required:"Verify your existing account with your previous GitHub connection. Future sign-ins will use the GitHub App.",github_app_refresh_busy:"GitHub credentials are being renewed. Please retry shortly.",github_grant_revocation_failed:"Unable to revoke the GitHub grant. Please retry.",another_login_required:"Connect and verify another sign-in method before disconnecting OAuth.",oauth_resources_remaining:"Some resources still require OAuth. Migrate or remove them before disconnecting.",invalid_github_path:"The GitHub repository path is invalid."},WARNINGS:{page_not_enabled_on_repo:"GitHub Pages is not enabled on this repository. Enable it in the repository's Settings \u2192 Pages on GitHub, then refresh.",page_branch_mismatch:"GitHub Pages on this repository is served from the '{{pageBranch}}' branch, but you selected '{{selectedBranch}}'. Switch the branch above to '{{pageBranch}}' to anonymize the Pages site.",folder_truncated:"This folder has more than 10,000 entries; only a partial listing is shown.",repo_truncated:"Some folders in this repository have too many files to be fully listed. Affected folders are marked with a warning icon.",submodules_not_included:"This repository uses git submodules. Submodule contents are not included in the anonymized repository and appear as empty folders."},VIEWER_LOADING:{loading:"Loading file\u2026",receiving:"Receiving file\u2026",slow:"Still loading. You can select another file while you wait."}};typeof window<"u"&&window.document?.addEventListener&&window.document.addEventListener("error",e=>{let t=e.target;if(!t||t.tagName!=="IMG"||t.dataset.failed||!t.closest?.(".markdown-body, .anonymize-preview-body"))return;t.dataset.failed="1";let s=window.document.createElement("span");s.className="img-unavailable",s.textContent=t.alt?"Image unavailable: "+t.alt:"Image unavailable",t.replaceWith(s)},!0);function dr(e){let t=e?.data;if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return typeof t?.error=="string"&&Object.prototype.hasOwnProperty.call(ro.ERRORS,t.error)?t.error:e?.status===-1||e?.status===0?"request_error":[502,503,504].includes(e?.status)?"unreachable":"unknown_error"}function mp(e){if(!["ArrowLeft","ArrowRight","Home","End"].includes(e.key))return;let t=[...e.currentTarget.closest('[role="tablist"]').querySelectorAll('[role="tab"]')],s=t.indexOf(e.currentTarget),r=e.key==="Home"?0:e.key==="End"?t.length-1:(s+(e.key==="ArrowRight"?1:-1)+t.length)%t.length;e.preventDefault(),t[r]?.focus(),t[r]?.click()}var Ka=function(e,t,s,r){e.previewTabKeydown=mp,e.title="Main",e.user={status:"connection"},e.site_options,e.toasts=[],e.removeToast=function(f){let g=e.toasts.indexOf(f);g!==-1&&e.toasts.splice(g,1)},e.addToast=function(f){return e.toasts.push(f),r(function(){e.removeToast(f)},8e3),f},e.path=s.url(),e.paths=s.path().substring(1).split("/"),e.darkMode=function(f){localStorage.setItem("darkMode",f),e.isDarkMode=f;let g="/css/prism-okaidia.css",b="/css/prism.css";if(f){$("body").addClass("dark-mode");let m=document.createElement("link");m.href=g,m.rel="stylesheet",document.head.append(m),$(`link[href='${b}']`).remove()}else{$("body").removeClass("dark-mode");let m=document.createElement("link");m.href=b,m.rel="stylesheet",document.head.append(m),$(`link[href='${g}']`).remove()}let k=document.querySelector("[class*='floatingchat-container-wrap'] [class*='floating-chat-kofi-text-container-wrap']");k&&(k.style.backgroundColor=f?"#FAF9F6":"#1A1815",k.style.color=f?"#1A1815":"#FAF9F6"),e.emit("dark-mode",f)},e.darkMode(localStorage.getItem("darkMode")=="true");function o(){t.get("/api/user").then(f=>{f&&(e.user=f.data)},()=>{e.user=null})}o();function i(){t.get("/api/options").then(f=>{f&&(e.site_options=f.data)},()=>{e.site_options=null})}i();function a(){t.get("/api/message").then(f=>{f&&(e.generalMessage=f.data)},()=>{e.generalMessage=null})}a();function c(f,g){g&&(e.title=g.title),e.path=s.url(),e.paths=s.path().substring(1).split("/")}e.on("routeChange",c),e.on("routeUpdate",c)},Ya=function(e,t){let s=Xt(),r=ut(),o=()=>{let i=window.location.hash.slice(1),a=document.getElementById(i);if(!a?.classList.contains("panel-collapse"))return;$(a).collapse("show");let c=document.getElementById(a.getAttribute("aria-labelledby"));c?.setAttribute("tabindex","-1"),c?.focus({preventScroll:!0}),c?.scrollIntoView?.({block:"start"})};e.on("routeUpdate",()=>r.timeout(o,0)),s(window,"hashchange",o),r.timeout(o,0)},Ja=function(e,t,s,r,o){e.terms="",e.options={expirationMode:"remove",update:!1,image:!0,pdf:!0,notebook:!0,loc:!0,link:!0},e.saving=!1,e.message=null,e.error=null,o.load().then(f=>{e.quota=f},console.error);let i=lr(e,["terms","options"],"profile");e.discardDraft=()=>i.discard();function a(){t.get("/api/user/default").then(f=>{let g=f.data||{};g.terms&&(e.terms=g.terms.join(` `)),e.options=Object.assign({},e.options,g.options),i.restore()})}a();let c=null;e.saveDefault=f=>{if(f&&f.preventDefault&&f.preventDefault(),e.saving)return;let g=i.checkpoint(),b={terms:e.terms.split(` `).map(k=>k.trim()).filter(k=>k.length>0),options:e.options};e.saving=!0,e.error=null,t.post("/api/user/default",b).then(()=>{i.accept(g),e.saving=!1,e.message=e.unsavedChanges?null:"Saved",c&&r.cancel(c),c=r(()=>{e.message=null},2500)},k=>{e.saving=!1;let C="ERRORS."+(k&&k.data&&k.data.error);s(C).then(A=>{e.error=A&&A!==C?A:"Unable to save your defaults. Please try again."},()=>{e.error="Unable to save your defaults. Please try again."})})},e.deleteAccount=()=>{confirm("Delete your account? All your anonymized repositories, gists, and pull requests will be removed, and your personal data will be erased. This cannot be undone.")&&(e.deletingAccount=!0,t.delete("/api/user").then(()=>{window.location.href="/"},()=>{e.deletingAccount=!1,e.deleteError="Unable to delete the account. Please try again."}))}},Qa=function(e,t,s){e.repoId=null,e.repoUrl=null,e.claim=()=>{t.post("/api/repo/claim",{repoId:e.repoId,repoUrl:e.repoUrl}).then(r=>{s.url("/dashboard")},r=>{e.error=r.data,e.claimForm.repoUrl.setValidity("not_found",!1),e.claimForm.repoId.setValidity("not_found",!1)})}},Xa=function(e,t,s,r,o){e.user&&!e.user.status&&s.url("/dashboard"),e.watch("user.status",()=>{e.user&&!e.user.status&&s.url("/dashboard")}),e.features=[{key:"anonymize",num:"01",eyebrow:"Anonymize",title:"Double-anonymous,",accent:"your rules.",text:"Choose what reviewers may see: links, images, PDFs, notebooks, GitHub Pages. Add your own terms, with regex if you need it, and pick the expiration date.",cta:"Start an anonymization",href:"/anonymize",url:"anonymous.4open.science/anonymize",img:"/imgs/anonymize.png",alt:"The anonymize form: source repository, terms to redact, options and a live README preview"},{key:"review",num:"02",eyebrow:"Review",title:"Reviewers browse",accent:"the real thing.",text:"Highlighted source code, rendered PDFs, images, and notebooks, in a familiar file explorer. GitHub Pages is also supported.",cta:"Open the example",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/",target:"_self",url:"anonymous.4open.science/r/840c8c57-\u2026",img:"/imgs/explorer.png",alt:"The repository explorer with a file tree and a rendered README"},{key:"manage",num:"03",eyebrow:"Manage",title:"One dashboard,",accent:"until the decision.",text:"Monitor views, edit configuration, remove or update your repository. Program chairs can group submissions under a conference with one shared expiry.",cta:"Open the dashboard",href:"/dashboard",needsUser:!0,url:"anonymous.4open.science/dashboard",img:"/imgs/dashboard.png",alt:"The dashboard listing anonymized repositories with status, views and expiry"}],e.feature=e.features[0].key,e.selectFeature=function(c){e.feature=c},e.featureHref=function(c){return c.needsUser&&!e.user?"/signin":c.href},e.featureTarget=function(c){return c.needsUser&&!e.user?"_self":c.target||void 0},e.featureKeydown=function(c,f){let g={ArrowDown:1,ArrowRight:1,ArrowUp:-1,ArrowLeft:-1,Home:"first",End:"last"}[c.key];if(g===void 0)return;c.preventDefault();let b=e.features.length,k=g==="first"?0:g==="last"?b-1:(f+g+b)%b;e.feature=e.features[k].key,o(()=>{let m=r.document.getElementById("feature-tab-"+e.feature);m&&m.focus()})},e.demoText=`# DeepLearnUtils Developed by Jane Smith at MIT CSAIL. See Smith et al., "Attention That Works," 2026. -Contact: jane.smith@mit.edu`,e.demoTerms="Jane Smith, Smith, MIT CSAIL, jane.smith@mit.edu",e.demoParts=function(){let c=(e.demoTerms||"").split(/[,\n]/).map(m=>m.trim()).filter(Boolean).sort((m,C)=>C.length-m.length),f=m=>m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(!c.length)return[{text:e.demoText}];let g=new RegExp("("+c.map(f).join("|")+")","gi"),b={},k=0;return(e.demoText||"").split(g).filter(m=>m!=="").map(m=>{let C=c.find(A=>A.toLowerCase()===m.toLowerCase());return C?(b[C.toLowerCase()]||(b[C.toLowerCase()]=++k),{text:String(b[C.toLowerCase()]),redacted:!0,original:m}):{text:m}})},e.demoCount=()=>e.demoParts().filter(c=>c.redacted).length,e.cards=[{key:"repositories",total:0,label:"repositories anonymized"},{key:"users",total:0,label:"researchers"},{key:"pageViews",total:0,label:"page views"},{key:"pullRequests",total:0,label:"pull requests"}];function i(){t.get("/api/stat/").then(c=>{e.stat=c.data,e.cards[0].total=c.data.nbRepositories,e.cards[1].total=c.data.nbUsers,e.cards[2].total=c.data.nbPageViews,e.cards[3].total=c.data.nbPullRequests}).catch(()=>{})}i();function a(c){let f={series:c,bars:[],viewW:100,deltaToday:0,pctChange:0,pctAbs:0,isUp:!0};if(!c||c.length<2)return f;let g=new Array(c.length-1);for(let h=1;h=2){let h=g[b-2];h&&(f.pctChange=(f.deltaToday-h)/h*100)}return f.pctAbs=Math.round(Math.abs(f.pctChange)),f.isUp=f.pctChange>=0,f}e.history={repositories:a([]),users:a([]),pageViews:a([]),pullRequests:a([])},t.get("/api/stat/history?days=60").then(c=>{let f=c.data||[];e.history={repositories:a(f.map(g=>g.nbRepositories||0)),users:a(f.map(g=>g.nbUsers||0)),pageViews:a(f.map(g=>g.nbPageViews||0)),pullRequests:a(f.map(g=>g.nbPullRequests||0))}}).catch(()=>{})},Za=function(e,t,s,r,o,i){let a=ut();e.on("routeLeave",function(){$('[data-toggle="tooltip"]').tooltip("dispose")}),e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),a.timeout(()=>{$('[data-toggle="tooltip"]').tooltip()},250),e.quotaExpanded=!1,e.closeQuota=()=>{e.quotaExpanded=!1,Ze(()=>document.querySelector(".dashboard-quota > summary")?.focus())},Xt()(document,"click",_=>{e.quotaExpanded&&!_.target.closest?.(".dashboard-quota")&&(e.quotaExpanded=!1)}),e.filtersExpanded=!1,e.projectView="all",e.selectedProject=null,e.projectName="",e.nameSaving=!1,e.nameError="",e.nameMessage="",e.needsAttention=_=>_.status==="error"||_._broken||f(_.status)==="progress"&&_._stale,e.attentionCount=()=>e.dashboardTotals?.attention??e.items.filter(e.needsAttention).length,e.hasProjects=()=>(e.dashboardTotals?.total??e.items.length)>0,e.setProjectView=_=>{e.projectView=_,_==="attention"&&(e.filters.status.error=!0,e.filters.status.progress=!0)},e.projectDetailsId=_=>"project-details-"+encodeURIComponent(_._type+":"+(_._id||_._source||"unknown")),e.showProjectDetails=async _=>{e.selectedProject=_,e.projectName=_.projectName||"",e.nameError="",e.nameMessage="",await Ze();let j=document.getElementById(e.projectDetailsId(_));j?.focus(),j?.scrollIntoView?.({block:"nearest"})},e.closeProjectDetails=_=>{e.selectedProject=null,Ze(()=>document.querySelector(`[data-project-actions="${encodeURIComponent(_._type+":"+_._id)}"]`)?.focus())},e.saveProjectName=async _=>{if(e.nameSaving||!_._id)return;let j=e.projectName.trim();if(j.length>100){e.nameError="Use 100 characters or fewer.";return}e.nameSaving=!0,e.nameError="",e.nameMessage="";try{let ne=await t.post("/api/user/project-name",{type:_._type,id:_._id,name:j});_.projectName=ne.data.name,_._label=_.projectName||_._fallbackLabel,e.selectedProject===_&&(e.nameMessage=j?"Project name saved.":"Default project name restored."),R||(e.dashboardCursor=null,await H(),e.selectedProject===_&&(e.selectedProject=e.items.find(le=>le._type===_._type&&le._id===_._id)||null))}catch{e.selectedProject===_&&(e.nameError="The project name could not be saved. Try again.")}finally{e.nameSaving=!1}},e.copyingId=null,e.copyLink=async _=>{if(!_._viewUrl||e.copyingId)return;let j=new URL(_._viewUrl,o.location.origin).href;e.copyingId=_._type+":"+_._id;try{if(o.navigator.clipboard?.writeText)await o.navigator.clipboard.writeText(j);else{let ne=document.createElement("textarea");ne.value=j,ne.setAttribute("readonly",""),ne.style.position="fixed",ne.style.opacity="0";let le=document.activeElement;document.body.appendChild(ne);try{if(ne.select(),!document.execCommand?.("copy"))throw Error("Copy unavailable")}finally{ne.remove(),le?.focus()}}e.addToast({title:"Link copied",body:"The anonymous link is ready to share."})}catch{e.addToast({title:"Copy this anonymous link",body:j})}finally{e.copyingId=null}},e.items=[],e.search="",e.loading=!0,e.statusKeyLabels={ready:"Ready",progress:"In progress",error:"Error",expired:"Expired",removed:"Removed"};let c=["queue","download","downloaded","preparing","anonymizing"];function f(_){return _==="ready"||_==="error"?_:_==="expired"||_==="expiring"?"expired":_==="removed"||_==="removing"?"removed":(c.indexOf(_)>-1,"progress")}let g=7200*1e3,b="dashboard.filterPrefs",k={typeFilter:"all",filters:{status:{ready:!0,progress:!0,error:!0,expired:!0,removed:!1}},orderBy:"-anonymizeDate"},m=loadFilterPrefs(b)||{};e.typeFilter=m.typeFilter||k.typeFilter,e.filters={status:Object.assign({},k.filters.status,m.filters&&m.filters.status||{})},e.orderBy=m.orderBy||k.orderBy;let C={_name:{label:"Anonymous ID",defaultDesc:!1},_label:{label:"Project",defaultDesc:!1},anonymizeDate:{label:"Anonymize date",defaultDesc:!0},status:{label:"Status",defaultDesc:!1},lastView:{label:"Last view",defaultDesc:!0},pageView:{label:"Views",defaultDesc:!0},"options.expirationDate":{label:"Expiration",defaultDesc:!1}};e.sortFields=C,e.sortField=()=>e.orderBy.replace(/^-/,""),e.sortDesc=()=>e.orderBy.charAt(0)==="-",e.sortLabel=()=>{let _=C[e.sortField()];return _?_.label:"Custom"},e.isSortedBy=_=>e.sortField()===_,e.setSort=(_,j)=>{typeof j!="boolean"&&(j=e.isSortedBy(_)?!e.sortDesc():!!(C[_]&&C[_].defaultDesc)),e.orderBy=(j?"-":"")+_},e.toggleSortDirection=()=>{e.setSort(e.sortField(),!e.sortDesc())},e.watchGroup(["typeFilter","orderBy"],()=>{saveFilterPrefs(b,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(b,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})},!0),i.load().then(_=>{e.quota=_},console.error);function A(_,j,ne,le,Ce,ce){_.pageView||(_.pageView=0),_.lastView||(_.lastView=""),_.options=_.options||{},_.options.terms=(_.options.terms||[]).filter(_e=>_e),_._id=j||"",_._source=le,_._broken=!j,_._name=j||le||"(unnamed)",_._fallbackLabel=_._type==="gist"?"Gist "+(j||le||"without an ID"):le||ne||_._name,_._label=_.projectName||_._fallbackLabel,_._editUrl=j?Ce:null,_._viewUrl=j?ce:null,_._broken&&(_.status="error",_.statusMessage="incomplete_record"),_._statusKey=f(_.status);let ve=_.anonymizeDate||_.lastView;return _._stale=_._statusKey==="progress"&&!!ve&&Date.now()-new Date(ve).getTime()>g,_.status==="expired"||_.status==="expiring"?_._expiry={kind:"expired",date:_.options.expirationDate}:_.status!=="ready"?_._expiry={kind:"none"}:_.options.expirationMode==="never"||!_.options.expirationDate?_._expiry={kind:"never"}:_._expiry={kind:"date",date:_.options.expirationDate},_}function h(_){return t.get(_).then(j=>j.data||[],j=>(console.error(j),[]))}function E(){return e.loading=!0,r.all([h("/api/user/anonymized_repositories"),h("/api/user/anonymized_pull_requests"),h("/api/user/anonymized_gists")]).then(_=>{let j=_[0],ne=_[1],le=_[2],Ce=[];j.forEach(ce=>{ce._type="repo";let ve=ce.source||{};Ce.push(A(ce,ce.repoId,ce.repoId,ve.fullName,"/anonymize/"+ce.repoId,"/r/"+ce.repoId+"/"))}),ne.forEach(ce=>{ce._type="pr";let ve=ce.source||{};Ce.push(A(ce,ce.pullRequestId,ce.pullRequestId,ve.repositoryFullName?ve.repositoryFullName+"#"+ve.pullRequestId:void 0,"/pull-request-anonymize/"+ce.pullRequestId,"/pr/"+ce.pullRequestId+"/"))}),le.forEach(ce=>{ce._type="gist";let ve=ce.source||{};Ce.push(A(ce,ce.gistId,ce.gistId,ve.gistId,"/gist-anonymize/"+ce.gistId,"/gist/"+ce.gistId+"/"))}),e.items=Ce,e.loading=!1})}let N=0,R=!1;e.dashboardCursor=null,e.dashboardError="";function V(_){let j=_.source||{};return _._type==="repo"?A(_,_.repoId,_.repoId,j.fullName,"/anonymize/"+_.repoId,"/r/"+_.repoId+"/"):_._type==="pr"?A(_,_.pullRequestId,_.pullRequestId,j.repositoryFullName?j.repositoryFullName+"#"+j.pullRequestId:void 0,"/pull-request-anonymize/"+_.pullRequestId,"/pr/"+_.pullRequestId+"/"):A(_,_.gistId,_.gistId,j.gistId,"/gist-anonymize/"+_.gistId,"/gist/"+_.gistId+"/")}function H(_=!1){if(R)return E();let j=++N;return e.loading=!_,e.loadingMore=_,e.dashboardError="",t.get("/api/user/dashboard",{params:{q:e.search,type:e.typeFilter,sort:e.orderBy,statuses:Object.keys(e.filters.status).filter(ne=>e.filters.status[ne]!==!1).join(",")||"none",attention:String(e.projectView==="attention"),cursor:_?e.dashboardCursor:void 0}}).then(ne=>{if(j===N){if(!Array.isArray(ne.data?.items))return R=!0,E();e.items=(_?e.items:[]).concat(ne.data.items.map(V)),e.dashboardCursor=ne.data.cursor,e.dashboardTotals=ne.data}},ne=>{if(j===N){if(ne.status===404)return R=!0,E();e.dashboardError="Projects could not be loaded. Please try again."}}).finally(()=>{j===N&&(e.loading=!1,e.loadingMore=!1)})}e.loadMoreProjects=()=>H(!0);let q;e.watchGroup(["search","typeFilter","orderBy","projectView"],()=>{R||(q&&a.timeout.cancel(q),q=a.timeout(()=>H(),150))},!1),e.watch("filters",()=>{R||H()},!0,!1),e.on("dispose",()=>{N++}),H(),e.openItem=(_,j)=>{if(!_._viewUrl)return;let ne=j&&j.target;ne&&ne.closest&&ne.closest("a, button, .dropdown, input")||(o.location.href=_._viewUrl)},e.hiddenStatusCount=()=>Object.keys(e.filters.status).filter(_=>e.filters.status[_]===!1).length,e.hasHiddenStatus=()=>e.hiddenStatusCount()>0,e.hasActiveFilters=()=>e.projectView!=="all"||e.typeFilter!=="all"||e.search.trim().length>0||Object.keys(e.filters.status).some(_=>e.filters.status[_]===!1),e.showClearFilters=()=>e.search.trim().length>0||e.typeFilter!=="all"||e.hiddenStatusCount()>1,e.clearFilters=()=>{e.projectView="all",e.typeFilter="all",e.search="",Object.keys(e.filters.status).forEach(_=>{e.filters.status[_]=!0})};function z(_,j,ne,le){t.get("/api/repo/"+_).then(async Ce=>{let ce=le!==void 0&&le!==Ce.data.status;for(let ve of e.items)if(ve._type==="repo"&&ve.repoId==_){ce=ce||ve.status!==Ce.data.status;let _e=e.needsAttention(ve);ve.status=Ce.data.status,ve.statusMessage=Ce.data.statusMessage,ve._statusKey=f(ve.status),ve._statusKey!=="progress"&&(ve._stale=!1);let Se=e.needsAttention(ve);e.dashboardTotals&&_e!==Se&&(e.dashboardTotals.attention=Math.max(0,e.dashboardTotals.attention+(Se?1:-1)));break}if(ce&&!R){e.dashboardCursor=null;let ve=e.selectedProject;await H(),ve&&e.selectedProject===ve&&(e.selectedProject=e.items.find(_e=>_e._type===ve._type&&_e._id===ve._id)||null)}if(Ce.data.status=="ready"||Ce.data.status=="error"||Ce.data.status=="removed"||Ce.data.status=="expired"){j(Ce.data);return}a.timeout(()=>z(_,j,ne,Ce.data.status),2500)},ne)}let Z=_=>_==="repo"?"repository":_==="gist"?"gist":"pull request",ae=_=>_==="repo"?"/api/repo":_==="gist"?"/api/gist":"/api/pr";e.removeItem=_=>{let j=Z(_._type);if(confirm(`Are you sure that you want to remove the ${j} ${_._id}?`)){let ne=ze({title:`Removing ${_._id}...`,date:new Date,body:`The ${j} ${_._id} is going to be removed.`});e.addToast(ne);let le=`${ae(_._type)}/${_._id}`;t.delete(le).then(()=>{_._type==="repo"?z(_._id,()=>{ne.title=`${_._id} is removed.`,ne.body=`The ${j} ${_._id} is removed.`},void 0,_.status):(ne.title=`${_._id} is removed.`,ne.body=`The ${j} ${_._id} is removed.`,H())},Ce=>{ne.title=`Error during the removal of ${_._id}.`,ne.body=Ce.body,H()})}},e.refreshItem=_=>{let j=Z(_._type),ne=ze({title:`Refreshing ${_._id}...`,date:new Date,body:`The ${j} ${_._id} is going to be refreshed.`});e.addToast(ne);let le=ce=>{ne.title=`Error during the refresh of ${_._id}.`,ne.body=ce.data?.error||ce.body||"The refresh could not be completed. Please try again.",H()},Ce=`${ae(_._type)}/${_._id}/refresh`;t.post(Ce).then(()=>{_._type==="repo"?z(_._id,ce=>{if(ce.status!=="ready"){le({body:ce.statusMessage||`The repository is ${ce.status}.`});return}ne.title=`${_._id} is refreshed.`,ne.body=`The ${j} ${_._id} is refreshed.`},le,_.status):(ne.title=`${_._id} is refreshed.`,ne.body=`The ${j} ${_._id} is refreshed.`,H())},le)},e.extendItem=_=>{let j=Z(_._type),ne=ze({title:`Extending ${_._id}...`,date:new Date,body:`The expiration of ${j} ${_._id} is going to be extended by 6 months.`});e.addToast(ne);let le=`${ae(_._type)}/${_._id}/extend`;t.post(le).then(()=>{_._type==="repo"?z(_._id,()=>{ne.title=`${_._id} is extended.`,ne.body=`The expiration of ${j} ${_._id} is extended by 6 months.`},void 0,_.status):(ne.title=`${_._id} is extended.`,ne.body=`The expiration of ${j} ${_._id} is extended by 6 months.`,H())},Ce=>{ne.title=`Error during the extension of ${_._id}.`,ne.body=Ce.data&&Ce.data.error||Ce.body,H()})},e.itemFilter=_=>{if(e.projectView==="attention"&&!e.needsAttention(_)||e.typeFilter!=="all"&&_._type!==e.typeFilter||e.filters.status[_._statusKey]===!1)return!1;let j=e.search.trim().toLowerCase();return!!(j.length==0||_._label&&String(_._label).toLowerCase().indexOf(j)>-1||_._source&&String(_._source).toLowerCase().indexOf(j)>-1||_._id&&String(_._id).toLowerCase().indexOf(j)>-1||_.conference&&String(_.conference).toLowerCase().indexOf(j)>-1)}};var xa=function(e,t,s){let r=ut();e.repoId=s.repoId,e.repo=null,e.progress=0,e.rateLimitResetAt=0,e.rateLimitCountdown="";var o=null;let i=null,a=!1;function c(g){e.rateLimitResetAt=g,o&&r.interval.cancel(o);function b(){var k=Math.max(0,Math.ceil((g-Date.now())/1e3));if(k<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,r.interval.cancel(o),o=null;else{var m=Math.floor(k/60),C=k%60;e.rateLimitCountdown=m>0?m+"m "+C+"s":C+"s"}}b(),o=r.interval(b,1e3)}e.on("dispose",function(){a=!0,o&&r.interval.cancel(o),i&&r.timeout.cancel(i)});function f(g){if(!g)return g;var b=g.match(/^rate_limited:(\d+)$/);return b?(c(parseInt(b[1],10)),null):(e.rateLimitResetAt=0,g)}e.getStatus=()=>{a||t.get("/api/repo/"+e.repoId,{repoId:e.repoId,repoUrl:e.repoUrl}).then(g=>{if(!a){e.repo=g.data,g.data.rateLimitResetAt?c(g.data.rateLimitResetAt):e.repo.statusMessage=f(e.repo.statusMessage),e.repo.status=="ready"?e.progress=100:e.repo.status=="queue"?e.progress=10:e.repo.status=="downloaded"?e.progress=50:e.repo.status=="download"||e.repo.status=="preparing"?e.progress=25:e.repo.status=="anonymizing"&&(e.progress=75);var b=!["ready","removed","expired"].includes(e.repo.status);e.repo.status=="error"&&!e.rateLimitResetAt&&(b=!1),b&&(i=r.timeout(e.getStatus,2e3))}},g=>{e.error=g.data.error})},e.getStatus()},io=function(e,t,s,r,o,i,a){e.sourceUrl="",e.workspaceOpen=!1,e.sourceUrlError="",e.previewStatus="idle",e.sourceLoading=!1,e.mobilePane="settings";let c=window.matchMedia?.("(max-width: 767px)");e.mobileWorkspace=!!c?.matches,c?.addEventListener&&Xt()(c,"change",S=>{e.mobileWorkspace=S.matches}),e.selectMobilePane=S=>{e.mobilePane=S};let f=0,g=!1,b=new Set,k=(S,I=!1)=>!g&&S.generation===f&&S.url===e.sourceUrl.trim()&&S.connection===e.githubConnection&&(!I||S.branch===e.source.branch),m=()=>{let S={generation:f,url:e.sourceUrl.trim(),connection:e.githubConnection,branch:e.source.branch};return b.add(S),e.sourceLoading=!0,S},C=S=>{b.delete(S),g||(e.sourceLoading=[...b].some(I=>k(I)))};e.on("dispose",()=>{g=!0,f++});let A=null,h=S=>S.gistId&&!S.repo?"gist:"+S.gistId.toLowerCase():(S.owner+"/"+S.repo).toLowerCase()+(S.pullRequestId?"/pull/"+S.pullRequestId:""),E=lr(e,["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"],"anonymize:"+(o.path?.()||""));e.discardDraft=async()=>{E.discard(),e.workspaceOpen=!!e.sourceUrl,e.error=null,e.sourceUrl?await e.urlSelected(!0):(f++,e.sourceLoading=!1,e.detectedType=null,e.details=null,e.sourceUrlError="",ve.cancel(),L.cancel(),me.cancel(),e.previewStatus="idle")},e.githubConnection=void 0,e.githubConnections=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1;let N=()=>{let S={};for(let I of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])S[I]=e[I];sessionStorage.setItem("github-access-draft",JSON.stringify({path:o.path(),savedAt:Date.now(),draft:S}))};e.connectGistApp=()=>{N(),window.location.href="/github/app/login?returnTo="+encodeURIComponent(o.path())},e.connectGistOAuth=()=>{N(),window.location.href="/github/login?returnTo="+encodeURIComponent(o.path())},e.grantGitHubAccess=()=>{N();let S=o.path(),I=Z(e.sourceUrl)||"",B=e.githubConnections?.appConnected?"/github/app/install":"/github/app/login";window.location.href=B+"?returnTo="+encodeURIComponent(S)+"&repository="+encodeURIComponent(I)+"&install=1"},e.chooseGitHubConnection=async S=>{e.githubConnection=S,e.readme="",e.sourceUrl&&await _()},e.detectedType=null,e.repoId="",e.pullRequestId="",e.gistId="",e.terms="",e.defaultTerms="",e.branches=[],e.source={branch:"",commit:""},e.options={expirationMode:"remove",expirationDate:new Date,update:!1,image:!0,pdf:!0,notebook:!0,link:!0,body:!0,title:!0,origin:!1,diff:!0,content:!0,comments:!0,username:!0,date:!0};function R(){let S=new Date;return S.setMonth(S.getMonth()+6),S}e.options.expirationDate=R();function V(S){let I=S.getFullYear(),B=String(S.getMonth()+1).padStart(2,"0"),v=String(S.getDate()).padStart(2,"0");return`${I}-${B}-${v}`}e.minExpirationDate=V(new Date);let H=new Date;H.setFullYear(H.getFullYear()+1),e.maxExpirationDate=V(H),e.anonymize_readme="",e.readme="",e.html_readme="",e.isUpdate=!1;function q(S){t.get("/api/user/default").then(I=>{let B=I.data;B.terms&&(e.defaultTerms=B.terms.join(` -`)),e.options=Object.assign({},e.options,B.options),e.options.expirationDate=B.options&&B.options.expirationDate?new Date(B.options.expirationDate):R(),!r.repoId&&!r.pullRequestId&&!r.gistId&&!e.anonymize?.terms?.dirty&&(e.terms=e.defaultTerms),S&&S()})}function z(S,I,B){e.anonymize&&e.anonymize[S]&&e.anonymize[S].setValidity(I,B)}function Z(S){try{let I=parseGithubUrl(S);if(I&&I.owner&&I.repo)return I.owner+"/"+I.repo}catch{}return null}e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,e.reconnectSource=async()=>{if(confirm("Reconnect to the repository currently at this GitHub URL? Review its branch and commit before saving. Saving will replace the published snapshot.")){e.reconnectingSource=!0,e.reconnectRepositoryId=void 0,e.source.commit="",e.source.branch="",e.readme="",e.branches=[];try{await ne()}catch{}}};function ae(){return e.reconnectingSource||!e.isUpdate||!e._originalRepositoryID?void 0:Z(e.sourceUrl)===e._originalFullName?e._originalRepositoryID:void 0}async function _(){e._preservingDraft=!0;try{await e.urlSelected(!0)}finally{e._preservingDraft=!1}}async function j(){let S;try{S=JSON.parse(sessionStorage.getItem("github-access-draft")||"null")}catch{return!1}if(!S||S.path!==o.path()||Date.now()-S.savedAt>=30*6e4)return E.restore()?(e.sourceUrl&&await _(),!0):!1;E.restore();for(let I of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])Object.prototype.hasOwnProperty.call(S.draft,I)&&(e[I]=S.draft[I]);return e.options.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate)),await _(),sessionStorage.removeItem("github-access-draft"),!0}q(()=>{!r.repoId&&!r.pullRequestId&&!r.gistId&&a(j,0),r.repoId&&r.repoId!=""&&(e.isUpdate=!0,e.detectedType="repo",e.repoId=r.repoId,t.get("/api/repo/"+e.repoId).then(async S=>{e.githubConnection=S.data.connection||"oauth",e.sourceUrl="https://github.com/"+S.data.source.fullName,e._originalFullName=S.data.source.fullName,e.terms=S.data.options.terms.filter(I=>I).join(` -`),e.source=S.data.source,e.role=S.data.role||"owner",e.coauthors=S.data.coauthors||[],e._originalBranch=S.data.source.branch,e.options=Object.assign({},e.options,S.data.options),e.conference=S.data.conference,e._originalConference=S.data.conference,e.repositoryID=S.data.source.repositoryID,e._originalRepositoryID=S.data.source.repositoryID,S.data.options.expirationDate&&(e.options.expirationDate=new Date(S.data.options.expirationDate)),A=h(parseGithubUrl(e.sourceUrl)),!await j()&&(await Promise.all([ne(),le()]),_e())},()=>{o.url("/404")})),r.pullRequestId&&r.pullRequestId!=""&&(e.isUpdate=!0,e.detectedType="pr",e.pullRequestId=r.pullRequestId,t.get("/api/pr/"+e.pullRequestId).then(async S=>{if(e.githubConnection=S.data.connection||"oauth",e.sourceUrl="https://github.com/"+S.data.source.repositoryFullName+"/pull/"+S.data.source.pullRequestId,e.terms=S.data.options.terms.filter(I=>I).join(` -`),e.source=S.data.source,e.options=Object.assign({},e.options,S.data.options),e.conference=S.data.conference,e._originalConference=S.data.conference,S.data.options.expirationDate&&(e.options.expirationDate=new Date(S.data.options.expirationDate)),A=h(parseGithubUrl(e.sourceUrl)),!await j())try{await Se()}catch{}},()=>{o.url("/404")})),r.gistId&&r.gistId!=""&&(e.isUpdate=!0,e.detectedType="gist",e.gistId=r.gistId,t.get("/api/gist/"+e.gistId).then(async S=>{e.sourceUrl="https://gist.github.com/"+S.data.source.gistId,e.terms=S.data.options.terms.filter(I=>I).join(` -`),e.source=S.data.source,e.options=Object.assign({},e.options,S.data.options),e.conference=S.data.conference,e._originalConference=S.data.conference,S.data.options.expirationDate&&(e.options.expirationDate=new Date(S.data.options.expirationDate)),A=h(parseGithubUrl(e.sourceUrl)),!await j()&&await X()},()=>{o.url("/404")}))}),t.get("/github/connections").then(S=>{e.githubConnections=S.data,!r.repoId&&!r.pullRequestId&&!r.gistId&&e.githubConnection===void 0&&S.data.appEnabled&&S.data.appConnected&&(e.githubConnection="github-app",e.sourceUrl&&e.workspaceOpen&&_())}).catch(()=>{}),e.urlSelected=async(S=!1)=>{let I=++f,B;try{B=parseGithubUrl(e.sourceUrl.trim())}catch{e.sourceLoading=!1,ve.cancel(),L.cancel(),me.cancel(),e.previewStatus="idle",e.sourceUrlError=e.sourceUrl?"Please provide a valid GitHub URL.":"",z("sourceUrl","github",!1);return}let v=h(B),w=S||A===v;A=v,e.sourceUrlError="",z("sourceUrl","github",!0);let O=document.activeElement?.id==="sourceUrl-landing";e.workspaceOpen=!0,setTimeout(()=>{let P=window.document.getElementById("sourceUrl");if(P){try{P.setSelectionRange(0,0)}catch{}P.scrollLeft=0}},50),O&&a(()=>document.getElementById("sourceUrl")?.focus(),0),e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,!w&&!e.isUpdate&&(e.repoId="",e.pullRequestId="",e.gistId=""),e.details=null,e.branches=[],w||(e.source={type:"GitHubStream",branch:"",commit:""}),ve.cancel(),L.cancel(),me.cancel(),ye.clear(),J.clear(),e.previewStatus="idle",e.anonymize_readme="",e.readme="",e.html_readme="",e.detectedType=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1,e._preservingDraft=w;try{B.gistId&&!B.repo?(e.detectedType="gist",e.source={gistId:B.gistId},await X()):B.pullRequestId?(e.detectedType="pr",e.source={repositoryFullName:B.owner+"/"+B.repo,pullRequestId:B.pullRequestId},await Se()):(e.detectedType="repo",await Promise.all([ne(),le()]),_e())}catch{}finally{I===f&&(e._preservingDraft=!1)}$('[data-toggle="tooltip"]').tooltip()},$('[data-toggle="tooltip"]').tooltip(),e.watch("source.branch",async()=>{if(e.detectedType!=="repo")return;let S=e.branches.filter(B=>B.name==e.source.branch)[0];if(!S)return;!(!e.reconnectingSource&&e.isUpdate&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=S.commit),e.readme=S.readme,await le(),_e()}),e.getBranches=async S=>{let I=parseGithubUrl(e.sourceUrl),B=m();try{let v=await t.get(`/api/repo/${I.owner}/${I.repo}/branches`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&Z(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:S===!0||e.reconnectingSource?"1":"0",repositoryID:ae()}});if(!k(B))return;e.branches=v.data,e.sourceUnreachable=!1,e.source.branch||(e.source.branch=e.details.defaultBranch);let w=e.branches.filter(O=>O.name==e.source.branch);w.length>0&&(!(!e.reconnectingSource&&!S&&e.isUpdate&&!e.options.update&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=w[0].commit),e.readme=w[0].readme,await le(S))}catch(v){if(!k(B))return;e.branches=[],e.sourceUnreachable=v&&(v.status===404||v.data&&v.data.error==="repo_not_found");let w=v&&v.data&&v.data.error||(v&&v.status===404?"repo_not_found":"unknown_error");i("ERRORS."+w).then(O=>{e.toasts=e.toasts||[],e.addToast({title:"Error",date:new Date,body:O}),e.error=O},console.error),typeof z=="function"&&z("sourceUrl","missing",!1)}finally{C(B)}};async function ne(){let S=parseGithubUrl(e.sourceUrl),I=m();try{U();let B=await t.get(`/api/repo/${S.owner}/${S.repo}/`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&Z(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,repositoryID:ae(),force:"1"}});if(!k(I))return;e.details=B.data,e.reconnectingSource&&(e.reconnectRepositoryId=e.details.externalId),e.details&&e.details.id&&(e.repositoryID=e.details.id),e.repoId||(e.repoId=e.details.repo+"-"+generateRandomId(4)),await e.getBranches(e.reconnectingSource)}catch(B){if(!k(I))return;throw B.data&&(i("ERRORS."+B.data.error).then(v=>{e.addToast({title:"Error",date:new Date,body:v}),e.error=v},console.error),x(B.data.error)),z("sourceUrl","missing",!1),B}finally{C(I)}}async function le(S){if(e.readme&&!S)return e.readme;let I=parseGithubUrl(e.sourceUrl),B=m();try{let v=await t.get(`/api/repo/${I.owner}/${I.repo}/readme`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&Z(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:S===!0?"1":"0",branch:e.source.branch,repositoryID:ae()}});k(B,!0)&&(e.readme=v.data)}catch{k(B,!0)&&(e.readme="")}finally{C(B)}}function Ce(){let S={terms:e.terms?e.terms.split(` -`):[],image:!!e.options.image,link:!!e.options.link,repoId:e.repoId};e.source&&e.source.branch&&(S.branchName=e.source.branch);try{let I=parseGithubUrl(e.sourceUrl);S.repoName=`${I.owner}/${I.repo}`}catch{}return S}function ce(S,I,B){let v=null,w=0,O=()=>{if(e.detectedType!==S)return;v&&a.cancel(v);let P=++w;e.previewStatus="loading",v=a(()=>{v=null;let M=I();if(!M){e.previewStatus="idle";return}t.post("/api/anonymize-preview",M).then(W=>{P===w&&(B(W.data,M),e.previewStatus="ready")}).catch(()=>{P===w&&(e.previewStatus="error")})},200)};return O.cancel=()=>{w++,v&&a.cancel(v),v=null},e.on("dispose",O.cancel),O}e.retryPreview=()=>{e.detectedType==="repo"&&ve(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()};let ve=ce("repo",()=>e.readme?{content:e.readme,options:Ce()}:null,S=>{if(typeof S?.content!="string")throw Error("Invalid preview response");e.anonymize_readme=S.content;let I="";try{let v=parseGithubUrl(e.sourceUrl),w=e.source.branch||e.details&&e.details.defaultBranch||"main";I=`https://github.com/${v.owner}/${v.repo}/raw/${w}/`}catch{}let B=renderMD(e.anonymize_readme,I);e.html_readme=B,a(Prism.highlightAll,150)});function _e(){!e.anonymize||!e.anonymize.terms||(e.termsRegexWarning=!!e.terms&&!!e.terms.match(/[-[\]{}()*+?.,\\^$|#]/g),ve())}async function Se(){let S=parseGithubUrl(e.sourceUrl),I=m();try{U();let B=await t.get(`/api/pr/${S.owner}/${S.repo}/${S.pullRequestId}`,{params:{connection:e.githubConnection}});if(!k(I))return;e.details=B.data,e.pullRequestId||(e.pullRequestId=S.repo+"-PR"+S.pullRequestId+"-"+generateRandomId(4))}catch(B){if(!k(I))return;throw B.data&&(i("ERRORS."+B.data.error).then(v=>{e.addToast({title:"Error",date:new Date,body:v}),e.error=v},console.error),x(B.data.error)),z("sourceUrl","missing",!1),B}finally{C(I)}}let ye=ze(new Map);function Ue(){let S=new Set,I=e.details&&e.details.pullRequest;if(!I)return S;typeof I.title=="string"&&S.add(I.title),typeof I.body=="string"&&S.add(I.body),typeof I.diff=="string"&&S.add(I.diff);let B=I.comments||[];for(let v of B)typeof v.author=="string"&&S.add(v.author),typeof v.body=="string"&&S.add(v.body);return S}let L=ce("pr",()=>{let S=Ue(),I=Array.from(S);return I.length===0?null:{contents:I,options:Ce()}},(S,I)=>{if(!Array.isArray(S?.contents)||S.contents.length!==I.contents.length||S.contents.some(w=>typeof w!="string"))throw Error("Invalid preview response");let B=I.contents,v=new Map;for(let w=0;wye.set(O,w))});e.anonymizePrContent=function(S){return S&&(ye.has(S)?ye.get(S):"")};async function X(){let S=parseGithubUrl(e.sourceUrl),I=m();try{U(),e.gistOAuthRequired=!1,e.gistAppRequired=!1;let B=await t.get(`/api/gist/source/${S.gistId}`);if(!k(I))return;e.details=B.data,e.gistId||(e.gistId="gist-"+S.gistId.substring(0,6)+"-"+generateRandomId(4))}catch(B){if(!k(I))return;if(B.data?.error==="github_app_reconnect_required"){e.gistAppRequired=!0,z("sourceUrl","missing",!1);return}if(B.data?.error==="github_oauth_required"){e.gistOAuthRequired=!0,z("sourceUrl","missing",!1);return}throw B.data&&(i("ERRORS."+B.data.error).then(v=>{e.addToast({title:"Error",date:new Date,body:v}),e.error=v},console.error),x(B.data.error)),z("sourceUrl","missing",!1),B}finally{C(I)}}let J=ze(new Map);function se(){let S=new Set,I=e.details&&e.details.gist;if(!I)return S;typeof I.description=="string"&&S.add(I.description),typeof I.ownerLogin=="string"&&S.add(I.ownerLogin);let B=I.files||[];for(let w of B)typeof w.filename=="string"&&S.add(w.filename),typeof w.content=="string"&&S.add(w.content);let v=I.comments||[];for(let w of v)typeof w.author=="string"&&S.add(w.author),typeof w.body=="string"&&S.add(w.body);return S}let me=ce("gist",()=>{let S=se(),I=Array.from(S);return I.length===0?null:{contents:I,options:Ce()}},(S,I)=>{if(!Array.isArray(S?.contents)||S.contents.length!==I.contents.length||S.contents.some(w=>typeof w!="string"))throw Error("Invalid preview response");let B=I.contents,v=new Map;for(let w=0;wJ.set(O,w)),he()});e.anonymizeGistContent=function(S){return S&&(J.has(S)?J.get(S):"")},e.previewGistFiles=[];function he(){let S=e.details&&e.details.gist&&e.details.gist.files||[];e.previewGistFiles=S.map(I=>({filename:e.anonymizeGistContent(I.filename),content:e.anonymizeGistContent(I.content),language:I.language}))}e.watch("details.gist.files",he,!0),e.watch("terms",he);function re(){let S=e.conference;if(e.conference_data=null,!S)return;let I=e.isUpdate&&S===e._originalConference;t.get("/api/conferences/"+S).then(B=>{e.conference===S&&(e.conference_data=B.data,e.conference_data.startDate=new Date(e.conference_data.startDate),e.conference_data.endDate=new Date(e.conference_data.endDate),!I&&(e.options.expirationDate=new Date(e.conference_data.endDate),e.options.expirationMode="remove",e.options.update=e.conference_data.options.update,e.options.image=e.conference_data.options.image,e.options.pdf=e.conference_data.options.pdf,e.options.notebook=e.conference_data.options.notebook,e.options.link=e.conference_data.options.link))},()=>{e.conference===S&&(e.conference_data=null)})}function U(){z("repoId","used",!0),z("repoId","format",!0),z("pullRequestId","used",!0),z("pullRequestId","format",!0),z("gistId","used",!0),z("gistId","format",!0),z("sourceUrl","used",!0),z("sourceUrl","missing",!0),z("sourceUrl","access",!0),z("sourceUrl","github",!0),z("commit","exists",!0),z("conference","activated",!0),z("terms","format",!0),e.termsRegexWarning=!1}function te(){let S=e.anonymize&&e.anonymize.expirationDate;return!e.options.expirationDate||S&&S.invalid?(S&&S.setDirty&&S.setDirty(),e.error="Please choose a valid expiration date.",!0):!1}function x(S){let I=e.detectedType==="pr"?"pullRequestId":e.detectedType==="gist"?"gistId":"repoId";switch(S){case"repoId_already_used":z(I,"used",!1);break;case"invalid_repoId":z(I,"format",!1);break;case"options_not_provided":z(I,"format",!1);break;case"repo_already_anonymized":z("sourceUrl","used",!1);break;case"invalid_terms_format":z("terms","format",!1);break;case"repo_not_found":z("sourceUrl","missing",!1);break;case"repo_not_accessible":z("sourceUrl","access",!1);break;case"commit_not_found":z("commit","exists",!1);break;case"conf_not_activated":z("conference","activated",!1);break}}e.coauthors=e.coauthors||[],e.coauthorResults=[],e.coauthorError="",e.searchCoauthors=()=>{let S=(e.coauthorSearch||"").trim();if(e.coauthorError="",S.length<2){e.coauthorResults=[];return}t.get("/api/user/search/github-users",{params:{q:S}}).then(I=>{let B=new Set((e.coauthors||[]).map(v=>(v.username||"").toLowerCase()));e.coauthorResults=(I.data||[]).filter(v=>!B.has((v.username||"").toLowerCase()))},()=>{e.coauthorResults=[]})},e.addCoauthor=(S,I)=>{I&&I.preventDefault(),!(!S||!S.username)&&t.post("/api/repo/"+e.repoId+"/coauthors",{username:S.username}).then(B=>{e.coauthors=B.data||[],e.coauthorResults=[],e.coauthorSearch="",e.coauthorError=""},B=>{let v=B&&B.data&&B.data.error||"unknown_error";e.coauthorError=v})},e.removeCoauthor=S=>{!S||!S.username||confirm("Remove co-author "+S.username+"?")&&t.delete("/api/repo/"+e.repoId+"/coauthors/"+encodeURIComponent(S.username)).then(I=>{e.coauthors=I.data||[]},I=>{let B=I&&I.data&&I.data.error||"unknown_error";e.coauthorError=B})},e.anonymizeRepo=S=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(e.reconnectingSource&&!e.reconnectRepositoryId||te())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let I=S.currentTarget||S.target.closest?.("button")||S.target;I.disabled=!0;let B=parseGithubUrl(e.sourceUrl),v={repoId:e.repoId,terms:e.terms.trim().split(` -`).filter(O=>O),connection:e.githubConnection,fullName:`${B.owner}/${B.repo}`,repository:e.sourceUrl,reconnectRepositoryId:e.reconnectRepositoryId,options:e.options,source:e.source,conference:e.conference};e.details&&(v.options.pageSource=e.details.pageSource),U();let w=e.isUpdate?"/api/repo/"+e.repoId:"/api/repo/";t.post(w,v,{headers:{"Content-Type":"application/json"}}).then(()=>{E.clear(),window.location.href="/status/"+e.repoId},O=>{O.data&&(i("ERRORS."+O.data.error).then(P=>{e.error=P},console.error),x(O.data.error))}).finally(()=>{I.disabled=!1})},e.anonymizeGist=S=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(te())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let I=S.currentTarget||S.target.closest?.("button")||S.target;I.disabled=!0;let B=parseGithubUrl(e.sourceUrl),v={gistId:e.gistId,terms:e.terms.trim().split(` -`).filter(O=>O),source:{gistId:B.gistId},options:e.options,conference:e.conference};U();let w=e.isUpdate?"/api/gist/"+e.gistId:"/api/gist/";t.post(w,v,{headers:{"Content-Type":"application/json"}}).then(()=>{E.clear(),window.location.href="/gist/"+e.gistId},O=>{O.data&&(i("ERRORS."+O.data.error).then(P=>{e.error=P},console.error),x(O.data.error))}).finally(()=>{I.disabled=!1})},e.anonymizePullRequest=S=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(te())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let I=S.currentTarget||S.target.closest?.("button")||S.target;I.disabled=!0;let B=parseGithubUrl(e.sourceUrl),v={pullRequestId:e.pullRequestId,connection:e.githubConnection,terms:e.terms.trim().split(` -`).filter(O=>O),source:{repositoryFullName:`${B.owner}/${B.repo}`,pullRequestId:B.pullRequestId},options:e.options,conference:e.conference};U();let w=e.isUpdate?"/api/pr/"+e.pullRequestId:"/api/pr/";t.post(w,v,{headers:{"Content-Type":"application/json"}}).then(()=>{E.clear(),window.location.href="/pr/"+e.pullRequestId},O=>{O.data&&(i("ERRORS."+O.data.error).then(P=>{e.error=P},console.error),x(O.data.error))}).finally(()=>{I.disabled=!1})},e.watch("conference",()=>{re()}),e.watch("terms",()=>{e.detectedType==="repo"&&_e(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()}),e.watch("options.image",()=>{e.detectedType==="repo"&&_e(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()}),e.watch("options.link",()=>{e.detectedType==="repo"&&_e(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()}),e.watch("details",()=>{e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()},!0)},ur=function(e,t,s,r,o,i){let a=ut(),c=Xt();e.on("dark-mode",(L,X)=>{e.aceOption&&(X?e.aceOption.theme="nord_dark":e.aceOption.theme="chrome")});let f=0,g=null,b=null;e.fileLoadingSlow=!1,e.fileReceivedBytes=0;function k(){g&&(g.resolve(),g=null),b&&(a.timeout.cancel(b),b=null)}let m=!1;e.on("dispose",()=>{m=!0,f++,k(),C&&C.resolve()}),e.files=[],e.isMac=/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent),e.fileSearchQuery="",e.fileSearchResults=null,e.fileSearchLoading=!1,c(document,"click",L=>{e.symbolsOpen&&!L.target.closest?.(".symbols")&&(e.symbolsOpen=!1),e.moreOpen&&!L.target.closest?.(".tb-more")&&(e.moreOpen=!1),e.accountOpen&&!L.target.closest?.(".acct")&&(e.accountOpen=!1),e.helpOpen&&!L.target.closest?.(".vb-help")&&(e.helpOpen=!1)}),c(document,"keydown",L=>{L.key==="Escape"&&(e.symbolsOpen=!1,e.moreOpen=!1,e.accountOpen=!1,e.helpOpen=!1),(L.ctrlKey||L.metaKey)&&!L.altKey&&L.key&&L.key.toLowerCase()==="f"&&e.type==="html"&&window.document.querySelector(".reading-layout")&&(L.preventDefault(),e.toggleMdFind(!0))}),c(document,"keydown",function(L){if((L.metaKey||L.ctrlKey)&&L.key==="k"){L.preventDefault();var X=document.querySelector(".tree-search-input");X&&(X.focus(),X.select())}});var C=null;e.onFileSearchChange=function(){C&&(C.resolve(),C=null);let L=e.fileSearchQuery;if(!L||L.length<2){e.fileSearchResults=null,e.fileSearchLoading=!1;return}e.fileSearchLoading=!0;let X=i.defer();C=X,t.get(`/api/repo/${e.repoId}/files/search?q=${encodeURIComponent(L)}`,{timeout:X.promise}).then(function(J){if(!(m||C!==X)){C=null,e.fileSearchLoading=!1;var se={};e.files.forEach(function(M){se[(M.path||"")+"/"+M.name]=!0});for(var me=[],he={},re=0;re0&&e.files.push.apply(e.files,me);for(var v=[],w=0;w0&&e.files.push.apply(e.files,v),e.fileSearchResults=J.data}},function(){!m&&C===X&&(C=null,e.fileSearchLoading=!1,e.fileSearchResults=[])})};let A={yml:"yaml",txt:"text",py:"python",js:"javascript",ts:"typescript"},h=["license","txt"],E=["png","jpg","jpeg","gif","svg","ico","bmp","tiff","tif","webp","avif","heif","heic"],N=["wav","mp3","ogg","wma","flac","aac","m4a"],R=["mp4","avi","webm","mov","mpg","mpeg","mkv","flv","wmv","3gp","3g2","m4v","f4v","f4p","f4a","f4b"];e.on("routeUpdate",function(L,X){if(e.repoId!=r.repoId)return Ue();if((r.path||"")!=e.filePath){e.filePath=r.path||"",e.paths=e.filePath.split("/").filter(J=>J&&J.trim().length>0),ye();for(let J=0;J0?e.paths.slice(0,J).join("/"):"";e.files.some(he=>he.path===se)||e.getFiles(se)}}});function V(){if(e.paths[0]!="")return;let L=["readme.md","readme.txt","readme.org","readme.1st","readme"],X={};for(let se of e.files)se.name.toLowerCase().indexOf("readme")>-1&&(X[se.name.toLowerCase()]=se.name);let J=null;for(let se of L)if(X[se]){J=se;break}if(!J&&Object.keys(X).length>0&&(J=Object.keys(X)[0]),J){let se=s.url();se[se.length-1]!="/"&&(se+="/"),s.url(se+encodePathForUrl(X[J]))}}e.getFiles=function(L,X=!1){let J=e.repoId;return t.get(`/api/repo/${e.repoId}/files/?path=${encodeURIComponent(L)}&v=${e.options.lastUpdateDate}`).then(function(se){if(m||J!==e.repoId)return[];let me=L||"";return e.files=e.files.filter(he=>he.path!==me),e.files.push(...se.data),se.data},function(se){if(m||J!==e.repoId)return[];X||(e.type="error",e.content=dr(se),e.files=[])})};function H(){return e.files.filter(L=>L.name==e.paths[e.paths.length-1]&&L.path==e.paths.slice(0,e.paths.length-1).join("/"))[0]}var q=null;e.on("dispose",function(){q&&a.interval.cancel(q)});function z(L){if(m)return;let X=e.repoId;t.get(`/api/repo/${e.repoId}/options`).then(J=>{if(!(m||X!==e.repoId)){if(e.options=J.data,e.options.url){window.location=e.options.url;return}L&&L(J.data)}},J=>{if(!(m||X!==e.repoId)){var se=J.data||{};if(se.error==="rate_limited"&&se.resetAt){let he=function(){var re=Math.max(0,Math.ceil((e.rateLimitResetAt-Date.now())/1e3));if(re<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,q&&(a.interval.cancel(q),q=null),z(L);else{var U=Math.floor(re/60),te=re%60;e.rateLimitCountdown=U>0?U+"m "+te+"s":te+"s"}};var me=he;e.type="rate_limited",e.rateLimitResetAt=se.resetAt,q&&a.interval.cancel(q),he(),q=a.interval(he,1e3)}else se.error==="repository_not_ready"?(e.type="loading",a.timeout(function(){z(L)},3e3)):(e.type="error",e.content=dr(J))}})}e.toggleSource=function(){e.showSource=!e.showSource},e.toggleAllowScripts=function(){e.allowScripts=!e.allowScripts};let Z=(()=>{try{return window.localStorage?.getItem("wrapLines")}catch{return null}})();e.wrapLines=(Z??(window.matchMedia?.("(max-width: 767px)").matches?"false":"true"))!=="false",e.toggleWrap=function(){e.wrapLines=!e.wrapLines;try{window.localStorage?.setItem("wrapLines",String(e.wrapLines))}catch{}e.codeEditor?.session.setUseWrapMode(e.wrapLines)};function ae(){return window.document.querySelector(".reading-layout .markdown-body")}function _(){let L=ae();L&&(L.querySelectorAll("mark.md-find").forEach(X=>{X.replaceWith(window.document.createTextNode(X.textContent))}),L.normalize())}e.runMdFind=function(){_(),e.mdFindTotal=0,e.mdFindIndex=0;let L=(e.mdFindQuery||"").trim(),X=ae();if(!L||!X)return;let J=!!e.mdFindCase,se=J?L:L.toLowerCase(),me=window.document.createTreeWalker(X,4),he=[];for(;me.nextNode();)(J?me.currentNode.nodeValue:me.currentNode.nodeValue.toLowerCase()).includes(se)&&he.push(me.currentNode);let re=0;for(let U of he){let te=U.nodeValue,x=J?te:te.toLowerCase(),S=window.document.createDocumentFragment(),I=0,B;for(;(B=x.indexOf(se,I))!==-1;){S.appendChild(window.document.createTextNode(te.slice(I,B)));let v=window.document.createElement("mark");v.className="md-find",v.textContent=te.slice(B,B+L.length),S.appendChild(v),re++,I=B+L.length}S.appendChild(window.document.createTextNode(te.slice(I))),U.parentNode.replaceChild(S,U)}e.mdFindTotal=re,re&&e.stepMdFind(0)},e.stepMdFind=function(L){let X=ae();if(!X||!e.mdFindTotal)return;let J=X.querySelectorAll("mark.md-find");e.mdFindIndex=(e.mdFindIndex+L+J.length)%J.length,J.forEach((se,me)=>se.classList.toggle("is-current",me===e.mdFindIndex)),J[e.mdFindIndex]?.scrollIntoView({block:"center",behavior:"smooth"})},e.toggleMdFind=function(L){if(e.mdFindOpen=L===void 0?!e.mdFindOpen:L,!e.mdFindOpen){_(),e.mdFindTotal=0;return}Ze(()=>window.document.querySelector(".md-find-input")?.focus())},e.findInFile=function(){let L=e.codeEditor;if(!L)return;L.focus(),L.execCommand("find");let X=()=>{let J=L.searchBox?.element;J&&(L.renderer.setScrollMargin(52,12,0,0),!J._dockObserver&&(J._dockObserver=new MutationObserver(()=>{L.renderer.setScrollMargin(J.style.display!=="none"?52:12,12,0,0)}),J._dockObserver.observe(J,{attributes:!0,attributeFilter:["style"]})))};X(),setTimeout(X,150)};let j=[[/^\s*(?:export\s+)?(?:default\s+)?(?:abstract\s+)?class\s+([A-Za-z_$][\w$]*)/,"class"],[/^\s*(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s*\*?\s*([A-Za-z_$][\w$]*)/,"function"],[/^\s*(?:export\s+)?(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:function|\([^)]*\)\s*=>|[A-Za-z_$][\w$]*\s*=>)/,"function"],[/^\s*(?:async\s+)?def\s+([A-Za-z_]\w*)/,"function"],[/^\s*class\s+([A-Za-z_]\w*)/,"class"],[/^\s*func\s+(?:\([^)]*\)\s*)?([A-Za-z_]\w*)/,"function"],[/^\s*(?:pub\s+)?fn\s+([A-Za-z_]\w*)/,"function"],[/^\s*(?:public|private|protected|static|\s)+[\w<>\[\],\s]+\s+([A-Za-z_]\w*)\s*\([^;]*\)\s*\{?\s*$/,"function"]],ne={content:null,list:[]};e.symbolsOpen=!1,e.symbols=function(){if(typeof e.content!="string"||e.content.length>2e6)return[];if(ne.content===e.content)return ne.list;let L=[];return e.content.split(` -`).forEach((X,J)=>{for(let[se,me]of j){let he=se.exec(X);if(he&&!/^(if|for|while|switch|return|catch)$/.test(he[1])){L.push({name:he[1],kind:me,line:J+1});break}}}),ne={content:e.content,list:L.slice(0,300)},ne.list},e.goToSymbol=function(L){e.symbolsOpen=!1;let X=e.codeEditor;X&&(X.scrollToLine(L-1,!0,!0,()=>{}),X.gotoLine(L,0,!0),window.history.replaceState(null,"",window.location.pathname+window.location.search+"#L"+L),window.dispatchEvent(new HashChangeEvent("hashchange")))},e.gotoLine=function(){let L=e.codeEditor;L&&(L.focus(),L.execCommand("gotoline"))},e.rootEntries=function(){return[...e.files||[]].sort((L,X)=>{let J=L.size==null,se=X.size==null;return J!==se?J?-1:1:L.name.localeCompare(X.name)})},e.formatSize=function(L){if(L==null)return"";if(L<1024)return L+" B";let X=L/1024;return X<1024?X.toFixed(1)+" KB":(X/1024).toFixed(1)+" MB"},e.fileSize=function(L){if(!L)return null;let X=L.replace(/^\/+/,""),J=(e.files||[]).find(se=>(se.path?se.path+"/":"")+se.name===X);return J&&J.size!=null?J.size:null},e.revealFolder=function(L){e.sidebarHidden=!1,e.sidebarCollapsed=!1,Ze(()=>{let X=window.document.querySelector('.files a[data-path="/'+(window.CSS?.escape?window.CSS.escape(L):L)+'"]');X&&(X.closest("li")?.classList.contains("open")||X.click(),X.scrollIntoView({block:"nearest"}),X.focus())})};let le=/\bXXXX-\d+\b/g;e.redactionCount=function(){return typeof e.content!="string"?0:((e.type==="html"?e.content.replace(/<[^>]*>/g," "):e.content).match(le)||[]).length},e.renderRedacted=function(L){if(!L||L.indexOf("XXXX-")===-1||typeof window.DOMParser!="function")return L;let X=new window.DOMParser().parseFromString("
"+L+"
","text/html"),J=X.createTreeWalker(X.body,4),se=[];for(;J.nextNode();)le.test(J.currentNode.nodeValue)&&se.push(J.currentNode);for(let me of se){le.lastIndex=0;let he=X.createDocumentFragment(),re=0,U,te=me.nodeValue;for(;U=le.exec(te);){he.appendChild(X.createTextNode(te.slice(re,U.index)));let x=X.createElement("mark");x.className="redact-chip",x.setAttribute("title","Redacted term "+U[0].slice(5)+" \u2014 the same term everywhere in this snapshot");let S=U[0].slice(5);x.textContent="";let I=X.createElement("i");I.textContent=S,x.appendChild(I),x.dataset.term=U[0],x.setAttribute("aria-label","Redacted term "+S);let B=/^[.,;:!?)\]]+/.exec(te.slice(U.index+U[0].length));if(B){let v=X.createElement("span");v.className="redact-glue",v.appendChild(x),v.appendChild(X.createTextNode(B[0])),he.appendChild(v),re=U.index+U[0].length+B[0].length}else he.appendChild(x),re=U.index+U[0].length}he.appendChild(X.createTextNode(te.slice(re))),me.parentNode.replaceChild(he,me)}return X.body.firstChild.innerHTML};let Ce=L=>L.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").slice(0,60)||"section";e.renderReadme=function(L){let X=e.renderRedacted(L);if(!X||typeof window.DOMParser!="function")return X;let J=new window.DOMParser().parseFromString("
"+X+"
","text/html"),se={};return J.querySelectorAll("h1, h2, h3").forEach(me=>{let he=me.id||Ce(me.textContent);se[he]?he+="-"+ ++se[he]:se[he]=1,me.id=he}),J.body.firstChild.innerHTML};let ce={content:null,list:[]};e.readmeToc=function(){if(e.type!=="html"||typeof e.content!="string")return[];if(ce.content===e.content)return ce.list;let X=[...new window.DOMParser().parseFromString("
"+e.renderReadme(e.sanitize?e.sanitize(e.content):e.content)+"
","text/html").querySelectorAll("h2, h3")].map(J=>({id:J.id,text:J.textContent.trim(),level:J.tagName==="H3"?3:2})).slice(0,40);return ce={content:e.content,list:X},X},e.activeHeading=null,c(window,"scroll",()=>{let L=e.readmeToc?e.readmeToc():[];if(!L.length)return;let X=150,J="",se="";for(let me of L){let he=window.document.getElementById(me.id);if(!he)continue;let re=he.getBoundingClientRect().top;reJ&&X.push({t:L.slice(J,se.index)}),X.push({n:se[1]}),J=se.index+se[0].length;return J{e.pathCopied=!1},1600))},e.contentCopied=!1,e.copyContent=async function(){if(typeof e.content!="string"||!window.navigator.clipboard?.writeText)return;let L=e.content;if(e.type==="html"&&e.url)try{L=await(await window.fetch(e.url,{credentials:"same-origin"})).text()}catch{return}await window.navigator.clipboard.writeText(L),e.contentCopied=!0,setTimeout(()=>{e.contentCopied=!1},1600)};function ve(L){return A[L]?A[L]:L}function _e(L){return L=="pdf"?"pdf":L=="html"||L=="htm"?"html-doc":L=="md"?"md":L=="org"?"org":L=="ipynb"?"IPython":h.indexOf(L)>-1?"text":E.indexOf(L)>-1?"image":R.indexOf(L)>-1?"media":N.indexOf(L)>-1?"audio":"code"}function Se(L,X){let J=f;if(!L){e.type="error",e.content="no_file_selected";return}let se=e.type;(se==="code"||se==="text")&&hs().catch(()=>{}),e.type="loading",e.content="loading",e.fileLoadingSlow=!1,e.fileReceivedBytes=0;let me=i.defer();g=me,b=a.timeout(()=>{!m&&J===f&&e.type==="loading"&&(e.fileLoadingSlow=!0)},1500);let he=X&&X.sha||"0";t.get(`/api/repo/${e.repoId}/file/${encodePathForUrl(L)}?v=`+he,{timeout:me.promise,onDownloadProgress:re=>{!m&&J===f&&(e.fileReceivedBytes=re)},transformResponse:re=>re}).then(re=>{if(!(m||J!==f)){if(k(),e.type=se,e.content=re.data,e.content==""&&(e.content=null),e.type=="md"&&(e.content=renderMD(re.data,s.url()+"/../"),e.type="html"),e.type=="org"){let te=contentAbs2Relative(re.data);var U=new Org.Parser().parse(te).convert(Org.ConverterHTML,{headerOffset:1,exportFromLineNumber:!1,suppressSubScriptHandling:!0,suppressAutoLink:!1});e.content=DOMPurify.sanitize(U.toString()),e.type="html"}e.type=="code"&&re.headers("content-type")=="application/octet-stream"&&(e.type="binary",e.content="binary"),a.timeout(()=>{Prism.highlightAll()},50)}},re=>{m||J!==f||(k(),e.type="error",e.content=dr(re))})}function ye(){f++,k(),e.content="",e.file=H();let L="0";e.file&&e.file.sha&&(L=e.file.sha),e.url=`/api/repo/${e.repoId}/file/${encodePathForUrl(e.filePath)}?v=${L}`;let X=e.filePath.substring(0,e.filePath.lastIndexOf("/")+1);e.fileBaseUrl=`/api/repo/${e.repoId}/file/${X?encodePathForUrl(X):""}`,e.showSource=!1,e.allowScripts=!1;let J=e.filePath.toLowerCase(),se=J.lastIndexOf(".");se>-1&&(J=J.substring(se+1));let me={javascript:"JavaScript",typescript:"TypeScript",tsx:"TSX",jsx:"JSX",python:"Python",java:"Java",c_cpp:"C/C++",csharp:"C#",golang:"Go",rust:"Rust",ruby:"Ruby",php:"PHP",html:"HTML",css:"CSS",scss:"SCSS",json:"JSON",yaml:"YAML",markdown:"Markdown",sh:"Shell",dockerfile:"Dockerfile",xml:"XML",sql:"SQL",kotlin:"Kotlin",swift:"Swift",scala:"Scala",r:"R",julia:"Julia",latex:"LaTeX",toml:"TOML",text:""},he=ve(J);if(e.languageName=me[he]??(he?he.charAt(0).toUpperCase()+he.slice(1):""),e.aceOption={readOnly:!0,useWrapMode:!0,showGutter:!0,theme:"chrome",useSoftTab:!0,tabSize:2,fontSize:13,keyBinding:"vscode",fullLineSelection:!0,highlightActiveLine:!1,highlightGutterLine:!1,cursor:"hide",showInvisibles:!1,showIndentGuides:!1,showPrintMargin:!1,highlightSelectedWord:!1,enableBehaviours:!0,fadeFoldWidgets:!1,mode:ve(J),onLoad:function(re){e.codeEditor=Kn(re);{let P=re.session,M=P.getTokens.bind(P),W=/\bXXXX-\d+\b/g;if(P.getTokens=function(F){let K=M(F);if(!K.some(G=>G.value.indexOf("XXXX-")!==-1))return K;let ee=[];for(let G of K){if(G.value.indexOf("XXXX-")===-1){ee.push(G);continue}let de=0;W.lastIndex=0;let oe;for(;oe=W.exec(G.value);)oe.index>de&&ee.push({type:G.type,value:G.value.slice(de,oe.index)}),ee.push({type:"redacted.n"+oe[0].slice(5),value:oe[0]}),de=oe.index+oe[0].length;de`.ace_redacted.ace_n${ee+1}::after{content:"${ee+1}"}`).join(""),window.document.head.appendChild(F)}re.renderer.updateFull(!0)}re.session.setUseWrapMode(e.wrapLines!==!1);let U=re.container.closest?.(".file-card"),te=()=>{if(!U)return;let P=re.renderer,M=(P.layerConfig?.width||0)-(P.$size?.scrollerWidth||0);U.classList.toggle("at-right-edge",M<=2||P.getScrollLeft()>=M-2)};re.session.on("changeScrollLeft",te),re.renderer.on("afterRender",te),window.matchMedia?.("(max-width: 767px)").matches&&re.setOption("hScrollBarAlwaysVisible",!0);let x=ace.require("ace/range").Range,S=null;function I(P,M){S!==null&&(re.session.removeMarker(S),S=null),P!=null&&(S=re.session.addMarker(new x(P,0,M,1),"highlighted-line","fullLine"))}function B(P){let M=window.location.hash.match(/^#L(\d+)(?:-L(\d+))?/);if(!M){I(null);return}let W=parseInt(M[1])-1,F=M[2]?parseInt(M[2])-1:W;I(W,F),P&&a.timeout(()=>{re.scrollToLine(W,!0,!0,function(){})},100)}B(!0);let v=null;re.on("guttermousedown",function(P){let M=P.getDocumentPosition().row,W=P.domEvent&&P.domEvent.shiftKey,F=M,K=M;W&&v!==null?(F=Math.min(v,M),K=Math.max(v,M)):v=M;let ee=F===K?`#L${F+1}`:`#L${F+1}-L${K+1}`,G=window.location.pathname+window.location.search+ee;window.history.replaceState(null,"",G),I(F,K),P.stop()});let w=c(window,"hashchange",()=>B(!1));re.setFontSize(e.aceOption.fontSize),re.setOptions({fontFamily:"'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace"}),re.container.style.lineHeight="20px",re.renderer.setPadding(16),re.renderer.setScrollMargin(12,12,0,0),re.renderer.updateFontSize(),re.setReadOnly(e.aceOption.readOnly),re.setKeyboardHandler(e.aceOption.keyBinding),re.setSelectionStyle(e.aceOption.fullLineSelection?"line":"text"),re.setOption("displayIndentGuides",!1),re.setHighlightActiveLine(e.aceOption.highlightActiveLine),e.aceOption.cursor=="hide"&&(re.renderer.$cursorLayer.element.style.display="none"),re.setHighlightGutterLine(e.aceOption.highlightGutterLine),re.setShowInvisibles(e.aceOption.showInvisibles),re.setDisplayIndentGuides(e.aceOption.showIndentGuides),re.renderer.setShowPrintMargin(e.aceOption.showPrintMargin),re.setHighlightSelectedWord(e.aceOption.highlightSelectedWord),re.session.setUseSoftTabs(e.aceOption.useSoftTab),re.session.setTabSize(e.aceOption.tabSize),re.setBehavioursEnabled(e.aceOption.enableBehaviours),re.setFadeFoldWidgets(e.aceOption.fadeFoldWidgets);let O=c(window,"keydown",P=>{if((P.ctrlKey||P.metaKey)&&!P.altKey&&P.key.toLowerCase()==="g"&&document.body.contains(re.container)){P.preventDefault(),e.gotoLine();return}if(P.altKey&&!P.ctrlKey&&!P.metaKey&&P.key.toLowerCase()==="z"&&document.body.contains(re.container)){P.preventDefault(),e.toggleWrap();return}(P.ctrlKey||P.metaKey)&&!P.altKey&&P.key.toLowerCase()==="f"&&document.body.contains(re.container)&&(P.preventDefault(),e.findInFile())});return()=>{w(),O()}}},e.isDarkMode&&(e.aceOption.theme="nord_dark"),e.type=_e(J),e.type=="pdf"){e.content="pdf";return}Se(e.filePath,e.file)}e.isSourceAccessError=()=>["repo_not_found","token_expired","github_app_access_required","github_app_reconnect_required","repo_saml_enforcement","repo_access_limited"].includes(e.content),e.retryContent=()=>Ue();function Ue(){f++,k(),e.files=[],e.content=null,e.fileSearchQuery="",e.onFileSearchChange(),e.repoId=r.repoId,e.type="loading",e.filePath=r.path||"",e.paths=e.filePath.split("/");let L=e.repoId;z(function(X){if(e.filePath){ye();let se=[...new Set(e.paths.map((me,he)=>e.paths.slice(0,he).join("/")))];i.all(se.map(me=>e.getFiles(me,!0)));return}var J=i.resolve();for(let se=0;se0?e.paths.slice(0,se).join("/"):"";J=J.then(function(){return e.getFiles(me)}).then(function(){if(e.type==="error")return i.reject("error")})}J.then(function(){m||L!==e.repoId||(e.files.length==1&&e.files[0].name==""?(e.files=[],e.type="empty"):(V(),ye()))})})}Ue()},el=function(e,t,s,r,o){async function i(f){t.get(`/api/pr/${e.pullRequestId}/options`).then(g=>{if(e.options=g.data,e.options.url){window.location=e.options.url;return}f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}async function a(f){t.get(`/api/pr/${e.pullRequestId}/content`).then(g=>{e.details=g.data,e.tabState={active:g.data.diff?"diff":"comments"},f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}function c(){e.pullRequestId=r.pullRequestId,e.type="loading",i(f=>{a()})}c()},tl=function(e,t,s,r,o){async function i(f){t.get(`/api/gist/${e.gistId}/options`).then(g=>{if(e.options=g.data,e.options.url){window.location=e.options.url;return}f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}async function a(f){t.get(`/api/gist/${e.gistId}/content`).then(g=>{e.details=g.data;let b=g.data&&g.data.files&&g.data.files.length;e.tabState={active:b?"files":"comments"},f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}function c(){e.gistId=r.gistId,e.type="loading",i(()=>{a()})}c()},nl=function(e,t,s){e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.conferences=[],e.loading=!0,e.error="",e.search="";let r="conferences.filterPrefs",o={filters:{status:{ready:!0,expired:!1,removed:!1}},orderBy:"name"},i=loadFilterPrefs(r)||{};e.filters={status:Object.assign({},o.filters.status,i.filters&&i.filters.status||{})},e.orderBy=i.orderBy||o.orderBy,e.watch("orderBy",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})},!0),e.removeConference=function(a){if(!a.removing&&confirm(`Are you sure that you want to remove the conference ${a.name}? All the repositories linked to this conference will expire.`)){a.removing=!0;let c=ze({title:`Removing ${a.name}...`,date:new Date,body:`The conference ${a.name} is going to be removed.`});e.addToast(c),t.delete(`/api/conferences/${a.conferenceID}`).then(()=>{c.title=`${a.name} is removed.`,c.body=`The conference ${a.name} is removed.`,e.loadConferences()}).catch(()=>{c.title="Unable to remove conference",c.body="Please try again. The conference has not been removed."}).finally(()=>{a.removing=!1})}},e.loadConferences=()=>(e.loading=!0,e.error="",t.get("/api/conferences/").then(a=>{e.conferences=a.data||[]},a=>{e.error="Unable to load your conferences. Please try again."}).finally(()=>{e.loading=!1})),e.loadConferences(),e.conferenceFilter=a=>{if(e.filters.status[a.status]==!1)return!1;let c=e.search.trim().toLowerCase();return!!(!c||(a.name||"").toLowerCase().includes(c)||(a.conferenceID||"").toLowerCase().includes(c))}},cr=function(e,t,s,r){e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.plans=[],e.editionMode=!1,e.saving=!1,e.error="";function o(){t.get("/api/conferences/"+r.conferenceId).then(b=>{e.options={...e.options,...b.data,billing:b.data.billing||{}},e.options.startDate=new Date(e.options.startDate),e.options.endDate=new Date(e.options.endDate)})}r.conferenceId&&(e.editionMode=!0,o());function i(){t.get("/api/conferences/plans").then(b=>{e.plans=b.data,e.plan=e.plans.filter(k=>k.id==e.options.plan.planID)[0]})}i();let a=new Date;a.setDate(1),a.setMonth(a.getMonth()+1);let c=new Date(a);c.setMonth(a.getMonth()+7,0),e.options={billing:{},startDate:a,endDate:c,plan:{planID:"free_conference"},options:{link:!0,image:!0,pdf:!0,notebook:!0,update:!0,page:!0}},e.plan=null,e.watch("options.plan.planID",()=>{e.plan=e.plans.filter(b=>b.id==e.options.plan.planID)[0]});function f(){e.conference.name.setValidity("required",!0),e.conference.conferenceID.setValidity("pattern",!0),e.conference.conferenceID.setValidity("required",!0),e.conference.conferenceID.setValidity("used",!0),e.conference.startDate.setValidity("required",!0),e.conference.startDate.setValidity("invalid",!0),e.conference.endDate.setValidity("required",!0),e.conference.endDate.setValidity("invalid",!0),e.conference.setValidity("error",!0)}function g(b){switch(b){case"conf_name_missing":e.conference.name.setValidity("required",!1);break;case"conf_id_missing":e.conference.conferenceID.setValidity("required",!1);break;case"conf_id_format":e.conference.conferenceID.setValidity("pattern",!1);break;case"conf_id_used":e.conference.conferenceID.setValidity("used",!1);break;case"conf_start_date_missing":e.conference.startDate.setValidity("required",!1);break;case"conf_end_date_missing":e.conference.endDate.setValidity("required",!1);break;case"conf_start_date_invalid":e.conference.startDate.setValidity("invalid",!1);break;case"conf_end_date_invalid":e.conference.endDate.setValidity("invalid",!1);break;default:e.conference.setValidity("error",!1);break}}e.submit=function(){if(e.saving)return;e.saving=!0,e.error="";let b=JSON.parse(JSON.stringify(e.options)),k=ze({title:`Creating ${b.name}...`,date:new Date,body:`The conference ${b.conferenceID} is in creation.`});e.editionMode&&(k.title=`Updating ${b.name}...`,k.body=`The conference '${b.conferenceID}' is updating.`),e.addToast(k),f(),t.post("/api/conferences/"+(e.editionMode?b.conferenceID:""),b).then(()=>{e.editionMode?(k.title=`${b.name} updated`,k.body=`The conference '${b.conferenceID}' is updated.`):(k.title=`${b.name} created`,k.body=`The conference '${b.conferenceID}' is created.`),s.url("/conference/"+b.conferenceID)},m=>{g(m.data?.error),e.error="Unable to save the conference. Please correct any highlighted fields and try again.",e.removeToast(k)}).finally(()=>{e.saving=!1})}},sl=function(e,t,s,r){e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.conference=null,e.search="",e.filters={status:{ready:!0,expired:!1,removed:!1}},e.orderBy="-anonymizeDate",e.repoFiler=i=>{if(e.filters.status[i.status]==!1)return!1;let a=e.search.trim().toLowerCase();return!!(!a||(i.source?.fullName||"").toLowerCase().includes(a)||(i.repoId||"").toLowerCase().includes(a))};function o(){t.get("/api/conferences/"+r.conferenceId).then(i=>{e.conference=i.data})}o()},ol=function(e,t){e.connections=null,e.connectionError="",e.busy=!1,e.loadConnections=()=>t.get("/github/connections").then(s=>{e.connections=s.data}).catch(s=>{e.connectionError=s.data?.error||"Unable to load connections."}),e.changeConnection=async(s,r,o)=>{e.busy=!0,e.connectionError="";try{let i=await t.post("/github/connections/migrate",{type:s.type,id:s.id,connection:r,preview:o},{headers:{"X-CSRF-Token":e.connections.csrf}});o?s.eligible=i.data.eligible:await e.loadConnections()}catch(i){e.connectionError=i.data?.error||"Unable to change connection."}finally{e.busy=!1}},e.disconnectOAuth=async()=>{e.busy=!0;try{await t.post("/github/connections/disconnect-oauth",{},{headers:{"X-CSRF-Token":e.connections.csrf}}),await e.loadConnections()}catch(s){e.connectionError=s.data?.error||"Unable to disconnect OAuth."}finally{e.busy=!1}},e.loadConnections()},rl=function(e,t){e.accountRecovery=!1,t.get("/github/account-recovery").then(s=>{e.accountRecovery=s.data.required}).catch(()=>{})};var il=function(e,t,s){let r=ut(),o=Xt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.repositories=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.totalSize=0,e.selected={},e.allSelected=!1;let i=h=>{if(h.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){h.preventDefault();let E=document.querySelector('.admin-filter-toolbar input[type="search"]');E&&E.focus()}};o(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=h=>{h==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[h]="",e.query.page=1},e.chips=[];let a=()=>{let h=[];e.query.owner&&h.push({key:"owner",label:"Owner",value:e.query.owner}),e.query.conference&&h.push({key:"conference",label:"Conference",value:e.query.conference}),e.chips=h};e.showStatusMessage=h=>{let E=h.statusMessage||"(no message)";window.prompt(`Status message for ${h.repoId} (${h.status}):`,E)},e.fetchGithubInfo=h=>{let E=window.open("","_blank");E&&E.document.write("
Loading GitHub info for "+h.repoId+"...
"),t.get("/api/admin/repos/"+h.repoId+"/github").then(N=>{E&&(E.document.open(),E.document.write('
'+JSON.stringify(N.data,null,2).replace(/[<>]/g,R=>R==="<"?"<":">")+"
"),E.document.close())},N=>{let R=N&&N.data?JSON.stringify(N.data,null,2):String(N);E&&(E.document.body.innerHTML='
'+R+"
")})},e.statusCountFor=h=>{let E=(e.statusCounts||[]).find(N=>N._id===h);return E?E.count:0},e.statusStorageFor=h=>{let E=(e.statusCounts||[]).find(N=>N._id===h);return E?E.storage:0},e.isErrorsOnly=()=>e.query&&e.query.error&&!e.query.ready&&!e.query.preparing&&!e.query.expired&&!e.query.removed,e.toggleErrorsOnly=()=>{e.isErrorsOnly()?Object.assign(e.query,{ready:!1,preparing:!0,expired:!1,removed:!1,error:!0}):Object.assign(e.query,{ready:!1,preparing:!1,expired:!1,removed:!1,error:!0}),e.query.page=1},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=h=>{e.query.sort===h?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=h,e.query.direction="desc"),e.query.page=1},e.sortIcon=h=>e.query.sort===h?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let c="admin.repos.filterPrefs",f={page:1,limit:25,sort:"lastView",direction:"desc",search:"",owner:"",conference:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!1,error:!0,preparing:!0},g=loadFilterPrefs(c)||{};e.query=Object.assign({},f,g,{page:1,search:""});let b=s.search();b.owner&&(e.query.owner=b.owner),b.conference&&(e.query.conference=b.conference),b.search&&(e.query.search=b.search);let k="admin.repos.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let h=window.prompt("Preset name:");if(!h)return;let E=Object.assign({},e.query);delete E.page,e.presets=(e.presets||[]).filter(N=>N.name!==h),e.presets.push({name:h,query:E}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=h=>{Object.assign(e.query,h.query,{page:1})},e.deletePreset=h=>{e.presets=(e.presets||[]).filter(E=>E.name!==h.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.repositories.forEach(h=>{e.selected[h.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(h=>e.selected[h.repoId]),e.bulkRefresh=()=>{let h=e.selectedRepos();h.length&&confirm(`Force refresh ${h.length} repositories?`)&&h.forEach(E=>e.updateRepository(E))},e.bulkRemoveCache=()=>{let h=e.selectedRepos();h.length&&confirm(`Purge cache for ${h.length} repositories?`)&&h.forEach(E=>e.removeCache(E))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let h=new URLSearchParams(Object.entries(e.query).filter(([,E])=>E!==""&&E!==!1&&E!=null));h.set("format","csv"),h.set("limit","10000"),window.open("/api/admin/repos?"+h.toString(),"_blank")},e.removeCache=h=>{confirm("Remove cached files for "+h.repoId+"?")&&t.delete("/api/admin/repos/"+h.repoId).then(()=>m(),E=>console.error(E))},e.removeRepository=h=>{confirm("Remove repository "+h.repoId+"?")&&t.delete("/api/repo/"+h.repoId+"/").then(()=>m(),E=>console.error(E))},e.updateRepository=h=>{let E=ze({title:`Refreshing ${h.repoId}...`,date:new Date,body:`The repository ${h.repoId} is going to be refreshed.`});e.toasts.push(E),t.post(`/api/repo/${h.repoId}/refresh`).then(N=>{N.data.status=="ready"?E.title=`${h.repoId} is refreshed.`:E.title=`Refreshing of ${h.repoId}.`},N=>{E.title=`Error during the refresh of ${h.repoId}.`,E.body=N.body})},e.filtersOpen=!1,e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/repos",{params:e.query}).then(h=>{e.total=h.data.total,e.totalPage=Math.ceil(h.data.total/e.query.limit),e.repositories=h.data.results,e.allSelected=!1},h=>{e.fetchError=h&&h.data&&h.data.error||"Failed to load repositories",console.error(h)})}function C(){let h=Object.assign({},e.query,{page:1,limit:1,ready:!0,expired:!0,removed:!0,error:!0,preparing:!0});t.get("/api/admin/repos",{params:h}).then(E=>{e.statusCounts=E.data.statusCounts||[],e.totalSize=E.data.totalSize||0},()=>{})}e.showAllStatuses=()=>Object.assign(e.query,{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0,page:1}),m(),C();let A=null;e.watch("query",()=>{r.timeout.cancel(A),A=r.timeout(()=>{m(),C()},500);let{page:h,search:E,...N}=e.query;saveFilterPrefs(c,N),a()},!0),a()},al=function(e,t,s){let r=ut(),o=Xt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.users=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.selected={},e.allSelected=!1;let i=m=>{if(m.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){m.preventDefault();let C=document.querySelector('.admin-filter-toolbar input[type="search"]');C&&C.focus()}};o(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=m=>{m==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[m]="",e.query.page=1},e.chips=[];let a=()=>{let m=[];e.query.role&&m.push({key:"role",label:"Role",value:e.query.role}),e.chips=m};e.statusCountFor=m=>{let C=(e.statusCounts||[]).find(A=>A._id===m);return C?C.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.query.page=1},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let c="admin.users.filterPrefs",f={page:1,limit:25,sort:"username",direction:"asc",search:"",status:"",role:"",dateFrom:"",dateTo:""},g=loadFilterPrefs(c)||{};e.query=Object.assign({},f,g,{page:1,search:""}),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.users.forEach(m=>{e.selected[m.username]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedUsers=()=>e.users.filter(m=>e.selected[m.username]),e.banUser=m=>{confirm(`Ban user ${m.username}?`)&&t.post(`/api/admin/users/${m.username}/ban`).then(b,C=>console.error(C))},e.activateUser=m=>{t.post(`/api/admin/users/${m.username}/activate`).then(b,C=>console.error(C))},e.bulkBan=()=>{let m=e.selectedUsers();m.length&&confirm(`Ban ${m.length} users?`)&&m.forEach(C=>e.banUser(C))},e.exportCsv=()=>{let m=new URLSearchParams(Object.entries(e.query).filter(([,C])=>C!==""&&C!==!1&&C!=null));m.set("format","csv"),m.set("limit","10000"),window.open("/api/admin/users?"+m.toString(),"_blank")},e.fetchError=null;function b(){e.fetchError=null,t.get("/api/admin/users",{params:e.query}).then(m=>{e.total=m.data.total,e.totalPage=Math.ceil(m.data.total/e.query.limit),e.users=m.data.results,e.statusCounts=m.data.statusCounts||[],e.allSelected=!1},m=>{e.fetchError=m&&m.data&&m.data.error||"Failed to load users",console.error(m)})}b();let k=null;e.watch("query",()=>{r.timeout.cancel(k),k=r.timeout(b,500);let{page:m,search:C,...A}=e.query;saveFilterPrefs(c,A),a()},!0),a()},ll=function(e,t,s,r){let o=ut();e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.userInfo,e.repositories=[],e.search="",e.selected={},e.allSelected=!1;let i="admin.user.filterPrefs",a={filters:{status:{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0}},sort:"anonymizeDate",direction:"desc"},c=loadFilterPrefs(i)||{};e.filters={status:Object.assign({},a.filters.status,c.filters&&c.filters.status||{})},e.query={sort:c.sort||a.sort,direction:c.direction||a.direction},e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort,e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"",e.watch("query",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.watch("filters",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.statusCountFor=m=>(e.repositories||[]).filter(C=>C.status===m).length,e.repoFiler=m=>e.filters.status[m.status]==!1?!1:!!(e.search.trim().length==0||m.source.fullName.indexOf(e.search)>-1||m.repoId.indexOf(e.search)>-1||m.statusMessage&&m.statusMessage.indexOf(e.search)>-1||m.conference&&m.conference.indexOf(e.search)>-1),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,(e.filteredRepositories||e.repositories).forEach(m=>{e.selected[m.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(m=>e.selected[m.repoId]),e.bulkRefresh=()=>{let m=e.selectedRepos();m.length&&confirm(`Force refresh ${m.length} repositories?`)&&m.forEach(C=>e.updateRepository(C))},e.bulkRemoveCache=()=>{let m=e.selectedRepos();m.length&&confirm(`Purge cache for ${m.length} repositories?`)&&m.forEach(C=>e.removeCache(C))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let m=e.filteredRepositories||e.repositories,A=["repoId","status","statusMessage","pageView","anonymizeDate","source.fullName","conference","size.storage"].join(","),h=m.map(R=>[R.repoId,R.status,R.statusMessage||"",R.pageView||0,R.anonymizeDate||"",R.source&&R.source.fullName||"",R.conference||"",R.size&&R.size.storage||0].map(V=>{let H=String(V??"");return/[",\n\r]/.test(H)?'"'+H.replace(/"/g,'""')+'"':H}).join(",")),E=new Blob([A+` +Contact: jane.smith@mit.edu`,e.demoTerms="Jane Smith, Smith, MIT CSAIL, jane.smith@mit.edu",e.demoParts=function(){let c=(e.demoTerms||"").split(/[,\n]/).map(m=>m.trim()).filter(Boolean).sort((m,C)=>C.length-m.length),f=m=>m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(!c.length)return[{text:e.demoText}];let g=new RegExp("("+c.map(f).join("|")+")","gi"),b={},k=0;return(e.demoText||"").split(g).filter(m=>m!=="").map(m=>{let C=c.find(A=>A.toLowerCase()===m.toLowerCase());return C?(b[C.toLowerCase()]||(b[C.toLowerCase()]=++k),{text:String(b[C.toLowerCase()]),redacted:!0,original:m}):{text:m}})},e.demoCount=()=>e.demoParts().filter(c=>c.redacted).length,e.cards=[{key:"repositories",total:0,label:"repositories anonymized"},{key:"users",total:0,label:"researchers"},{key:"pageViews",total:0,label:"page views"},{key:"pullRequests",total:0,label:"pull requests"}];function i(){t.get("/api/stat/").then(c=>{e.stat=c.data,e.cards[0].total=c.data.nbRepositories,e.cards[1].total=c.data.nbUsers,e.cards[2].total=c.data.nbPageViews,e.cards[3].total=c.data.nbPullRequests}).catch(()=>{})}i();function a(c){let f={series:c,bars:[],viewW:100,deltaToday:0,pctChange:0,pctAbs:0,isUp:!0};if(!c||c.length<2)return f;let g=new Array(c.length-1);for(let h=1;h=2){let h=g[b-2];h&&(f.pctChange=(f.deltaToday-h)/h*100)}return f.pctAbs=Math.round(Math.abs(f.pctChange)),f.isUp=f.pctChange>=0,f}e.history={repositories:a([]),users:a([]),pageViews:a([]),pullRequests:a([])},t.get("/api/stat/history?days=60").then(c=>{let f=c.data||[];e.history={repositories:a(f.map(g=>g.nbRepositories||0)),users:a(f.map(g=>g.nbUsers||0)),pageViews:a(f.map(g=>g.nbPageViews||0)),pullRequests:a(f.map(g=>g.nbPullRequests||0))}}).catch(()=>{})},Za=function(e,t,s,r,o,i){let a=ut();e.on("routeLeave",function(){$('[data-toggle="tooltip"]').tooltip("dispose")}),e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),a.timeout(()=>{$('[data-toggle="tooltip"]').tooltip()},250),e.quotaExpanded=!1,e.closeQuota=()=>{e.quotaExpanded=!1,Ze(()=>document.querySelector(".dashboard-quota > summary")?.focus())},Xt()(document,"click",_=>{e.quotaExpanded&&!_.target.closest?.(".dashboard-quota")&&(e.quotaExpanded=!1)}),e.filtersExpanded=!1,e.projectView="all",e.selectedProject=null,e.projectName="",e.nameSaving=!1,e.nameError="",e.nameMessage="",e.needsAttention=_=>_.status==="error"||_._broken||f(_.status)==="progress"&&_._stale,e.attentionCount=()=>e.dashboardTotals?.attention??e.items.filter(e.needsAttention).length,e.hasProjects=()=>(e.dashboardTotals?.total??e.items.length)>0,e.setProjectView=_=>{e.projectView=_,_==="attention"&&(e.filters.status.error=!0,e.filters.status.progress=!0)},e.projectDetailsId=_=>"project-details-"+encodeURIComponent(_._type+":"+(_._id||_._source||"unknown")),e.showProjectDetails=async _=>{e.selectedProject=_,e.projectName=_.projectName||"",e.nameError="",e.nameMessage="",await Ze();let Y=document.getElementById(e.projectDetailsId(_));Y?.focus(),Y?.scrollIntoView?.({block:"nearest"})},e.closeProjectDetails=_=>{e.selectedProject=null,Ze(()=>document.querySelector(`[data-project-actions="${encodeURIComponent(_._type+":"+_._id)}"]`)?.focus())},e.saveProjectName=async _=>{if(e.nameSaving||!_._id)return;let Y=e.projectName.trim();if(Y.length>100){e.nameError="Use 100 characters or fewer.";return}e.nameSaving=!0,e.nameError="",e.nameMessage="";try{let Z=await t.post("/api/user/project-name",{type:_._type,id:_._id,name:Y});_.projectName=Z.data.name,_._label=_.projectName||_._fallbackLabel,e.selectedProject===_&&(e.nameMessage=Y?"Project name saved.":"Default project name restored."),R||(e.dashboardCursor=null,await H(),e.selectedProject===_&&(e.selectedProject=e.items.find(he=>he._type===_._type&&he._id===_._id)||null))}catch{e.selectedProject===_&&(e.nameError="The project name could not be saved. Try again.")}finally{e.nameSaving=!1}},e.copyingId=null,e.copyLink=async _=>{if(!_._viewUrl||e.copyingId)return;let Y=new URL(_._viewUrl,o.location.origin).href;e.copyingId=_._type+":"+_._id;try{if(o.navigator.clipboard?.writeText)await o.navigator.clipboard.writeText(Y);else{let Z=document.createElement("textarea");Z.value=Y,Z.setAttribute("readonly",""),Z.style.position="fixed",Z.style.opacity="0";let he=document.activeElement;document.body.appendChild(Z);try{if(Z.select(),!document.execCommand?.("copy"))throw Error("Copy unavailable")}finally{Z.remove(),he?.focus()}}e.addToast({title:"Link copied",body:"The anonymous link is ready to share."})}catch{e.addToast({title:"Copy this anonymous link",body:Y})}finally{e.copyingId=null}},e.items=[],e.search="",e.loading=!0,e.statusKeyLabels={ready:"Ready",progress:"In progress",error:"Error",expired:"Expired",removed:"Removed"};let c=["queue","download","downloaded","preparing","anonymizing"];function f(_){return _==="ready"||_==="error"?_:_==="expired"||_==="expiring"?"expired":_==="removed"||_==="removing"?"removed":(c.indexOf(_)>-1,"progress")}let g=7200*1e3,b="dashboard.filterPrefs",k={typeFilter:"all",filters:{status:{ready:!0,progress:!0,error:!0,expired:!0,removed:!1}},orderBy:"-anonymizeDate"},m=loadFilterPrefs(b)||{};e.typeFilter=m.typeFilter||k.typeFilter,e.filters={status:Object.assign({},k.filters.status,m.filters&&m.filters.status||{})},e.orderBy=m.orderBy||k.orderBy;let C={_name:{label:"Anonymous ID",defaultDesc:!1},_label:{label:"Project",defaultDesc:!1},anonymizeDate:{label:"Anonymize date",defaultDesc:!0},status:{label:"Status",defaultDesc:!1},lastView:{label:"Last view",defaultDesc:!0},pageView:{label:"Views",defaultDesc:!0},"options.expirationDate":{label:"Expiration",defaultDesc:!1}};e.sortFields=C,e.sortField=()=>e.orderBy.replace(/^-/,""),e.sortDesc=()=>e.orderBy.charAt(0)==="-",e.sortLabel=()=>{let _=C[e.sortField()];return _?_.label:"Custom"},e.isSortedBy=_=>e.sortField()===_,e.setSort=(_,Y)=>{typeof Y!="boolean"&&(Y=e.isSortedBy(_)?!e.sortDesc():!!(C[_]&&C[_].defaultDesc)),e.orderBy=(Y?"-":"")+_},e.toggleSortDirection=()=>{e.setSort(e.sortField(),!e.sortDesc())},e.watchGroup(["typeFilter","orderBy"],()=>{saveFilterPrefs(b,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(b,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})},!0),i.load().then(_=>{e.quota=_},console.error);function A(_,Y,Z,he,ue,ce){_.pageView||(_.pageView=0),_.lastView||(_.lastView=""),_.options=_.options||{},_.options.terms=(_.options.terms||[]).filter(_e=>_e),_._id=Y||"",_._source=he,_._broken=!Y,_._name=Y||he||"(unnamed)",_._fallbackLabel=_._type==="gist"?"Gist "+(Y||he||"without an ID"):he||Z||_._name,_._label=_.projectName||_._fallbackLabel,_._editUrl=Y?ue:null,_._viewUrl=Y?ce:null,_._broken&&(_.status="error",_.statusMessage="incomplete_record"),_._statusKey=f(_.status);let ye=_.anonymizeDate||_.lastView;return _._stale=_._statusKey==="progress"&&!!ye&&Date.now()-new Date(ye).getTime()>g,_.status==="expired"||_.status==="expiring"?_._expiry={kind:"expired",date:_.options.expirationDate}:_.status!=="ready"?_._expiry={kind:"none"}:_.options.expirationMode==="never"||!_.options.expirationDate?_._expiry={kind:"never"}:_._expiry={kind:"date",date:_.options.expirationDate},_}function h(_){return t.get(_).then(Y=>Y.data||[],Y=>(console.error(Y),[]))}function E(){return e.loading=!0,r.all([h("/api/user/anonymized_repositories"),h("/api/user/anonymized_pull_requests"),h("/api/user/anonymized_gists")]).then(_=>{let Y=_[0],Z=_[1],he=_[2],ue=[];Y.forEach(ce=>{ce._type="repo";let ye=ce.source||{};ue.push(A(ce,ce.repoId,ce.repoId,ye.fullName,"/anonymize/"+ce.repoId,"/r/"+ce.repoId+"/"))}),Z.forEach(ce=>{ce._type="pr";let ye=ce.source||{};ue.push(A(ce,ce.pullRequestId,ce.pullRequestId,ye.repositoryFullName?ye.repositoryFullName+"#"+ye.pullRequestId:void 0,"/pull-request-anonymize/"+ce.pullRequestId,"/pr/"+ce.pullRequestId+"/"))}),he.forEach(ce=>{ce._type="gist";let ye=ce.source||{};ue.push(A(ce,ce.gistId,ce.gistId,ye.gistId,"/gist-anonymize/"+ce.gistId,"/gist/"+ce.gistId+"/"))}),e.items=ue,e.loading=!1})}let N=0,R=!1;e.dashboardCursor=null,e.dashboardError="";function P(_){let Y=_.source||{};return _._type==="repo"?A(_,_.repoId,_.repoId,Y.fullName,"/anonymize/"+_.repoId,"/r/"+_.repoId+"/"):_._type==="pr"?A(_,_.pullRequestId,_.pullRequestId,Y.repositoryFullName?Y.repositoryFullName+"#"+Y.pullRequestId:void 0,"/pull-request-anonymize/"+_.pullRequestId,"/pr/"+_.pullRequestId+"/"):A(_,_.gistId,_.gistId,Y.gistId,"/gist-anonymize/"+_.gistId,"/gist/"+_.gistId+"/")}function H(_=!1){if(R)return E();let Y=++N;return e.loading=!_,e.loadingMore=_,e.dashboardError="",t.get("/api/user/dashboard",{params:{q:e.search,type:e.typeFilter,sort:e.orderBy,statuses:Object.keys(e.filters.status).filter(Z=>e.filters.status[Z]!==!1).join(",")||"none",attention:String(e.projectView==="attention"),cursor:_?e.dashboardCursor:void 0}}).then(Z=>{if(Y===N){if(!Array.isArray(Z.data?.items))return R=!0,E();e.items=(_?e.items:[]).concat(Z.data.items.map(P)),e.dashboardCursor=Z.data.cursor,e.dashboardTotals=Z.data}},Z=>{if(Y===N){if(Z.status===404)return R=!0,E();e.dashboardError="Projects could not be loaded. Please try again."}}).finally(()=>{Y===N&&(e.loading=!1,e.loadingMore=!1)})}e.loadMoreProjects=()=>H(!0);let q;e.watchGroup(["search","typeFilter","orderBy","projectView"],()=>{R||(q&&a.timeout.cancel(q),q=a.timeout(()=>H(),150))},!1),e.watch("filters",()=>{R||H()},!0,!1),e.on("dispose",()=>{N++}),H(),e.openItem=(_,Y)=>{if(!_._viewUrl)return;let Z=Y&&Y.target;Z&&Z.closest&&Z.closest("a, button, .dropdown, input")||(o.location.href=_._viewUrl)},e.hiddenStatusCount=()=>Object.keys(e.filters.status).filter(_=>e.filters.status[_]===!1).length,e.hasHiddenStatus=()=>e.hiddenStatusCount()>0,e.hasActiveFilters=()=>e.projectView!=="all"||e.typeFilter!=="all"||e.search.trim().length>0||Object.keys(e.filters.status).some(_=>e.filters.status[_]===!1),e.showClearFilters=()=>e.search.trim().length>0||e.typeFilter!=="all"||e.hiddenStatusCount()>1,e.clearFilters=()=>{e.projectView="all",e.typeFilter="all",e.search="",Object.keys(e.filters.status).forEach(_=>{e.filters.status[_]=!0})};function z(_,Y,Z,he){t.get("/api/repo/"+_).then(async ue=>{let ce=he!==void 0&&he!==ue.data.status;for(let ye of e.items)if(ye._type==="repo"&&ye.repoId==_){ce=ce||ye.status!==ue.data.status;let _e=e.needsAttention(ye);ye.status=ue.data.status,ye.statusMessage=ue.data.statusMessage,ye._statusKey=f(ye.status),ye._statusKey!=="progress"&&(ye._stale=!1);let Se=e.needsAttention(ye);e.dashboardTotals&&_e!==Se&&(e.dashboardTotals.attention=Math.max(0,e.dashboardTotals.attention+(Se?1:-1)));break}if(ce&&!R){e.dashboardCursor=null;let ye=e.selectedProject;await H(),ye&&e.selectedProject===ye&&(e.selectedProject=e.items.find(_e=>_e._type===ye._type&&_e._id===ye._id)||null)}if(ue.data.status=="ready"||ue.data.status=="error"||ue.data.status=="removed"||ue.data.status=="expired"){Y(ue.data);return}a.timeout(()=>z(_,Y,Z,ue.data.status),2500)},Z)}let ie=_=>_==="repo"?"repository":_==="gist"?"gist":"pull request",ae=_=>_==="repo"?"/api/repo":_==="gist"?"/api/gist":"/api/pr";e.removeItem=_=>{let Y=ie(_._type);if(confirm(`Are you sure that you want to remove the ${Y} ${_._id}?`)){let Z=ze({title:`Removing ${_._id}...`,date:new Date,body:`The ${Y} ${_._id} is going to be removed.`});e.addToast(Z);let he=`${ae(_._type)}/${_._id}`;t.delete(he).then(()=>{_._type==="repo"?z(_._id,()=>{Z.title=`${_._id} is removed.`,Z.body=`The ${Y} ${_._id} is removed.`},void 0,_.status):(Z.title=`${_._id} is removed.`,Z.body=`The ${Y} ${_._id} is removed.`,H())},ue=>{Z.title=`Error during the removal of ${_._id}.`,Z.body=ue.body,H()})}},e.refreshItem=_=>{let Y=ie(_._type),Z=ze({title:`Refreshing ${_._id}...`,date:new Date,body:`The ${Y} ${_._id} is going to be refreshed.`});e.addToast(Z);let he=ce=>{Z.title=`Error during the refresh of ${_._id}.`,Z.body=ce.data?.error||ce.body||"The refresh could not be completed. Please try again.",H()},ue=`${ae(_._type)}/${_._id}/refresh`;t.post(ue).then(()=>{_._type==="repo"?z(_._id,ce=>{if(ce.status!=="ready"){he({body:ce.statusMessage||`The repository is ${ce.status}.`});return}Z.title=`${_._id} is refreshed.`,Z.body=`The ${Y} ${_._id} is refreshed.`},he,_.status):(Z.title=`${_._id} is refreshed.`,Z.body=`The ${Y} ${_._id} is refreshed.`,H())},he)},e.extendItem=_=>{let Y=ie(_._type),Z=ze({title:`Extending ${_._id}...`,date:new Date,body:`The expiration of ${Y} ${_._id} is going to be extended by 6 months.`});e.addToast(Z);let he=`${ae(_._type)}/${_._id}/extend`;t.post(he).then(()=>{_._type==="repo"?z(_._id,()=>{Z.title=`${_._id} is extended.`,Z.body=`The expiration of ${Y} ${_._id} is extended by 6 months.`},void 0,_.status):(Z.title=`${_._id} is extended.`,Z.body=`The expiration of ${Y} ${_._id} is extended by 6 months.`,H())},ue=>{Z.title=`Error during the extension of ${_._id}.`,Z.body=ue.data&&ue.data.error||ue.body,H()})},e.itemFilter=_=>{if(e.projectView==="attention"&&!e.needsAttention(_)||e.typeFilter!=="all"&&_._type!==e.typeFilter||e.filters.status[_._statusKey]===!1)return!1;let Y=e.search.trim().toLowerCase();return!!(Y.length==0||_._label&&String(_._label).toLowerCase().indexOf(Y)>-1||_._source&&String(_._source).toLowerCase().indexOf(Y)>-1||_._id&&String(_._id).toLowerCase().indexOf(Y)>-1||_.conference&&String(_.conference).toLowerCase().indexOf(Y)>-1)}};var xa=function(e,t,s){let r=ut();e.repoId=s.repoId,e.repo=null,e.progress=0,e.rateLimitResetAt=0,e.rateLimitCountdown="";var o=null;let i=null,a=!1;function c(g){e.rateLimitResetAt=g,o&&r.interval.cancel(o);function b(){var k=Math.max(0,Math.ceil((g-Date.now())/1e3));if(k<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,r.interval.cancel(o),o=null;else{var m=Math.floor(k/60),C=k%60;e.rateLimitCountdown=m>0?m+"m "+C+"s":C+"s"}}b(),o=r.interval(b,1e3)}e.on("dispose",function(){a=!0,o&&r.interval.cancel(o),i&&r.timeout.cancel(i)});function f(g){if(!g)return g;var b=g.match(/^rate_limited:(\d+)$/);return b?(c(parseInt(b[1],10)),null):(e.rateLimitResetAt=0,g)}e.getStatus=()=>{a||t.get("/api/repo/"+e.repoId,{repoId:e.repoId,repoUrl:e.repoUrl}).then(g=>{if(!a){e.repo=g.data,g.data.rateLimitResetAt?c(g.data.rateLimitResetAt):e.repo.statusMessage=f(e.repo.statusMessage),e.repo.status=="ready"?e.progress=100:e.repo.status=="queue"?e.progress=10:e.repo.status=="downloaded"?e.progress=50:e.repo.status=="download"||e.repo.status=="preparing"?e.progress=25:e.repo.status=="anonymizing"&&(e.progress=75);var b=!["ready","removed","expired"].includes(e.repo.status);e.repo.status=="error"&&!e.rateLimitResetAt&&(b=!1),b&&(i=r.timeout(e.getStatus,2e3))}},g=>{e.error=g.data.error})},e.getStatus()},io=function(e,t,s,r,o,i,a){e.sourceUrl="",e.workspaceOpen=!1,e.sourceUrlError="",e.previewStatus="idle",e.sourceLoading=!1,e.mobilePane="settings";let c=window.matchMedia?.("(max-width: 767px)");e.mobileWorkspace=!!c?.matches,c?.addEventListener&&Xt()(c,"change",S=>{e.mobileWorkspace=S.matches}),e.selectMobilePane=S=>{e.mobilePane=S};let f=0,g=!1,b=new Set,k=(S,I=!1)=>!g&&S.generation===f&&S.url===e.sourceUrl.trim()&&S.connection===e.githubConnection&&(!I||S.branch===e.source.branch),m=()=>{let S={generation:f,url:e.sourceUrl.trim(),connection:e.githubConnection,branch:e.source.branch};return b.add(S),e.sourceLoading=!0,S},C=S=>{b.delete(S),g||(e.sourceLoading=[...b].some(I=>k(I)))};e.on("dispose",()=>{g=!0,f++});let A=null,h=S=>S.gistId&&!S.repo?"gist:"+S.gistId.toLowerCase():(S.owner+"/"+S.repo).toLowerCase()+(S.pullRequestId?"/pull/"+S.pullRequestId:""),E=lr(e,["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"],"anonymize:"+(o.path?.()||""));e.discardDraft=async()=>{E.discard(),e.workspaceOpen=!!e.sourceUrl,e.error=null,e.sourceUrl?await e.urlSelected(!0):(f++,e.sourceLoading=!1,e.detectedType=null,e.details=null,e.sourceUrlError="",ye.cancel(),L.cancel(),me.cancel(),e.previewStatus="idle")},e.githubConnection=void 0,e.githubConnections=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1;let N=()=>{let S={};for(let I of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])S[I]=e[I];sessionStorage.setItem("github-access-draft",JSON.stringify({path:o.path(),savedAt:Date.now(),draft:S}))};e.connectGistApp=()=>{N(),window.location.href="/github/app/login?returnTo="+encodeURIComponent(o.path())},e.connectGistOAuth=()=>{N(),window.location.href="/github/login?returnTo="+encodeURIComponent(o.path())},e.grantGitHubAccess=()=>{N();let S=o.path(),I=ie(e.sourceUrl)||"",B=e.githubConnections?.appConnected?"/github/app/install":"/github/app/login";window.location.href=B+"?returnTo="+encodeURIComponent(S)+"&repository="+encodeURIComponent(I)+"&install=1"},e.chooseGitHubConnection=async S=>{e.githubConnection=S,e.readme="",e.sourceUrl&&await _()},e.detectedType=null,e.repoId="",e.pullRequestId="",e.gistId="",e.terms="",e.defaultTerms="",e.branches=[],e.source={branch:"",commit:""},e.options={expirationMode:"remove",expirationDate:new Date,update:!1,image:!0,pdf:!0,notebook:!0,link:!0,body:!0,title:!0,origin:!1,diff:!0,content:!0,comments:!0,username:!0,date:!0};function R(){let S=new Date;return S.setMonth(S.getMonth()+6),S}e.options.expirationDate=R();function P(S){let I=S.getFullYear(),B=String(S.getMonth()+1).padStart(2,"0"),v=String(S.getDate()).padStart(2,"0");return`${I}-${B}-${v}`}e.minExpirationDate=P(new Date);let H=new Date;H.setFullYear(H.getFullYear()+1),e.maxExpirationDate=P(H),e.anonymize_readme="",e.readme="",e.html_readme="",e.isUpdate=!1;function q(S){t.get("/api/user/default").then(I=>{let B=I.data;B.terms&&(e.defaultTerms=B.terms.join(` +`)),e.options=Object.assign({},e.options,B.options),e.options.expirationDate=B.options&&B.options.expirationDate?new Date(B.options.expirationDate):R(),!r.repoId&&!r.pullRequestId&&!r.gistId&&!e.anonymize?.terms?.dirty&&(e.terms=e.defaultTerms),S&&S()})}function z(S,I,B){e.anonymize&&e.anonymize[S]&&e.anonymize[S].setValidity(I,B)}function ie(S){try{let I=parseGithubUrl(S);if(I&&I.owner&&I.repo)return I.owner+"/"+I.repo}catch{}return null}e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,e.reconnectSource=async()=>{if(confirm("Reconnect to the repository currently at this GitHub URL? Review its branch and commit before saving. Saving will replace the published snapshot.")){e.reconnectingSource=!0,e.reconnectRepositoryId=void 0,e.source.commit="",e.source.branch="",e.readme="",e.branches=[];try{await Z()}catch{}}};function ae(){return e.reconnectingSource||!e.isUpdate||!e._originalRepositoryID?void 0:ie(e.sourceUrl)===e._originalFullName?e._originalRepositoryID:void 0}async function _(){e._preservingDraft=!0;try{await e.urlSelected(!0)}finally{e._preservingDraft=!1}}async function Y(){let S;try{S=JSON.parse(sessionStorage.getItem("github-access-draft")||"null")}catch{return!1}if(!S||S.path!==o.path()||Date.now()-S.savedAt>=30*6e4)return E.restore()?(e.sourceUrl&&await _(),!0):!1;E.restore();for(let I of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])Object.prototype.hasOwnProperty.call(S.draft,I)&&(e[I]=S.draft[I]);return e.options.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate)),await _(),sessionStorage.removeItem("github-access-draft"),!0}q(()=>{!r.repoId&&!r.pullRequestId&&!r.gistId&&a(Y,0),r.repoId&&r.repoId!=""&&(e.isUpdate=!0,e.detectedType="repo",e.repoId=r.repoId,t.get("/api/repo/"+e.repoId).then(async S=>{e.githubConnection=S.data.connection||"oauth",e.sourceUrl="https://github.com/"+S.data.source.fullName,e._originalFullName=S.data.source.fullName,e.terms=S.data.options.terms.filter(I=>I).join(` +`),e.source=S.data.source,e.role=S.data.role||"owner",e.coauthors=S.data.coauthors||[],e._originalBranch=S.data.source.branch,e.options=Object.assign({},e.options,S.data.options),e.conference=S.data.conference,e._originalConference=S.data.conference,e.repositoryID=S.data.source.repositoryID,e._originalRepositoryID=S.data.source.repositoryID,S.data.options.expirationDate&&(e.options.expirationDate=new Date(S.data.options.expirationDate)),A=h(parseGithubUrl(e.sourceUrl)),!await Y()&&(await Promise.all([Z(),he()]),_e())},()=>{o.url("/404")})),r.pullRequestId&&r.pullRequestId!=""&&(e.isUpdate=!0,e.detectedType="pr",e.pullRequestId=r.pullRequestId,t.get("/api/pr/"+e.pullRequestId).then(async S=>{if(e.githubConnection=S.data.connection||"oauth",e.sourceUrl="https://github.com/"+S.data.source.repositoryFullName+"/pull/"+S.data.source.pullRequestId,e.terms=S.data.options.terms.filter(I=>I).join(` +`),e.source=S.data.source,e.options=Object.assign({},e.options,S.data.options),e.conference=S.data.conference,e._originalConference=S.data.conference,S.data.options.expirationDate&&(e.options.expirationDate=new Date(S.data.options.expirationDate)),A=h(parseGithubUrl(e.sourceUrl)),!await Y())try{await Se()}catch{}},()=>{o.url("/404")})),r.gistId&&r.gistId!=""&&(e.isUpdate=!0,e.detectedType="gist",e.gistId=r.gistId,t.get("/api/gist/"+e.gistId).then(async S=>{e.sourceUrl="https://gist.github.com/"+S.data.source.gistId,e.terms=S.data.options.terms.filter(I=>I).join(` +`),e.source=S.data.source,e.options=Object.assign({},e.options,S.data.options),e.conference=S.data.conference,e._originalConference=S.data.conference,S.data.options.expirationDate&&(e.options.expirationDate=new Date(S.data.options.expirationDate)),A=h(parseGithubUrl(e.sourceUrl)),!await Y()&&await X()},()=>{o.url("/404")}))}),t.get("/github/connections").then(S=>{e.githubConnections=S.data,!r.repoId&&!r.pullRequestId&&!r.gistId&&e.githubConnection===void 0&&S.data.appEnabled&&S.data.appConnected&&(e.githubConnection="github-app",e.sourceUrl&&e.workspaceOpen&&_())}).catch(()=>{}),e.urlSelected=async(S=!1)=>{let I=++f,B;try{B=parseGithubUrl(e.sourceUrl.trim())}catch{e.sourceLoading=!1,ye.cancel(),L.cancel(),me.cancel(),e.previewStatus="idle",e.sourceUrlError=e.sourceUrl?"Please provide a valid GitHub URL.":"",z("sourceUrl","github",!1);return}let v=h(B),w=S||A===v;A=v,e.sourceUrlError="",z("sourceUrl","github",!0);let O=document.activeElement?.id==="sourceUrl-landing";e.workspaceOpen=!0,setTimeout(()=>{let V=window.document.getElementById("sourceUrl");if(V){try{V.setSelectionRange(0,0)}catch{}V.scrollLeft=0}},50),O&&a(()=>document.getElementById("sourceUrl")?.focus(),0),e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,!w&&!e.isUpdate&&(e.repoId="",e.pullRequestId="",e.gistId=""),e.details=null,e.branches=[],w||(e.source={type:"GitHubStream",branch:"",commit:""}),ye.cancel(),L.cancel(),me.cancel(),ge.clear(),J.clear(),e.previewStatus="idle",e.anonymize_readme="",e.readme="",e.html_readme="",e.detectedType=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1,e._preservingDraft=w;try{B.gistId&&!B.repo?(e.detectedType="gist",e.source={gistId:B.gistId},await X()):B.pullRequestId?(e.detectedType="pr",e.source={repositoryFullName:B.owner+"/"+B.repo,pullRequestId:B.pullRequestId},await Se()):(e.detectedType="repo",await Promise.all([Z(),he()]),_e())}catch{}finally{I===f&&(e._preservingDraft=!1)}$('[data-toggle="tooltip"]').tooltip()},$('[data-toggle="tooltip"]').tooltip(),e.watch("source.branch",async()=>{if(e.detectedType!=="repo")return;let S=e.branches.filter(B=>B.name==e.source.branch)[0];if(!S)return;!(!e.reconnectingSource&&e.isUpdate&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=S.commit),e.readme=S.readme,await he(),_e()}),e.getBranches=async S=>{let I=parseGithubUrl(e.sourceUrl),B=m();try{let v=await t.get(`/api/repo/${I.owner}/${I.repo}/branches`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&ie(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:S===!0||e.reconnectingSource?"1":"0",repositoryID:ae()}});if(!k(B))return;e.branches=v.data,e.sourceUnreachable=!1,e.source.branch||(e.source.branch=e.details.defaultBranch);let w=e.branches.filter(O=>O.name==e.source.branch);w.length>0&&(!(!e.reconnectingSource&&!S&&e.isUpdate&&!e.options.update&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=w[0].commit),e.readme=w[0].readme,await he(S))}catch(v){if(!k(B))return;e.branches=[],e.sourceUnreachable=v&&(v.status===404||v.data&&v.data.error==="repo_not_found");let w=v&&v.data&&v.data.error||(v&&v.status===404?"repo_not_found":"unknown_error");i("ERRORS."+w).then(O=>{e.toasts=e.toasts||[],e.addToast({title:"Error",date:new Date,body:O}),e.error=O},console.error),typeof z=="function"&&z("sourceUrl","missing",!1)}finally{C(B)}};async function Z(){let S=parseGithubUrl(e.sourceUrl),I=m();try{U();let B=await t.get(`/api/repo/${S.owner}/${S.repo}/`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&ie(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,repositoryID:ae(),force:"1"}});if(!k(I))return;e.details=B.data,e.reconnectingSource&&(e.reconnectRepositoryId=e.details.externalId),e.details&&e.details.id&&(e.repositoryID=e.details.id),e.repoId||(e.repoId=e.details.repo+"-"+generateRandomId(4)),await e.getBranches(e.reconnectingSource)}catch(B){if(!k(I))return;throw B.data&&(i("ERRORS."+B.data.error).then(v=>{e.addToast({title:"Error",date:new Date,body:v}),e.error=v},console.error),x(B.data.error)),z("sourceUrl","missing",!1),B}finally{C(I)}}async function he(S){if(e.readme&&!S)return e.readme;let I=parseGithubUrl(e.sourceUrl),B=m();try{let v=await t.get(`/api/repo/${I.owner}/${I.repo}/readme`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&r.repoId&&ie(e.sourceUrl)===e._originalFullName?r.repoId:void 0,connection:e.githubConnection,force:S===!0?"1":"0",branch:e.source.branch,repositoryID:ae()}});k(B,!0)&&(e.readme=v.data)}catch{k(B,!0)&&(e.readme="")}finally{C(B)}}function ue(){let S={terms:e.terms?e.terms.split(` +`):[],image:!!e.options.image,link:!!e.options.link,repoId:e.repoId};e.source&&e.source.branch&&(S.branchName=e.source.branch);try{let I=parseGithubUrl(e.sourceUrl);S.repoName=`${I.owner}/${I.repo}`}catch{}return S}function ce(S,I,B){let v=null,w=0,O=()=>{if(e.detectedType!==S)return;v&&a.cancel(v);let V=++w;e.previewStatus="loading",v=a(()=>{v=null;let M=I();if(!M){e.previewStatus="idle";return}t.post("/api/anonymize-preview",M).then(G=>{V===w&&(B(G.data,M),e.previewStatus="ready")}).catch(()=>{V===w&&(e.previewStatus="error")})},200)};return O.cancel=()=>{w++,v&&a.cancel(v),v=null},e.on("dispose",O.cancel),O}e.retryPreview=()=>{e.detectedType==="repo"&&ye(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()};let ye=ce("repo",()=>e.readme?{content:e.readme,options:ue()}:null,S=>{if(typeof S?.content!="string")throw Error("Invalid preview response");e.anonymize_readme=S.content;let I="";try{let v=parseGithubUrl(e.sourceUrl),w=e.source.branch||e.details&&e.details.defaultBranch||"main";I=`https://github.com/${v.owner}/${v.repo}/raw/${w}/`}catch{}let B=renderMD(e.anonymize_readme,I);e.html_readme=B,a(Prism.highlightAll,150)});function _e(){!e.anonymize||!e.anonymize.terms||(e.termsRegexWarning=!!e.terms&&!!e.terms.match(/[-[\]{}()*+?.,\\^$|#]/g),ye())}async function Se(){let S=parseGithubUrl(e.sourceUrl),I=m();try{U();let B=await t.get(`/api/pr/${S.owner}/${S.repo}/${S.pullRequestId}`,{params:{connection:e.githubConnection}});if(!k(I))return;e.details=B.data,e.pullRequestId||(e.pullRequestId=S.repo+"-PR"+S.pullRequestId+"-"+generateRandomId(4))}catch(B){if(!k(I))return;throw B.data&&(i("ERRORS."+B.data.error).then(v=>{e.addToast({title:"Error",date:new Date,body:v}),e.error=v},console.error),x(B.data.error)),z("sourceUrl","missing",!1),B}finally{C(I)}}let ge=ze(new Map);function Ue(){let S=new Set,I=e.details&&e.details.pullRequest;if(!I)return S;typeof I.title=="string"&&S.add(I.title),typeof I.body=="string"&&S.add(I.body),typeof I.diff=="string"&&S.add(I.diff);let B=I.comments||[];for(let v of B)typeof v.author=="string"&&S.add(v.author),typeof v.body=="string"&&S.add(v.body);return S}let L=ce("pr",()=>{let S=Ue(),I=Array.from(S);return I.length===0?null:{contents:I,options:ue()}},(S,I)=>{if(!Array.isArray(S?.contents)||S.contents.length!==I.contents.length||S.contents.some(w=>typeof w!="string"))throw Error("Invalid preview response");let B=I.contents,v=new Map;for(let w=0;wge.set(O,w))});e.anonymizePrContent=function(S){return S&&(ge.has(S)?ge.get(S):"")};async function X(){let S=parseGithubUrl(e.sourceUrl),I=m();try{U(),e.gistOAuthRequired=!1,e.gistAppRequired=!1;let B=await t.get(`/api/gist/source/${S.gistId}`);if(!k(I))return;e.details=B.data,e.gistId||(e.gistId="gist-"+S.gistId.substring(0,6)+"-"+generateRandomId(4))}catch(B){if(!k(I))return;if(B.data?.error==="github_app_reconnect_required"){e.gistAppRequired=!0,z("sourceUrl","missing",!1);return}if(B.data?.error==="github_oauth_required"){e.gistOAuthRequired=!0,z("sourceUrl","missing",!1);return}throw B.data&&(i("ERRORS."+B.data.error).then(v=>{e.addToast({title:"Error",date:new Date,body:v}),e.error=v},console.error),x(B.data.error)),z("sourceUrl","missing",!1),B}finally{C(I)}}let J=ze(new Map);function ne(){let S=new Set,I=e.details&&e.details.gist;if(!I)return S;typeof I.description=="string"&&S.add(I.description),typeof I.ownerLogin=="string"&&S.add(I.ownerLogin);let B=I.files||[];for(let w of B)typeof w.filename=="string"&&S.add(w.filename),typeof w.content=="string"&&S.add(w.content);let v=I.comments||[];for(let w of v)typeof w.author=="string"&&S.add(w.author),typeof w.body=="string"&&S.add(w.body);return S}let me=ce("gist",()=>{let S=ne(),I=Array.from(S);return I.length===0?null:{contents:I,options:ue()}},(S,I)=>{if(!Array.isArray(S?.contents)||S.contents.length!==I.contents.length||S.contents.some(w=>typeof w!="string"))throw Error("Invalid preview response");let B=I.contents,v=new Map;for(let w=0;wJ.set(O,w)),ve()});e.anonymizeGistContent=function(S){return S&&(J.has(S)?J.get(S):"")},e.previewGistFiles=[];function ve(){let S=e.details&&e.details.gist&&e.details.gist.files||[];e.previewGistFiles=S.map(I=>({filename:e.anonymizeGistContent(I.filename),content:e.anonymizeGistContent(I.content),language:I.language}))}e.watch("details.gist.files",ve,!0),e.watch("terms",ve);function oe(){let S=e.conference;if(e.conference_data=null,!S)return;let I=e.isUpdate&&S===e._originalConference;t.get("/api/conferences/"+S).then(B=>{e.conference===S&&(e.conference_data=B.data,e.conference_data.startDate=new Date(e.conference_data.startDate),e.conference_data.endDate=new Date(e.conference_data.endDate),!I&&(e.options.expirationDate=new Date(e.conference_data.endDate),e.options.expirationMode="remove",e.options.update=e.conference_data.options.update,e.options.image=e.conference_data.options.image,e.options.pdf=e.conference_data.options.pdf,e.options.notebook=e.conference_data.options.notebook,e.options.link=e.conference_data.options.link))},()=>{e.conference===S&&(e.conference_data=null)})}function U(){z("repoId","used",!0),z("repoId","format",!0),z("pullRequestId","used",!0),z("pullRequestId","format",!0),z("gistId","used",!0),z("gistId","format",!0),z("sourceUrl","used",!0),z("sourceUrl","missing",!0),z("sourceUrl","access",!0),z("sourceUrl","github",!0),z("commit","exists",!0),z("conference","activated",!0),z("terms","format",!0),e.termsRegexWarning=!1}function te(){let S=e.anonymize&&e.anonymize.expirationDate;return!e.options.expirationDate||S&&S.invalid?(S&&S.setDirty&&S.setDirty(),e.error="Please choose a valid expiration date.",!0):!1}function x(S){let I=e.detectedType==="pr"?"pullRequestId":e.detectedType==="gist"?"gistId":"repoId";switch(S){case"repoId_already_used":z(I,"used",!1);break;case"invalid_repoId":z(I,"format",!1);break;case"options_not_provided":z(I,"format",!1);break;case"repo_already_anonymized":z("sourceUrl","used",!1);break;case"invalid_terms_format":z("terms","format",!1);break;case"repo_not_found":z("sourceUrl","missing",!1);break;case"repo_not_accessible":z("sourceUrl","access",!1);break;case"commit_not_found":z("commit","exists",!1);break;case"conf_not_activated":z("conference","activated",!1);break}}e.coauthors=e.coauthors||[],e.coauthorResults=[],e.coauthorError="",e.searchCoauthors=()=>{let S=(e.coauthorSearch||"").trim();if(e.coauthorError="",S.length<2){e.coauthorResults=[];return}t.get("/api/user/search/github-users",{params:{q:S}}).then(I=>{let B=new Set((e.coauthors||[]).map(v=>(v.username||"").toLowerCase()));e.coauthorResults=(I.data||[]).filter(v=>!B.has((v.username||"").toLowerCase()))},()=>{e.coauthorResults=[]})},e.addCoauthor=(S,I)=>{I&&I.preventDefault(),!(!S||!S.username)&&t.post("/api/repo/"+e.repoId+"/coauthors",{username:S.username}).then(B=>{e.coauthors=B.data||[],e.coauthorResults=[],e.coauthorSearch="",e.coauthorError=""},B=>{let v=B&&B.data&&B.data.error||"unknown_error";e.coauthorError=v})},e.removeCoauthor=S=>{!S||!S.username||confirm("Remove co-author "+S.username+"?")&&t.delete("/api/repo/"+e.repoId+"/coauthors/"+encodeURIComponent(S.username)).then(I=>{e.coauthors=I.data||[]},I=>{let B=I&&I.data&&I.data.error||"unknown_error";e.coauthorError=B})},e.anonymizeRepo=S=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(e.reconnectingSource&&!e.reconnectRepositoryId||te())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let I=S.currentTarget||S.target.closest?.("button")||S.target;I.disabled=!0;let B=parseGithubUrl(e.sourceUrl),v={repoId:e.repoId,terms:e.terms.trim().split(` +`).filter(O=>O),connection:e.githubConnection,fullName:`${B.owner}/${B.repo}`,repository:e.sourceUrl,reconnectRepositoryId:e.reconnectRepositoryId,options:e.options,source:e.source,conference:e.conference};e.details&&(v.options.pageSource=e.details.pageSource),U();let w=e.isUpdate?"/api/repo/"+e.repoId:"/api/repo/";t.post(w,v,{headers:{"Content-Type":"application/json"}}).then(()=>{E.clear(),window.location.href="/status/"+e.repoId},O=>{O.data&&(i("ERRORS."+O.data.error).then(V=>{e.error=V},console.error),x(O.data.error))}).finally(()=>{I.disabled=!1})},e.anonymizeGist=S=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(te())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let I=S.currentTarget||S.target.closest?.("button")||S.target;I.disabled=!0;let B=parseGithubUrl(e.sourceUrl),v={gistId:e.gistId,terms:e.terms.trim().split(` +`).filter(O=>O),source:{gistId:B.gistId},options:e.options,conference:e.conference};U();let w=e.isUpdate?"/api/gist/"+e.gistId:"/api/gist/";t.post(w,v,{headers:{"Content-Type":"application/json"}}).then(()=>{E.clear(),window.location.href="/gist/"+e.gistId},O=>{O.data&&(i("ERRORS."+O.data.error).then(V=>{e.error=V},console.error),x(O.data.error))}).finally(()=>{I.disabled=!1})},e.anonymizePullRequest=S=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(te())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let I=S.currentTarget||S.target.closest?.("button")||S.target;I.disabled=!0;let B=parseGithubUrl(e.sourceUrl),v={pullRequestId:e.pullRequestId,connection:e.githubConnection,terms:e.terms.trim().split(` +`).filter(O=>O),source:{repositoryFullName:`${B.owner}/${B.repo}`,pullRequestId:B.pullRequestId},options:e.options,conference:e.conference};U();let w=e.isUpdate?"/api/pr/"+e.pullRequestId:"/api/pr/";t.post(w,v,{headers:{"Content-Type":"application/json"}}).then(()=>{E.clear(),window.location.href="/pr/"+e.pullRequestId},O=>{O.data&&(i("ERRORS."+O.data.error).then(V=>{e.error=V},console.error),x(O.data.error))}).finally(()=>{I.disabled=!1})},e.watch("conference",()=>{oe()}),e.watch("terms",()=>{e.detectedType==="repo"&&_e(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()}),e.watch("options.image",()=>{e.detectedType==="repo"&&_e(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()}),e.watch("options.link",()=>{e.detectedType==="repo"&&_e(),e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()}),e.watch("details",()=>{e.detectedType==="pr"&&L(),e.detectedType==="gist"&&me()},!0)},ur=function(e,t,s,r,o,i){let a=ut(),c=Xt();e.on("dark-mode",(L,X)=>{e.aceOption&&(X?e.aceOption.theme="nord_dark":e.aceOption.theme="chrome")});let f=0,g=null,b=null;e.fileLoadingSlow=!1,e.fileReceivedBytes=0;function k(){g&&(g.resolve(),g=null),b&&(a.timeout.cancel(b),b=null)}let m=!1;e.on("dispose",()=>{m=!0,f++,k(),C&&C.resolve()}),e.files=[],e.isMac=/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent),e.fileSearchQuery="",e.fileSearchResults=null,e.fileSearchLoading=!1,c(document,"click",L=>{e.symbolsOpen&&!L.target.closest?.(".symbols")&&(e.symbolsOpen=!1),e.moreOpen&&!L.target.closest?.(".tb-more")&&(e.moreOpen=!1),e.accountOpen&&!L.target.closest?.(".acct")&&(e.accountOpen=!1),e.helpOpen&&!L.target.closest?.(".vb-help")&&(e.helpOpen=!1)}),c(document,"keydown",L=>{L.key==="Escape"&&(e.symbolsOpen=!1,e.moreOpen=!1,e.accountOpen=!1,e.helpOpen=!1),(L.ctrlKey||L.metaKey)&&!L.altKey&&L.key&&L.key.toLowerCase()==="f"&&e.type==="html"&&window.document.querySelector(".reading-layout")&&(L.preventDefault(),e.toggleMdFind(!0))}),c(document,"keydown",function(L){if((L.metaKey||L.ctrlKey)&&L.key==="k"){L.preventDefault();var X=document.querySelector(".tree-search-input");X&&(X.focus(),X.select())}});var C=null;e.onFileSearchChange=function(){C&&(C.resolve(),C=null);let L=e.fileSearchQuery;if(!L||L.length<2){e.fileSearchResults=null,e.fileSearchLoading=!1;return}e.fileSearchLoading=!0;let X=i.defer();C=X,t.get(`/api/repo/${e.repoId}/files/search?q=${encodeURIComponent(L)}`,{timeout:X.promise}).then(function(J){if(!(m||C!==X)){C=null,e.fileSearchLoading=!1;var ne={};e.files.forEach(function(M){ne[(M.path||"")+"/"+M.name]=!0});for(var me=[],ve={},oe=0;oe0&&e.files.push.apply(e.files,me);for(var v=[],w=0;w0&&e.files.push.apply(e.files,v),e.fileSearchResults=J.data}},function(){!m&&C===X&&(C=null,e.fileSearchLoading=!1,e.fileSearchResults=[])})};let A={yml:"yaml",txt:"text",py:"python",js:"javascript",ts:"typescript"},h=["license","txt"],E=["png","jpg","jpeg","gif","svg","ico","bmp","tiff","tif","webp","avif","heif","heic"],N=["wav","mp3","ogg","wma","flac","aac","m4a"],R=["mp4","avi","webm","mov","mpg","mpeg","mkv","flv","wmv","3gp","3g2","m4v","f4v","f4p","f4a","f4b"];e.on("routeUpdate",function(L,X){if(e.repoId!=r.repoId)return Ue();if((r.path||"")!=e.filePath){e.filePath=r.path||"",e.paths=e.filePath.split("/").filter(J=>J&&J.trim().length>0),ge();for(let J=0;J0?e.paths.slice(0,J).join("/"):"";e.files.some(ve=>ve.path===ne)||e.getFiles(ne)}}});function P(){if(e.paths[0]!="")return;let L=["readme.md","readme.txt","readme.org","readme.1st","readme"],X={};for(let ne of e.files)ne.name.toLowerCase().indexOf("readme")>-1&&(X[ne.name.toLowerCase()]=ne.name);let J=null;for(let ne of L)if(X[ne]){J=ne;break}if(!J&&Object.keys(X).length>0&&(J=Object.keys(X)[0]),J){let ne=s.url();ne[ne.length-1]!="/"&&(ne+="/"),s.url(ne+encodePathForUrl(X[J]))}}e.getFiles=function(L,X=!1){let J=e.repoId;return t.get(`/api/repo/${e.repoId}/files/?path=${encodeURIComponent(L)}&v=${e.options.lastUpdateDate}`).then(function(ne){if(m||J!==e.repoId)return[];let me=L||"";return e.files=e.files.filter(ve=>ve.path!==me),e.files.push(...ne.data),ne.data},function(ne){if(m||J!==e.repoId)return[];X||(e.type="error",e.content=dr(ne),e.files=[])})};function H(){return e.files.filter(L=>L.name==e.paths[e.paths.length-1]&&L.path==e.paths.slice(0,e.paths.length-1).join("/"))[0]}var q=null;e.on("dispose",function(){q&&a.interval.cancel(q)});function z(L){if(m)return;let X=e.repoId;t.get(`/api/repo/${e.repoId}/options`).then(J=>{if(!(m||X!==e.repoId)){if(e.options=J.data,e.options.url){window.location=e.options.url;return}L&&L(J.data)}},J=>{if(!(m||X!==e.repoId)){var ne=J.data||{};if(ne.error==="rate_limited"&&ne.resetAt){let ve=function(){var oe=Math.max(0,Math.ceil((e.rateLimitResetAt-Date.now())/1e3));if(oe<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,q&&(a.interval.cancel(q),q=null),z(L);else{var U=Math.floor(oe/60),te=oe%60;e.rateLimitCountdown=U>0?U+"m "+te+"s":te+"s"}};var me=ve;e.type="rate_limited",e.rateLimitResetAt=ne.resetAt,q&&a.interval.cancel(q),ve(),q=a.interval(ve,1e3)}else ne.error==="repository_not_ready"?(e.type="loading",a.timeout(function(){z(L)},3e3)):(e.type="error",e.content=dr(J))}})}e.toggleSource=function(){e.showSource=!e.showSource},e.toggleAllowScripts=function(){e.allowScripts=!e.allowScripts};let ie=(()=>{try{return window.localStorage?.getItem("wrapLines")}catch{return null}})();e.wrapLines=(ie??(window.matchMedia?.("(max-width: 767px)").matches?"false":"true"))!=="false",e.toggleWrap=function(){e.wrapLines=!e.wrapLines;try{window.localStorage?.setItem("wrapLines",String(e.wrapLines))}catch{}e.codeEditor?.session.setUseWrapMode(e.wrapLines)};function ae(){return window.document.querySelector(".reading-layout .markdown-body")}function _(){let L=ae();L&&(L.querySelectorAll("mark.md-find").forEach(X=>{X.replaceWith(window.document.createTextNode(X.textContent))}),L.normalize())}e.runMdFind=function(){_(),e.mdFindTotal=0,e.mdFindIndex=0;let L=(e.mdFindQuery||"").trim(),X=ae();if(!L||!X)return;let J=!!e.mdFindCase,ne=J?L:L.toLowerCase(),me=window.document.createTreeWalker(X,4),ve=[];for(;me.nextNode();)(J?me.currentNode.nodeValue:me.currentNode.nodeValue.toLowerCase()).includes(ne)&&ve.push(me.currentNode);let oe=0;for(let U of ve){let te=U.nodeValue,x=J?te:te.toLowerCase(),S=window.document.createDocumentFragment(),I=0,B;for(;(B=x.indexOf(ne,I))!==-1;){S.appendChild(window.document.createTextNode(te.slice(I,B)));let v=window.document.createElement("mark");v.className="md-find",v.textContent=te.slice(B,B+L.length),S.appendChild(v),oe++,I=B+L.length}S.appendChild(window.document.createTextNode(te.slice(I))),U.parentNode.replaceChild(S,U)}e.mdFindTotal=oe,oe&&e.stepMdFind(0)},e.stepMdFind=function(L){let X=ae();if(!X||!e.mdFindTotal)return;let J=X.querySelectorAll("mark.md-find");e.mdFindIndex=(e.mdFindIndex+L+J.length)%J.length,J.forEach((ne,me)=>ne.classList.toggle("is-current",me===e.mdFindIndex)),J[e.mdFindIndex]?.scrollIntoView({block:"center",behavior:"smooth"})},e.toggleMdFind=function(L){if(e.mdFindOpen=L===void 0?!e.mdFindOpen:L,!e.mdFindOpen){_(),e.mdFindTotal=0;return}Ze(()=>window.document.querySelector(".md-find-input")?.focus())},e.findInFile=function(){let L=e.codeEditor;if(!L)return;L.focus(),L.execCommand("find");let X=()=>{let J=L.searchBox?.element;J&&(L.renderer.setScrollMargin(52,12,0,0),!J._dockObserver&&(J._dockObserver=new MutationObserver(()=>{L.renderer.setScrollMargin(J.style.display!=="none"?52:12,12,0,0)}),J._dockObserver.observe(J,{attributes:!0,attributeFilter:["style"]})))};X(),setTimeout(X,150)};let Y=[[/^\s*(?:export\s+)?(?:default\s+)?(?:abstract\s+)?class\s+([A-Za-z_$][\w$]*)/,"class"],[/^\s*(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s*\*?\s*([A-Za-z_$][\w$]*)/,"function"],[/^\s*(?:export\s+)?(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:function|\([^)]*\)\s*=>|[A-Za-z_$][\w$]*\s*=>)/,"function"],[/^\s*(?:async\s+)?def\s+([A-Za-z_]\w*)/,"function"],[/^\s*class\s+([A-Za-z_]\w*)/,"class"],[/^\s*func\s+(?:\([^)]*\)\s*)?([A-Za-z_]\w*)/,"function"],[/^\s*(?:pub\s+)?fn\s+([A-Za-z_]\w*)/,"function"],[/^\s*(?:public|private|protected|static|\s)+[\w<>\[\],\s]+\s+([A-Za-z_]\w*)\s*\([^;]*\)\s*\{?\s*$/,"function"]],Z={content:null,list:[]};e.symbolsOpen=!1,e.symbols=function(){if(typeof e.content!="string"||e.content.length>2e6)return[];if(Z.content===e.content)return Z.list;let L=[];return e.content.split(` +`).forEach((X,J)=>{for(let[ne,me]of Y){let ve=ne.exec(X);if(ve&&!/^(if|for|while|switch|return|catch)$/.test(ve[1])){L.push({name:ve[1],kind:me,line:J+1});break}}}),Z={content:e.content,list:L.slice(0,300)},Z.list},e.goToSymbol=function(L){e.symbolsOpen=!1;let X=e.codeEditor;X&&(X.scrollToLine(L-1,!0,!0,()=>{}),X.gotoLine(L,0,!0),window.history.replaceState(null,"",window.location.pathname+window.location.search+"#L"+L),window.dispatchEvent(new HashChangeEvent("hashchange")))},e.gotoLine=function(){let L=e.codeEditor;L&&(L.focus(),L.execCommand("gotoline"))},e.rootEntries=function(){return[...e.files||[]].sort((L,X)=>{let J=L.size==null,ne=X.size==null;return J!==ne?J?-1:1:L.name.localeCompare(X.name)})},e.formatSize=function(L){if(L==null)return"";if(L<1024)return L+" B";let X=L/1024;return X<1024?X.toFixed(1)+" KB":(X/1024).toFixed(1)+" MB"},e.fileSize=function(L){if(!L)return null;let X=L.replace(/^\/+/,""),J=(e.files||[]).find(ne=>(ne.path?ne.path+"/":"")+ne.name===X);return J&&J.size!=null?J.size:null},e.revealFolder=function(L){e.sidebarHidden=!1,e.sidebarCollapsed=!1,Ze(()=>{let X=window.document.querySelector('.files a[data-path="/'+(window.CSS?.escape?window.CSS.escape(L):L)+'"]');X&&(X.closest("li")?.classList.contains("open")||X.click(),X.scrollIntoView({block:"nearest"}),X.focus())})};let he=/\bXXXX-\d+\b/g;e.redactionCount=function(){return typeof e.content!="string"?0:((e.type==="html"?e.content.replace(/<[^>]*>/g," "):e.content).match(he)||[]).length},e.renderRedacted=function(L){if(!L||L.indexOf("XXXX-")===-1||typeof window.DOMParser!="function")return L;let X=new window.DOMParser().parseFromString("
"+L+"
","text/html"),J=X.createTreeWalker(X.body,4),ne=[];for(;J.nextNode();)he.test(J.currentNode.nodeValue)&&ne.push(J.currentNode);for(let me of ne){he.lastIndex=0;let ve=X.createDocumentFragment(),oe=0,U,te=me.nodeValue;for(;U=he.exec(te);){ve.appendChild(X.createTextNode(te.slice(oe,U.index)));let x=X.createElement("mark");x.className="redact-chip",x.setAttribute("title","Redacted term "+U[0].slice(5)+" \u2014 the same term everywhere in this snapshot");let S=U[0].slice(5);x.textContent="";let I=X.createElement("i");I.textContent=S,x.appendChild(I),x.dataset.term=U[0],x.setAttribute("aria-label","Redacted term "+S);let B=/^[.,;:!?)\]]+/.exec(te.slice(U.index+U[0].length));if(B){let v=X.createElement("span");v.className="redact-glue",v.appendChild(x),v.appendChild(X.createTextNode(B[0])),ve.appendChild(v),oe=U.index+U[0].length+B[0].length}else ve.appendChild(x),oe=U.index+U[0].length}ve.appendChild(X.createTextNode(te.slice(oe))),me.parentNode.replaceChild(ve,me)}return X.body.firstChild.innerHTML};let ue=L=>L.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").slice(0,60)||"section";e.renderReadme=function(L){let X=e.renderRedacted(L);if(!X||typeof window.DOMParser!="function")return X;let J=new window.DOMParser().parseFromString("
"+X+"
","text/html"),ne={};return J.querySelectorAll("h1, h2, h3").forEach(me=>{let ve=me.id||ue(me.textContent);ne[ve]?ve+="-"+ ++ne[ve]:ne[ve]=1,me.id=ve}),J.body.firstChild.innerHTML};let ce={content:null,list:[]};e.readmeToc=function(){if(e.type!=="html"||typeof e.content!="string")return[];if(ce.content===e.content)return ce.list;let X=[...new window.DOMParser().parseFromString("
"+e.renderReadme(e.sanitize?e.sanitize(e.content):e.content)+"
","text/html").querySelectorAll("h2, h3")].map(J=>({id:J.id,text:J.textContent.trim(),level:J.tagName==="H3"?3:2})).slice(0,40);return ce={content:e.content,list:X},X},e.activeHeading=null,c(window,"scroll",()=>{let L=e.readmeToc?e.readmeToc():[];if(!L.length)return;let X=150,J="",ne="";for(let me of L){let ve=window.document.getElementById(me.id);if(!ve)continue;let oe=ve.getBoundingClientRect().top;oeJ&&X.push({t:L.slice(J,ne.index)}),X.push({n:ne[1]}),J=ne.index+ne[0].length;return J{e.pathCopied=!1},1600))},e.contentCopied=!1,e.copyContent=async function(){if(typeof e.content!="string"||!window.navigator.clipboard?.writeText)return;let L=e.content;if(e.type==="html"&&e.url)try{L=await(await window.fetch(e.url,{credentials:"same-origin"})).text()}catch{return}await window.navigator.clipboard.writeText(L),e.contentCopied=!0,setTimeout(()=>{e.contentCopied=!1},1600)};function ye(L){return A[L]?A[L]:L}function _e(L){return L=="pdf"?"pdf":L=="html"||L=="htm"?"html-doc":L=="md"?"md":L=="org"?"org":L=="ipynb"?"IPython":h.indexOf(L)>-1?"text":E.indexOf(L)>-1?"image":R.indexOf(L)>-1?"media":N.indexOf(L)>-1?"audio":"code"}function Se(L,X){let J=f;if(!L){e.type="error",e.content="no_file_selected";return}let ne=e.type;(ne==="code"||ne==="text")&&hs().catch(()=>{}),e.type="loading",e.content="loading",e.fileLoadingSlow=!1,e.fileReceivedBytes=0;let me=i.defer();g=me,b=a.timeout(()=>{!m&&J===f&&e.type==="loading"&&(e.fileLoadingSlow=!0)},1500);let ve=X&&X.sha||"0";t.get(`/api/repo/${e.repoId}/file/${encodePathForUrl(L)}?v=`+ve,{timeout:me.promise,onDownloadProgress:oe=>{!m&&J===f&&(e.fileReceivedBytes=oe)},transformResponse:oe=>oe}).then(oe=>{if(!(m||J!==f)){if(k(),e.type=ne,e.content=oe.data,e.content==""&&(e.content=null),e.type=="md"&&(e.content=renderMD(oe.data,s.url()+"/../"),e.type="html"),e.type=="org"){let te=contentAbs2Relative(oe.data);var U=new Org.Parser().parse(te).convert(Org.ConverterHTML,{headerOffset:1,exportFromLineNumber:!1,suppressSubScriptHandling:!0,suppressAutoLink:!1});e.content=DOMPurify.sanitize(U.toString()),e.type="html"}e.type=="code"&&oe.headers("content-type")=="application/octet-stream"&&(e.type="binary",e.content="binary"),a.timeout(()=>{Prism.highlightAll()},50)}},oe=>{m||J!==f||(k(),e.type="error",e.content=dr(oe))})}function ge(){f++,k(),e.content="",e.file=H();let L="0";e.file&&e.file.sha&&(L=e.file.sha),e.url=`/api/repo/${e.repoId}/file/${encodePathForUrl(e.filePath)}?v=${L}`;let X=e.filePath.substring(0,e.filePath.lastIndexOf("/")+1);e.fileBaseUrl=`/api/repo/${e.repoId}/file/${X?encodePathForUrl(X):""}`,e.showSource=!1,e.allowScripts=!1;let J=e.filePath.toLowerCase(),ne=J.lastIndexOf(".");ne>-1&&(J=J.substring(ne+1));let me={javascript:"JavaScript",typescript:"TypeScript",tsx:"TSX",jsx:"JSX",python:"Python",java:"Java",c_cpp:"C/C++",csharp:"C#",golang:"Go",rust:"Rust",ruby:"Ruby",php:"PHP",html:"HTML",css:"CSS",scss:"SCSS",json:"JSON",yaml:"YAML",markdown:"Markdown",sh:"Shell",dockerfile:"Dockerfile",xml:"XML",sql:"SQL",kotlin:"Kotlin",swift:"Swift",scala:"Scala",r:"R",julia:"Julia",latex:"LaTeX",toml:"TOML",text:""},ve=ye(J);if(e.languageName=me[ve]??(ve?ve.charAt(0).toUpperCase()+ve.slice(1):""),e.aceOption={readOnly:!0,useWrapMode:!0,showGutter:!0,theme:"chrome",useSoftTab:!0,tabSize:2,fontSize:13,keyBinding:"vscode",fullLineSelection:!0,highlightActiveLine:!1,highlightGutterLine:!1,cursor:"hide",showInvisibles:!1,showIndentGuides:!1,showPrintMargin:!1,highlightSelectedWord:!1,enableBehaviours:!0,fadeFoldWidgets:!1,mode:ye(J),onLoad:function(oe){e.codeEditor=Kn(oe);{let V=oe.session,M=V.getTokens.bind(V),G=/\bXXXX-\d+\b/g;if(V.getTokens=function(F){let W=M(F);if(!W.some(j=>j.value.indexOf("XXXX-")!==-1))return W;let ee=[];for(let j of W){if(j.value.indexOf("XXXX-")===-1){ee.push(j);continue}let le=0;G.lastIndex=0;let se;for(;se=G.exec(j.value);)se.index>le&&ee.push({type:j.type,value:j.value.slice(le,se.index)}),ee.push({type:"redacted.n"+se[0].slice(5),value:se[0]}),le=se.index+se[0].length;le`.ace_redacted.ace_n${ee+1}::after{content:"${ee+1}"}`).join(""),window.document.head.appendChild(F)}oe.renderer.updateFull(!0)}oe.session.setUseWrapMode(e.wrapLines!==!1);let U=oe.container.closest?.(".file-card"),te=()=>{if(!U)return;let V=oe.renderer,M=(V.layerConfig?.width||0)-(V.$size?.scrollerWidth||0);U.classList.toggle("at-right-edge",M<=2||V.getScrollLeft()>=M-2)};oe.session.on("changeScrollLeft",te),oe.renderer.on("afterRender",te),window.matchMedia?.("(max-width: 767px)").matches&&oe.setOption("hScrollBarAlwaysVisible",!0);let x=ace.require("ace/range").Range,S=null;function I(V,M){S!==null&&(oe.session.removeMarker(S),S=null),V!=null&&(S=oe.session.addMarker(new x(V,0,M,1),"highlighted-line","fullLine"))}function B(V){let M=window.location.hash.match(/^#L(\d+)(?:-L(\d+))?/);if(!M){I(null);return}let G=parseInt(M[1])-1,F=M[2]?parseInt(M[2])-1:G;I(G,F),V&&a.timeout(()=>{oe.scrollToLine(G,!0,!0,function(){})},100)}B(!0);let v=null;oe.on("guttermousedown",function(V){let M=V.getDocumentPosition().row,G=V.domEvent&&V.domEvent.shiftKey,F=M,W=M;G&&v!==null?(F=Math.min(v,M),W=Math.max(v,M)):v=M;let ee=F===W?`#L${F+1}`:`#L${F+1}-L${W+1}`,j=window.location.pathname+window.location.search+ee;window.history.replaceState(null,"",j),I(F,W),V.stop()});let w=c(window,"hashchange",()=>B(!1));oe.setFontSize(e.aceOption.fontSize),oe.setOptions({fontFamily:"'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace"}),oe.container.style.lineHeight="20px",oe.renderer.setPadding(16),oe.renderer.setScrollMargin(12,12,0,0),oe.renderer.updateFontSize(),oe.setReadOnly(e.aceOption.readOnly),oe.setKeyboardHandler(e.aceOption.keyBinding),oe.setSelectionStyle(e.aceOption.fullLineSelection?"line":"text"),oe.setOption("displayIndentGuides",!1),oe.setHighlightActiveLine(e.aceOption.highlightActiveLine),e.aceOption.cursor=="hide"&&(oe.renderer.$cursorLayer.element.style.display="none"),oe.setHighlightGutterLine(e.aceOption.highlightGutterLine),oe.setShowInvisibles(e.aceOption.showInvisibles),oe.setDisplayIndentGuides(e.aceOption.showIndentGuides),oe.renderer.setShowPrintMargin(e.aceOption.showPrintMargin),oe.setHighlightSelectedWord(e.aceOption.highlightSelectedWord),oe.session.setUseSoftTabs(e.aceOption.useSoftTab),oe.session.setTabSize(e.aceOption.tabSize),oe.setBehavioursEnabled(e.aceOption.enableBehaviours),oe.setFadeFoldWidgets(e.aceOption.fadeFoldWidgets);let O=c(window,"keydown",V=>{if((V.ctrlKey||V.metaKey)&&!V.altKey&&V.key.toLowerCase()==="g"&&document.body.contains(oe.container)){V.preventDefault(),e.gotoLine();return}if(V.altKey&&!V.ctrlKey&&!V.metaKey&&V.key.toLowerCase()==="z"&&document.body.contains(oe.container)){V.preventDefault(),e.toggleWrap();return}(V.ctrlKey||V.metaKey)&&!V.altKey&&V.key.toLowerCase()==="f"&&document.body.contains(oe.container)&&(V.preventDefault(),e.findInFile())});return()=>{w(),O()}}},e.isDarkMode&&(e.aceOption.theme="nord_dark"),e.type=_e(J),e.type=="pdf"){e.content="pdf";return}Se(e.filePath,e.file)}e.isSourceAccessError=()=>["repo_not_found","token_expired","github_app_access_required","github_app_reconnect_required","repo_saml_enforcement","repo_access_limited"].includes(e.content),e.retryContent=()=>Ue();function Ue(){f++,k(),e.files=[],e.content=null,e.fileSearchQuery="",e.onFileSearchChange(),e.repoId=r.repoId,e.type="loading",e.filePath=r.path||"",e.paths=e.filePath.split("/");let L=e.repoId;z(function(X){if(e.filePath){ge();let ne=[...new Set(e.paths.map((me,ve)=>e.paths.slice(0,ve).join("/")))];i.all(ne.map(me=>e.getFiles(me,!0)));return}var J=i.resolve();for(let ne=0;ne0?e.paths.slice(0,ne).join("/"):"";J=J.then(function(){return e.getFiles(me)}).then(function(){if(e.type==="error")return i.reject("error")})}J.then(function(){m||L!==e.repoId||(e.files.length==1&&e.files[0].name==""?(e.files=[],e.type="empty"):(P(),ge()))})})}Ue()},el=function(e,t,s,r,o){async function i(f){t.get(`/api/pr/${e.pullRequestId}/options`).then(g=>{if(e.options=g.data,e.options.url){window.location=e.options.url;return}f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}async function a(f){t.get(`/api/pr/${e.pullRequestId}/content`).then(g=>{e.details=g.data,e.tabState={active:g.data.diff?"diff":"comments"},f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}function c(){e.pullRequestId=r.pullRequestId,e.type="loading",i(f=>{a()})}c()},tl=function(e,t,s,r,o){async function i(f){t.get(`/api/gist/${e.gistId}/options`).then(g=>{if(e.options=g.data,e.options.url){window.location=e.options.url;return}f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}async function a(f){t.get(`/api/gist/${e.gistId}/content`).then(g=>{e.details=g.data;let b=g.data&&g.data.files&&g.data.files.length;e.tabState={active:b?"files":"comments"},f&&f(g.data)},g=>{e.type="error",e.content=g.data.error})}function c(){e.gistId=r.gistId,e.type="loading",i(()=>{a()})}c()},nl=function(e,t,s){e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.conferences=[],e.loading=!0,e.error="",e.search="";let r="conferences.filterPrefs",o={filters:{status:{ready:!0,expired:!1,removed:!1}},orderBy:"name"},i=loadFilterPrefs(r)||{};e.filters={status:Object.assign({},o.filters.status,i.filters&&i.filters.status||{})},e.orderBy=i.orderBy||o.orderBy,e.watch("orderBy",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(r,{filters:e.filters,orderBy:e.orderBy})},!0),e.removeConference=function(a){if(!a.removing&&confirm(`Are you sure that you want to remove the conference ${a.name}? All the repositories linked to this conference will expire.`)){a.removing=!0;let c=ze({title:`Removing ${a.name}...`,date:new Date,body:`The conference ${a.name} is going to be removed.`});e.addToast(c),t.delete(`/api/conferences/${a.conferenceID}`).then(()=>{c.title=`${a.name} is removed.`,c.body=`The conference ${a.name} is removed.`,e.loadConferences()}).catch(()=>{c.title="Unable to remove conference",c.body="Please try again. The conference has not been removed."}).finally(()=>{a.removing=!1})}},e.loadConferences=()=>(e.loading=!0,e.error="",t.get("/api/conferences/").then(a=>{e.conferences=a.data||[]},a=>{e.error="Unable to load your conferences. Please try again."}).finally(()=>{e.loading=!1})),e.loadConferences(),e.conferenceFilter=a=>{if(e.filters.status[a.status]==!1)return!1;let c=e.search.trim().toLowerCase();return!!(!c||(a.name||"").toLowerCase().includes(c)||(a.conferenceID||"").toLowerCase().includes(c))}},cr=function(e,t,s,r){e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.plans=[],e.editionMode=!1,e.saving=!1,e.error="";function o(){t.get("/api/conferences/"+r.conferenceId).then(b=>{e.options={...e.options,...b.data,billing:b.data.billing||{}},e.options.startDate=new Date(e.options.startDate),e.options.endDate=new Date(e.options.endDate)})}r.conferenceId&&(e.editionMode=!0,o());function i(){t.get("/api/conferences/plans").then(b=>{e.plans=b.data,e.plan=e.plans.filter(k=>k.id==e.options.plan.planID)[0]})}i();let a=new Date;a.setDate(1),a.setMonth(a.getMonth()+1);let c=new Date(a);c.setMonth(a.getMonth()+7,0),e.options={billing:{},startDate:a,endDate:c,plan:{planID:"free_conference"},options:{link:!0,image:!0,pdf:!0,notebook:!0,update:!0,page:!0}},e.plan=null,e.watch("options.plan.planID",()=>{e.plan=e.plans.filter(b=>b.id==e.options.plan.planID)[0]});function f(){e.conference.name.setValidity("required",!0),e.conference.conferenceID.setValidity("pattern",!0),e.conference.conferenceID.setValidity("required",!0),e.conference.conferenceID.setValidity("used",!0),e.conference.startDate.setValidity("required",!0),e.conference.startDate.setValidity("invalid",!0),e.conference.endDate.setValidity("required",!0),e.conference.endDate.setValidity("invalid",!0),e.conference.setValidity("error",!0)}function g(b){switch(b){case"conf_name_missing":e.conference.name.setValidity("required",!1);break;case"conf_id_missing":e.conference.conferenceID.setValidity("required",!1);break;case"conf_id_format":e.conference.conferenceID.setValidity("pattern",!1);break;case"conf_id_used":e.conference.conferenceID.setValidity("used",!1);break;case"conf_start_date_missing":e.conference.startDate.setValidity("required",!1);break;case"conf_end_date_missing":e.conference.endDate.setValidity("required",!1);break;case"conf_start_date_invalid":e.conference.startDate.setValidity("invalid",!1);break;case"conf_end_date_invalid":e.conference.endDate.setValidity("invalid",!1);break;default:e.conference.setValidity("error",!1);break}}e.submit=function(){if(e.saving)return;e.saving=!0,e.error="";let b=JSON.parse(JSON.stringify(e.options)),k=ze({title:`Creating ${b.name}...`,date:new Date,body:`The conference ${b.conferenceID} is in creation.`});e.editionMode&&(k.title=`Updating ${b.name}...`,k.body=`The conference '${b.conferenceID}' is updating.`),e.addToast(k),f(),t.post("/api/conferences/"+(e.editionMode?b.conferenceID:""),b).then(()=>{e.editionMode?(k.title=`${b.name} updated`,k.body=`The conference '${b.conferenceID}' is updated.`):(k.title=`${b.name} created`,k.body=`The conference '${b.conferenceID}' is created.`),s.url("/conference/"+b.conferenceID)},m=>{g(m.data?.error),e.error="Unable to save the conference. Please correct any highlighted fields and try again.",e.removeToast(k)}).finally(()=>{e.saving=!1})}},sl=function(e,t,s,r){e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.conference=null,e.search="",e.filters={status:{ready:!0,expired:!1,removed:!1}},e.orderBy="-anonymizeDate",e.repoFiler=i=>{if(e.filters.status[i.status]==!1)return!1;let a=e.search.trim().toLowerCase();return!!(!a||(i.source?.fullName||"").toLowerCase().includes(a)||(i.repoId||"").toLowerCase().includes(a))};function o(){t.get("/api/conferences/"+r.conferenceId).then(i=>{e.conference=i.data})}o()},ol=function(e,t){e.connections=null,e.connectionError="",e.busy=!1,e.loadConnections=()=>t.get("/github/connections").then(s=>{e.connections=s.data}).catch(s=>{e.connectionError=s.data?.error||"Unable to load connections."}),e.changeConnection=async(s,r,o)=>{e.busy=!0,e.connectionError="";try{let i=await t.post("/github/connections/migrate",{type:s.type,id:s.id,connection:r,preview:o},{headers:{"X-CSRF-Token":e.connections.csrf}});o?s.eligible=i.data.eligible:await e.loadConnections()}catch(i){e.connectionError=i.data?.error||"Unable to change connection."}finally{e.busy=!1}},e.disconnectOAuth=async()=>{e.busy=!0;try{await t.post("/github/connections/disconnect-oauth",{},{headers:{"X-CSRF-Token":e.connections.csrf}}),await e.loadConnections()}catch(s){e.connectionError=s.data?.error||"Unable to disconnect OAuth."}finally{e.busy=!1}},e.loadConnections()},rl=function(e,t){e.accountRecovery=!1,t.get("/github/account-recovery").then(s=>{e.accountRecovery=s.data.required}).catch(()=>{})};var il=function(e,t,s){let r=ut(),o=Xt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.repositories=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.totalSize=0,e.selected={},e.allSelected=!1;let i=h=>{if(h.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){h.preventDefault();let E=document.querySelector('.admin-filter-toolbar input[type="search"]');E&&E.focus()}};o(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=h=>{h==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[h]="",e.query.page=1},e.chips=[];let a=()=>{let h=[];e.query.owner&&h.push({key:"owner",label:"Owner",value:e.query.owner}),e.query.conference&&h.push({key:"conference",label:"Conference",value:e.query.conference}),e.chips=h};e.showStatusMessage=h=>{let E=h.statusMessage||"(no message)";window.prompt(`Status message for ${h.repoId} (${h.status}):`,E)},e.fetchGithubInfo=h=>{let E=window.open("","_blank");E&&E.document.write("
Loading GitHub info for "+h.repoId+"...
"),t.get("/api/admin/repos/"+h.repoId+"/github").then(N=>{E&&(E.document.open(),E.document.write('
'+JSON.stringify(N.data,null,2).replace(/[<>]/g,R=>R==="<"?"<":">")+"
"),E.document.close())},N=>{let R=N&&N.data?JSON.stringify(N.data,null,2):String(N);E&&(E.document.body.innerHTML='
'+R+"
")})},e.statusCountFor=h=>{let E=(e.statusCounts||[]).find(N=>N._id===h);return E?E.count:0},e.statusStorageFor=h=>{let E=(e.statusCounts||[]).find(N=>N._id===h);return E?E.storage:0},e.isErrorsOnly=()=>e.query&&e.query.error&&!e.query.ready&&!e.query.preparing&&!e.query.expired&&!e.query.removed,e.toggleErrorsOnly=()=>{e.isErrorsOnly()?Object.assign(e.query,{ready:!1,preparing:!0,expired:!1,removed:!1,error:!0}):Object.assign(e.query,{ready:!1,preparing:!1,expired:!1,removed:!1,error:!0}),e.query.page=1},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=h=>{e.query.sort===h?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=h,e.query.direction="desc"),e.query.page=1},e.sortIcon=h=>e.query.sort===h?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let c="admin.repos.filterPrefs",f={page:1,limit:25,sort:"lastView",direction:"desc",search:"",owner:"",conference:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!1,error:!0,preparing:!0},g=loadFilterPrefs(c)||{};e.query=Object.assign({},f,g,{page:1,search:""});let b=s.search();b.owner&&(e.query.owner=b.owner),b.conference&&(e.query.conference=b.conference),b.search&&(e.query.search=b.search);let k="admin.repos.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let h=window.prompt("Preset name:");if(!h)return;let E=Object.assign({},e.query);delete E.page,e.presets=(e.presets||[]).filter(N=>N.name!==h),e.presets.push({name:h,query:E}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=h=>{Object.assign(e.query,h.query,{page:1})},e.deletePreset=h=>{e.presets=(e.presets||[]).filter(E=>E.name!==h.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.repositories.forEach(h=>{e.selected[h.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(h=>e.selected[h.repoId]),e.bulkRefresh=()=>{let h=e.selectedRepos();h.length&&confirm(`Force refresh ${h.length} repositories?`)&&h.forEach(E=>e.updateRepository(E))},e.bulkRemoveCache=()=>{let h=e.selectedRepos();h.length&&confirm(`Purge cache for ${h.length} repositories?`)&&h.forEach(E=>e.removeCache(E))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let h=new URLSearchParams(Object.entries(e.query).filter(([,E])=>E!==""&&E!==!1&&E!=null));h.set("format","csv"),h.set("limit","10000"),window.open("/api/admin/repos?"+h.toString(),"_blank")},e.removeCache=h=>{confirm("Remove cached files for "+h.repoId+"?")&&t.delete("/api/admin/repos/"+h.repoId).then(()=>m(),E=>console.error(E))},e.removeRepository=h=>{confirm("Remove repository "+h.repoId+"?")&&t.delete("/api/repo/"+h.repoId+"/").then(()=>m(),E=>console.error(E))},e.updateRepository=h=>{let E=ze({title:`Refreshing ${h.repoId}...`,date:new Date,body:`The repository ${h.repoId} is going to be refreshed.`});e.toasts.push(E),t.post(`/api/repo/${h.repoId}/refresh`).then(N=>{N.data.status=="ready"?E.title=`${h.repoId} is refreshed.`:E.title=`Refreshing of ${h.repoId}.`},N=>{E.title=`Error during the refresh of ${h.repoId}.`,E.body=N.body})},e.filtersOpen=!1,e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/repos",{params:e.query}).then(h=>{e.total=h.data.total,e.totalPage=Math.ceil(h.data.total/e.query.limit),e.repositories=h.data.results,e.allSelected=!1},h=>{e.fetchError=h&&h.data&&h.data.error||"Failed to load repositories",console.error(h)})}function C(){let h=Object.assign({},e.query,{page:1,limit:1,ready:!0,expired:!0,removed:!0,error:!0,preparing:!0});t.get("/api/admin/repos",{params:h}).then(E=>{e.statusCounts=E.data.statusCounts||[],e.totalSize=E.data.totalSize||0},()=>{})}e.showAllStatuses=()=>Object.assign(e.query,{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0,page:1}),m(),C();let A=null;e.watch("query",()=>{r.timeout.cancel(A),A=r.timeout(()=>{m(),C()},500);let{page:h,search:E,...N}=e.query;saveFilterPrefs(c,N),a()},!0),a()},al=function(e,t,s){let r=ut(),o=Xt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.users=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.selected={},e.allSelected=!1;let i=m=>{if(m.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){m.preventDefault();let C=document.querySelector('.admin-filter-toolbar input[type="search"]');C&&C.focus()}};o(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=m=>{m==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[m]="",e.query.page=1},e.chips=[];let a=()=>{let m=[];e.query.role&&m.push({key:"role",label:"Role",value:e.query.role}),e.chips=m};e.statusCountFor=m=>{let C=(e.statusCounts||[]).find(A=>A._id===m);return C?C.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.query.page=1},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let c="admin.users.filterPrefs",f={page:1,limit:25,sort:"username",direction:"asc",search:"",status:"",role:"",dateFrom:"",dateTo:""},g=loadFilterPrefs(c)||{};e.query=Object.assign({},f,g,{page:1,search:""}),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.users.forEach(m=>{e.selected[m.username]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedUsers=()=>e.users.filter(m=>e.selected[m.username]),e.banUser=m=>{confirm(`Ban user ${m.username}?`)&&t.post(`/api/admin/users/${m.username}/ban`).then(b,C=>console.error(C))},e.activateUser=m=>{t.post(`/api/admin/users/${m.username}/activate`).then(b,C=>console.error(C))},e.bulkBan=()=>{let m=e.selectedUsers();m.length&&confirm(`Ban ${m.length} users?`)&&m.forEach(C=>e.banUser(C))},e.exportCsv=()=>{let m=new URLSearchParams(Object.entries(e.query).filter(([,C])=>C!==""&&C!==!1&&C!=null));m.set("format","csv"),m.set("limit","10000"),window.open("/api/admin/users?"+m.toString(),"_blank")},e.fetchError=null;function b(){e.fetchError=null,t.get("/api/admin/users",{params:e.query}).then(m=>{e.total=m.data.total,e.totalPage=Math.ceil(m.data.total/e.query.limit),e.users=m.data.results,e.statusCounts=m.data.statusCounts||[],e.allSelected=!1},m=>{e.fetchError=m&&m.data&&m.data.error||"Failed to load users",console.error(m)})}b();let k=null;e.watch("query",()=>{r.timeout.cancel(k),k=r.timeout(b,500);let{page:m,search:C,...A}=e.query;saveFilterPrefs(c,A),a()},!0),a()},ll=function(e,t,s,r){let o=ut();e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.userInfo,e.repositories=[],e.search="",e.selected={},e.allSelected=!1;let i="admin.user.filterPrefs",a={filters:{status:{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0}},sort:"anonymizeDate",direction:"desc"},c=loadFilterPrefs(i)||{};e.filters={status:Object.assign({},a.filters.status,c.filters&&c.filters.status||{})},e.query={sort:c.sort||a.sort,direction:c.direction||a.direction},e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort,e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"",e.watch("query",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.watch("filters",()=>{saveFilterPrefs(i,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.statusCountFor=m=>(e.repositories||[]).filter(C=>C.status===m).length,e.repoFiler=m=>e.filters.status[m.status]==!1?!1:!!(e.search.trim().length==0||m.source.fullName.indexOf(e.search)>-1||m.repoId.indexOf(e.search)>-1||m.statusMessage&&m.statusMessage.indexOf(e.search)>-1||m.conference&&m.conference.indexOf(e.search)>-1),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,(e.filteredRepositories||e.repositories).forEach(m=>{e.selected[m.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(m=>e.selected[m.repoId]),e.bulkRefresh=()=>{let m=e.selectedRepos();m.length&&confirm(`Force refresh ${m.length} repositories?`)&&m.forEach(C=>e.updateRepository(C))},e.bulkRemoveCache=()=>{let m=e.selectedRepos();m.length&&confirm(`Purge cache for ${m.length} repositories?`)&&m.forEach(C=>e.removeCache(C))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let m=e.filteredRepositories||e.repositories,A=["repoId","status","statusMessage","pageView","anonymizeDate","source.fullName","conference","size.storage"].join(","),h=m.map(R=>[R.repoId,R.status,R.statusMessage||"",R.pageView||0,R.anonymizeDate||"",R.source&&R.source.fullName||"",R.conference||"",R.size&&R.size.storage||0].map(P=>{let H=String(P??"");return/[",\n\r]/.test(H)?'"'+H.replace(/"/g,'""')+'"':H}).join(",")),E=new Blob([A+` `+h.join(` -`)],{type:"text/csv"}),N=document.createElement("a");N.href=URL.createObjectURL(E),N.download=r.username+"-repositories.csv",N.click()},e.showStatusMessage=m=>{let C=m.statusMessage||"(no message)";window.prompt(`Status message for ${m.repoId} (${m.status}):`,C)},e.fetchGithubInfo=m=>{let C=window.open("","_blank");C&&C.document.write("
Loading GitHub info for "+m.repoId+"...
"),t.get("/api/admin/repos/"+m.repoId+"/github").then(A=>{C&&(C.document.open(),C.document.write('
'+JSON.stringify(A.data,null,2).replace(/[<>]/g,h=>h==="<"?"<":">")+"
"),C.document.close())},A=>{let h=A&&A.data?JSON.stringify(A.data,null,2):String(A);C&&(C.document.body.innerHTML='
'+h+"
")})};function f(m){t.get("/api/admin/users/"+m+"/repos",{}).then(C=>{e.repositories=C.data},C=>{console.error(C)})}function g(m){t.get("/api/admin/users/"+m,{}).then(C=>{e.userInfo=C.data},C=>{console.error(C)})}g(r.username),f(r.username),e.banUser=()=>{confirm(`Ban user ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/ban`).then(()=>g(r.username),m=>console.error(m))},e.activateUser=()=>{t.post(`/api/admin/users/${r.username}/activate`).then(()=>g(r.username),m=>console.error(m))},e.promoteUser=()=>{confirm(`Promote ${r.username} to admin?`)&&t.post(`/api/admin/users/${r.username}/promote`).then(()=>g(r.username),m=>console.error(m))},e.demoteUser=()=>{confirm(`Remove admin privileges from ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/demote`).then(()=>g(r.username),m=>console.error(m))},e.tokens=[],e.tokenForm={name:"",plaintext:null};function b(){t.get("/api/admin/tokens").then(m=>{e.tokens=m.data||[]},m=>{m.status!==401&&m.status!==403&&console.error(m)})}b(),e.createToken=()=>{e.tokenForm.name&&t.post("/api/admin/tokens",{name:e.tokenForm.name}).then(m=>{e.tokenForm.plaintext=m.data.token,e.tokenForm.name="",b()},m=>console.error(m))},e.revokeToken=m=>{confirm(`Revoke token "${m.name}"?`)&&t.delete("/api/admin/tokens/"+m.id).then(()=>b(),C=>console.error(C))},e.removeCache=m=>{confirm("Remove cached files for "+m.repoId+"?")&&t.delete("/api/admin/repos/"+m.repoId).then(()=>f(r.username),C=>console.error(C))},e.removeRepository=m=>{confirm("Remove repository "+m.repoId+"?")&&t.delete("/api/repo/"+m.repoId+"/").then(()=>f(r.username),C=>console.error(C))},e.updateRepository=m=>{let C=ze({title:`Refreshing ${m.repoId}...`,date:new Date,body:`The repository ${m.repoId} is going to be refreshed.`});e.toasts.push(C),t.post(`/api/repo/${m.repoId}/refresh`).then(A=>{A.data.status=="ready"?C.title=`${m.repoId} is refreshed.`:C.title=`Refreshing of ${m.repoId}.`},A=>{C.title=`Error during the refresh of ${m.repoId}.`,C.body=A.body})},e.getGitHubRepositories=m=>{t.get(`/api/user/${e.userInfo.username}/all_repositories`,{params:{force:"1"}}).then(C=>{e.userInfo.repositories=C.data})};let k=null;e.watch("query",()=>{o.timeout.cancel(k),k=o.timeout(()=>{f(r.username)},500)},!0)},dl=function(e,t,s){let r=ut(),o=Xt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.conferences=[],e.total=-1,e.totalPage=0,e.statusCounts=[];let i=A=>{if(A.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){A.preventDefault();let h=document.querySelector('.admin-filter-toolbar input[type="search"]');h&&h.focus()}};o(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=A=>{A==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[A]="",e.query.page=1},e.chips=[];let a=()=>{let A=[];(e.query.dateFrom||e.query.dateTo)&&A.push({key:"dateRange",label:"Date",value:(e.query.dateFrom||"\u2026")+" \u2013 "+(e.query.dateTo||"\u2026")}),e.chips=A};e.statusCountFor=A=>{let h=(e.statusCounts||[]).find(E=>E._id===A);return h?h.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=A=>{e.query.sort===A?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=A,e.query.direction="desc"),e.query.page=1},e.sortIcon=A=>e.query.sort===A?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let c="admin.conferences.filterPrefs",f={page:1,limit:25,sort:"name",direction:"asc",search:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!1,error:!0,preparing:!0},g=loadFilterPrefs(c)||{};e.query=Object.assign({},f,g,{page:1,search:""});let b=s.search();b.search&&(e.query.search=b.search);let k="admin.conferences.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let A=window.prompt("Preset name:");if(!A)return;let h=Object.assign({},e.query);delete h.page,e.presets=(e.presets||[]).filter(E=>E.name!==A),e.presets.push({name:A,query:h}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=A=>{Object.assign(e.query,A.query,{page:1})},e.deletePreset=A=>{e.presets=(e.presets||[]).filter(h=>h.name!==A.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.removeConference=A=>{confirm("Remove conference "+A.conferenceID+"?")&&t.delete("/api/admin/conferences/"+A.conferenceID).then(()=>m(),h=>console.error(h))},e.exportCsv=()=>{let A=new URLSearchParams(Object.entries(e.query).filter(([,h])=>h!==""&&h!==!1&&h!=null));A.set("format","csv"),A.set("limit","10000"),window.open("/api/admin/conferences?"+A.toString(),"_blank")},e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/conferences",{params:e.query}).then(A=>{e.total=A.data.total,e.totalPage=Math.ceil(A.data.total/e.query.limit),e.conferences=A.data.results,e.statusCounts=A.data.statusCounts||[]},A=>{e.fetchError=A&&A.data&&A.data.error||"Failed to load conferences",console.error(A)})}m();let C=null;e.watch("query",()=>{r.timeout.cancel(C),C=r.timeout(m,500);let{page:A,search:h,...E}=e.query;saveFilterPrefs(c,E),a()},!0),a()},ul=function(e,t,s,r,o){let i=ut();e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.queueList=[],e.jobs=[],e.selectedQueue="download",e.selectedStats=null,e.range="1h",e.allStates=["active","waiting","delayed","failed","completed"],e.stateFilter={active:!0,waiting:!0,delayed:!0,failed:!0,completed:!0},e.query={search:"",autoRefresh:!0},e.filteredJobs=()=>(e.jobs||[]).filter(h=>e.stateFilter[h._state]),e.jobProgressPct=h=>h&&h.progress&&typeof h.progress=="object"&&typeof h.progress.percent=="number"?Math.max(0,Math.min(100,Math.round(h.progress.percent))):typeof h.progress=="number"?Math.max(0,Math.min(100,Math.round(h.progress))):null,e.jobDuration=h=>{if(!h.processedOn)return"-";let N=(h.finishedOn||Date.now())-h.processedOn;return N<1e3?N+"ms":(N/1e3).toFixed(1)+"s"},e.metricsPoints=[],e.selectQueue=h=>{e.selectedQueue=h,a(),c()},e.setRange=h=>{e.range=h,c()};function a(){let h={queue:e.selectedQueue,search:e.query.search};t.get("/api/admin/queues",{params:h}).then(E=>{e.queueList=E.data.queues||[],e.jobs=E.data.jobs||[],e.selectedStats=e.queueList.find(N=>N.key===e.selectedQueue)||e.queueList[0]||null},E=>console.error(E))}function c(){t.get("/api/admin/queues/metrics",{params:{queue:e.selectedQueue,range:e.range}}).then(h=>{e.metricsPoints=h.data.points||[],o(m,0)},h=>console.error(h))}a(),c();let f=r(()=>{e.query.autoRefresh&&(a(),c())},15e3);e.on("dispose",()=>r.cancel(f)),e.refreshNow=function(){a(),c()};function g(h){let E=h&&h.data&&(h.data.message||h.data.error)||"Request failed";e.actionError=E,o(()=>{e.actionError=null},5e3),console.error(h)}e.actionError=null,e.removeJob=h=>{t.delete(`/api/admin/queue/${e.selectedQueue}/${h.id}`).then(a,g)},e.retryJob=h=>{t.post(`/api/admin/queue/${e.selectedQueue}/${h.id}`).then(a,g)},e.retryFailed=()=>{confirm(`Retry all failed jobs in ${e.selectedQueue}?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/retry-failed`).then(a,h=>console.error(h))},e.drainSelected=()=>{confirm(`Drain the ${e.selectedQueue} queue?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/drain`).then(a,h=>console.error(h))},e.togglePause=()=>{let h=e.selectedStats&&e.selectedStats.paused?"resume":"pause";t.post(`/api/admin/queue/${e.selectedQueue}/${h}`).then(a,E=>console.error(E))},e.emptyQueue=()=>{confirm(`Empty the ${e.selectedQueue} queue? This removes ALL jobs.`)&&t.post(`/api/admin/queue/${e.selectedQueue}/empty`).then(a,h=>console.error(h))},e.pauseAll=()=>{confirm("Pause all queues?")&&t.post("/api/admin/queues/pause-all").then(a,h=>console.error(h))};let b=null;e.watch("query.search",()=>{i.timeout.cancel(b),b=i.timeout(a,350)}),e.expanded={},e.toggleJob=h=>{e.expanded[h.id]=!e.expanded[h.id]},e.humanTime=h=>{if(!h)return"";let E=new Date(h);return E.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})+" "+E.toLocaleDateString([],{month:"short",day:"numeric"})},e.delayCountdown=h=>{if(!h)return"";var E=Math.max(0,Math.ceil((h-Date.now())/1e3));if(E<=0)return"resuming soon";var N=Math.floor(E/60),R=E%60;return"in "+(N>0?N+"m "+R+"s":R+"s")};function k(h){if(h<=0)return{ticks:[0],niceMax:1};let E=Math.pow(10,Math.floor(Math.log10(h))),N=E;h/N<2?N=E/2:h/N>5&&(N=E*2);let R=Math.ceil(h/N)*N,V=[];for(let H=0;H<=R;H+=N)V.push(H);return{ticks:V,niceMax:R}}function m(){var h=document.getElementById("q-throughput-chart");if(!h)return;var E=h.getContext("2d"),N=window.devicePixelRatio||1,R=h.parentElement.getBoundingClientRect(),V=44,H=50,q=20,z=R.width-40,Z=180,ae=z-V-H,_=Z-q;h.width=z*N,h.height=Z*N,h.style.width=z+"px",h.style.height=Z+"px",E.setTransform(N,0,0,N,0,0);var j=document.body.classList.contains("dark-mode"),ne="#8A857C",le=j?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",Ce=j?"#6FBF8A":"#2F7D4F",ce=j?"rgba(111,191,138,0.12)":"rgba(47,125,79,0.08)",ve=j?"#F08A82":"#B42318",_e=j?"rgba(240,138,130,0.08)":"rgba(180,35,24,0.06)",Se=j?"#F5C842":"#B8860B",ye=e.metricsPoints||[];if(ye.length===0){E.fillStyle=ne,E.font="13px Inter, system-ui, sans-serif",E.textAlign="center",E.fillText("No metrics data yet",z/2,Z/2),C=null;return}var Ue=ye.map(function(F){return F.completed}),L=ye.map(function(F){return F.failed}),X=ye.map(function(F){return F.avgMs});if(!Ue.some(Boolean)&&!L.some(Boolean)){E.strokeStyle=j?"rgba(255,255,255,0.14)":"rgba(0,0,0,0.12)",E.beginPath(),E.moveTo(0,Z-18.5),E.lineTo(z,Z-18.5),E.stroke(),E.fillStyle=j?"#CFC8BD":"#4F4A42",E.font="500 14px Inter, system-ui, sans-serif",E.textAlign="center",E.fillText("No jobs processed in this window",z/2,Z/2-6),E.fillStyle=ne,E.font="12.5px Inter, system-ui, sans-serif",E.fillText("Completed and failed jobs will chart here",z/2,Z/2+16),C=null;return}var J=ye.length,se=ae/(J-1||1),me=Math.max(1,Math.max.apply(null,Ue),Math.max.apply(null,L)),he=k(me),re=Math.max.apply(null,X),U=re>0?k(re):{ticks:[0],niceMax:1},te=function(F){return _-F/he.niceMax*(_-10)},x=function(F){return _-F/U.niceMax*(_-10)},S=function(F){return V+F*se};E.textAlign="right",E.textBaseline="middle",E.font="10px monospace",he.ticks.forEach(function(F){var K=te(F);E.strokeStyle=le,E.lineWidth=1,E.beginPath(),E.moveTo(V,K),E.lineTo(z-H,K),E.stroke(),E.fillStyle=ne,E.fillText(F>=1e3?(F/1e3).toFixed(1)+"k":String(F),V-6,K)}),re>0&&(E.textAlign="left",U.ticks.forEach(function(F){var K=x(F);E.fillStyle=Se,E.fillText(F>=1e3?(F/1e3).toFixed(1)+"s":F+"ms",z-H+6,K)}));var I=Date.now(),B=Math.min(6,J);E.textAlign="center",E.textBaseline="top";for(var v=0;v0&&(E.beginPath(),X.forEach(function(F,K){var ee=S(K),G=x(F);if(K===0)E.moveTo(ee,G);else{var de=(S(K-1)+ee)/2;E.bezierCurveTo(de,x(X[K-1]),de,G,ee,G)}}),E.strokeStyle=Se,E.lineWidth=1,E.setLineDash([4,3]),E.stroke(),E.setLineDash([])),C={pts:ye,maxLen:J,marginLeft:V,step:se,totalW:z,toX:S}}var C=null;function A(){var h=document.getElementById("q-throughput-chart");if(!(!h||h._tipBound)){h._tipBound=!0;var E=document.getElementById("q-chart-tooltip"),N=document.getElementById("q-chart-crosshair");h.addEventListener("mousemove",function(R){if(!(!C||!E||!N)){var V=C,H=h.getBoundingClientRect(),q=R.clientX-H.left,z=Math.round((q-V.marginLeft)/V.step);if(z<0||z>=V.maxLen){E.style.display="none",N.style.display="none";return}var Z=V.pts[z],ae=Date.now(),_=Math.round((ae-Z.ts)/6e4),j;if(_<=0)j="now";else if(_<60)j=_+"m ago";else if(_<1440){var ne=Math.floor(_/60),le=_%60;j=ne+"h"+(le?" "+le+"m":"")+" ago"}else j=Math.round(_/1440)+"d ago";var Ce='
'+j+'
● completed: '+Z.completed+'/min
● failed: '+Z.failed+"/min
";if(Z.avgMs>0){var ce=Z.avgMs>=1e3?(Z.avgMs/1e3).toFixed(1)+"s":Z.avgMs+"ms";Ce+='
● avg time: '+ce+"
"}E.innerHTML=Ce;var ve=V.toX(z),_e=E.offsetWidth,Se=ve+10;Se+_e>V.totalW&&(Se=ve-_e-10),E.style.display="block",E.style.left=Se+"px",E.style.top="8px",N.style.display="block",N.style.left=ve+"px"}}),h.addEventListener("mouseleave",function(){E&&(E.style.display="none"),N&&(N.style.display="none")})}}e.watch("metricsPoints",function(){o(A,50)})},cl=function(e,t,s,r){let o=ut();e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.entries=[],e.visible=[],e.available=!0,e.cap=1e3,e.total=0,e.pageSize=250,e.expanded={},e.detailTab={},e.copyHint="",e.parsedFilterCount=0,e.stats={last24h:0,prev24h:0,delta:0,severity:{error:0,warn:0,info:0},unique:{error:0,warn:0,info:0},buckets:[],dropped:0},e.query={search:"",bucket:"",sort:"recent",group:"code",autoRefresh:!0},e.relTime=N=>{if(!N)return"";let R=new Date(N).getTime();if(isNaN(R))return N;let V=Math.max(0,Date.now()-R),H=Math.floor(V/1e3);if(H<5)return"just now";if(H<60)return`${H}s ago`;let q=Math.floor(H/60);if(q<60)return`${q}m ago`;let z=Math.floor(q/60);if(z<24)return`${z}h ago`;let Z=Math.floor(z/24);return Z<7?`${Z}d ago`:new Date(N).toLocaleDateString()},e.absTime=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleString()},e.absTimeShort=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})};let i=/^[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+)+$/;function a(N,R){let V=N&&(N.httpStatus||N.status)||null;if(typeof V=="number"){if(V>=500)return"error";if(V===401||V===403||V===404)return"info";if(V>=400)return"warn"}return R==="error"?"error":R==="warn"?"warn":"info"}function c(N){let R=(N.raw||[]).find(z=>z&&typeof z=="object"&&!Array.isArray(z));if(R){R.message&&i.test(R.message)?(N.displayMessage=R.message,N.displayContext=N.message):R.code&&i.test(String(R.code))?(N.displayMessage=String(R.code),N.displayContext=N.message):R.name&&R.name!=="AnonymousError"&&R.name!=="Error"?(N.displayMessage=R.name,N.displayContext=R.message||N.message):N.displayMessage=N.message,N._status=R.httpStatus||R.status||null,N._url=R.url||null,N._method=R.method||null,N._repoId=R.repoId||R.detail||null,N._detail=R.detail&&R.detail!==N._repoId?R.detail:null;let z=typeof R.stack=="string"?R.stack:null;for(var V=[R.cause,R.err].filter(Boolean),H=0;!z&&H{_==null||_===""||V.push([ae,_])};H("name",R&&R.name),H("code",N.displayMessage||R&&R.message),N._bucket&&H("kind",N._bucket),H("httpStatus",R&&R.httpStatus),R&&R.status&&!R.httpStatus&&H("status",R.status),H("module",N.module);let q=R&&R.detail;if(typeof q=="string"){let ae=q.trim();if(ae[0]==="{"||ae[0]==="[")try{q=JSON.parse(q)}catch{}}if(H("detail",q),H("repoId",R&&R.repoId),H("filePath",R&&R.filePath),H("upstreamStatus",R&&R.upstreamStatus),H("upstreamBody",R&&R.upstreamBody),H("url",N._url),H("err",R&&R.err),H("cause",R&&!R.err&&R.cause),H("ts",N.ts),!V.length)return JSON.stringify(N,null,2);let z=V.reduce((ae,_)=>Math.max(ae,_[0].length),0),Z=["{"];return V.forEach(([ae,_],j)=>{let le=` ${`"${ae}":`.padEnd(z+3," ")} `,Ce=jSe===0?_e:ve+_e).join(` -`)}else typeof _=="number"||typeof _=="boolean"?ce=String(_):ce=JSON.stringify(_);Z.push(`${le}${ce}${Ce}`)}),Z.push("}"),Z.join(` -`)}function g(N){let R=[],V="",H=/(\w+):(>=|<=|!=|>|<|=)?([^\s]+)/g,q=0,z;for(;z=H.exec(N);)V+=N.slice(q,z.index),q=H.lastIndex,R.push({key:z[1],op:z[2]||"=",val:z[3]});return V+=N.slice(q),{filters:R,free:V.trim().toLowerCase()}}function b(N,R){for(let V of R.filters){let H=(z,Z,ae)=>{let _=parseFloat(z),j=parseFloat(Z);return ae==="="?String(z)===String(Z):ae==="!="?String(z)!==String(Z):ae===">="?_>=j:ae==="<="?_<=j:ae===">"?_>j:ae==="<"?_R&&Z._bucket!==R?!1:b(Z,N)),H=e.query.group;if(H){let Z=j=>H==="module"?j.module:j.displayMessage||j.message||"_",ae=new Map;for(let j of V){let ne=Z(j);if(ae.has(ne)){let le=ae.get(ne);le.count++,le._related.push(j),new Date(j.ts)>new Date(le.ts)&&(le.ts=j.ts,le._url=j._url,le._status=j._status),new Date(j.ts)new Date(ne.ts).getTime()>=_).length;V=Array.from(ae.values())}else V=V.map((Z,ae)=>(Z._key="row:"+ae+":"+Z.ts,Z._related=[Z],Z._firstSeen=Z.ts,Z._lastHourCount=0,Z.count=1,Z));let q=Z=>({error:0,warn:1,info:2})[Z._bucket]??1;e.query.sort==="count"?V.sort((Z,ae)=>q(Z)-q(ae)||ae.count-Z.count||new Date(ae.ts)-new Date(Z.ts)):V.sort((Z,ae)=>q(Z)-q(ae)||new Date(ae.ts)-new Date(Z.ts)),e.visible=V,(e.query.bucket||(e.query.search||"").trim())&&!V.length&&e.canLoadMore?.()&&!e._autoLoading&&e.entries.length<2500&&(e._autoLoading=!0,m(!0))}function m(N){let R=N?e.entries.length:0,V=N?e.pageSize:Math.max(e.pageSize,e.entries.length||e.pageSize);t.get("/api/admin/errors",{params:{offset:R,limit:V}}).then(H=>{let q=(H.data.entries||[]).map(c);e.entries=N?e.entries.concat(q):q,e.available=!!H.data.available,e.cap=H.data.max||e.cap,e.total=H.data.total||e.entries.length,e._autoLoading=!1,k()},H=>{e._autoLoading=!1,console.error(H)})}e.loadMore=()=>m(!0),e.canLoadMore=()=>e.entries.length{let R=N.data||{},V=R.prev24h?Math.round((R.last24h-R.prev24h)/R.prev24h*100):0;e.stats={last24h:R.last24h||0,prev24h:R.prev24h||0,delta:V,severity:R.severity||{error:0,warn:0,info:0},unique:R.unique||{error:0,warn:0,info:0},buckets:R.buckets||[],dropped:R.dropped||0}},N=>console.error(N))}function A(){m(),C()}e.barPx=(N,R)=>{let V=e.stats.buckets||[],H=0,q=0;for(let _ of V)H=Math.max(H,(_.error||0)+(_.warn||0)),q=Math.max(q,_.info||0);let z=N[R]||0;if(!z)return 0;if(R==="info")return q?Math.max(2,Math.round(z/q*(H?16:60))):0;let Z=(N.error||0)+(N.warn||0),ae=Math.round(Z/H*44);return Math.max(4,Math.round(z/Z*ae))},e.bucketTitle=N=>`${new Date(N.hour).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})} \xB7 ${N.error||0} err \xB7 ${N.warn||0} warn \xB7 ${N.info||0} info`,e.toggle=N=>{e.expanded[N._key]=!e.expanded[N._key]},e.setBucket=N=>{e.query.bucket=N},e.refreshNow=A,e.clearAll=()=>{confirm("Clear all captured errors?")&&t.delete("/api/admin/errors").then(A,N=>console.error(N))},e.exportCsv=()=>{let N=["ts","level","module","displayMessage","_status","_url","_repoId"],R=[N.join(",")];for(let z of e.visible)R.push(N.map(Z=>{let ae=z[Z]==null?"":String(z[Z]);return/[",\n]/.test(ae)?`"${ae.replace(/"/g,'""')}"`:ae}).join(","));let V=new Blob([R.join(` -`)],{type:"text/csv;charset=utf-8"}),H=URL.createObjectURL(V),q=document.createElement("a");q.href=H,q.download=`errors-${new Date().toISOString().slice(0,19)}.csv`,document.body.appendChild(q),q.click(),document.body.removeChild(q),URL.revokeObjectURL(H)};function h(N){e.copyHint=`${N} copied`,o.timeout(()=>{e.copyHint=""},1500)}e.copyJson=N=>{navigator.clipboard.writeText(N._detailJson).then(()=>h("JSON"))},e.copyCurl=N=>{if(!N._url)return;let V=`curl -X ${N._method||"GET"} '${window.location.origin}${N._url}'`;navigator.clipboard.writeText(V).then(()=>h("curl"))},A();let E=r(()=>{e.query.autoRefresh&&A()},15e3);e.on("dispose",()=>r.cancel(E)),e.watch("query.search",k),e.watch("query.bucket",k),e.watch("query.sort",k),e.watch("query.group",k)},pl=function(e,t,s,r){if(e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null){s.url("/");return}e.data=null,e.loading=!0,e.error=null,e.performance=null,e.performanceMinutes=15,e.performanceTab="routes",e.cacheReport=null,e.cacheError=null,e.cacheMinutes=60,e.cacheTraffic="all";var o=!1;e.loadCache=function(){if(!o){o=!0;var h=e.cacheMinutes;t.get("/api/admin/cache",{params:{minutes:h}}).then(function(E){h===e.cacheMinutes&&(e.cacheReport=E.data,e.cacheError=E.data.available?null:E.data.reason||"Cache monitoring is unavailable.")},function(){e.cacheError="Could not refresh cache monitoring. Displayed values may be stale."}).finally(function(){o=!1,h!==e.cacheMinutes&&e.loadCache()})}},e.cacheRows=function(){return(e.cacheReport?.rows||[]).filter(function(h){return e.cacheTraffic==="all"||h.traffic===e.cacheTraffic})},e.cacheRate=function(h,E){var N=e.cacheRows(),R=function(q){return N.filter(function(z){return z.name===q}).reduce(function(z,Z){return z+Z[E]},0)},V=R(h+"_hit"),H=R(h+"_miss");return V+H?(100*V/(V+H)).toFixed(1)+"%":"No samples"},e.cacheEventName=function(h){return h.replaceAll("_"," ")},e.cacheP95=function(h){var E=0,N=e.cacheReport?.latencyBucketsMs||[];if(!h.count)return"No samples";if(!h.ms)return"Not timed";for(var R=0;R<=N.length;R++)if(E+=h["b"+R]||0,E>=Math.ceil(h.count*.95))return R 10 s";return"No samples"},e.performanceError=null,e.latencyBound=function(h,E){return h.count?h[E]==null?"> 60 s":"\u2264 "+h[E]+" ms":"No samples"},e.firstByteBound=function(h){return e.latencyBound({count:h.firstByteCount,p95UpperMs:h.firstByteP95UpperMs},"p95UpperMs")},e.sampleAge=function(h){return Math.max(0,Math.round((Date.now()-h.sampledAt)/1e3))},e.peakRss=function(h){return(e.performance.runtimeSeries||[]).filter(function(E){return E.instance===h.instance}).reduce(function(E,N){return Math.max(E,N.rss)},h.memory.rss)},e.performanceWarning=function(h){return e.sampleAge(h)>45||h.droppedBatches||h.droppedMetrics||h.sockets?.closeWait>0||h.eventLoop?.p95Ms>100||h.memoryLimitBytes&&h.memory.rss>h.memoryLimitBytes*.8};var i=!1;e.loadPerformance=function(){var h=e.performanceMinutes;e.performance?.windowMinutes&&e.performance.windowMinutes!==h&&(e.performance=null),!i&&(i=!0,t.get("/api/admin/performance",{params:{minutes:h}}).then(function(E){h===e.performanceMinutes&&(e.performance=E.data,e.performanceError=E.data.available?null:"Performance monitoring is unavailable. Request history may be incomplete.")},function(){h===e.performanceMinutes&&(e.performanceError="Could not refresh performance monitoring. Displayed samples may be stale.")}).finally(function(){i=!1,h!==e.performanceMinutes&&e.loadPerformance()}))};function a(h){if(h==null)return"\u2014";for(var E=["B","KB","MB","GB","TB"],N=0,R=h;R>=1024&&N0?1:0)+" "+E[N]}e.humanBytes=a;function c(h){if(!h)return"\u2014";var E=Math.floor(h/86400),N=Math.floor(h%86400/3600),R=Math.floor(h%3600/60);return E>0?E+"d "+(N<10?"0":"")+N+"h":N>0?N+"h "+(R<10?"0":"")+R+"m":R+"m"}e.humanDuration=c;function f(h){return h==null?"\u2014":h>=1e6?(h/1e6).toFixed(1)+"M":h>=1e3?(h/1e3).toFixed(1)+"K":String(h)}e.humanNum=f,e.queueTotal=function(h){return h?(h.waiting||0)+(h.active||0)+(h.delayed||0)+(h.failed||0):0},e.statusCount=function(h){if(!e.data||!e.data.repos)return 0;for(var E=e.data.repos.statusBreakdown||[],N=0;N=0;H--){var q=new Date(N.getTime()-H*864e5),z=q.toISOString().slice(0,10);V.push(R[z]||{date:q.toISOString(),_empty:!0,dailyPageViews:0,dailyRepositories:0,dailyUsers:0,nbUsers:0})}return V}var m={};e.historyMax=function(h){return m[h]||0},e.historyBarH=function(h,E){return!h||!m[E]?0:Math.max(1,Math.round(h[E]/m[E]*140))},e.historyLabel=function(h){if(!h||!h.date)return"";var E=new Date(h.date);return E.getUTCMonth()+1+"/"+E.getUTCDate()};function C(){e.loadPerformance(),e.loadCache(),t.get("/api/admin/overview").then(function(h){h.data.history=g(h.data.history),h.data.daily={today:b(h.data.history)},h.data.history=k(h.data.history,30),h.data.daily={today:b(h.data.history)},e.data=h.data,e.loading=!1,e.error=null,m={},(h.data.history||[]).forEach(function(E){["dailyPageViews","dailyRepositories","dailyUsers","nbUsers"].forEach(function(N){(!m[N]||E[N]>m[N])&&(m[N]=E[N])})})},function(h){e.loading=!1,e.error=h.data&&h.data.error||"Failed to load overview"})}C();var A=r(C,3e4);e.on("dispose",function(){r.cancel(A)})};var fl=[{path:"/connections",template:"partials/connections.htm",title:"GitHub connections \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>ol(e,t.http)},{path:"/signin",template:"partials/signin.htm",title:"Sign in \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>rl(e,t.http)},{path:"/",template:"partials/home.htm",title:"Anonymous GitHub \u2013 Share the code, not the author",preserveExplorer:!1,setup:(e,t)=>Xa(e,t.http,t.location,t.window,t.timeout)},{path:"/dashboard",template:"partials/dashboard.htm",title:"Your anonymizations \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Za(e,t.http,t.location,t.promises,t.window,t.quotaService)},{path:"/pr-dashboard",redirect:"/dashboard"},{path:"/anonymize/:repoId?",template:"partials/anonymize.htm",title:"New anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>io(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/pull-request-anonymize/:pullRequestId?",template:"partials/anonymize.htm",title:"Anonymize a pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>io(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/gist-anonymize/:gistId?",template:"partials/anonymize.htm",title:"Anonymize a gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>io(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/status/:repoId",template:"partials/status.htm",title:"Repository status \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>xa(e,t.http,t.params)},{path:"/conferences",template:"partials/conferences.htm",title:"Your conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>nl(e,t.http,t.location)},{path:"/conference/new",template:"partials/newConference.htm",title:"New conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>cr(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId/edit",template:"partials/newConference.htm",title:"Edit conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>cr(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId",template:"partials/conference.htm",title:"Conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>sl(e,t.http,t.location,t.params)},{path:"/faq",template:"partials/faq.htm",title:"FAQ \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ya(e,t.http)},{path:"/profile",template:"partials/profile.htm",title:"Your settings \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ja(e,t.http,t.translate,t.timeout,t.quotaService)},{path:"/claim",template:"partials/claim.htm",title:"Claim an anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Qa(e,t.http,t.location)},{path:"/pr/:pullRequestId/:path(.*)*",template:"partials/pullRequest.htm",title:"Anonymous pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>el(e,t.http,t.location,t.params,t.html)},{path:"/gist/:gistId/:path(.*)*",template:"partials/gist.htm",title:"Anonymous gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>tl(e,t.http,t.location,t.params,t.html)},{path:"/r/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>ur(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/repository/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>ur(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/admin/",template:"partials/admin/overview.htm",title:"Admin \xB7 Overview \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>pl(e,t.http,t.location,t.interval)},{path:"/admin/repositories",template:"partials/admin/repositories.htm",title:"Admin \xB7 Repositories \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>il(e,t.http,t.location)},{path:"/admin/users",template:"partials/admin/users.htm",title:"Admin \xB7 Users \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>al(e,t.http,t.location)},{path:"/admin/users/:username",template:"partials/admin/user.htm",title:"Admin \xB7 User details \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>ll(e,t.http,t.location,t.params)},{path:"/admin/conferences",template:"partials/admin/conferences.htm",title:"Admin \xB7 Conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>dl(e,t.http,t.location)},{path:"/admin/queues",template:"partials/admin/queues.htm",title:"Admin \xB7 Queues \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>ul(e,t.http,t.location,t.interval,t.timeout)},{path:"/admin/errors",template:"partials/admin/errors.htm",title:"Admin \xB7 Errors \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>cl(e,t.http,t.location,t.interval)},{path:"/404",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",preserveExplorer:!1,setup:()=>{}},{path:"/:pathMatch(.*)*",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",setup:()=>{}}];var yp={class:"container paper-page connections-page"},gp={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},bp={key:1,role:"status"},wp=["disabled"],kp={key:3},Cp={class:"connections-grid"},Ep={key:0},Sp={class:"connection-title"},Np={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},_p={class:"connection-actions"},Dp={key:0,class:"btn btn-ink",target:"_self",href:"/github/app/install"},Rp=["disabled"],Tp={key:1,class:"connection-installations"},Op={key:0},Ap=["href"],Ip={class:"sr-only"},Pp={class:"connection-title"},Vp={key:0,target:"_self",href:"/github/login",class:"btn btn-outline-ink"},Mp={key:1,class:"connection-revoke"},qp={key:0},Lp=["disabled"],$p={class:"connection-resources"},Up={class:"connection-title"},Fp={class:"connection-count"},zp={key:0,class:"connection-empty"},Hp={class:"connection-resource-name"},Bp={key:0,class:"connection-resource-actions"},jp=["disabled","onClick"],Gp=["disabled","onClick"],Wp={key:1,class:"connection-help",role:"status"},Kp=["disabled","onClick"];function ml(e,t){return l(),d("div",yp,[t[22]||(t[22]=fe('
My work \xA0/\xA0 GitHub connections

GitHub connections

Manage how GitHub shares your code. Your anonymizations and URLs stay the same.

',2)),e.connectionError?(l(),d("p",gp,u(e.connectionError),1)):p("v-if",!0),!e.connections&&!e.connectionError?(l(),d("p",bp,"Loading your connections\u2026")):p("v-if",!0),!e.connections&&e.connectionError?(l(),d("button",{key:2,class:"btn btn-outline-ink",disabled:e.busy,onClick:t[0]||(t[0]=s=>e.loadConnections())},"Try again",8,wp)):p("v-if",!0),e.connections?(l(),d("div",kp,[n("div",Cp,[e.connections.appEnabled?(l(),d("section",Ep,[t[10]||(t[10]=n("div",{class:"connection-top"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",{class:"connection-badge"},"Recommended")],-1)),n("div",Sp,[t[3]||(t[3]=n("h2",null,"GitHub App",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.appConnected&&!e.connections.appError}])},u(e.connections.appError?"Needs attention":e.connections.appConnected?"Connected":"Not connected"),3)]),t[11]||(t[11]=n("p",null,"Read-only access to gists and the repositories you choose.",-1)),e.connections.appError?(l(),d("p",Np,u(e.connections.appError)+". Reconnect to restore access.",1)):p("v-if",!0),n("div",_p,[e.connections.appConnected&&!e.connections.appError?(l(),d("a",Dp,[...t[4]||(t[4]=[y("Manage repository access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):p("v-if",!0),n("a",{class:T(e.connections.appConnected&&!e.connections.appError?"connection-link":"btn btn-ink"),target:"_self",href:"/github/app/login"},u(e.connections.appConnected?"Reconnect account":"Connect GitHub account"),3),e.connections.appConnected?(l(),d("button",{key:1,class:"connection-link connection-refresh",title:"Refresh access",disabled:e.busy,onClick:t[1]||(t[1]=s=>e.loadConnections())},[...t[5]||(t[5]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),n("span",{class:"sr-only"},"Refresh access",-1)])],8,Rp)):p("v-if",!0)]),t[12]||(t[12]=n("p",{class:"connection-help"},"Choose repositories on GitHub. Organization access may need an administrator's approval.",-1)),e.connections.installations?.length?(l(),d("ul",Tp,[(l(!0),d(Y,null,ie(e.connections.installations,s=>(l(),d("li",{key:s.id},[n("div",null,[t[6]||(t[6]=n("span",{class:"connection-label"},"Installed on",-1)),t[7]||(t[7]=y()),n("strong",null,u(s.account),1),s.suspended?(l(),d("span",Op," \xB7 Suspended")):p("v-if",!0)]),e.connections.installations.length>1?(l(),d("a",{key:0,target:"_self",href:"/github/app/install?installationId="+s.id},[t[8]||(t[8]=y("Manage access ",-1)),n("span",Ip,"for "+u(s.account),1),t[9]||(t[9]=y(" \u2192",-1))],8,Ap)):p("v-if",!0)]))),128))])):p("v-if",!0)])):p("v-if",!0),n("section",null,[t[15]||(t[15]=n("div",{class:"connection-top"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),n("span",{class:"connection-badge connection-badge-muted"},"Legacy")],-1)),n("div",Pp,[t[13]||(t[13]=n("h2",null,"GitHub OAuth",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.oauthConnected}])},u(e.connections.oauthConnected?"Connected":"Not connected"),3)]),t[16]||(t[16]=n("p",null,"For existing OAuth anonymizations.",-1)),t[17]||(t[17]=n("p",{class:"connection-help"},"This connection uses GitHub's broader repository permissions. Existing work keeps using it until you switch below.",-1)),e.connections.oauthEnabled?(l(),d("a",Vp,u(e.connections.oauthConnected?"Reconnect OAuth":"Connect legacy OAuth"),1)):p("v-if",!0),e.connections.oauthConnected?(l(),d("div",Mp,[e.connections.gistCount?(l(),d("p",qp,u(e.connections.gistCount)+" gist(s) use your GitHub App connection when available.",1)):p("v-if",!0),t[14]||(t[14]=n("p",null,"Switch all dependent repositories before revoking access. Gists can use your GitHub App connection.",-1)),e.connections.appConnected?(l(),d("button",{key:1,class:"btn btn-sm btn-outline-danger connection-danger",disabled:e.busy||e.connections.resources.some(s=>s.connection==="oauth"),onClick:t[2]||(t[2]=s=>e.disconnectOAuth())},"Revoke OAuth access",8,Lp)):p("v-if",!0)])):p("v-if",!0)])]),n("section",$p,[n("div",Up,[t[18]||(t[18]=n("h2",null,"Repository connections",-1)),n("span",Fp,u(e.connections.resources?.length||0)+" "+u((e.connections.resources?.length||0)===1?"resource":"resources"),1)]),t[20]||(t[20]=n("p",null,"Check access, then switch each resource to the GitHub App. After reinstalling the App, reconnect existing resources here to keep their anonymous URLs and published snapshots.",-1)),e.connections.resources?.length?p("v-if",!0):(l(),d("div",zp,[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("div",null,[n("h3",null,"No repository connections yet"),n("p",null,"Your repositories and pull requests will appear here once you anonymize them.")],-1),n("a",{class:"connection-link",href:"/anonymize"},"New anonymization \u2192",-1)])])),(l(!0),d(Y,null,ie(e.connections.resources,s=>(l(),d("div",{class:"connection-resource",key:s.type+s.id},[n("div",Hp,[n("strong",null,u(s.name||s.id),1),n("small",null,u(s.type)+" \xB7 "+u(s.id),1)]),n("span",{class:T(["connection-badge",{"connection-badge-muted":s.connection==="oauth"}])},u(s.connection==="github-app"?"Read-only App":"Legacy OAuth"),3),!["archived","removed","preparing","queue","removing","expiring"].includes(s.status)&&(s.status!=="download"||s.type==="pull-request"&&(!s.statusDate||new Date(s.statusDate).getTime()<=Date.now()-3e5))&&e.connections.appEnabled&&e.connections.appConnected?(l(),d("div",Bp,[n("button",{class:"btn btn-outline-ink",disabled:e.busy,onClick:r=>e.changeConnection(s,"github-app",!0)},"Check read-only access",8,jp),s.eligible?(l(),d("button",{key:0,class:"btn btn-ink",disabled:e.busy,onClick:r=>e.changeConnection(s,"github-app",!1)},u(s.connection==="github-app"?"Reconnect read-only access":"Switch to read-only access"),9,Gp)):p("v-if",!0),s.eligible===!1?(l(),d("span",Wp,"Access unavailable. Allow this repository on GitHub, then check again.")):p("v-if",!0)])):p("v-if",!0),!["archived","removed","preparing","queue","removing","expiring"].includes(s.status)&&(s.status!=="download"||s.type==="pull-request"&&(!s.statusDate||new Date(s.statusDate).getTime()<=Date.now()-3e5))&&s.connection==="github-app"&&e.connections.oauthConnected?(l(),d("button",{key:1,class:"connection-link",disabled:e.busy,onClick:r=>e.changeConnection(s,"oauth",!1)},"Use OAuth",8,Kp)):p("v-if",!0)]))),128)),t[21]||(t[21]=n("p",{class:"connection-footnote"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y(" Removing access stops new fetches from GitHub. Published content keeps its current expiration and removal settings.")],-1))])])):p("v-if",!0)])}var Yp={class:"container paper-page auth-page"},Jp={class:"auth-layout"},Qp={class:"auth-options"},Xp={key:0},Zp={key:0,class:"btn btn-ink auth-continue",target:"_self",href:"/github/login?recover=1"},xp={key:1},ef={key:1},tf={key:2,class:"auth-legacy"},nf={key:3,role:"status"};function hl(e,t){return l(),d("div",Yp,[t[5]||(t[5]=n("a",{class:"auth-back",href:"/"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-arrow-left"})]),y(" Anonymous GitHub")],-1)),n("div",Jp,[t[4]||(t[4]=fe('
Your research, ready for review

Your code.
Your identity,
protected.
Sign in to GitHub

Sign in to create and manage your anonymizations.

',1)),n("div",Qp,[e.accountRecovery?(l(),d("section",Xp,[t[0]||(t[0]=n("h2",null,"Verify your existing account",-1)),t[1]||(t[1]=n("p",null,"We found an existing account. Verify it with your previous GitHub connection to keep your anonymizations. Future sign-ins will use the GitHub App.",-1)),e.site_options?.GITHUB_OAUTH_ENABLED?(l(),d("a",Zp,"Verify with previous GitHub connection")):(l(),d("p",xp,"Account verification is currently unavailable. Please try again later."))])):p("v-if",!0),e.site_options?.GITHUB_APP_ENABLED&&!e.accountRecovery?(l(),d("section",ef,[...t[2]||(t[2]=[fe('
Read-only access

Continue with GitHub

Connect through the GitHub App with read-only repository access.

  • You choose which repositories to share
  • No permission to write to your code
Sign in with GitHub Your existing anonymizations and connections stay with your account.',6)])])):p("v-if",!0),!e.site_options?.GITHUB_APP_ENABLED&&e.site_options?.GITHUB_OAUTH_ENABLED&&!e.accountRecovery?(l(),d("section",tf,[...t[3]||(t[3]=[n("div",{class:"connection-title"},[n("h2",null,"Continue with GitHub")],-1),n("p",null,"Sign in to access your account. GitHub OAuth includes write access to private repositories.",-1),n("a",{class:"connection-link",target:"_self",href:"/github/login"},[y("Sign in with GitHub "),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-arrow-right"})])],-1)])])):p("v-if",!0),e.site_options&&!e.site_options.GITHUB_APP_ENABLED&&!e.site_options.GITHUB_OAUTH_ENABLED?(l(),d("p",nf,"GitHub sign-in is currently unavailable. Please try again later.")):p("v-if",!0)])])])}var sf={class:"paper-empty"};function vl(e,t){return l(),d("div",sf,[...t[0]||(t[0]=[fe('
Error \xB7 404

This link
isn\u2019t here.

The anonymous mirror you\u2019re looking for has expired, been removed by its owner, or never existed. If you received this URL from an author, ask them to re-issue it.

',1)])])}var of={class:"container paper-page admin-page"},rf={class:"summary-total"},af=["aria-pressed"],lf={class:"count"},df=["aria-pressed"],uf={class:"count"},cf=["aria-pressed"],pf={class:"count"},ff=["aria-pressed"],mf={class:"count"},hf=["aria-pressed"],vf={class:"count"},yf={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},gf={class:"w-100 admin-filter-toolbar","aria-label":"Conferences","accept-charset":"UTF-8"},bf={class:"admin-filter-row"},wf={class:"search-wrap"},kf={type:"search",class:"form-control",placeholder:"Search conferences\u2026",autocomplete:"off"},Cf={key:0,class:"admin-search-hint"},Ef={key:1,class:"admin-filter-inline","aria-label":"Pagination"},Sf=["disabled"],Nf={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},_f=["disabled"],Df={key:0,class:"admin-filter-row"},Rf={class:"admin-active-chips"},Tf={class:"key"},Of=["onClick"],Af={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},If={key:0,class:"paper-table-head",role:"row"},Pf={role:"columnheader"},Vf={role:"columnheader"},Mf={role:"columnheader"},qf={class:"paper-table-row",role:"row"},Lf={class:"cell-anon",role:"cell"},$f={class:"anon-text"},Uf=["textContent","href"],Ff={class:"anon-sub"},zf={class:"cell-status",role:"cell"},Hf=["textContent"],Bf={class:"cell-views num",role:"cell"},jf=["textContent","href"],Gf={class:"cell-expires",role:"cell"},Wf={class:"cell-actions",role:"cell"},Kf={class:"dropdown"},Yf={class:"dropdown-menu dropdown-menu-right"},Jf=["href"],Qf=["href"],Xf=["href"],Zf=["onClick"],xf={key:1,class:"paper-table-empty"},em={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},tm={style:{"font-size":"12px",color:"var(--ink-muted)"}},nm={key:0,class:"pagination-compact"},sm=["disabled"],om=["max"],rm=["disabled"],im={class:"admin-filter-inline"},am={class:"form-control form-control-sm"};function yl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",of,[t[48]||(t[48]=fe('
Admin \xA0/\xA0 Conferences

Conferences

',3)),n("div",{class:T(["admin-summary",{"is-empty":e.total===0}])},[n("span",rf,[y(u(e.total>=0?e.fmt.number(e.total):"\u2026")+" ",1),n("small",null,u(e.total===1?"conference":"conferences"),1)]),t[18]||(t[18]=n("span",{class:"summary-show-label"},"Show:",-1)),n("button",{type:"button",class:T(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=o=>{e.query.ready=!e.query.ready,e.query.page=1}),"aria-pressed":!!e.query?.ready},[t[13]||(t[13]=y("Ready ",-1)),n("span",lf,u(e.fmt?.number(e.statusCountFor("ready"))),1)],10,af),n("button",{type:"button",class:T(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=o=>{e.query.preparing=!e.query.preparing,e.query.page=1}),"aria-pressed":!!e.query?.preparing},[t[14]||(t[14]=y("Preparing ",-1)),n("span",uf,u(e.fmt?.number(e.statusCountFor("preparing"))),1)],10,df),n("button",{type:"button",class:T(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=o=>{e.query.error=!e.query.error,e.query.page=1}),"aria-pressed":!!e.query?.error},[t[15]||(t[15]=y("Errored ",-1)),n("span",pf,u(e.fmt?.number(e.statusCountFor("error"))),1)],10,cf),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=o=>{e.query.expired=!e.query.expired,e.query.page=1}),"aria-pressed":!!e.query?.expired},[t[16]||(t[16]=y("Expired ",-1)),n("span",mf,u(e.fmt?.number(e.statusCountFor("expired"))),1)],10,ff),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.removed}]),title:"Toggle removed filter",onClick:t[4]||(t[4]=o=>{e.query.removed=!e.query.removed,e.query.page=1}),"aria-pressed":!!e.query?.removed},[t[17]||(t[17]=y("Removed ",-1)),n("span",vf,u(e.fmt?.number(e.statusCountFor("removed"))),1)],10,hf)],2),e.fetchError?(l(),d("div",yf,[t[19]||(t[19]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fetchError),1)])):p("v-if",!0),D((l(),d("form",gf,[n("div",bf,[n("div",wf,[D(n("input",kf,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.query?.search?p("v-if",!0):(l(),d("span",Cf,"/"))]),t[23]||(t[23]=n("span",{class:"admin-filter-spacer"},null,-1)),e.total>0?(l(),d("button",{key:0,class:"btn btn-sm",type:"button",onClick:t[5]||(t[5]=o=>e.exportCsv())},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])])):p("v-if",!0),e.totalPage>1?(l(),d("span",Ef,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[6]||(t[6]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,Sf),n("span",Nf,u(e.query?.page)+"/"+u(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[7]||(t[7]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,_f)])):p("v-if",!0)]),e.chips?.length?(l(),d("div",Df,[n("div",Rf,[(l(!0),d(Y,null,ie(e.chips,(o,i)=>(l(),d("span",{class:"admin-active-chip",key:o?.key},[n("span",Tf,u(o?.label),1),n("span",null,u(o?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(o.key),"aria-label":"Clear filter"},[...t[24]||(t[24]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,Of)]))),128))])])):p("v-if",!0)])),[[r,e.viewState]]),n("div",Af,[e.total!==0?(l(),d("div",If,[n("div",Pf,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="name"}]),onClick:t[8]||(t[8]=o=>e.sortBy("name"))},[t[26]||(t[26]=y("Conference ",-1)),e.sortIcon("name")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("name")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[25]||(t[25]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Vf,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[9]||(t[9]=o=>e.sortBy("status"))},[t[28]||(t[28]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[27]||(t[27]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[31]||(t[31]=n("div",{role:"columnheader",class:"num"},"Repos",-1)),n("div",Mf,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="startDate"}]),onClick:t[10]||(t[10]=o=>e.sortBy("startDate"))},[t[30]||(t[30]=y("Window ",-1)),e.sortIcon("startDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("startDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[29]||(t[29]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[32]||(t[32]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))])):p("v-if",!0),(l(!0),d(Y,null,ie(e.filteredConferences,(o,i)=>(l(),d("div",qf,[n("div",Lf,[t[34]||(t[34]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",$f,[n("a",{class:"repo-name",textContent:u(o?.name),href:e.safeUrl("/conference/"+o?.conferenceID)},null,8,Uf),n("div",Ff,[n("span",null,u(o?.conferenceID),1),t[33]||(t[33]=y("\xA0\xB7\xA0",-1)),n("span",null,u(e.fmt?.number(o?.price||0))+" \u20AC",1)])])]),n("div",zf,[n("span",{class:T(["status-dot",{"status-removed":o?.status=="removed"||o?.status=="expired","status-ready":o?.status=="ready","status-error":o?.status=="error","status-preparing":o?.status=="preparing"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,Hf)]),n("div",Bf,[t[35]||(t[35]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:"Show repositories in this conference",textContent:u(e.fmt?.number(o?.repositories?.length||0)),href:e.safeUrl("/admin/?conference="+o?.conferenceID)},null,8,jf)]),n("div",Gf,[t[36]||(t[36]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),y(" "+u(e.fmt?.date(o?.startDate))+" \u2013 "+u(e.fmt?.date(o?.endDate)),1)]),n("div",Wf,[n("div",Kf,[t[42]||(t[42]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",Yf,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/edit")},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit",-1)])],8,Jf),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/")},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View",-1)])],8,Qf),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/?conference="+o?.conferenceID)},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),y(" View repositories",-1)])],8,Xf),t[41]||(t[41]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.removeConference(o),["prevent"])},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,Zf),[[Q,o?.status!="removed"]])])])])]))),256)),e.filteredConferences?.length==0?(l(),d("div",xf,[t[43]||(t[43]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),n("span",null,u(e.total?"No conferences match the current filters.":"No conferences yet."),1)])):p("v-if",!0)]),n("div",em,[n("span",tm,u(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",nm,[n("button",{class:"btn btn-sm",onClick:t[11]||(t[11]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),y(" Previous",-1)])],8,sm),D(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,om),[[s,{state:e.viewState,set:o=>{e.query.page=o},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+u(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[45]||(t[45]=[y("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,rm)])):p("v-if",!0),n("span",im,[t[47]||(t[47]=n("label",null,"Per page",-1)),D((l(),d("select",am,[...t[46]||(t[46]=[fe('',5)])])),[[s,{state:e.viewState,set:o=>{e.query.limit=o},value:e.query?.limit,form:null,options:{}}]])])])])}var lm={class:"container paper-page admin-page errors-page"},dm={class:"errors-header"},um={class:"errors-actions"},cm={class:"kpi-grid"},pm={class:"kpi-card"},fm={class:"kpi-value"},mm={key:0},hm={key:1},vm={key:2},ym=["aria-pressed"],gm={class:"kpi-value"},bm={class:"kpi-sub"},wm=["aria-pressed"],km={class:"kpi-value"},Cm={class:"kpi-sub"},Em=["aria-pressed"],Sm={class:"kpi-value"},Nm={class:"kpi-sub"},_m={class:"kpi-value"},Dm={class:"kpi-sub"},Rm={key:0,class:"dropped-warn"},Tm={class:"volume-chart"},Om={class:"volume-head"},Am={class:"volume-legend"},Im={key:0},Pm={key:1},Vm={key:2},Mm={class:"volume-bars"},qm=["title"],Lm={class:"errors-toolbar","aria-label":"Error filters"},$m={class:"seg-tabs"},Um={class:"search-wrap"},Fm={type:"search",class:"form-control",placeholder:"Search code, module, status\u2026",title:"Syntax: code:repo_not_found module:route status:>=400",autocomplete:"off"},zm={key:0,class:"filter-count"},Hm={class:"select-wrap"},Bm={class:"form-control form-control-sm"},jm={class:"select-wrap"},Gm={class:"form-control form-control-sm"},Wm={class:"autoref"},Km={type:"checkbox"},Ym={key:0,class:"admin-empty"},Jm={key:1,class:"errors-pager"},Qm={key:2,class:"errors-list"},Xm=["onClick"],Zm={class:"col-when"},xm={class:"when-rel"},eh={class:"when-abs"},th={class:"col-sev"},nh={class:"sev-label"},sh={class:"col-mod"},oh={class:"pill pill-module"},rh={class:"col-msg"},ih={class:"msg-code"},ah={key:0,class:"msg-context"},lh={key:1,class:"msg-detail"},dh={key:2,class:"msg-url"},uh={class:"col-count"},ch={key:0,class:"count-pill"},ph={key:1,class:"count-pill count-pill-muted"},fh={class:"col-status"},mh=["title"],hh={key:0,class:"errors-row-detail"},vh={class:"detail-tabs"},yh=["onClick"],gh=["onClick"],bh=["onClick"],wh={class:"detail-body"},kh={class:"detail-main"},Ch={key:0},Eh={key:1,class:"stack-pre"},Sh={key:2,class:"related-list"},Nh={class:"when-abs"},_h={class:"msg-url"},Dh={class:"detail-actions"},Rh=["onClick"],Th=["onClick"],Oh={key:0,class:"copy-hint"},Ah={class:"detail-aside"},Ih={class:"aside-block"},Ph=["title"],Vh={class:"aside-block"},Mh=["title"],qh={class:"aside-block"},Lh={class:"aside-value"},$h={key:0,class:"aside-sub"},Uh={key:0,class:"aside-block"},Fh=["href"],zh={key:1,class:"aside-block"},Hh={class:"aside-value mono"};function gl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",lm,[t[42]||(t[42]=n("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),n("span",{class:"here"},"Errors")],-1)),n("header",dm,[t[16]||(t[16]=n("h1",{class:"paper-page-title"},"Errors",-1)),n("div",um,[n("button",{class:"btn btn-sm",type:"button",onClick:t[0]||(t[0]=o=>e.exportCsv())},[...t[14]||(t[14]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export CSV",-1)])]),n("button",{class:"btn btn-sm btn-outline-danger",type:"button",onClick:t[1]||(t[1]=o=>e.clearAll())},[...t[15]||(t[15]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Clear all",-1)])])])]),t[43]||(t[43]=fe('',1)),n("section",cm,[n("div",pm,[t[17]||(t[17]=n("div",{class:"kpi-label"},"Occurrences \xB7 24h",-1)),n("div",fm,u(e.fmt?.number(e.stats?.last24h??0)),1),n("div",{class:T(["kpi-sub",{up:e.stats?.delta>0,down:e.stats?.delta<0}])},[e.stats?.prev24h>=20?(l(),d("span",mm,u((e.stats?.last24h??0)-(e.stats?.prev24h??0)>=0?"+":"")+u(Math.round(((e.stats?.last24h??0)-(e.stats?.prev24h??0))/e.stats.prev24h*100))+"% vs yesterday",1)):e.stats?.prev24h!==void 0?(l(),d("span",hm,u(e.fmt?.number(e.stats?.prev24h??0))+" in prior 24h",1)):p("v-if",!0),e.stats?.prev24h?p("v-if",!0):(l(),d("span",vm,"no prior baseline"))],2)]),n("div",{class:T(["kpi-card kpi-error kpi-filter",{"is-selected":e.query?.bucket==="error"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="error",title:"Show only 5xx errors",onClick:t[2]||(t[2]=o=>e.setBucket(e.query?.bucket==="error"?"":"error")),onKeydown:t[3]||(t[3]=yt(ue(o=>e.setBucket(e.query?.bucket==="error"?"":"error"),["prevent"]),["enter"]))},[t[18]||(t[18]=n("div",{class:"kpi-label"},"Errors (5xx)",-1)),n("div",gm,u(e.fmt?.number(e.stats?.severity?.error??0)),1),n("div",bm,u(e.stats?.unique?.error)+" unique",1)],42,ym),n("div",{class:T(["kpi-card kpi-warn kpi-filter",{"is-selected":e.query?.bucket==="warn"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="warn",title:"Show only 4xx responses",onClick:t[4]||(t[4]=o=>e.setBucket(e.query?.bucket==="warn"?"":"warn")),onKeydown:t[5]||(t[5]=yt(ue(o=>e.setBucket(e.query?.bucket==="warn"?"":"warn"),["prevent"]),["enter"]))},[t[19]||(t[19]=n("div",{class:"kpi-label"},"4xx responses",-1)),n("div",km,u(e.fmt?.number(e.stats?.severity?.warn??0)),1),n("div",Cm,u(e.stats?.unique?.warn)+" unique",1)],42,wm),n("div",{class:T(["kpi-card kpi-info kpi-filter",{"is-selected":e.query?.bucket==="info"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="info",title:"Show only info events",onClick:t[6]||(t[6]=o=>e.setBucket(e.query?.bucket==="info"?"":"info")),onKeydown:t[7]||(t[7]=yt(ue(o=>e.setBucket(e.query?.bucket==="info"?"":"info"),["prevent"]),["enter"]))},[t[20]||(t[20]=n("div",{class:"kpi-label"},"Info (auth, 404)",-1)),n("div",Sm,u(e.fmt?.number(e.stats?.severity?.info??0)),1),n("div",Nm,u(e.stats?.unique?.info)+" unique",1)],42,Em),n("div",{class:T(["kpi-card",{"kpi-error":e.stats?.dropped>0}])},[t[21]||(t[21]=n("div",{class:"kpi-label"},"Distinct errors stored",-1)),n("div",_m,u(e.fmt?.number(e.total)),1),n("div",Dm,[y(" all time \xB7 cap "+u(e.fmt?.number(e.cap))+" \xB7 "+u(e.available?"live":"redis off")+" ",1),e.stats?.dropped>0?(l(),d("span",Rm," \xB7 "+u(e.stats?.dropped)+" dropped",1)):p("v-if",!0)])],2)]),n("section",Tm,[n("div",Om,[t[25]||(t[25]=n("span",{class:"volume-title"},"Volume \xB7 24h \xB7 1h buckets",-1)),n("span",Am,[e.stats?.severity?.error?(l(),d("span",Im,[...t[22]||(t[22]=[n("span",{class:"dot dot-error"},null,-1),y("error",-1)])])):p("v-if",!0),e.stats?.severity?.warn?(l(),d("span",Pm,[...t[23]||(t[23]=[n("span",{class:"dot dot-warn"},null,-1),y("warn",-1)])])):p("v-if",!0),e.stats?.severity?.info?(l(),d("span",Vm,[...t[24]||(t[24]=[n("span",{class:"dot dot-info"},null,-1),y("info",-1)])])):p("v-if",!0)])]),n("div",Mm,[(l(!0),d(Y,null,ie(e.stats?.buckets,(o,i)=>(l(),d("div",{class:"volume-bar",key:i,title:e.bucketTitle(o)},[n("span",{class:"seg seg-error",style:Te({height:e.barPx(o,"error")+"px"})},null,4),n("span",{class:"seg seg-warn",style:Te({height:e.barPx(o,"warn")+"px"})},null,4),n("span",{class:"seg seg-info",style:Te({height:e.barPx(o,"info")+"px"})},null,4)],8,qm))),128))]),t[26]||(t[26]=n("div",{class:"volume-axis","aria-hidden":"true"},[n("span",null,"24h ago"),n("span",null,"12h ago"),n("span",null,"now")],-1))]),D((l(),d("form",Lm,[n("div",$m,[n("button",{type:"button",class:T({active:e.query?.bucket===""}),onClick:t[8]||(t[8]=o=>e.setBucket(""))},"All",2),n("button",{type:"button",class:T({active:e.query?.bucket==="error"}),onClick:t[9]||(t[9]=o=>e.setBucket("error"))},"5xx",2),n("button",{type:"button",class:T({active:e.query?.bucket==="warn"}),onClick:t[10]||(t[10]=o=>e.setBucket("warn"))},"4xx",2),n("button",{type:"button",class:T({active:e.query?.bucket==="info"}),onClick:t[11]||(t[11]=o=>e.setBucket("info"))},"Info",2)]),n("div",Um,[t[27]||(t[27]=n("svg",{class:"ui-icon search-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)),D(n("input",Fm,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.parsedFilterCount?(l(),d("span",zm,u(e.parsedFilterCount)+" filter"+u(e.parsedFilterCount>1?"s":""),1)):p("v-if",!0)]),n("div",Hm,[t[29]||(t[29]=n("label",null,"Sort",-1)),D((l(),d("select",Bm,[...t[28]||(t[28]=[n("option",{value:"recent"},"Most recent",-1),n("option",{value:"count"},"Most frequent",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.sort=o},value:e.query?.sort,form:null,options:{}}]])]),n("div",jm,[t[31]||(t[31]=n("label",null,"Group",-1)),D((l(),d("select",Gm,[...t[30]||(t[30]=[n("option",{value:""},"Off",-1),n("option",{value:"code"},"By code",-1),n("option",{value:"module"},"By module",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.group=o},value:e.query?.group,form:null,options:{}}]])]),n("label",Wm,[D(n("input",Km,null,512),[[s,{state:e.viewState,set:o=>{e.query.autoRefresh=o},value:e.query?.autoRefresh,form:null,options:{}}]]),t[32]||(t[32]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[12]||(t[12]=o=>e.refreshNow()),"aria-label":"Refresh"},[...t[33]||(t[33]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])),[[r,e.viewState]]),e.visible?.length?p("v-if",!0):(l(),d("div",Ym,"No errors captured.")),e.canLoadMore()&&e.visible?.length?(l(),d("div",Jm,[n("span",null,u(e.query?.group&&e.visible?.length!==e.entries?.length?e.fmt?.number(e.visible?.length)+(e.visible?.length===1?" group":" groups")+" from ":"")+u(e.fmt?.number(e.entries?.length))+" of "+u(e.fmt?.number(e.total))+" stored errors loaded",1),n("button",{class:"btn btn-sm",type:"button",onClick:t[13]||(t[13]=o=>e.loadMore())},"Load 250 older")])):p("v-if",!0),e.visible?.length?(l(),d("div",Qm,[t[41]||(t[41]=fe('
WhenSeverityModuleMessageTotalStatus
',1)),(l(!0),d(Y,null,ie(e.visible,(o,i)=>(l(),d("div",{class:T(["errors-row",{open:e.expanded[o?._key]}]),key:o?._key},[n("div",{class:"errors-row-main",onClick:a=>e.toggle(o)},[n("div",Zm,[n("div",xm,u(e.relTime(o?.ts)),1),n("div",eh,u(e.absTimeShort(o?.ts)),1)]),n("div",th,[n("span",{class:T(["sev-dot","sev-"+o?._bucket])},null,2),n("span",nh,u(e.fmt?.uppercase(o?._bucket)),1)]),n("div",sh,[n("span",oh,u(o?.module),1)]),n("div",rh,[n("strong",ih,u(o?.displayMessage),1),o?.displayContext&&o?.displayContext!==o?.displayMessage?(l(),d("span",ah,u(o?.displayContext),1)):p("v-if",!0),o?._detail?(l(),d("span",lh,u(o?._detail),1)):p("v-if",!0),o?._url?(l(),d("div",dh,u(o?._url),1)):p("v-if",!0)]),n("div",uh,[o?.count>1?(l(),d("span",ch,"\xD7"+u(o?.count),1)):p("v-if",!0),o?.count===1?(l(),d("span",ph,"\xD71")):p("v-if",!0)]),n("div",fh,[o?._status?(l(),d("span",{key:0,class:T(["status-pill",String(o?._status).match(/^[23]/)?"status-neutral":"status-"+o?._bucket]),title:String(o?._status).match(/^2/)&&o?._bucket==="warn"?"Client closed the connection":null},u(String(o?._status).match(/^2/)&&o?._bucket==="warn"?"\u2014":o?._status),11,mh)):p("v-if",!0)])],8,Xm),e.expanded[o?._key]?(l(),d("div",hh,[n("div",vh,[n("button",{type:"button",class:T({active:e.detailTab[o?._key]==="raw"||!e.detailTab[o?._key]}),onClick:a=>e.detailTab[o._key]="raw"},"Raw",10,yh),o?._stack?(l(),d("button",{key:0,type:"button",class:T({active:e.detailTab[o?._key]==="stack"}),onClick:a=>e.detailTab[o._key]="stack"},"Stack",10,gh)):p("v-if",!0),o?.count>1?(l(),d("button",{key:1,type:"button",class:T({active:e.detailTab[o?._key]==="related"}),onClick:a=>e.detailTab[o._key]="related"},"Related ("+u(o?.count)+")",11,bh)):p("v-if",!0)]),n("div",wh,[n("div",kh,[(e.detailTab[o?._key]||"raw")==="raw"?(l(),d("pre",Ch,u(o?._detailJson),1)):p("v-if",!0),e.detailTab[o?._key]==="stack"?(l(),d("pre",Eh,u(o?._stack),1)):p("v-if",!0),e.detailTab[o?._key]==="related"?(l(),d("div",Sh,[(l(!0),d(Y,null,ie(o?._related,(a,c)=>(l(),d("div",{class:"related-row",key:c},[n("span",Nh,u(e.absTimeShort(a?.ts)),1),n("span",_h,u(a?._url),1),a?._status?(l(),d("span",{key:0,class:T(["status-pill","status-"+a?._bucket])},u(a?._status),3)):p("v-if",!0)]))),128))])):p("v-if",!0),n("div",Dh,[n("button",{class:"btn btn-sm",type:"button",title:"Copy a curl that reproduces the request",onClick:a=>e.copyCurl(o)},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y(" Copy curl",-1)])],8,Rh),n("button",{class:"btn btn-sm",type:"button",onClick:a=>e.copyJson(o)},[...t[35]||(t[35]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-clipboard"})],-1),y(" Copy JSON",-1)])],8,Th),e.copyHint?(l(),d("span",Oh,u(e.copyHint),1)):p("v-if",!0)])]),n("aside",Ah,[n("div",Ih,[t[36]||(t[36]=n("div",{class:"aside-label"},"First seen",-1)),n("div",{class:"aside-value",title:e.absTime(o?._firstSeen)},u(e.relTime(o?._firstSeen)),9,Ph)]),n("div",Vh,[t[37]||(t[37]=n("div",{class:"aside-label"},"Last seen",-1)),n("div",{class:"aside-value",title:e.absTime(o?.ts)},u(e.relTime(o?.ts)),9,Mh)]),n("div",qh,[t[38]||(t[38]=n("div",{class:"aside-label"},"Occurrences",-1)),n("div",Lh,[y(u(o?.count),1),o?._lastHourCount?(l(),d("span",$h," \xB7 "+u(o?._lastHourCount)+" this hour",1)):p("v-if",!0)])]),o?._repoId?(l(),d("div",Uh,[t[39]||(t[39]=n("div",{class:"aside-label"},"Repository",-1)),n("a",{class:"aside-value",href:e.safeUrl("/r/"+o?._repoId)},u(o?._repoId),9,Fh)])):p("v-if",!0),o?._url?(l(),d("div",zh,[t[40]||(t[40]=n("div",{class:"aside-label"},"URL",-1)),n("div",Hh,u(o?._url),1)])):p("v-if",!0)])])])):p("v-if",!0)],2))),128))])):p("v-if",!0)])}var Bh={class:"container paper-page admin-page overview-page"},jh={key:0,class:"admin-empty"},Gh={key:1,class:"alert alert-danger",style:{margin:"12px 0"}},Wh={key:2},Kh={key:0,class:"ov-health",role:"status"},Yh={class:"ov-kpi-row"},Jh={class:"ov-kpi-card"},Qh={class:"ov-kpi-value"},Xh={class:"ov-kpi-sub"},Zh={class:"ov-kpi-card"},xh={class:"ov-kpi-sub"},ev={class:"ov-kpi-card"},tv={class:"ov-kpi-sub"},nv={class:"ov-kpi-card"},sv={class:"ov-kpi-sub"},ov={class:"ov-kpi-card"},rv={class:"ov-kpi-value"},iv={class:"ov-kpi-sub"},av={class:"ov-daily-row"},lv={class:"ov-daily-card"},dv={class:"ov-daily-value"},uv={class:"ov-daily-card"},cv={class:"ov-daily-value"},pv={class:"ov-daily-sub"},fv={class:"ov-daily-card"},mv={class:"ov-daily-value"},hv={class:"ov-chart-row"},vv={class:"ov-chart-card"},yv={class:"ov-chart-head"},gv={class:"ov-chart-legend"},bv={key:0,class:"ov-spark-bars"},wv=["data-tip","aria-label"],kv={key:1,class:"ov-spark-x"},Cv={class:"ov-chart-card"},Ev={class:"ov-chart-head"},Sv={class:"ov-chart-legend"},Nv={key:0,class:"ov-spark-bars"},_v=["data-tip","aria-label"],Dv={key:1,class:"ov-spark-x"},Rv={class:"ov-chart-card"},Tv={class:"ov-chart-head"},Ov={class:"ov-chart-legend"},Av={key:0,class:"ov-spark-bars"},Iv=["data-tip","aria-label"],Pv={key:1,class:"ov-spark-x"},Vv={class:"ov-chart-card"},Mv={class:"ov-chart-head"},qv={class:"ov-chart-legend"},Lv={key:0,class:"ov-spark-bars"},$v=["data-tip","aria-label"],Uv={key:1,class:"ov-spark-x"},Fv={class:"ov-triple-row"},zv={class:"ov-panel-card"},Hv={class:"ov-panel-head"},Bv={class:"ov-panel-meta"},jv={class:"ov-stacked-bar"},Gv={class:"ov-bar-legend"},Wv={href:"/admin/repositories",class:"ov-legend-item"},Kv={class:"ov-legend-n"},Yv={href:"/admin/repositories",class:"ov-legend-item"},Jv={class:"ov-legend-n"},Qv={href:"/admin/repositories",class:"ov-legend-item"},Xv={class:"ov-legend-n"},Zv={href:"/admin/repositories",class:"ov-legend-item"},xv={class:"ov-legend-n"},ey={href:"/admin/repositories",class:"ov-legend-item"},ty={class:"ov-legend-n"},ny={class:"ov-panel-card"},sy={class:"ov-panel-head"},oy={class:"ov-panel-meta"},ry={class:"ov-error-bars"},iy={class:"ov-ebar-row"},ay={class:"ov-ebar-track"},ly={class:"ov-ebar-n"},dy={class:"ov-ebar-row"},uy={class:"ov-ebar-track"},cy={class:"ov-ebar-n"},py={class:"ov-ebar-row"},fy={class:"ov-ebar-track"},my={class:"ov-ebar-n"},hy={key:0,class:"ov-panel-foot"},vy={href:"/admin/errors"},yy={class:"ov-panel-card"},gy={class:"ov-routes-table"},by={class:"ov-route-row",href:"/admin/queues"},wy={class:"ov-route-n"},ky={class:"ov-route-n"},Cy={class:"ov-route-row",href:"/admin/queues"},Ey={class:"ov-route-n"},Sy={class:"ov-route-n"},Ny={class:"ov-route-row",href:"/admin/queues"},_y={class:"ov-route-n"},Dy={class:"ov-route-n"},Ry={class:"ov-services-card"},Ty={class:"ov-services-head"},Oy={class:"ov-panel-meta"},Ay={class:"ov-services-grid"},Iy={class:"ov-svc"},Py={class:"ov-svc-info"},Vy={class:"ov-svc-meta"},My={class:"ov-svc-detail"},qy={class:"ov-svc"},Ly={class:"ov-svc-info"},$y={key:0,class:"ov-svc-meta"},Uy={key:1,class:"ov-svc-meta"},Fy={class:"ov-svc"},zy={class:"ov-svc-info"},Hy={key:0,class:"ov-svc-meta"},By={key:1,class:"ov-svc-meta"},jy={class:"ov-svc"},Gy={class:"ov-svc-info"},Wy={key:0,class:"ov-svc-meta"},Ky={key:1,class:"ov-svc-meta"},Yy={class:"ov-svc"},Jy={class:"ov-svc-info"},Qy={class:"ov-svc-meta"},Xy={class:"ov-panel-card ov-cache","aria-labelledby":"cache-heading"},Zy={class:"ov-panel-head ov-performance-head"},xy={class:"ov-performance-window"},eg={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},tg={key:1,class:"ov-performance-empty",role:"status"},ng={key:0,class:"ov-performance-note"},sg={key:1,class:"ov-performance-note"},og={key:2,class:"ov-performance-message ov-performance-warning",role:"status"},rg={key:3,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache storage budgets"},ig={class:"ov-metrics-table"},ag={scope:"row"},lg={key:4,class:"ov-performance-note"},dg={key:5,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache events and processing durations"},ug={class:"ov-metrics-table"},cg={scope:"row"},pg={key:6,class:"ov-performance-empty",role:"status"},fg={class:"ov-performance-note"},mg={class:"ov-panel-card ov-performance","aria-labelledby":"performance-heading"},hg={class:"ov-panel-head ov-performance-head"},vg={class:"ov-performance-window"},yg={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},gg={key:1,class:"ov-performance-empty",role:"status"},bg={key:2},wg={class:"paper-tabs ov-performance-tabs",role:"tablist","aria-label":"Performance metrics"},kg=["aria-selected","tabindex"],Cg=["aria-selected","tabindex"],Eg=["aria-selected","tabindex"],Sg={id:"performance-routes",role:"tabpanel","aria-labelledby":"performance-routes-tab"},Ng={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Route latency metrics, scroll for more columns"},_g={class:"ov-metrics-table"},Dg={scope:"row",class:"ov-metric-name"},Rg={class:"num"},Tg={class:"num"},Og={class:"num"},Ag={class:"num"},Ig={class:"num"},Pg={key:1,class:"ov-performance-empty"},Vg={id:"performance-processes",role:"tabpanel","aria-labelledby":"performance-processes-tab"},Mg={key:0,class:"ov-performance-message ov-performance-warning",role:"status"},qg={key:1,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Process resource metrics, scroll for more columns"},Lg={class:"ov-metrics-table"},$g={scope:"row",class:"ov-metric-name"},Ug={key:0,class:"ov-metric-warn"},Fg={class:"num"},zg={class:"num"},Hg={class:"num"},Bg={class:"num"},jg={class:"num"},Gg={class:"num"},Wg={class:"num"},Kg={class:"num"},Yg={id:"performance-stages",role:"tabpanel","aria-labelledby":"performance-stages-tab"},Jg={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Work stage metrics, scroll for more columns"},Qg={class:"ov-metrics-table"},Xg={scope:"row",class:"ov-metric-name"},Zg={class:"num"},xg={class:"num"},eb={class:"num"},tb={key:1,class:"ov-performance-empty"};function bl(e,t){return l(),d("div",Bh,[t[84]||(t[84]=fe('
Admin \xA0/\xA0 Overview

Overview

Live \xB7 refreshes every 30s
',3)),e.loading?(l(),d("div",jh,"Loading overview\u2026")):p("v-if",!0),e.error?(l(),d("div",Gh,[t[13]||(t[13]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.error),1)])):p("v-if",!0),e.data?(l(),d("div",Wh,[e.data?.system?.memPercent>90||e.data?.system?.diskPercent>90?(l(),d("div",Kh,[t[15]||(t[15]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("span",null,[t[14]||(t[14]=n("b",null,"Server needs attention.",-1)),y(" "+u([e.data?.system?.memPercent>85?"Memory at "+Math.round(e.data.system.memPercent)+"%.":"",e.data?.system?.diskPercent>85?"Disk at "+Math.round(e.data.system.diskPercent)+"%.":""].filter(Boolean).join(" "))+" New anonymizations may fail until it drops.",1)])])):p("v-if",!0),p(" \u2500\u2500 Top KPI row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Yh,[n("div",Jh,[t[16]||(t[16]=n("div",{class:"ov-kpi-label"},"Live repositories",-1)),n("div",Qh,u(e.humanNum((e.data?.repos?.statusBreakdown||[]).filter(s=>s._id!=="removed"&&s._id!=="expired").reduce((s,r)=>s+(r.count||0),0))),1),n("div",Xh,u(e.humanNum(((e.data?.repos?.statusBreakdown||[]).find(s=>s._id==="removed")||{}).count||0))+" removed \xB7 "+u(e.humanNum(e.data?.repos?.total))+" total",1)]),n("div",Zh,[t[17]||(t[17]=n("div",{class:"ov-kpi-label"},"CPU",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.cpuPercent>80}])},u(e.data?.system?.cpuPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.cpuPercent>80,crit:e.data?.system?.cpuPercent>90}])},[n("span",{style:Te({width:Math.min(100,e.data?.system?.cpuPercent||0)+"%"})},null,4)],2),n("div",xh,u(e.data?.system?.cpuCount)+" cores \xB7 load "+u(e.data?.system?.loadAvg?.[0]?.toFixed(1)),1)]),n("div",ev,[t[18]||(t[18]=n("div",{class:"ov-kpi-label"},"Memory",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.memPercent>85}])},u(e.data?.system?.memPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.memPercent>85,crit:e.data?.system?.memPercent>90}])},[n("span",{style:Te({width:Math.min(100,e.data?.system?.memPercent||0)+"%"})},null,4)],2),n("div",tv,[e.data?.system?.memPercent>85?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.memPercent>90}])},u(e.data?.system?.memPercent>90?"Critical":"High")+" \xB7 ",3)):p("v-if",!0),y(u(e.humanBytes(e.data?.system?.memUsed).replace(/\s*GB$/,""))+" / "+u(e.humanBytes(e.data?.system?.memTotal)),1)])]),n("div",nv,[t[19]||(t[19]=n("div",{class:"ov-kpi-label"},"Disk",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.diskPercent>85}])},u(e.data?.system?.diskPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.diskPercent>85,crit:e.data?.system?.diskPercent>90}])},[n("span",{style:Te({width:Math.min(100,e.data?.system?.diskPercent||0)+"%"})},null,4)],2),n("div",sv,[e.data?.system?.diskPercent>85?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.diskPercent>90}])},u(e.data?.system?.diskPercent>90?"Critical":"High")+" \xB7 ",3)):p("v-if",!0),y(u(e.humanBytes(e.data?.system?.diskUsed).replace(/\s*GB$/,""))+" / "+u(e.humanBytes(e.data?.system?.diskTotal)),1),e.data?.system?.diskMount&&e.data.system.diskMount!=="/"?(l(),d(Y,{key:1},[y(" \xB7 "+u(e.data?.system?.diskMount),1)],64)):p("v-if",!0)])]),n("div",ov,[t[20]||(t[20]=n("div",{class:"ov-kpi-label"},"Uptime",-1)),n("div",rv,u(e.humanDuration(e.data?.system?.uptime)),1),n("div",iv,u(e.data?.system?.nodeVersion)+" \xB7 "+u(e.data?.system?.platform),1)])]),p(" \u2500\u2500 Daily activity highlights \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",av,[n("div",lv,[t[21]||(t[21]=n("div",{class:"ov-daily-label"},"New repos today",-1)),n("div",dv,u(e.fmt?.number(e.data?.daily?.today?.repositories||0)),1),t[22]||(t[22]=n("div",{class:"ov-daily-sub"},"so far today",-1))]),n("div",uv,[t[23]||(t[23]=n("div",{class:"ov-daily-label"},"New users today",-1)),n("div",cv,u(e.fmt?.number(e.data?.daily?.today?.users||0)),1),n("div",pv,u(e.fmt?.number(e.data?.users?.total))+" total users",1)]),n("div",fv,[t[24]||(t[24]=n("div",{class:"ov-daily-label"},"Page views today",-1)),n("div",mv,u(e.fmt?.number(e.data?.daily?.today?.pageViews||0)),1),t[25]||(t[25]=n("div",{class:"ov-daily-sub"},"so far today",-1))])]),p(" \u2500\u2500 Daily charts \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",hv,[n("div",vv,[n("div",yv,[t[27]||(t[27]=n("span",{class:"ov-chart-title"},"Daily page views \xB7 30d",-1)),n("span",gv,[t[26]||(t[26]=n("span",{class:"ov-dot-legend ov-dot-accent"},null,-1)),y("views/day \xB7 peak "+u(e.fmt?.number(e.historyMax("dailyPageViews"))),1)])]),e.data?.history?.length?(l(),d("div",bv,[(l(!0),d(Y,null,ie(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyPageViews)+" views","aria-label":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyPageViews)+" views"},[n("span",{class:"ov-spark-fill",style:Te({height:e.historyBarH(s,"dailyPageViews")+"px"})},null,4)],8,wv))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",kv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)]),n("div",Cv,[n("div",Ev,[t[29]||(t[29]=n("span",{class:"ov-chart-title"},"New repos \xB7 30d",-1)),n("span",Sv,[t[28]||(t[28]=n("span",{class:"ov-dot-legend ov-dot-ok-fill"},null,-1)),y("repos/day \xB7 peak "+u(e.fmt?.number(e.historyMax("dailyRepositories"))),1)])]),e.data?.history?.length?(l(),d("div",Nv,[(l(!0),d(Y,null,ie(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyRepositories)+" repos","aria-label":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyRepositories)+" repos"},[n("span",{class:"ov-spark-fill ov-spark-fill-alt",style:Te({height:e.historyBarH(s,"dailyRepositories")+"px"})},null,4)],8,_v))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",Dv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)]),n("div",Rv,[n("div",Tv,[t[31]||(t[31]=n("span",{class:"ov-chart-title"},"Users \xB7 30d",-1)),n("span",Ov,[t[30]||(t[30]=n("span",{class:"ov-dot-legend ov-dot-user-fill"},null,-1)),y("total users \xB7 peak "+u(e.fmt?.number(e.historyMax("nbUsers"))),1)])]),e.data?.history?.length?(l(),d("div",Av,[(l(!0),d(Y,null,ie(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": "+e.fmt?.number(s?.nbUsers)+" users","aria-label":e.historyLabel(s)+": "+e.fmt?.number(s?.nbUsers)+" users"},[n("span",{class:"ov-spark-fill ov-spark-fill-user",style:Te({height:e.historyBarH(s,"nbUsers")+"px"})},null,4)],8,Iv))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",Pv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)]),n("div",Vv,[n("div",Mv,[t[33]||(t[33]=n("span",{class:"ov-chart-title"},"New users \xB7 30d",-1)),n("span",qv,[t[32]||(t[32]=n("span",{class:"ov-dot-legend ov-dot-new-user-fill"},null,-1)),y("users/day \xB7 peak "+u(e.fmt?.number(e.historyMax("dailyUsers"))),1)])]),e.data?.history?.length?(l(),d("div",Lv,[(l(!0),d(Y,null,ie(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyUsers)+" users","aria-label":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyUsers)+" users"},[n("span",{class:"ov-spark-fill ov-spark-fill-new-user",style:Te({height:e.historyBarH(s,"dailyUsers")+"px"})},null,4)],8,$v))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",Uv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)])]),p(" \u2500\u2500 Three-panel row: Status / Errors / Queues \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Fv,[p(" Repo status breakdown "),n("div",zv,[n("div",Hv,[t[34]||(t[34]=n("span",{class:"ov-panel-title"},"Repo status",-1)),n("span",Bv,u(e.fmt?.number(e.data?.repos?.total))+" total",1)]),n("div",jv,[n("span",{class:"ov-bar-seg ov-bar-ready",title:"Ready",style:Te({width:e.barPct("ready")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-preparing",title:"Preparing",style:Te({width:e.barPct("preparing")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-error",title:"Error",style:Te({width:e.barPct("error")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-expired",title:"Expired",style:Te({width:e.barPct("expired")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-removed",title:"Removed",style:Te({width:e.barPct("removed")+"%"})},null,4)]),n("div",Gv,[n("a",Wv,[t[35]||(t[35]=n("span",{class:"ov-swatch ov-bar-ready"},null,-1)),t[36]||(t[36]=y(" ready ",-1)),n("span",Kv,u(e.fmt?.number(e.statusCount("ready"))),1)]),n("a",Yv,[t[37]||(t[37]=n("span",{class:"ov-swatch ov-bar-preparing"},null,-1)),t[38]||(t[38]=y(" preparing ",-1)),n("span",Jv,u(e.fmt?.number(e.statusCount("preparing")+e.statusCount("download"))),1)]),n("a",Qv,[t[39]||(t[39]=n("span",{class:"ov-swatch ov-bar-error"},null,-1)),t[40]||(t[40]=y(" error ",-1)),n("span",Xv,u(e.fmt?.number(e.statusCount("error"))),1)]),n("a",Zv,[t[41]||(t[41]=n("span",{class:"ov-swatch ov-bar-expired"},null,-1)),t[42]||(t[42]=y(" expired ",-1)),n("span",xv,u(e.fmt?.number(e.statusCount("expired")+e.statusCount("expiring"))),1)]),n("a",ey,[t[43]||(t[43]=n("span",{class:"ov-swatch ov-bar-removed"},null,-1)),t[44]||(t[44]=y(" removed ",-1)),n("span",ty,u(e.fmt?.number(e.statusCount("removed")+e.statusCount("removing"))),1)])])]),p(" Error breakdown "),n("div",ny,[n("div",sy,[t[45]||(t[45]=n("span",{class:"ov-panel-title"},"Errors \xB7 24h",-1)),n("span",oy,u(e.data?.errors?.last24h)+" total",1)]),n("div",ry,[n("div",iy,[t[46]||(t[46]=n("span",{class:"ov-ebar-label"},"5xx",-1)),n("span",ay,[n("span",{class:"ov-ebar-fill ov-ebar-error",style:Te({width:e.errPct("error")+"%"})},null,4)]),n("span",ly,u(e.data?.errors?.severity?.error),1)]),n("div",dy,[t[47]||(t[47]=n("span",{class:"ov-ebar-label"},"4xx",-1)),n("span",uy,[n("span",{class:"ov-ebar-fill ov-ebar-warn",style:Te({width:e.errPct("warn")+"%"})},null,4)]),n("span",cy,u(e.data?.errors?.severity?.warn),1)]),n("div",py,[t[48]||(t[48]=n("span",{class:"ov-ebar-label"},"Info",-1)),n("span",fy,[n("span",{class:"ov-ebar-fill ov-ebar-info",style:Te({width:e.errPct("info")+"%"})},null,4)]),n("span",my,u(e.data?.errors?.severity?.info),1)])]),e.data?.repos?.recentErrors24h?(l(),d("div",hy,[n("a",vy,u(e.data?.repos?.recentErrors24h)+" repos in error state \u2192",1)])):p("v-if",!0)]),p(" Top routes / queues "),n("div",yy,[t[53]||(t[53]=n("div",{class:"ov-panel-head"},[n("span",{class:"ov-panel-title"},"Queues"),n("span",{class:"ov-panel-meta"},"by state")],-1)),n("div",gy,[t[52]||(t[52]=fe('
QueueActiveWaitFailed
',1)),n("a",by,[t[49]||(t[49]=n("span",{class:"ov-route-name"},"download",-1)),n("span",wy,u(e.data?.queues?.download?.active),1),n("span",ky,u(e.data?.queues?.download?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.download?.failed>0}])},u(e.data?.queues?.download?.failed),3)]),n("a",Cy,[t[50]||(t[50]=n("span",{class:"ov-route-name"},"remove",-1)),n("span",Ey,u(e.data?.queues?.remove?.active),1),n("span",Sy,u(e.data?.queues?.remove?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.remove?.failed>0}])},u(e.data?.queues?.remove?.failed),3)]),n("a",Ny,[t[51]||(t[51]=n("span",{class:"ov-route-name"},"cache",-1)),n("span",_y,u(e.data?.queues?.cache?.active),1),n("span",Dy,u(e.data?.queues?.cache?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.cache?.failed>0}])},u(e.data?.queues?.cache?.failed),3)])])])]),p(" \u2500\u2500 Services bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Ry,[n("div",Ty,[t[54]||(t[54]=n("span",{class:"ov-panel-title"},"Services",-1)),n("span",Oy,u(e.fmt?.number(e.data?.users?.total))+" users \xB7 "+u(e.data?.conferences?.total)+" conferences",1)]),n("div",Ay,[n("div",Iy,[t[56]||(t[56]=n("span",{class:"ov-svc-dot ov-dot-ok"},null,-1)),n("div",Py,[t[55]||(t[55]=n("span",{class:"ov-svc-name"},"web",-1)),n("span",Vy,u(e.data?.system?.nodeVersion),1)]),n("span",My,"uptime "+u(e.humanDuration(e.data?.system?.uptime)),1)]),n("div",qy,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.download)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",Ly,[t[57]||(t[57]=n("span",{class:"ov-svc-name"},"download",-1)),e.queueTotal(e.data?.queues?.download)?(l(),d("span",$y,u(e.queueTotal(e.data?.queues?.download))+" jobs",1)):p("v-if",!0),e.queueTotal(e.data?.queues?.download)?p("v-if",!0):(l(),d("span",Uy,"idle"))])]),n("div",Fy,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.cache)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",zy,[t[58]||(t[58]=n("span",{class:"ov-svc-name"},"cache",-1)),e.queueTotal(e.data?.queues?.cache)?(l(),d("span",Hy,u(e.queueTotal(e.data?.queues?.cache))+" jobs",1)):p("v-if",!0),e.queueTotal(e.data?.queues?.cache)?p("v-if",!0):(l(),d("span",By,"idle"))])]),n("div",jy,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.remove)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",Gy,[t[59]||(t[59]=n("span",{class:"ov-svc-name"},"remove",-1)),e.queueTotal(e.data?.queues?.remove)?(l(),d("span",Wy,u(e.queueTotal(e.data?.queues?.remove))+" jobs",1)):p("v-if",!0),e.queueTotal(e.data?.queues?.remove)?p("v-if",!0):(l(),d("span",Ky,"idle"))])]),n("div",Yy,[n("span",{class:T(["ov-svc-dot",e.data?.repos?.recentErrors24h>10?"ov-dot-warn":"ov-dot-ok"])},null,2),n("div",Jy,[t[60]||(t[60]=n("span",{class:"ov-svc-name"},"errors",-1)),n("span",Qy,u(e.data?.errors?.last24h)+" / 24h",1)])])])])])):p("v-if",!0),n("section",Xy,[n("div",Zy,[t[65]||(t[65]=n("div",null,[n("h2",{class:"ov-panel-title",id:"cache-heading"},"Cache"),n("p",{class:"ov-performance-note"},"Shared storage, repeated reads and anonymization work \xB7 refreshes every 30 seconds")],-1)),n("div",xy,[t[63]||(t[63]=n("label",{for:"cache-window"},"Time range",-1)),D(n("select",{id:"cache-window",class:"form-control form-control-sm","onUpdate:modelValue":t[0]||(t[0]=s=>e.cacheMinutes=s),onChange:t[1]||(t[1]=s=>e.loadCache())},[...t[61]||(t[61]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1),n("option",{value:1440},"Last 24 hours",-1),n("option",{value:10080},"Last 7 days",-1)])],544),[[Qs,e.cacheMinutes,void 0,{number:!0}]]),t[64]||(t[64]=n("label",{for:"cache-traffic"},"Traffic",-1)),D(n("select",{id:"cache-traffic",class:"form-control form-control-sm","onUpdate:modelValue":t[2]||(t[2]=s=>e.cacheTraffic=s)},[...t[62]||(t[62]=[fe('',6)])],512),[[Qs,e.cacheTraffic]])])]),e.cacheError?(l(),d("div",eg,[n("span",null,u(e.cacheError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[3]||(t[3]=s=>e.loadCache())},"Retry")])):p("v-if",!0),!e.cacheReport&&!e.cacheError?(l(),d("p",tg,"Loading cache monitoring\u2026")):p("v-if",!0),e.cacheReport?.available?(l(),d(Y,{key:2},[e.cacheReport.enabled?p("v-if",!0):(l(),d("p",ng,"Shared blob storage is disabled. Inspection and legacy-cache activity are still measured.")),e.cacheReport.filesystemSupported?p("v-if",!0):(l(),d("p",sg,"Shared blobs require a local filesystem. The configured storage continues to use its existing cache.")),e.cacheReport.dropped?(l(),d("p",og,u(e.cacheReport.dropped)+" telemetry events were dropped. Totals may be incomplete.",1)):p("v-if",!0),e.cacheReport.source?(l(),d("div",rg,[n("table",ig,[t[66]||(t[66]=n("caption",{class:"sr-only"},"Current shared-cache storage and byte budgets",-1)),t[67]||(t[67]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Pool"),n("th",{scope:"col"},"Allocated / budget"),n("th",{scope:"col"},"Reserved for fills"),n("th",{scope:"col"},"Original bytes"),n("th",{scope:"col"},"Blobs"),n("th",{scope:"col"},"Active readers")])],-1)),n("tbody",null,[(l(!0),d(Y,null,ie([{name:"Source blobs",data:e.cacheReport.source},{name:"Transformed output",data:e.cacheReport.results}],s=>D((l(),d("tr",{key:s.name},[n("th",ag,u(s.name),1),n("td",null,u(e.humanBytes(s.data?.allocatedBytes))+" / "+u(e.humanBytes(s.data?.budgetBytes)),1),n("td",null,u(e.humanBytes(s.data?.reservedBytes)),1),n("td",null,u(e.humanBytes(s.data?.originalBytes)),1),n("td",null,u(s.data?.blobs),1),n("td",null,u(s.data?.activeReaders),1)])),[[Q,s.data]])),128))])])])):p("v-if",!0),e.cacheReport.source?(l(),d("p",lg,"Source request hit rate: "+u(e.cacheRate("source","count"))+" \xB7 Source byte hit rate: "+u(e.cacheRate("source","bytes"))+" \xB7 Decision hit rate: "+u(e.cacheRate("decision","count")),1)):p("v-if",!0),t[70]||(t[70]=n("p",{class:"ov-performance-note"},"Reuse counts measure consecutive reads of the same blob within each interval. Codec timings are elapsed stream time, not CPU time; eviction times measure how long a blob was idle. Known monitors are identified by request metadata; other automation may remain in file reads.",-1)),e.cacheRows().length?(l(),d("div",dg,[n("table",ug,[t[68]||(t[68]=n("caption",{class:"sr-only"},"Cache events for the selected time range and traffic",-1)),t[69]||(t[69]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Event"),n("th",{scope:"col"},"Traffic"),n("th",{scope:"col"},"Count"),n("th",{scope:"col"},"Bytes"),n("th",{scope:"col"},"Mean measured time"),n("th",{scope:"col"},"p95 bound")])],-1)),n("tbody",null,[(l(!0),d(Y,null,ie(e.cacheRows(),s=>(l(),d("tr",{key:s.name+":"+s.traffic},[n("th",cg,u(e.cacheEventName(s.name)),1),n("td",null,u(s.traffic),1),n("td",null,u(s.count),1),n("td",null,u(e.humanBytes(s.bytes)),1),n("td",null,u(s.ms?(s.ms/s.count).toFixed(2)+" ms":"Not timed"),1),n("td",null,u(e.cacheP95(s)),1)]))),128))])])])):(l(),d("p",pg,"No cache events in this time range for the selected traffic.")),n("p",fg,"Updated "+u(e.sampleAge(e.cacheReport))+" seconds ago. Minute history is retained for 48 hours; hourly history for 30 days.",1)],64)):p("v-if",!0)]),n("section",mg,[n("div",hg,[t[73]||(t[73]=n("div",null,[n("h2",{class:"ov-panel-title",id:"performance-heading"},"Request performance"),n("p",{class:"ov-performance-note"},"Request latency and process health \xB7 refreshes every 30 seconds")],-1)),n("div",vg,[t[72]||(t[72]=n("label",{for:"performance-window"},"Time range",-1)),D(n("select",{id:"performance-window",class:"form-control form-control-sm","onUpdate:modelValue":t[4]||(t[4]=s=>e.performanceMinutes=s),onChange:t[5]||(t[5]=s=>e.loadPerformance()),"aria-label":"Performance time range"},[...t[71]||(t[71]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1)])],544),[[Qs,e.performanceMinutes,void 0,{number:!0}]])])]),e.performanceError?(l(),d("div",yg,[t[74]||(t[74]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("span",null,u(e.performanceError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[6]||(t[6]=s=>e.loadPerformance())},"Retry")])):p("v-if",!0),!e.performance&&!e.performanceError?(l(),d("p",gg,"Loading performance monitoring\u2026")):p("v-if",!0),e.performance?.available?(l(),d("div",bg,[n("div",wg,[n("button",{id:"performance-routes-tab",type:"button",class:T(["paper-tab",{active:e.performanceTab==="routes"}]),role:"tab","aria-selected":e.performanceTab==="routes",tabindex:e.performanceTab==="routes"?0:-1,"aria-controls":"performance-routes",onClick:t[7]||(t[7]=s=>e.performanceTab="routes"),onKeydown:t[8]||(t[8]=s=>e.previewTabKeydown(s))},"Routes",42,kg),n("button",{id:"performance-processes-tab",type:"button",class:T(["paper-tab",{active:e.performanceTab==="processes"}]),role:"tab","aria-selected":e.performanceTab==="processes",tabindex:e.performanceTab==="processes"?0:-1,"aria-controls":"performance-processes",onClick:t[9]||(t[9]=s=>e.performanceTab="processes"),onKeydown:t[10]||(t[10]=s=>e.previewTabKeydown(s))},"Processes",42,Cg),n("button",{id:"performance-stages-tab",type:"button",class:T(["paper-tab",{active:e.performanceTab==="stages"}]),role:"tab","aria-selected":e.performanceTab==="stages",tabindex:e.performanceTab==="stages"?0:-1,"aria-controls":"performance-stages",onClick:t[11]||(t[11]=s=>e.performanceTab="stages"),onKeydown:t[12]||(t[12]=s=>e.previewTabKeydown(s))},"Work stages",42,Eg)]),D(n("div",Sg,[e.performance.routes?.length?(l(),d("div",Ng,[n("table",_g,[t[75]||(t[75]=n("caption",{class:"sr-only"},"Route latency for the selected time range",-1)),t[76]||(t[76]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Route"),n("th",{scope:"col",class:"num"},"Requests"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"First byte p95"),n("th",{scope:"col",class:"num"},"p95"),n("th",{scope:"col",class:"num"},"p99"),n("th",{scope:"col",class:"num"},"Interrupted"),n("th",{scope:"col",class:"num"},"5xx"),n("th",{scope:"col",class:"num"},"Slow")])],-1)),n("tbody",null,[(l(!0),d(Y,null,ie(e.performance.routes,s=>(l(),d("tr",{key:s.service+s.method+s.route},[n("th",Dg,[n("span",null,u(s.route),1),n("small",null,u(s.service)+" \xB7 "+u(s.method),1)]),n("td",Rg,u(e.fmt.number(s.count)),1),n("td",Tg,u(s.avgMs)+" ms",1),n("td",Og,u(e.firstByteBound(s)),1),n("td",Ag,u(e.latencyBound(s,"p95UpperMs")),1),n("td",Ig,u(e.latencyBound(s,"p99UpperMs")),1),n("td",{class:T(["num",{"ov-metric-warn":s.aborted>0}])},u(e.fmt.number(s.aborted)),3),n("td",{class:T(["num",{"ov-metric-warn":s.errors>0}])},u(e.fmt.number(s.errors)),3),n("td",{class:T(["num",{"ov-metric-warn":s.slow>0}])},u(e.fmt.number(s.slow)),3)]))),128))])])])):(l(),d("p",Pg,"No recorded requests in this time range yet."))],512),[[Q,e.performanceTab==="routes"]]),D(n("div",Vg,[t[80]||(t[80]=n("p",{class:"ov-performance-note"},"API and streamer processes \xB7 latest sample per instance",-1)),e.performance.instances?.length?(l(),d("div",qg,[n("table",Lg,[t[78]||(t[78]=n("caption",{class:"sr-only"},"API and streamer process resource usage",-1)),t[79]||(t[79]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Process"),n("th",{scope:"col",class:"num"},"RSS / limit"),n("th",{scope:"col",class:"num"},"CPU"),n("th",{scope:"col",class:"num"},"Event loop p95"),n("th",{scope:"col",class:"num"},"Active requests"),n("th",{scope:"col",class:"num"},"Sockets / CLOSE_WAIT"),n("th",{scope:"col",class:"num"},"Workers / waiting"),n("th",{scope:"col",class:"num"},"Sample age"),n("th",{scope:"col",class:"num"},"Dropped batches / metrics")])],-1)),n("tbody",null,[(l(!0),d(Y,null,ie(e.performance.instances,s=>(l(),d("tr",{key:s.instance,class:T({"ov-metric-warning-row":e.performanceWarning(s)})},[n("th",$g,[n("span",null,u(s.instance),1),e.performanceWarning(s)?(l(),d("small",Ug,[...t[77]||(t[77]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),y(" Needs attention",-1)])])):p("v-if",!0)]),n("td",Fg,[y(u(e.humanBytes(s.memory.rss))+" / "+u(e.humanBytes(s.memoryLimitBytes)),1),n("small",null,"Peak "+u(e.humanBytes(e.peakRss(s))),1)]),n("td",zg,u(s.cpuPercent==null?"Unavailable":s.cpuPercent.toFixed(1)+"%"),1),n("td",Hg,u(s.eventLoop?.p95Ms==null?"Not applicable":s.eventLoop.p95Ms.toFixed(1)+" ms"),1),n("td",Bg,u(s.activeRequests),1),n("td",jg,u(s.sockets?.descriptors??"Unavailable")+" / "+u(s.sockets?.closeWait??"Unavailable"),1),n("td",Gg,u(s.workers?.running??0)+" / "+u(s.workers?.waiting??0),1),n("td",Wg,u(e.sampleAge(s))+" s",1),n("td",Kg,u(s.droppedBatches)+" / "+u(s.droppedMetrics),1)],2))),128))])])])):(l(),d("div",Mg,"No recent process samples. Monitoring coverage is incomplete."))],512),[[Q,e.performanceTab==="processes"]]),D(n("div",Yg,[e.performance.stages?.some(s=>s.metric!=="first_byte")?(l(),d("div",Jg,[n("table",Qg,[t[81]||(t[81]=n("caption",{class:"sr-only"},"Work stages and cache results",-1)),t[82]||(t[82]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Work stage"),n("th",{scope:"col",class:"num"},"Samples"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"p95")])],-1)),n("tbody",null,[(l(!0),d(Y,null,ie(e.performance.stages.filter(s=>s.metric!=="first_byte"),s=>(l(),d("tr",{key:s.service+s.metric},[n("th",Xg,[n("span",null,u(s.metric),1),n("small",null,u(s.service),1)]),n("td",Zg,u(e.fmt.number(s.count)),1),n("td",xg,u(s.avgMs)+" ms",1),n("td",eb,u(e.latencyBound(s,"p95UpperMs")),1)]))),128))])])])):(l(),d("p",tb,"No recorded work stages or cache results in this time range yet."))],512),[[Q,e.performanceTab==="stages"]]),t[83]||(t[83]=n("details",{class:"ov-performance-help"},[n("summary",null,"How to read these metrics"),n("p",null,"Latency includes upstream waits and response transfer. Percentiles show histogram bucket upper bounds, not exact timings. Process rows marked \u201CNeeds attention\u201D have stale samples, dropped monitoring data, CLOSE_WAIT sockets, high event loop delay, or high memory usage.")],-1))])):p("v-if",!0)])])}var sb={class:"container paper-page admin-page"},ob={class:"q-header"},rb={class:"q-header-actions"},ib={class:"q-range-btns"},ab={class:"q-cards"},lb=["aria-pressed","onKeydown","onClick"],db={class:"q-card-head"},ub=["textContent"],cb=["textContent"],pb={class:"q-card-sub"},fb={key:0,class:"q-card-bar"},mb={key:0,class:"q-detail"},hb={class:"q-throughput"},vb={class:"q-section-label"},yb={key:0,class:"q-section-right"},gb={class:"q-chart-wrap"},bb={key:0,class:"q-chart-empty"},wb={class:"q-stats-panel"},kb={class:"q-section-label"},Cb={class:"q-stats-grid"},Eb={class:"q-stat"},Sb=["textContent"],Nb={class:"q-stat"},_b=["textContent"],Db={class:"q-stat"},Rb=["textContent"],Tb={class:"q-stat"},Ob=["textContent"],Ab={class:"q-stat"},Ib=["textContent"],Pb={class:"q-stat"},Vb=["textContent"],Mb={class:"q-stats-actions"},qb=["disabled"],Lb={class:"q-danger-group"},$b={class:"q-jobs"},Ub={class:"q-jobs-header"},Fb={class:"q-section-label"},zb={class:"q-state-filters"},Hb={class:"q-state-toggle"},Bb={type:"checkbox"},jb={class:"q-search-row"},Gb={type:"search",class:"form-control",placeholder:"Search by job/repo id\u2026",autocomplete:"off"},Wb={class:"q-auto-refresh"},Kb={type:"checkbox"},Yb={key:0,class:"q-table"},Jb=["onClick"],Qb={class:"q-cell-state"},Xb=["textContent"],Zb=["textContent"],xb={class:"q-cell-id"},e1=["textContent","href"],t1={class:"q-cell-payload"},n1=["textContent"],s1={key:0,class:"q-payload-detail"},o1=["textContent"],r1=["textContent"],i1={class:"q-cell-progress"},a1={key:0,class:"q-progress-wrap"},l1=["textContent"],d1={class:"q-cell-actions"},u1=["onClick"],c1=["onClick"],p1={key:0,class:"q-detail-row"},f1={colspan:"7"},m1={class:"q-job-detail"},h1={class:"q-job-detail-grid"},v1={class:"q-job-detail-item"},y1={class:"q-job-detail-value"},g1=["textContent","href"],b1={class:"q-job-detail-item"},w1={class:"q-job-detail-value"},k1=["textContent"],C1={key:0,class:"q-job-detail-item"},E1=["textContent"],S1={key:1,class:"q-job-detail-item"},N1=["textContent"],_1={key:2,class:"q-job-detail-item"},D1={class:"q-job-detail-value"},R1={key:3,class:"q-job-detail-item"},T1=["textContent"],O1={key:4,class:"q-job-detail-item"},A1=["textContent"],I1={key:5,class:"q-job-detail-item"},P1=["textContent"],V1={key:6,class:"q-job-detail-item"},M1=["textContent"],q1={key:7,class:"q-job-detail-item"},L1=["textContent"],$1={key:0,class:"q-job-detail-error"},U1=["textContent"],F1={key:1},z1=["textContent"],H1={class:"q-job-detail-actions"},B1=["onClick"],j1=["onClick"],G1=["href"],W1={key:1,class:"paper-table-empty",style:{border:"1px solid var(--border-color)","border-radius":"10px",background:"var(--paper-card)"}},K1={key:0},Y1={key:1};function wl(e,t){let s=Ee("field");return l(),d("div",sb,[t[51]||(t[51]=n("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),n("span",{class:"here"},"Queues")],-1)),n("div",ob,[t[12]||(t[12]=n("h1",{class:"paper-page-title"},"Queues",-1)),n("div",rb,[n("div",ib,[n("button",{class:T(["btn btn-sm",{active:e.range=="1h"}]),onClick:t[0]||(t[0]=r=>e.setRange("1h"))},"1h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="6h"}]),onClick:t[1]||(t[1]=r=>e.setRange("6h"))},"6h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="24h"}]),onClick:t[2]||(t[2]=r=>e.setRange("24h"))},"24h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="7d"}]),onClick:t[3]||(t[3]=r=>e.setRange("7d"))},"7d",2)]),n("button",{class:"btn btn-sm",onClick:t[4]||(t[4]=r=>e.pauseAll())},"Pause all queues")])]),t[52]||(t[52]=fe('',1)),p(" Queue overview cards "),n("div",ab,[(l(!0),d(Y,null,ie(e.queueList,(r,o)=>(l(),d("div",{class:T(["q-card",{selected:e.selectedQueue==r?.key,paused:r?.paused}]),role:"button",tabindex:"0","aria-pressed":e.selectedQueue===r.key,onKeydown:[yt(ue(i=>e.selectQueue(r.key),["prevent"]),["enter"]),yt(ue(i=>e.selectQueue(r.key),["prevent"]),["space"])],onClick:i=>e.selectQueue(r.key)},[n("div",db,[n("span",{class:T(["q-dot",{"q-dot-red":r?.paused||r?.counts?.failed>0,"q-dot-idle":!r?.counts?.active&&!r?.counts?.waiting}])},null,2),n("span",{class:"q-card-name",textContent:u(r?.label)},null,8,ub)]),n("div",{class:"q-card-count",textContent:u((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0))},null,8,cb),n("div",pb,[n("span",null,"waiting \xB7 "+u(r?.counts?.active||0)+" active",1),r?.counts?.active?(l(),d("div",fb,[n("div",{class:"q-card-bar-fill",style:Te({width:r?.counts?.active/((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0)||1)*100+"%"})},null,4)])):p("v-if",!0)])],42,lb))),256))]),p(" Detail: throughput chart + stats panel "),e.selectedStats?(l(),d("div",mb,[n("div",hb,[n("div",vb,[y("Throughput \xB7 "+u(e.selectedQueue)+" ",1),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d("span",yb,[t[14]||(t[14]=n("span",{class:"q-legend-completed"},"\u25CF",-1)),t[15]||(t[15]=y(" completed ",-1)),t[16]||(t[16]=n("span",{class:"q-legend-failed"},"\u25CF",-1)),t[17]||(t[17]=y(" failed ",-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d(Y,{key:0},[t[13]||(t[13]=n("span",{class:"q-legend-exec","aria-hidden":"true"},null,-1)),y(" avg time \xB7 "+u(e.range),1)],64)):p("v-if",!0)])):p("v-if",!0)]),n("div",gb,[t[19]||(t[19]=n("canvas",{id:"q-throughput-chart",height:"180"},null,-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)===0?(l(),d("div",bb,[...t[18]||(t[18]=[n("strong",null,"No jobs processed in this window",-1),n("span",null,"Completed and failed jobs will chart here.",-1)])])):p("v-if",!0),t[20]||(t[20]=n("div",{id:"q-chart-tooltip",class:"q-chart-tooltip",style:{display:"none"}},null,-1)),t[21]||(t[21]=n("div",{id:"q-chart-crosshair",class:"q-chart-crosshair",style:{display:"none"}},null,-1))])]),n("div",wb,[n("div",kb,"Stats \xB7 "+u(e.selectedQueue),1),n("div",Cb,[n("div",Eb,[t[22]||(t[22]=n("div",{class:"q-stat-label"},"Waiting",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.counts?.waiting||0)},null,8,Sb)]),n("div",Nb,[t[23]||(t[23]=n("div",{class:"q-stat-label"},"Active",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.counts?.active||0)},null,8,_b)]),n("div",Db,[t[24]||(t[24]=n("div",{class:"q-stat-label"},"Completed (24h)",-1)),n("div",{class:"q-stat-value",textContent:u(e.fmt?.number(e.selectedStats?.completed24h))},null,8,Rb)]),n("div",Tb,[t[25]||(t[25]=n("div",{class:"q-stat-label"},"Failed (24h)",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.failed24h||0)},null,8,Ob)]),n("div",Ab,[t[26]||(t[26]=n("div",{class:"q-stat-label"},"Delayed",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.counts?.delayed||0)},null,8,Ib)]),n("div",Pb,[t[27]||(t[27]=n("div",{class:"q-stat-label"},"Workers",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.workers||0)},null,8,Vb)])]),n("div",Mb,[n("button",{class:"btn btn-sm",onClick:t[5]||(t[5]=r=>e.togglePause())},u(e.selectedStats?.paused?"Resume "+e.selectedQueue:"Pause "+e.selectedQueue),1),n("button",{class:"btn btn-sm",onClick:t[6]||(t[6]=r=>e.retryFailed()),disabled:!e.selectedStats?.counts?.failed},"Retry failed",8,qb),n("span",Lb,[n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[7]||(t[7]=r=>e.drainSelected())},"Drain"),n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[8]||(t[8]=r=>e.emptyQueue())},"Empty")])])])])):p("v-if",!0),e.actionError?(l(),d("div",{key:1,class:"q-toast-error",onClick:t[9]||(t[9]=r=>e.actionError=null)},[t[28]||(t[28]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),y(" "+u(e.actionError),1)])):p("v-if",!0),p(" Jobs table "),n("div",$b,[n("div",Ub,[n("div",Fb,"All jobs \xB7 "+u(e.selectedQueue),1),n("div",zb,[(l(!0),d(Y,null,ie(e.allStates,(r,o)=>(l(),d("label",Hb,[D(n("input",Bb,null,512),[[s,{state:e.viewState,set:i=>{e.stateFilter[r]=i},value:e.stateFilter[r],form:null,options:{}}]]),n("span",{class:T("q-state-chip q-state-"+r)},u(r),3)]))),256))])]),n("div",jb,[D(n("input",Gb,null,512),[[s,{state:e.viewState,set:r=>{e.query.search=r},value:e.query?.search,form:null,options:{}}]]),n("label",Wb,[D(n("input",Kb,null,512),[[s,{state:e.viewState,set:r=>{e.query.autoRefresh=r},value:e.query?.autoRefresh,form:null,options:{}}]]),t[29]||(t[29]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[10]||(t[10]=r=>e.refreshNow()),"aria-label":"Refresh"},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])]),e.filteredJobs().length>0?(l(),d("table",Yb,[t[49]||(t[49]=n("thead",null,[n("tr",null,[n("th",null,"State"),n("th",null,"Job ID"),n("th",null,"Payload"),n("th",null,"Attempts"),n("th",null,"Duration"),n("th",null,"Progress"),n("th")])],-1)),(l(!0),d(Y,null,ie(e.filteredJobs(),(r,o)=>(l(),d("tbody",null,[n("tr",{style:{cursor:"pointer"},class:T({"q-row-failed":r?._state=="failed","q-row-expanded":e.expanded[r?.id]}),onClick:i=>e.toggleJob(r)},[n("td",Qb,[n("span",{textContent:u(r?._state),class:T("q-state-badge q-state-"+r?._state)},null,10,Xb),r?._state=="delayed"&&r?.delayUntil?(l(),d("span",{key:0,class:"q-delay-hint",textContent:u(e.delayCountdown(r?.delayUntil))},null,8,Zb)):p("v-if",!0)]),n("td",xb,[(l(),d("svg",{class:T(["ui-icon q-chevron",{"q-chevron-open":e.expanded[r?.id]}]),"aria-hidden":"true"},[...t[31]||(t[31]=[n("use",{href:"#ui-icon-chevron-right"},null,-1)])],2)),n("a",{target:"_blank",textContent:u("job:"+e.fmt.limitTo(r?.id,6)),onClick:t[11]||(t[11]=i=>i.stopPropagation()),href:e.safeUrl("/r/"+r?.id)},null,8,e1)]),n("td",t1,[n("span",{textContent:u(r?.name||"anonymize")},null,8,n1),r?.data?.repoId&&r?.data?.repoId!==r?.name?(l(),d("span",s1," \xB7 "+u(r?.data?.repoId),1)):p("v-if",!0)]),n("td",{class:"q-cell-num",textContent:u(r?.attemptsMade||1)},null,8,o1),n("td",{class:"q-cell-num",textContent:u(e.jobDuration(r))},null,8,r1),n("td",i1,[e.jobProgressPct(r)!==null?(l(),d("div",a1,[n("div",{class:"q-progress-bar",style:Te({"--pct":e.jobProgressPct(r)+"%"})},null,4),n("span",{class:"q-progress-label",textContent:u(e.jobProgressPct(r)+"%")},null,8,l1)])):p("v-if",!0)]),n("td",d1,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm btn-icon",title:"Retry",onClick:i=>{e.retryJob(r),i.stopPropagation()},"aria-label":"Retry job"},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])],8,u1)):p("v-if",!0),n("button",{class:"btn btn-sm btn-icon",title:"Remove","aria-label":"Remove job",onClick:i=>{e.removeJob(r),i.stopPropagation()}},[...t[33]||(t[33]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,c1)])],10,Jb),e.expanded[r?.id]?(l(),d("tr",p1,[n("td",f1,[n("div",m1,[n("div",h1,[n("div",v1,[t[34]||(t[34]=n("span",{class:"q-job-detail-label"},"JOB ID",-1)),n("span",y1,[n("a",{target:"_blank",textContent:u(r?.id),href:e.safeUrl("/r/"+r?.id)},null,8,g1)])]),n("div",b1,[t[35]||(t[35]=n("span",{class:"q-job-detail-label"},"STATE",-1)),n("span",w1,[n("span",{textContent:u(r?._state),class:T("q-state-badge q-state-"+r?._state)},null,10,k1)])]),r?.data?.repoId?(l(),d("div",C1,[t[36]||(t[36]=n("span",{class:"q-job-detail-label"},"REPO ID",-1)),n("span",{class:"q-job-detail-value",textContent:u(r?.data?.repoId)},null,8,E1)])):p("v-if",!0),r?.timestamp?(l(),d("div",S1,[t[37]||(t[37]=n("span",{class:"q-job-detail-label"},"CREATED",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.humanTime(r?.timestamp))},null,8,N1)])):p("v-if",!0),r?._state=="delayed"&&r?.delayUntil?(l(),d("div",_1,[t[38]||(t[38]=n("span",{class:"q-job-detail-label"},"RETRY AT",-1)),n("span",D1,u(e.humanTime(r?.delayUntil))+" ("+u(e.delayCountdown(r?.delayUntil))+")",1)])):p("v-if",!0),r?.processedOn?(l(),d("div",R1,[t[39]||(t[39]=n("span",{class:"q-job-detail-label"},"PROCESSED",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.humanTime(r?.processedOn))},null,8,T1)])):p("v-if",!0),r?.finishedOn?(l(),d("div",O1,[t[40]||(t[40]=n("span",{class:"q-job-detail-label"},"FINISHED",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.humanTime(r?.finishedOn))},null,8,A1)])):p("v-if",!0),r?.attemptsMade?(l(),d("div",I1,[t[41]||(t[41]=n("span",{class:"q-job-detail-label"},"ATTEMPTS",-1)),n("span",{class:"q-job-detail-value",textContent:u(r?.attemptsMade)},null,8,P1)])):p("v-if",!0),r?.progress&&r?.progress?.status?(l(),d("div",V1,[t[42]||(t[42]=n("span",{class:"q-job-detail-label"},"STATUS",-1)),n("span",{class:"q-job-detail-value",textContent:u(r?.progress?.status)},null,8,M1)])):p("v-if",!0),e.jobProgressPct(r)!==null?(l(),d("div",q1,[t[43]||(t[43]=n("span",{class:"q-job-detail-label"},"PROGRESS",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.jobProgressPct(r)+"%")},null,8,L1)])):p("v-if",!0)]),r?.failedReason?(l(),d("div",$1,[t[44]||(t[44]=n("span",{class:"q-job-detail-label"},"ERROR",-1)),n("div",{class:"q-error-reason",textContent:u(r?.failedReason)},null,8,U1)])):p("v-if",!0),r?.stacktrace?.length?(l(),d("div",F1,[t[45]||(t[45]=n("span",{class:"q-job-detail-label"},"STACKTRACE",-1)),(l(!0),d(Y,null,ie(r?.stacktrace,(i,a)=>(l(),d("pre",{class:"q-error-stack",key:a},[n("code",{textContent:u(i)},null,8,z1)]))),128))])):p("v-if",!0),n("div",H1,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",onClick:i=>e.retryJob(r)},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Retry",-1)])],8,B1)):p("v-if",!0),n("button",{class:"btn btn-sm",onClick:i=>e.removeJob(r)},[...t[47]||(t[47]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,j1),n("a",{class:"btn btn-sm",target:"_blank",href:e.safeUrl("/r/"+r?.id)},[...t[48]||(t[48]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1),y(" View repo",-1)])],8,G1)])])])])):p("v-if",!0)]))),256))])):p("v-if",!0),e.filteredJobs().length==0?(l(),d("div",W1,[t[50]||(t[50]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1)),e.query?.search?p("v-if",!0):(l(),d("span",K1,"No jobs in the "+u(e.selectedQueue)+" queue.",1)),e.query?.search?(l(),d("span",Y1,"No jobs match the current filters.")):p("v-if",!0)])):p("v-if",!0)])])}var J1={class:"container paper-page admin-page"},Q1={class:"admin-summary"},X1={class:"summary-total"},Z1={class:"summary-meta"},x1=["aria-pressed"],ew={class:"count"},tw=["aria-pressed"],nw={class:"count"},sw=["aria-pressed"],ow={class:"count"},rw=["aria-pressed"],iw={class:"count"},aw=["title","aria-pressed"],lw={class:"count"},dw={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},uw={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},cw=["aria-expanded"],pw={class:"search-wrap"},fw={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories\u2026",autocomplete:"off"},mw={key:0,class:"admin-search-hint"},hw={class:"admin-filter-inline"},vw={type:"text",class:"form-control form-control-sm",placeholder:"username"},yw={class:"admin-filter-inline"},gw={type:"text",class:"form-control form-control-sm",placeholder:"ID"},bw={key:0,class:"admin-filter-inline","aria-label":"Pagination"},ww=["disabled"],kw={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},Cw=["disabled"],Ew={key:0,class:"admin-filter-row"},Sw={class:"admin-active-chips"},Nw={class:"key"},_w=["onClick"],Dw={key:1,class:"bulk-bar"},Rw={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},Tw={class:"paper-table-head",role:"row"},Ow={role:"columnheader",style:{width:"28px"}},Aw=["checked"],Iw={role:"columnheader"},Pw={role:"columnheader"},Vw={role:"columnheader",class:"num"},Mw={role:"columnheader"},qw={role:"cell",style:{width:"28px"}},Lw={type:"checkbox","aria-label":"Select repository"},$w={class:"cell-anon",role:"cell"},Uw={class:"anon-text"},Fw=["textContent","href"],zw={class:"anon-sub"},Hw=["textContent","href"],Bw={key:0,class:"meta-sep"},jw=["textContent","href"],Gw={key:1,class:"meta-sep"},Ww=["textContent","href"],Kw={key:2,class:"meta-sep"},Yw={key:3,class:"meta-sep"},Jw={class:"cell-status",role:"cell"},Qw={class:"status-line"},Xw=["textContent"],Zw=["textContent","title"],xw={class:"cell-views num",role:"cell"},ek=["textContent"],tk={class:"cell-expires",role:"cell"},nk=["textContent"],sk={class:"cell-actions",role:"cell"},ok={class:"dropdown"},rk={class:"dropdown-menu dropdown-menu-right"},ik=["href"],ak=["href"],lk=["href"],dk=["onClick"],uk=["onClick"],ck=["onClick"],pk=["onClick"],fk=["onClick"],mk=["onClick"],hk={key:0,class:"paper-table-empty"},vk={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},yk={style:{"font-size":"12px",color:"var(--ink-muted)"}},gk={key:0,class:"pagination-compact"},bk=["disabled"],wk=["max"],kk=["disabled"],Ck={class:"admin-filter-inline"},Ek={class:"form-control form-control-sm"};function kl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",J1,[t[70]||(t[70]=fe('
Admin \xA0/\xA0 Repositories

Repositories

',3)),n("div",Q1,[n("span",X1,[y(u(e.total>=0?e.fmt.number(e.total):"\u2026")+" ",1),n("small",null,u(e.total===1?"repository":"repositories"),1)]),n("span",Z1,u(e.fmt?.humanFileSize(e.totalSize))+" on disk",1),t[25]||(t[25]=n("span",{class:"summary-show-label"},"Show:",-1)),n("button",{type:"button",class:T(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=o=>{e.query.ready=!e.query.ready,e.query.page=1}),"aria-pressed":!!e.query?.ready},[t[20]||(t[20]=y("Ready ",-1)),n("span",ew,u(e.fmt?.number(e.statusCountFor("ready"))),1)],10,x1),n("button",{type:"button",class:T(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=o=>{e.query.preparing=!e.query.preparing,e.query.page=1}),"aria-pressed":!!e.query?.preparing},[t[21]||(t[21]=y("Preparing ",-1)),n("span",nw,u(e.fmt?.number(e.statusCountFor("preparing")+e.statusCountFor("download"))),1)],10,tw),n("button",{type:"button",class:T(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=o=>{e.query.error=!e.query.error,e.query.page=1}),"aria-pressed":!!e.query?.error},[t[22]||(t[22]=y("Errored ",-1)),n("span",ow,u(e.fmt?.number(e.statusCountFor("error"))),1)],10,sw),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=o=>{e.query.expired=!e.query.expired,e.query.page=1}),"aria-pressed":!!e.query?.expired},[t[23]||(t[23]=y("Expired ",-1)),n("span",iw,u(e.fmt?.number(e.statusCountFor("expired")+e.statusCountFor("expiring"))),1)],10,rw),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.removed}]),title:e.query?.removed?"Removed repositories are shown. Click to hide them.":"Removed repositories are hidden. Click to include them.",onClick:t[4]||(t[4]=o=>{e.query.removed=!e.query.removed,e.query.page=1}),"aria-pressed":!!e.query?.removed},[t[24]||(t[24]=y("Removed ",-1)),n("span",lw,u(e.fmt?.number(e.statusCountFor("removed")+e.statusCountFor("removing"))),1)],10,aw)]),e.fetchError?(l(),d("div",dw,[t[26]||(t[26]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fetchError),1)])):p("v-if",!0),D((l(),d("form",uw,[p(" Row 1: search + scoped inputs + headline actions "),n("button",{type:"button",class:"btn btn-sm admin-filters-toggle",onClick:t[5]||(t[5]=o=>e.filtersOpen=!e.filtersOpen),"aria-expanded":e.filtersOpen?"true":"false"},"Filters",8,cw),n("div",{class:T(["admin-filter-row",{"is-open":e.filtersOpen}])},[n("div",pw,[D(n("input",fw,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.query?.search?p("v-if",!0):(l(),d("span",mw,"/"))]),n("span",hw,[t[27]||(t[27]=n("label",null,"Owner",-1)),D(n("input",vw,null,512),[[s,{state:e.viewState,set:o=>{e.query.owner=o},value:e.query?.owner,form:null,options:{}}]])]),n("span",yw,[t[28]||(t[28]=n("label",null,"Conference",-1)),D(n("input",gw,null,512),[[s,{state:e.viewState,set:o=>{e.query.conference=o},value:e.query?.conference,form:null,options:{}}]])]),t[32]||(t[32]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[6]||(t[6]=o=>e.exportCsv())},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])]),e.totalPage>1?(l(),d("span",bw,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[7]||(t[7]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,ww),n("span",kw,u(e.query?.page)+"/"+u(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[8]||(t[8]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,Cw)])):p("v-if",!0)],2),p(" Row 2: appears only when there are active filter chips "),e.chips?.length?(l(),d("div",Ew,[n("div",Sw,[(l(!0),d(Y,null,ie(e.chips,(o,i)=>(l(),d("span",{class:"admin-active-chip",key:o?.key},[n("span",Nw,u(o?.label),1),n("span",null,u(o?.value),1),n("button",{type:"button","aria-label":"Remove filter",onClick:a=>e.clearFilter(o.key)},[...t[33]||(t[33]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,_w)]))),128))])])):p("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",Dw,[n("span",null,[n("strong",null,u(e.selectedCount()),1),t[34]||(t[34]=y(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[9]||(t[9]=o=>e.bulkRefresh())},[...t[35]||(t[35]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[10]||(t[10]=o=>e.bulkRemoveCache())},[...t[36]||(t[36]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[11]||(t[11]=o=>e.clearSelection())},"Clear")])):p("v-if",!0),n("div",Rw,[n("div",Tw,[n("div",Ow,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[12]||(t[12]=o=>e.selectAllOnPage()),checked:e.allSelected},null,8,Aw)]),n("div",Iw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[13]||(t[13]=o=>e.sortBy("source.repositoryName"))},[t[38]||(t[38]=y("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[37]||(t[37]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Pw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[14]||(t[14]=o=>e.sortBy("status"))},[t[40]||(t[40]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[39]||(t[39]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Vw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[15]||(t[15]=o=>e.sortBy("pageView"))},[t[42]||(t[42]=y("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[41]||(t[41]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Mw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[16]||(t[16]=o=>e.sortBy("anonymizeDate"))},[t[44]||(t[44]=y("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[43]||(t[43]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[45]||(t[45]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(Y,null,ie(e.filteredRepositories,(o,i)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":o?.status=="expired"||o?.status=="removed","repo-error":o?.status=="error","row-selected":e.selected[o?.repoId]}]),role:"row"},[n("div",qw,[D(n("input",Lw,null,512),[[s,{state:e.viewState,set:a=>{e.selected[o.repoId]=a},value:e.selected[o?.repoId],form:null,options:{}}]])]),n("div",$w,[t[47]||(t[47]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",Uw,[n("a",{class:"repo-name",target:"_blank",textContent:u(o?.repoId),href:e.safeUrl("/r/"+o?.repoId)},null,8,Fw),n("div",zw,[n("a",{textContent:u(o?.source?.repositoryName),href:e.safeUrl("https://github.com/"+o?.source?.repositoryName+"/")},null,8,Hw),o?.options?.update?(l(),d("span",Bw,[n("a",{textContent:u(o?.source?.branch),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.branch)},null,8,jw)])):p("v-if",!0),o?.options?.update?p("v-if",!0):(l(),d("span",Gw,[n("a",{class:"mono-hash",textContent:u(o?.source?.commit?.substring(0,7)),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.commit)},null,8,Ww)])),o?.conference?(l(),d("span",Kw,[t[46]||(t[46]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),y(" "+u(o?.conference),1)])):p("v-if",!0),o?.size?.storage>0?(l(),d("span",Yw,u(e.fmt?.humanFileSize(o?.size?.storage)),1)):p("v-if",!0),n("span",null,u(e.fmt?.number(o?.options?.terms?.length))+" "+u(o?.options?.terms?.length===1?"term":"terms"),1)])])]),n("div",Jw,[n("span",Qw,[n("span",{class:T(["status-dot",{"status-removed":o?.status=="removed"||o?.status=="expired","status-ready":o?.status=="ready","status-error":o?.status=="error","status-preparing":o?.status=="preparing"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,Xw)]),o?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:u(e.fmt?.statusMsg(o?.statusMessage)),title:o?.statusMessage},null,8,Zw)):p("v-if",!0)]),n("div",xw,[t[48]||(t[48]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),t[49]||(t[49]=y()),n("span",{textContent:u(e.fmt?.number(o?.pageView||0))},null,8,ek)]),n("div",tk,[t[50]||(t[50]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[51]||(t[51]=y()),n("span",{textContent:u((e.fmt?.humanTime(o?.anonymizeDate)||"").replace(/^on /,""))},null,8,nk)]),n("div",sk,[n("div",ok,[t[63]||(t[63]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",rk,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+o?.repoId)},[...t[52]||(t[52]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit",-1)])],8,ik),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+o?.repoId+"/")},[...t[53]||(t[53]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View repo",-1)])],8,ak),o?.options?.page&&o?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+o?.repoId+"/")},[...t[54]||(t[54]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),y(" View page",-1)])],8,lk)):p("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.fetchGithubInfo(o),["prevent"])},[...t[55]||(t[55]=[n("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,dk),t[61]||(t[61]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(o),["prevent"])},[...t[56]||(t[56]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force update",-1)])],8,uk),[[Q,o?.status=="ready"||o?.status=="error"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(o),["prevent"])},[...t[57]||(t[57]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Enable",-1)])],8,ck),[[Q,o?.status=="removed"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.showStatusMessage(o),["prevent"])},[...t[58]||(t[58]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),y(" View status message",-1)])],8,pk),[[Q,o?.statusMessage]]),t[62]||(t[62]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.removeCache(o),["prevent"])},[...t[59]||(t[59]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])],8,fk),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.removeRepository(o),["prevent"])},[...t[60]||(t[60]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,mk),[[Q,o?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",hk,[t[64]||(t[64]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),t[65]||(t[65]=n("span",null,"No repositories match the current filters.",-1)),e.query.ready&&e.query.expired&&e.query.removed&&e.query.error&&e.query.preparing?p("v-if",!0):(l(),d("button",{key:0,type:"button",class:"btn btn-sm btn-outline-ink",onClick:t[17]||(t[17]=o=>e.showAllStatuses())},"Show all statuses"))])):p("v-if",!0)]),n("div",vk,[n("span",yk,u(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",gk,[n("button",{class:"btn btn-sm",onClick:t[18]||(t[18]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),y(" Previous ",-1)])],8,bk),D(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},"aria-label":"Page",max:e.totalPage},null,8,wk),[[s,{state:e.viewState,set:o=>{e.query.page=o},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+u(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[19]||(t[19]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[67]||(t[67]=[y(" Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,kk)])):p("v-if",!0),n("span",Ck,[t[69]||(t[69]=n("label",null,"Per page",-1)),D((l(),d("select",Ek,[...t[68]||(t[68]=[fe('',5)])])),[[s,{state:e.viewState,set:o=>{e.query.limit=o},value:e.query?.limit,form:null,options:{}}]])])])])}var Sk={class:"container paper-page admin-page"},Nk={class:"paper-crumbs"},_k={class:"here"},Dk={class:"paper-page-title"},Rk={key:0,class:"user-detail-card"},Tk={class:"user-header"},Ok=["src"],Ak={class:"status-dot-wrap"},Ik=["textContent"],Pk={key:0,class:"type-badge type-repo"},Vk={class:"user-actions",style:{"margin-top":"4px"}},Mk={class:"user-detail-grid"},qk={class:"detail-value mono-id"},Lk={class:"detail-value"},$k=["href"],Uk={class:"detail-value"},Fk={class:"detail-value"},zk={key:0},Hk={key:1,class:"text-muted"},Bk={class:"detail-value"},jk={key:0,style:{"margin-top":"20px"}},Gk={class:"paper-table w-100",style:{"margin-top":"10px"}},Wk={class:"paper-table-row",style:{"grid-template-columns":"1fr 160px"}},Kk={class:"cell-anon",role:"cell"},Yk={class:"anon-text"},Jk=["textContent"],Qk={class:"cell-expires",role:"cell"},Xk={key:1,class:"admin-section-header"},Zk={class:"section-count"},xk={key:2,class:"user-detail-card"},e0={type:"text",class:"form-control",placeholder:"Token name (e.g. dev-laptop)",required:""},t0={key:0,class:"alert alert-warning",role:"alert"},n0={style:{"white-space":"pre-wrap","word-break":"break-all",margin:"8px 0 0","font-family":"var(--font-mono)","font-size":"0.85rem"}},s0={key:1,class:"paper-table w-100"},o0={class:"paper-table-row",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},r0=["textContent"],i0=["textContent"],a0={role:"cell"},l0={key:0},d0={key:1,class:"text-muted"},u0={role:"cell"},c0=["onClick"],p0={key:2,class:"paper-table-empty"},f0={class:"admin-section-header"},m0={class:"section-count"},h0={class:"admin-summary"},v0={class:"summary-total"},y0=["aria-pressed"],g0={class:"count"},b0=["aria-pressed"],w0={class:"count"},k0=["aria-pressed"],C0={class:"count"},E0=["aria-pressed"],S0={class:"count"},N0=["aria-pressed"],_0={class:"count"},D0={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},R0={class:"admin-filter-row"},T0={class:"search-wrap"},O0={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repoId, source repo, error message\u2026",autocomplete:"off"},A0={key:3,class:"bulk-bar"},I0={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},P0={class:"paper-table-head",role:"row"},V0={role:"columnheader",style:{width:"28px"}},M0=["checked"],q0={role:"columnheader"},L0={role:"columnheader"},$0={role:"columnheader",class:"num"},U0={role:"columnheader"},F0={role:"cell",style:{width:"28px"}},z0={type:"checkbox","aria-label":"Select repository"},H0={class:"cell-anon",role:"cell"},B0={class:"anon-text"},j0=["textContent","href"],G0={class:"anon-sub"},W0=["textContent","href"],K0={key:0},Y0=["textContent","href"],J0={key:1},Q0=["textContent","href"],X0={key:2},Z0={class:"cell-status",role:"cell"},x0={class:"status-line"},eC=["textContent"],tC=["textContent","title"],nC=["textContent"],sC=["textContent"],oC={class:"cell-actions",role:"cell"},rC={class:"dropdown"},iC={class:"dropdown-menu dropdown-menu-right"},aC=["href"],lC=["href"],dC=["href"],uC=["onClick"],cC=["onClick"],pC=["onClick"],fC=["onClick"],mC=["onClick"],hC=["onClick"],vC={key:0,class:"paper-table-empty"};function Cl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",Sk,[n("div",Nk,[t[22]||(t[22]=n("a",{href:"/admin/"},"Admin",-1)),t[23]||(t[23]=y(" \xA0/\xA0 ",-1)),t[24]||(t[24]=n("a",{href:"/admin/users"},"Users",-1)),t[25]||(t[25]=y(" \xA0/\xA0 ",-1)),n("span",_k,u(e.userInfo?.username||"Profile"),1)]),n("h1",Dk,u(e.userInfo?.username||"User"),1),t[87]||(t[87]=fe('',1)),e.userInfo?(l(),d("div",Rk,[n("div",Tk,[e.userInfo?.photo?(l(),d("img",{key:0,width:"56",height:"56",src:e.safeUrl(e.userInfo?.photo)},null,8,Ok)):p("v-if",!0),n("div",null,[n("h2",null,[y(u(e.userInfo?.username)+" ",1),n("span",Ak,[n("span",{class:T(["status-dot",{"status-ready":e.userInfo?.status=="active","status-removed":e.userInfo?.status!="active"}])},null,2),n("span",{textContent:u(e.fmt?.title(e.userInfo?.status))},null,8,Ik)]),e.userInfo?.isAdmin?(l(),d("span",Pk,"Admin")):p("v-if",!0)]),n("div",Vk,[e.userInfo?.status!=="banned"&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:0,class:"btn btn-sm btn-outline-danger",onClick:t[0]||(t[0]=o=>e.banUser())},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),y(" Ban",-1)])])):p("v-if",!0),e.userInfo?.status==="banned"||e.userInfo?.status==="removed"?(l(),d("button",{key:1,class:"btn btn-sm",onClick:t[1]||(t[1]=o=>e.activateUser())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Activate",-1)])])):p("v-if",!0),e.userInfo?.isAdmin?p("v-if",!0):(l(),d("button",{key:2,class:"btn btn-sm",onClick:t[2]||(t[2]=o=>e.promoteUser())},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-shield"})],-1),y(" Promote to admin",-1)])])),e.userInfo?.isAdmin&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:3,class:"btn btn-sm btn-outline-ink",onClick:t[3]||(t[3]=o=>e.demoteUser())},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-minus"})],-1),y(" Remove admin",-1)])])):p("v-if",!0)])])]),n("div",Mk,[t[32]||(t[32]=n("div",{class:"detail-label"},"ID",-1)),n("div",qk,u(e.userInfo?._id),1),t[33]||(t[33]=n("div",{class:"detail-label"},"Email",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.emails?.[0]?.email}])},u(e.userInfo?.emails?.[0]?.email||"Not shared"),3),t[34]||(t[34]=n("div",{class:"detail-label"},"Access token",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.accessTokens?.github}]),style:{"font-family":"var(--font-mono)","font-size":"0.85rem"}},u(e.userInfo?.accessTokens?.github||"Not stored"),3),t[35]||(t[35]=n("div",{class:"detail-label"},"GitHub",-1)),n("div",Lk,[n("a",{target:"_blank",href:e.safeUrl("https://github.com/"+e.userInfo?.username)},[t[30]||(t[30]=n("i",{class:"fab fa-github"},null,-1)),y(" "+u(e.userInfo?.username),1)],8,$k)]),t[36]||(t[36]=n("div",{class:"detail-label"},"Created",-1)),n("div",Uk,u(e.fmt?.humanTime(e.userInfo?.dateOfEntry)),1),t[37]||(t[37]=n("div",{class:"detail-label"},"Last connection",-1)),n("div",Fk,[e.userInfo?.accessTokenDates?.github?(l(),d("span",zk,u(e.fmt?.humanTime(e.userInfo?.accessTokenDates?.github)),1)):p("v-if",!0),e.userInfo?.accessTokenDates?.github?p("v-if",!0):(l(),d("span",Hk,"Not recorded (GitHub App sign-in)"))]),t[38]||(t[38]=n("div",{class:"detail-label"},"GitHub repos",-1)),n("div",Bk,[y(u(e.userInfo?.repositories?.length?e.userInfo.repositories.length+" repositories":"Not synced")+" ",1),e.userInfo?.repositories?.length?(l(),d("button",{key:0,class:"btn btn-sm ml-2",onClick:t[4]||(t[4]=o=>e.showRepos=!e.showRepos)},u(e.showRepos?"Hide repos":"Show repos"),1)):p("v-if",!0),n("button",{class:"btn btn-sm ml-1",onClick:t[5]||(t[5]=o=>e.getGitHubRepositories())},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Refresh ",-1)])])])]),e.showRepos?(l(),d("div",jk,[t[41]||(t[41]=n("div",{class:"paper-section-eyebrow"},"GitHub repositories",-1)),n("div",Gk,[(l(!0),d(Y,null,ie(e.userInfo?.repositories,(o,i)=>(l(),d("div",Wk,[n("div",Kk,[t[39]||(t[39]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",Yk,[n("span",{class:"repo-name",textContent:u(o?.name)},null,8,Jk)])]),n("div",Qk,[t[40]||(t[40]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-database"})],-1)),y(" "+u(e.fmt?.humanFileSize(o?.size)),1)])]))),256))])])):p("v-if",!0)])):p("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",Xk,[t[42]||(t[42]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),y(" API tokens")],-1)),n("span",Zk,u(e.tokens?.length),1)])):p("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",xk,[t[48]||(t[48]=n("p",{class:"paper-page-lede"},[y("Personal API tokens for this admin account. Send as "),n("code",null,"Authorization: Bearer "),y(" to authenticate without GitHub OAuth (useful for development).")],-1)),D((l(),d("form",{class:"d-flex",style:{gap:"8px","margin-bottom":"12px"},onSubmit:t[6]||(t[6]=ue(o=>e.submitForm(o,()=>{e.createToken()}),["prevent"]))},[D(n("input",e0,null,512),[[s,{state:e.viewState,set:o=>{e.tokenForm.name=o},value:e.tokenForm?.name,form:null,options:{}}]]),t[43]||(t[43]=n("button",{type:"submit",class:"btn btn-primary"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})]),y(" Generate")],-1))],32)),[[r,e.viewState]]),e.tokenForm?.plaintext?(l(),d("div",t0,[t[44]||(t[44]=n("strong",null,"Copy this token now \u2014 it will not be shown again:",-1)),n("pre",n0,u(e.tokenForm?.plaintext),1),n("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=o=>e.tokenForm.plaintext=null)},"Dismiss")])):p("v-if",!0),e.tokens?.length?(l(),d("div",s0,[t[46]||(t[46]=n("div",{class:"paper-table-head",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},[n("div",{role:"columnheader"},"Name"),n("div",{role:"columnheader"},"Created"),n("div",{role:"columnheader"},"Last used"),n("div",{role:"columnheader","aria-label":"Actions"})],-1)),(l(!0),d(Y,null,ie(e.tokens,(o,i)=>(l(),d("div",o0,[n("div",{role:"cell",textContent:u(o?.name)},null,8,r0),n("div",{role:"cell",textContent:u(e.fmt?.humanTime(o?.createdAt))},null,8,i0),n("div",a0,[o?.lastUsedAt?(l(),d("span",l0,u(e.fmt?.humanTime(o?.lastUsedAt)),1)):p("v-if",!0),o?.lastUsedAt?p("v-if",!0):(l(),d("span",d0,"never"))]),n("div",u0,[n("button",{class:"btn btn-sm text-danger btn-icon",title:"Revoke","aria-label":"Revoke token",onClick:a=>e.revokeToken(o)},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,c0)])]))),256))])):p("v-if",!0),e.tokens?.length?p("v-if",!0):(l(),d("div",p0,[...t[47]||(t[47]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No tokens yet.",-1)])]))])):p("v-if",!0),n("div",f0,[t[49]||(t[49]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})]),y(" Anonymized repositories")],-1)),n("span",m0,u(e.repositories?.length),1)]),n("div",h0,[n("span",v0,u(e.fmt?.number(e.repositories?.length)),1),n("button",{type:"button",class:T(["summary-pill ok",{active:e.filters?.status?.ready===!1}]),title:"Toggle ready filter",onClick:t[8]||(t[8]=o=>e.filters.status.ready=!e.filters.status.ready),"aria-pressed":e.filters?.status?.ready===!1},[t[50]||(t[50]=y("Ready ",-1)),n("span",g0,u(e.fmt?.number(e.statusCountFor("ready"))),1)],10,y0),n("button",{type:"button",class:T(["summary-pill warn",{active:e.filters?.status?.preparing===!1}]),title:"Toggle preparing filter",onClick:t[9]||(t[9]=o=>e.filters.status.preparing=!e.filters.status.preparing),"aria-pressed":e.filters?.status?.preparing===!1},[t[51]||(t[51]=y("Preparing ",-1)),n("span",w0,u(e.fmt?.number(e.statusCountFor("preparing"))),1)],10,b0),n("button",{type:"button",class:T(["summary-pill error",{active:e.filters?.status?.error===!1}]),title:"Toggle errored filter",onClick:t[10]||(t[10]=o=>e.filters.status.error=!e.filters.status.error),"aria-pressed":e.filters?.status?.error===!1},[t[52]||(t[52]=y("Errored ",-1)),n("span",C0,u(e.fmt?.number(e.statusCountFor("error"))),1)],10,k0),n("button",{type:"button",class:T(["summary-pill",{active:e.filters?.status?.expired===!1}]),title:"Toggle expired filter",onClick:t[11]||(t[11]=o=>e.filters.status.expired=!e.filters.status.expired),"aria-pressed":e.filters?.status?.expired===!1},[t[53]||(t[53]=y("Expired ",-1)),n("span",S0,u(e.fmt?.number(e.statusCountFor("expired"))),1)],10,E0),n("button",{type:"button",class:T(["summary-pill",{active:e.filters?.status?.removed===!1}]),title:"Toggle removed filter",onClick:t[12]||(t[12]=o=>e.filters.status.removed=!e.filters.status.removed),"aria-pressed":e.filters?.status?.removed===!1},[t[54]||(t[54]=y("Removed ",-1)),n("span",_0,u(e.fmt?.number(e.statusCountFor("removed"))),1)],10,N0)]),D((l(),d("form",D0,[n("div",R0,[n("div",T0,[D(n("input",O0,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),t[56]||(t[56]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[13]||(t[13]=o=>e.exportCsv())},[...t[55]||(t[55]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])])])])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",A0,[n("span",null,[n("strong",null,u(e.selectedCount()),1),t[57]||(t[57]=y(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[14]||(t[14]=o=>e.bulkRefresh())},[...t[58]||(t[58]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[15]||(t[15]=o=>e.bulkRemoveCache())},[...t[59]||(t[59]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[16]||(t[16]=o=>e.clearSelection())},"Clear")])):p("v-if",!0),n("div",I0,[n("div",P0,[n("div",V0,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[17]||(t[17]=o=>e.selectAllOnPage()),checked:e.allSelected},null,8,M0)]),n("div",q0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[18]||(t[18]=o=>e.sortBy("source.repositoryName"))},[t[61]||(t[61]=y("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[60]||(t[60]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",L0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[19]||(t[19]=o=>e.sortBy("status"))},[t[63]||(t[63]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[62]||(t[62]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",$0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[20]||(t[20]=o=>e.sortBy("pageView"))},[t[65]||(t[65]=y("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[64]||(t[64]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",U0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[21]||(t[21]=o=>e.sortBy("anonymizeDate"))},[t[67]||(t[67]=y("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[66]||(t[66]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[68]||(t[68]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(Y,null,ie(e.filteredRepositories,(o,i)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":o?.status=="expired"||o?.status=="removed","repo-error":o?.status=="error","row-selected":e.selected[o?.repoId]}]),role:"row"},[n("div",F0,[D(n("input",z0,null,512),[[s,{state:e.viewState,set:a=>{e.selected[o.repoId]=a},value:e.selected[o?.repoId],form:null,options:{}}]])]),n("div",H0,[t[73]||(t[73]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",B0,[n("a",{class:"repo-name",target:"_blank",textContent:u(o?.repoId),href:e.safeUrl("/r/"+o?.repoId)},null,8,j0),n("div",G0,[n("a",{textContent:u(o?.source?.fullName),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/")},null,8,W0),o?.options?.update?(l(),d("span",K0,[t[69]||(t[69]=y("\xA0\xB7\xA0",-1)),n("a",{textContent:u(o?.source?.branch),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.branch)},null,8,Y0)])):p("v-if",!0),o?.options?.update?p("v-if",!0):(l(),d("span",J0,[t[70]||(t[70]=y("\xA0\xB7\xA0@",-1)),n("a",{textContent:u(o?.source?.commit?.substring(0,8)),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.commit)},null,8,Q0)])),o?.conference?(l(),d("span",X0,[t[71]||(t[71]=y("\xA0\xB7\xA0",-1)),t[72]||(t[72]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),y(" "+u(o?.conference),1)])):p("v-if",!0),n("span",null,"\xA0\xB7\xA0"+u(e.fmt?.humanFileSize(o?.size?.storage)),1),n("span",null,"\xA0\xB7\xA0"+u(e.fmt?.number(o?.options?.terms?.length))+" terms",1)])])]),n("div",Z0,[n("span",x0,[n("span",{class:T(["status-dot",{"status-removed":o?.status=="removed"||o?.status=="expired","status-ready":o?.status=="ready","status-error":o?.status=="error","status-preparing":o?.status=="preparing"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,eC)]),o?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:u(e.fmt?.statusMsg(o?.statusMessage)),title:o?.statusMessage},null,8,tC)):p("v-if",!0)]),n("div",{class:"cell-views num",role:"cell",textContent:u(e.fmt?.number(o?.pageView||0))},null,8,nC),n("div",{class:"cell-expires",role:"cell",textContent:u(e.fmt?.humanTime(o?.anonymizeDate))},null,8,sC),n("div",oC,[n("div",rC,[t[85]||(t[85]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",iC,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+o?.repoId)},[...t[74]||(t[74]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit",-1)])],8,aC),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+o?.repoId+"/")},[...t[75]||(t[75]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View repo",-1)])],8,lC),o?.options?.page&&o?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+o?.repoId+"/")},[...t[76]||(t[76]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),y(" View page",-1)])],8,dC)):p("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.fetchGithubInfo(o),["prevent"])},[...t[77]||(t[77]=[n("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,uC),t[83]||(t[83]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(o),["prevent"])},[...t[78]||(t[78]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force update",-1)])],8,cC),[[Q,o?.status=="ready"||o?.status=="error"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(o),["prevent"])},[...t[79]||(t[79]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Enable",-1)])],8,pC),[[Q,o?.status=="removed"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.showStatusMessage(o),["prevent"])},[...t[80]||(t[80]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),y(" View status message",-1)])],8,fC),[[Q,o?.statusMessage]]),t[84]||(t[84]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.removeCache(o),["prevent"])},[...t[81]||(t[81]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])],8,mC),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.removeRepository(o),["prevent"])},[...t[82]||(t[82]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,hC),[[Q,o?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",vC,[...t[86]||(t[86]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No repositories match the current filters.",-1)])])):p("v-if",!0)])])}var yC={class:"container paper-page admin-page"},gC={class:"admin-summary"},bC={class:"summary-total"},wC=["aria-pressed"],kC={class:"count"},CC=["aria-pressed"],EC={class:"count"},SC=["aria-pressed"],NC={class:"count"},_C=["aria-pressed"],DC={class:"count"},RC={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},TC={class:"w-100 admin-filter-toolbar","aria-label":"Users","accept-charset":"UTF-8"},OC={class:"admin-filter-row"},AC={class:"search-wrap"},IC={type:"search",class:"form-control","aria-label":"Search users",placeholder:"Search username or email\u2026",autocomplete:"off"},PC={key:0,class:"admin-search-hint"},VC={class:"admin-filter-inline"},MC={class:"form-control form-control-sm"},qC={key:0,class:"admin-filter-inline","aria-label":"Pagination"},LC=["disabled"],$C={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},UC=["disabled"],FC={key:0,class:"admin-filter-row"},zC={class:"admin-active-chips"},HC={class:"key"},BC=["onClick"],jC={key:1,class:"bulk-bar"},GC={class:"paper-table w-100",role:"table","aria-label":"Users",style:{"--cols":"28px minmax(280px, 2.4fr) 100px 140px 140px 52px"}},WC={class:"paper-table-head admin-users-row",role:"row"},KC={role:"columnheader",style:{width:"28px"}},YC=["checked"],JC={role:"columnheader"},QC={role:"columnheader"},XC={role:"cell",style:{width:"28px"}},ZC={type:"checkbox","aria-label":"Select user"},xC={class:"cell-anon",role:"cell"},e2=["src"],t2={key:1,class:"avatar-fallback","aria-hidden":"true"},n2={class:"anon-text"},s2=["textContent","href"],o2={class:"anon-sub"},r2={key:0},i2=["href"],a2={key:1},l2={class:"cell-views num",role:"cell"},d2=["title","textContent","href"],u2={class:"cell-status",role:"cell"},c2=["textContent"],p2={class:"cell-status",role:"cell"},f2={key:0,class:"role-pill"},m2={key:1,class:"empty-dash"},h2={class:"cell-actions",role:"cell"},v2={class:"dropdown"},y2={class:"dropdown-menu dropdown-menu-right"},g2=["href"],b2=["href"],w2=["onClick"],k2=["onClick"],C2={key:0,class:"paper-table-empty"},E2={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},S2={style:{"font-size":"12px",color:"var(--ink-muted)"}},N2={key:0,class:"pagination-compact"},_2=["disabled"],D2=["max"],R2=["disabled"],T2={class:"admin-filter-inline"},O2={class:"form-control form-control-sm"};function El(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",yC,[t[48]||(t[48]=fe('
Admin \xA0/\xA0 Users

Users

',3)),n("div",gC,[n("span",bC,[y(u(e.total>=0?e.fmt.number(e.total):"\u2026")+" ",1),n("small",null,u(e.total===1?"user":"users"),1)]),n("button",{type:"button",class:T(["summary-pill",{active:!e.query?.status}]),onClick:t[0]||(t[0]=o=>{e.query.status="",e.query.page=1}),"aria-pressed":!e.query?.status},[t[14]||(t[14]=y("All ",-1)),n("span",kC,u(e.fmt?.number(e.total)),1)],10,wC),n("button",{type:"button",class:T(["summary-pill ok",{active:e.query?.status=="active"}]),onClick:t[1]||(t[1]=o=>{e.query.status=e.query.status=="active"?"":"active",e.query.page=1}),"aria-pressed":e.query?.status=="active"},[t[15]||(t[15]=y("Active ",-1)),n("span",EC,u(e.fmt?.number(e.statusCountFor("active"))),1)],10,CC),n("button",{type:"button",class:T(["summary-pill error",{active:e.query?.status=="banned"}]),onClick:t[2]||(t[2]=o=>{e.query.status=e.query.status=="banned"?"":"banned",e.query.page=1}),"aria-pressed":e.query?.status=="banned"},[t[16]||(t[16]=y("Banned ",-1)),n("span",NC,u(e.fmt?.number(e.statusCountFor("banned"))),1)],10,SC),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.status=="removed"}]),onClick:t[3]||(t[3]=o=>{e.query.status=e.query.status=="removed"?"":"removed",e.query.page=1}),"aria-pressed":e.query?.status=="removed"},[t[17]||(t[17]=y("Removed ",-1)),n("span",DC,u(e.fmt?.number(e.statusCountFor("removed"))),1)],10,_C)]),e.fetchError?(l(),d("div",RC,[t[18]||(t[18]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fetchError),1)])):p("v-if",!0),D((l(),d("form",TC,[n("div",OC,[n("div",AC,[D(n("input",IC,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.query?.search?p("v-if",!0):(l(),d("span",PC,"/"))]),n("span",VC,[t[20]||(t[20]=n("label",null,"Role",-1)),D((l(),d("select",MC,[...t[19]||(t[19]=[n("option",{value:""},"Any",-1),n("option",{value:"admin"},"Admin",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.role=o},value:e.query?.role,form:null,options:{}}]])]),t[24]||(t[24]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",onClick:t[4]||(t[4]=o=>e.exportCsv())},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])]),e.totalPage>1?(l(),d("span",qC,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[5]||(t[5]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,LC),n("span",$C,u(e.query?.page)+"/"+u(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[6]||(t[6]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[23]||(t[23]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,UC)])):p("v-if",!0)]),e.chips?.length?(l(),d("div",FC,[n("div",zC,[(l(!0),d(Y,null,ie(e.chips,(o,i)=>(l(),d("span",{class:"admin-active-chip",key:o?.key},[n("span",HC,u(o?.label),1),n("span",null,u(o?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(o.key),"aria-label":"Clear filter"},[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,BC)]))),128))])])):p("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",jC,[n("span",null,[n("strong",null,u(e.selectedCount()),1),t[26]||(t[26]=y(" selected",-1))]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[7]||(t[7]=o=>e.bulkBan())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),y(" Ban",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[8]||(t[8]=o=>{e.selected={},e.allSelected=!1})},"Clear")])):p("v-if",!0),n("div",GC,[n("div",WC,[n("div",KC,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[9]||(t[9]=o=>e.selectAllOnPage()),checked:e.allSelected},null,8,YC)]),n("div",JC,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="username"}]),onClick:t[10]||(t[10]=o=>e.sortBy("username"))},[t[29]||(t[29]=y("User ",-1)),e.sortIcon("username")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("username")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[28]||(t[28]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[32]||(t[32]=n("div",{role:"columnheader",class:"num",title:"Repositories discovered on the user's GitHub account"},"GitHub repos",-1)),n("div",QC,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[11]||(t[11]=o=>e.sortBy("status"))},[t[31]||(t[31]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[30]||(t[30]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[33]||(t[33]=n("div",{role:"columnheader"},"Role",-1)),t[34]||(t[34]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(Y,null,ie(e.filteredUsers,(o,i)=>(l(),d("div",{class:T(["paper-table-row admin-users-row",{"row-selected":e.selected[o?.username]}]),role:"row"},[n("div",XC,[D(n("input",ZC,null,512),[[s,{state:e.viewState,set:a=>{e.selected[o.username]=a},value:e.selected[o?.username],form:null,options:{}}]])]),n("div",xC,[o?.photo?(l(),d("img",{key:0,width:"28",height:"28",class:"rounded-circle",style:{"flex-shrink":"0"},src:e.safeUrl(o?.photo)},null,8,e2)):(l(),d("span",t2,u((o?.username||"?").charAt(0).toUpperCase()),1)),n("div",n2,[n("a",{class:"repo-name",textContent:u(o?.username),href:e.safeUrl("/admin/users/"+o?.username)},null,8,s2),n("div",o2,[o?.emails?.[0]?.email?(l(),d("span",r2,u(o?.emails?.[0]?.email)+" \xB7 ",1)):p("v-if",!0),n("a",{target:"_blank",href:e.safeUrl("https://github.com/"+o?.username)},[t[35]||(t[35]=n("i",{class:"fab fa-github"},null,-1)),y(" "+u(o?.username),1)],8,i2),o?.dateOfEntry?(l(),d("span",a2,"\xA0\xB7\xA0Joined "+u(e.fmt?.humanTime(o?.dateOfEntry)),1)):p("v-if",!0)])])]),n("div",l2,[t[36]||(t[36]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:o?.repoCount?"Show this user\u2019s repositories":"Repositories not synced yet",textContent:u(o?.repoCount?e.fmt?.number(o.repoCount):"Not synced"),class:T({"is-unsynced":!o?.repoCount}),href:e.safeUrl("/admin/repositories?owner="+o?.username)},null,10,d2)]),n("div",u2,[n("span",{class:T(["status-dot",{"status-ready":o?.status=="active","status-removed":o?.status=="removed"||o?.status=="banned"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,c2)]),n("div",p2,[o?.isAdmin?(l(),d("span",f2,"Admin")):p("v-if",!0),o?.isAdmin?p("v-if",!0):(l(),d("span",m2,"\u2014"))]),n("div",h2,[n("div",v2,[t[42]||(t[42]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",y2,[n("a",{class:"dropdown-item",href:e.safeUrl("/admin/users/"+o?.username)},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View details",-1)])],8,g2),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/repositories?owner="+o?.username)},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),y(" View repositories",-1)])],8,b2),t[41]||(t[41]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.banUser(o),["prevent"])},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),y(" Ban",-1)])],8,w2),[[Q,o?.status=="active"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.activateUser(o),["prevent"])},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Activate",-1)])],8,k2),[[Q,o?.status=="removed"||o?.status=="banned"]])])])])],2))),256)),e.filteredUsers?.length==0?(l(),d("div",C2,[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No users match the current filters.",-1)])])):p("v-if",!0)]),n("div",E2,[n("span",S2,u(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",N2,[n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),y(" Previous",-1)])],8,_2),D(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,D2),[[s,{state:e.viewState,set:o=>{e.query.page=o},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+u(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[13]||(t[13]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[45]||(t[45]=[y("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,R2)])):p("v-if",!0),n("span",T2,[t[47]||(t[47]=n("label",null,"Per page",-1)),D((l(),d("select",O2,[...t[46]||(t[46]=[n("option",{value:"10"},"10",-1),n("option",{value:"25"},"25",-1),n("option",{value:"50"},"50",-1),n("option",{value:"100"},"100",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.limit=o},value:e.query?.limit,form:null,options:{}}]])])])])}var A2={class:"anonymize-landing"},I2={class:"anonymize-landing-inner"},P2={class:"form-group mt-4 mb-2"},V2={class:"source-url-label-row"},M2={key:0,class:"repo-access","aria-label":"GitHub access"},q2={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},L2=["aria-pressed","disabled"],$2=["aria-pressed","disabled"],U2={key:1,class:"connection-badge"},F2={class:"landing-url-row"},z2={id:"sourceUrl-landing",onblur:"this.scrollLeft=0",type:"text",class:"form-control form-control-lg",placeholder:"https://github.com/owner/repository"},H2=["aria-disabled"],B2={key:0,class:"text-danger",role:"alert"},j2={key:1,class:"repo-access-details","aria-label":"GitHub access"},G2={class:"repo-access-main"},W2={class:"repo-access-controls"},K2={key:0,class:"access-q"},Y2={key:2,class:"connection-link",href:"/connections"},J2={class:"repo-access-note"},Q2={key:0},X2={class:"anonymize-workspace"},Z2={class:"anonymize-topbar"},x2={class:"anonymize-topbar-inner"},eE={class:"paper-crumbs"},tE={class:"here"},nE={class:"anonymize-topbar-head"},sE={class:"paper-page-title anonymize-topbar-title"},oE={key:0},rE={key:1},iE={key:0,class:"alert alert-info",role:"status"},aE={key:1,class:"alert alert-info",role:"status"},lE={key:1},dE={class:"anonymize-mobile-tabs",role:"tablist","aria-label":"Anonymization workspace"},uE=["aria-selected","tabindex"],cE=["aria-selected","tabindex"],pE={key:2,class:"anonymize-preview-empty",id:"workspace-preview",role:"status"},fE={class:"anonymize-split"},mE=["role","aria-labelledby"],hE={class:"form needs-validation paper-settings-main",name:"anonymize",novalidate:""},vE={class:"paper-settings-section"},yE={class:"form-group"},gE={class:"source-url-label-row"},bE={key:0,class:"repo-access","aria-label":"GitHub access"},wE={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},kE=["aria-pressed","disabled"],CE=["aria-pressed","disabled"],EE={key:1,class:"connection-badge"},SE=["disabled"],NE={class:"invalid-feedback"},_E={class:"invalid-feedback"},DE={class:"invalid-feedback"},RE={class:"invalid-feedback"},TE={key:0,class:"repo-access-details","aria-label":"GitHub access"},OE={class:"repo-access-main"},AE={class:"repo-access-controls"},IE={key:0,class:"access-q"},PE={key:2,class:"connection-link",href:"/connections"},VE={class:"repo-access-note"},ME={key:0},qE={key:1,class:"repo-access-details"},LE={key:0,role:"status"},$E={key:2,class:"form-grid-2"},UE={class:"form-group"},FE={class:"input-group"},zE={class:"form-control",id:"branch",name:"branch"},HE=["textContent","value"],BE={class:"input-group-append"},jE={class:"form-group"},GE=["disabled"],WE={class:"invalid-feedback"},KE={class:"invalid-feedback"},YE={class:"form-check"},JE={class:"form-check-input",type:"checkbox",id:"update",name:"update"},QE={class:"paper-settings-section"},XE={class:"form-group"},ZE=["disabled"],xE={class:"form-text text-muted"},eS={class:"invalid-feedback"},tS={class:"form-group"},nS=["disabled"],sS={class:"form-text text-muted"},oS={class:"invalid-feedback"},rS={class:"form-group"},iS=["disabled"],aS={class:"form-text text-muted"},lS={class:"invalid-feedback"},dS={class:"form-group"},uS={class:"form-text text-muted"},cS=["href"],pS={class:"invalid-feedback"},fS={class:"form-text text-muted"},mS={class:"paper-settings-section"},hS={class:"form-group"},vS={class:"form-text text-muted"},yS={class:"warning-feedback"},gS={class:"invalid-feedback"},bS={class:"paper-settings-section"},wS={class:"form-check"},kS={class:"form-check-input",type:"checkbox",id:"link",name:"link"},CS={class:"form-check"},ES={class:"form-check-input",type:"checkbox",id:"image",name:"image"},SS={class:"form-check"},NS={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},_S={class:"form-check"},DS={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},RS={class:"form-check"},TS=["disabled"],OS={key:0,class:"form-text text-muted"},AS={key:1,class:"form-text text-muted"},IS={class:"form-check"},PS={class:"form-check-input",type:"checkbox",id:"title-gist",name:"title-gist"},VS={class:"form-check"},MS={class:"form-check-input",type:"checkbox",id:"content-gist",name:"content-gist"},qS={class:"form-check"},LS={class:"form-check-input",type:"checkbox",id:"comments-gist",name:"comments-gist"},$S={class:"form-check"},US={class:"form-check-input",type:"checkbox",id:"username-gist",name:"username-gist"},FS={class:"form-check"},zS={class:"form-check-input",type:"checkbox",id:"date-gist",name:"date-gist"},HS={class:"form-check"},BS={class:"form-check-input",type:"checkbox",id:"origin-gist",name:"origin-gist"},jS={class:"form-check"},GS={class:"form-check-input",type:"checkbox",id:"title",name:"title"},WS={class:"form-check"},KS={class:"form-check-input",type:"checkbox",id:"body",name:"body"},YS={class:"form-check"},JS={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},QS={class:"form-check"},XS={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},ZS={class:"form-check"},xS={class:"form-check-input",type:"checkbox",id:"username",name:"username"},eN={class:"form-check"},tN={class:"form-check-input",type:"checkbox",id:"date",name:"date"},nN={class:"form-check"},sN={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},oN={class:"paper-settings-section"},rN={class:"form-grid-2"},iN={class:"form-group"},aN={class:"form-control",id:"expiration",name:"expiration"},lN={class:"form-group"},dN=["min","max"],uN={class:"invalid-feedback"},cN={class:"invalid-feedback"},pN={class:"paper-settings-section"},fN={class:"form-group"},mN={style:{position:"relative"}},hN={type:"text",id:"coauthorSearch",class:"form-control",placeholder:"Search GitHub username\u2026",autocomplete:"off"},vN={class:"dropdown-menu show",style:{display:"block","max-height":"220px","overflow-y":"auto",width:"100%"}},yN=["onClick"],gN=["src"],bN=["textContent"],wN=["textContent"],kN={class:"coauthor-list"},CN={class:"coauthor-row d-flex align-items-center",style:{padding:"6px 0",gap:"8px"}},EN=["src"],SN=["textContent","href"],NN=["onClick"],_N={class:"form-text text-muted"},DN=["textContent"],RN={class:"anonymize-submit-bar"},TN={key:0,class:"draft-status",role:"status"},ON={key:1,class:"draft-status"},AN=["disabled"],IN=["disabled"],PN=["disabled"],VN=["disabled"],MN=["disabled"],qN=["disabled"],LN=["role","aria-labelledby"],$N={class:"anonymize-preview-head"},UN={class:"anonymize-preview-sub"},FN={key:0,class:"anonymize-preview-status",role:"status"},zN={key:1,class:"anonymize-preview-status",role:"status"},HN={key:2,class:"anonymize-preview-status",role:"alert"},BN={key:3,class:"anonymize-preview-status"},jN=["innerHTML"],GN=["role","aria-labelledby"],WN={class:"anonymize-preview-head"},KN={class:"anonymize-preview-sub"},YN={key:0,class:"anonymize-preview-status",role:"status"},JN={key:1,class:"anonymize-preview-status",role:"status"},QN={key:2,class:"anonymize-preview-status",role:"alert"},XN={key:3,class:"anonymize-preview-body"},ZN={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},xN={class:"pr-title mb-1"},e_={key:0},t_=["textContent"],n_={key:0},s_={key:1},o_={key:2},r_={class:"pr-comments mt-3"},i_={class:"pr-comment"},a_={class:"pr-comment-head"},l_=["textContent"],d_={key:0,class:"pr-comment-date"},u_={key:3},c_={class:"pr-comments"},p_={class:"pr-comment"},f_={class:"pr-comment-head"},m_={key:0,class:"pr-comment-author"},h_=["textContent"],v_=["textContent"],y_={key:0,class:"pr-comment-body"},g_=["role","aria-labelledby"],b_={class:"anonymize-preview-head"},w_={class:"anonymize-preview-sub"},k_={key:0,class:"anonymize-preview-status",role:"status"},C_={key:1,class:"anonymize-preview-status",role:"status"},E_={key:2,class:"anonymize-preview-status",role:"alert"},S_={key:3,class:"anonymize-preview-body"},N_={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},__={class:"pr-title mb-1"},D_={key:0},R_=["textContent"],T_={key:0},O_={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--paper-bg-alt)"}},A_={key:2,class:"paper-tabs",role:"tablist"},I_=["aria-selected","tabindex"],P_=["aria-selected","tabindex"],V_=["textContent"],M_={key:3,class:"anonymize-preview-status"},q_={class:"paper-tab-content"},L_={key:0,role:"tabpanel",id:"preview-pr-diff-panel","aria-labelledby":"preview-pr-diff-tab"},$_=["innerHTML"],U_={key:1,role:"tabpanel",id:"preview-pr-comments-panel","aria-labelledby":"preview-pr-comments-tab"},F_={class:"pr-comments"},z_={class:"pr-comment"},H_={class:"pr-comment-head"},B_={key:0,class:"pr-comment-author"},j_=["textContent"],G_=["textContent"],W_={key:0,class:"pr-comment-body"};function Sl(e,t){let s=Ge("gist-file"),r=Ge("markdown"),o=Ee("field"),i=Ee("form");return l(),d("div",{class:T(["anonymize-page h-100",{"mobile-preview-active":e.mobilePane==="preview"}])},[p(" ===== STATE 1: No URL \u2014 centered input ===== "),D(n("div",A2,[n("div",I2,[t[35]||(t[35]=n("div",{class:"paper-crumbs"},[y("My work \xA0/\xA0 "),n("span",{class:"here"},"New anonymization")],-1)),t[36]||(t[36]=n("h1",{class:"paper-page-title"},[y("New "),n("em",null,"anonymization")],-1)),t[37]||(t[37]=n("p",{class:"paper-page-lede"}," Paste a repository, pull request, or gist URL. You\u2019ll choose the terms to redact next. ",-1)),n("div",P2,[n("div",V2,[t[32]||(t[32]=n("label",{class:"paper-field-label",for:"sourceUrl-landing"},"Source URL",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",M2,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",q2,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[0]||(t[0]=a=>e.chooseGitHubConnection("github-app"))},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(),n("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,L2),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[1]||(t[1]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,$2)])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",U2,u((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):p("v-if",!0)])):p("v-if",!0)]),n("div",F2,[D(n("input",z2,null,512),[[o,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:null,options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),n("button",{type:"button",class:"btn btn-primary landing-continue","aria-disabled":e.sourceUrl?null:"true",onClick:t[2]||(t[2]=a=>e.sourceUrl&&e.urlSelected())},"Continue",8,H2)])]),e.sourceUrlError?(l(),d("p",B2,u(e.sourceUrlError),1)):p("v-if",!0),t[38]||(t[38]=n("small",{class:"form-text",style:{color:"var(--ink-muted)"}}," Repository, pull request (\u2026/pull/42) and gist (gist.github.com/\u2026) URLs are all accepted. ",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",j2,[n("div",G2,[n("div",W2,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",K2,"Repository not listed?")):p("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[3]||(t[3]=a=>e.grantGitHubAccess())},[...t[33]||(t[33]=[y("Manage access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",Y2,u(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):p("v-if",!0)])]),n("div",J2,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",Q2,"Select repositories on GitHub, then return here.")):p("v-if",!0),t[34]||(t[34]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y(" Selected content will be published, including content from private repositories.")],-1))])])):p("v-if",!0)])],512),[[Q,!e.workspaceOpen&&!e.isUpdate]]),p(" ===== STATE 2: URL provided \u2014 form (left) + preview (right) ===== "),D(n("div",X2,[n("header",Z2,[n("div",x2,[n("div",eE,[t[39]||(t[39]=n("a",{href:"/dashboard"},"My work",-1)),t[40]||(t[40]=y(" \xA0/\xA0 ",-1)),n("span",tE,u(e.isUpdate?"Edit anonymization":"New anonymization"),1)]),n("div",nE,[n("h1",sE,[e.isUpdate?p("v-if",!0):(l(),d("span",oE,[...t[41]||(t[41]=[y("New ",-1),n("em",null,"anonymization",-1)])])),e.isUpdate?(l(),d("span",rE,[...t[42]||(t[42]=[y("Edit ",-1),n("em",null,"anonymization",-1)])])):p("v-if",!0)]),D(n("span",{class:T(["type-badge",{"type-repo":e.detectedType==="repo","type-pr":e.detectedType==="pr","type-gist":e.detectedType==="gist"}])},u(e.detectedType==="repo"?"Repository":e.detectedType==="pr"?"Pull request":"Gist"),3),[[Q,e.detectedType]])])])]),e.detectedType==="gist"&&e.gistAppRequired?(l(),d("aside",iE,[t[43]||(t[43]=n("p",null,"Reconnect your GitHub account to read this gist. Your draft will be restored when you return.",-1)),n("button",{type:"button",class:"btn btn-ink",onClick:t[4]||(t[4]=a=>e.connectGistApp())},"Connect GitHub App to access gists")])):p("v-if",!0),e.detectedType==="gist"&&e.gistOAuthRequired?(l(),d("aside",aE,[t[44]||(t[44]=n("p",null,"Connect GitHub OAuth to access gists. Your account and existing anonymizations stay the same, and your draft will be restored when you return.",-1)),t[45]||(t[45]=n("p",null,"GitHub's legacy OAuth connection includes write access to private repositories.",-1)),e.githubConnections?.oauthEnabled?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[5]||(t[5]=a=>e.connectGistOAuth())},"Connect GitHub OAuth to access gists")):(l(),d("p",lE,"GitHub OAuth is currently unavailable. Please try again later."))])):p("v-if",!0),n("nav",dE,[n("button",{id:"workspace-settings-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="settings","aria-controls":"workspace-settings",tabindex:e.mobilePane==="settings"?0:-1,onKeydown:t[6]||(t[6]=a=>e.previewTabKeydown(a)),onClick:t[7]||(t[7]=a=>e.selectMobilePane("settings"))},"Settings",40,uE),n("button",{id:"workspace-preview-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="preview","aria-controls":"workspace-preview",tabindex:e.mobilePane==="preview"?0:-1,onKeydown:t[8]||(t[8]=a=>e.previewTabKeydown(a)),onClick:t[9]||(t[9]=a=>e.selectMobilePane("preview"))},"Reviewer preview",40,cE)]),e.detectedType!=="repo"&&!e.details?(l(),d("div",pE,u(e.sourceLoading?"Loading source\u2026":"Choose an accessible source to see its preview."),1)):p("v-if",!0),n("div",fE,[p(" Form column (left) "),n("div",{id:"workspace-settings",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-settings-tab":null,class:"anonymize-form-col overflow-auto"},[D((l(),d("form",hE,[n("section",vE,[t[56]||(t[56]=n("div",{class:"paper-section-eyebrow"},"Source",-1)),n("div",yE,[n("div",gE,[t[47]||(t[47]=n("label",{class:"paper-field-label",for:"sourceUrl"},"Source URL",-1)),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",bE,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",wE,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[10]||(t[10]=a=>e.chooseGitHubConnection("github-app"))},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(),n("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,kE),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[11]||(t[11]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,CE)])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",EE,u((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):p("v-if",!0)])):p("v-if",!0)]),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.sourceUrl?.invalid}]),name:"sourceUrl",id:"sourceUrl",onblur:"this.scrollLeft=0",disabled:e.isUpdate&&e.detectedType!=="repo",placeholder:"Paste a GitHub repo or pull request URL"},null,10,SE),[[o,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),D(n("div",NE," Please provide a valid GitHub URL. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.github]]),D(n("div",_E," Not accessible. The organization may restrict access. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.access]]),D(n("div",DE," Does not exist or is not accessible. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.missing]]),D(n("div",RE," Already anonymized. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.used]])]),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",TE,[n("div",OE,[n("div",AE,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",IE,"Repository not listed?")):p("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[12]||(t[12]=a=>e.grantGitHubAccess())},[...t[48]||(t[48]=[y("Manage access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",PE,u(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):p("v-if",!0)])]),n("div",VE,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",ME,"Select repositories on GitHub, then return here.")):p("v-if",!0),t[49]||(t[49]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y(" Selected content will be published, including content from private repositories.")],-1))])])):p("v-if",!0),e.isUpdate&&e.detectedType==="repo"&&e.role==="owner"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("aside",qE,[t[50]||(t[50]=n("p",null,"If you deleted and recreated this repository, reconnect it before choosing a branch.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[13]||(t[13]=a=>e.reconnectSource())},"Reconnect source repository"),e.reconnectRepositoryId?(l(),d("p",LE,"Source reloaded. Review the branch, commit, and anonymization preview, then save to replace the published snapshot.")):p("v-if",!0)])):p("v-if",!0),e.detectedType==="repo"?(l(),d("div",$E,[n("div",UE,[t[52]||(t[52]=n("label",{class:"paper-field-label",for:"branch"},"Branch",-1)),n("div",FE,[D((l(),d("select",zE,[(l(!0),d(Y,null,ie(e.branches,(a,c)=>(l(),d("option",{textContent:u(a?.name),value:a?.name},null,8,HE))),256))])),[[o,{state:e.viewState,set:a=>{e.source.branch=a},value:e.source?.branch,form:"anonymize",options:{}}]]),n("div",BE,[n("button",{class:"btn btn-icon",type:"button",title:"Refresh","data-toggle":"tooltip","data-placement":"bottom",onClick:t[14]||(t[14]=a=>e.getBranches(!0)),"aria-label":"Refresh"},[...t[51]||(t[51]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])])]),n("div",jE,[t[53]||(t[53]=n("label",{class:"paper-field-label",for:"commit"},"Commit",-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.commit?.invalid}]),id:"commit",disabled:e.options.update,name:"commit",pattern:"[a-fA-Z0-9]{6,}",required:""},null,10,GE),[[o,{state:e.viewState,set:a=>{e.source.commit=a},value:e.source?.commit,form:"anonymize",options:{}}]]),D(n("div",WE," The commit SHA is not valid. ",512),[[Q,e.anonymize?.commit?.errors?.pattern||e.anonymize?.commit?.errors?.required]]),D(n("div",KE," This commit no longer exists in the repository. Click refresh to get the latest. ",512),[[Q,e.anonymize?.commit?.errors?.exists]])])])):p("v-if",!0),D(n("div",YE,[D(n("input",JE,null,512),[[o,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"anonymize",options:{}}]]),t[54]||(t[54]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[55]||(t[55]=n("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))],512),[[Q,e.detectedType]])]),D(n("section",QE,[t[67]||(t[67]=n("div",{class:"paper-section-eyebrow"},"Identity",-1)),D(n("div",XE,[t[59]||(t[59]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.repoId?.invalid}]),name:"repoId",id:"repoId",disabled:e.isUpdate},null,10,ZE),[[o,{state:e.viewState,set:a=>{e.repoId=a},value:e.repoId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",xE,[t[57]||(t[57]=y("Your share link will be ",-1)),n("code",null,"anonymous.4open.science/r/"+u(e.repoId),1),t[58]||(t[58]=y(".",-1))]),D(n("div",eS,"ID can only contain letters and numbers.",512),[[Q,e.anonymize?.repoId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.repoId)+" is already used.",513),[[Q,e.anonymize?.repoId?.errors?.used]])],512),[[Q,e.detectedType==="repo"]]),D(n("div",tS,[t[62]||(t[62]=n("label",{class:"paper-field-label",for:"pullRequestId"},"Anonymized pull request ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId",disabled:e.isUpdate},null,10,nS),[[o,{state:e.viewState,set:a=>{e.pullRequestId=a},value:e.pullRequestId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",sS,[t[60]||(t[60]=y("Your share link will be ",-1)),n("code",null,"anonymous.4open.science/pr/"+u(e.pullRequestId),1),t[61]||(t[61]=y(".",-1))]),D(n("div",oS,"ID can only contain letters and numbers.",512),[[Q,e.anonymize?.pullRequestId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestId)+" is already used.",513),[[Q,e.anonymize?.pullRequestId?.errors?.used]])],512),[[Q,e.detectedType==="pr"]]),D(n("div",rS,[t[65]||(t[65]=n("label",{class:"paper-field-label",for:"gistId"},"Anonymized gist ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.gistId?.invalid}]),name:"gistId",id:"gistId",disabled:e.isUpdate},null,10,iS),[[o,{state:e.viewState,set:a=>{e.gistId=a},value:e.gistId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",aS,[t[63]||(t[63]=y("Your share link will be ",-1)),n("code",null,"anonymous.4open.science/gist/"+u(e.gistId),1),t[64]||(t[64]=y(".",-1))]),D(n("div",lS,"ID can only contain letters and numbers.",512),[[Q,e.anonymize?.gistId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.gistId)+" is already used.",513),[[Q,e.anonymize?.gistId?.errors?.used]])],512),[[Q,e.detectedType==="gist"]]),n("div",dS,[t[66]||(t[66]=n("label",{class:"paper-field-label",for:"conference"},[y("Conference "),n("span",{class:"paper-optional"},"(optional)")],-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[o,{state:e.viewState,set:a=>{e.conference=a},value:e.conference,form:"anonymize",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),D(n("small",uS,[n("a",{target:"_blank",href:e.safeUrl(e.conference_data?.url)},u(e.conference_data?.name),9,cS),y(" expires "+u(e.fmt?.date(e.conference_data?.endDate))+". ",1)],512),[[Q,e.conference_data]]),D(n("div",pS,"The conference is not activated.",512),[[Q,e.anonymize?.conference?.errors?.activated]]),D(n("small",fS,"Link to a conference to apply its shared defaults.",512),[[Q,!e.conference_data]])])],512),[[Q,e.detectedType]]),D(n("section",mS,[t[75]||(t[75]=n("div",{class:"paper-section-eyebrow"},"Anonymization",-1)),n("div",hS,[t[74]||(t[74]=n("label",{class:"paper-field-label",for:"terms"},"Terms to redact",-1)),D(n("textarea",{class:T(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"4",placeholder:`Jane Smith +`)],{type:"text/csv"}),N=document.createElement("a");N.href=URL.createObjectURL(E),N.download=r.username+"-repositories.csv",N.click()},e.showStatusMessage=m=>{let C=m.statusMessage||"(no message)";window.prompt(`Status message for ${m.repoId} (${m.status}):`,C)},e.fetchGithubInfo=m=>{let C=window.open("","_blank");C&&C.document.write("
Loading GitHub info for "+m.repoId+"...
"),t.get("/api/admin/repos/"+m.repoId+"/github").then(A=>{C&&(C.document.open(),C.document.write('
'+JSON.stringify(A.data,null,2).replace(/[<>]/g,h=>h==="<"?"<":">")+"
"),C.document.close())},A=>{let h=A&&A.data?JSON.stringify(A.data,null,2):String(A);C&&(C.document.body.innerHTML='
'+h+"
")})};function f(m){t.get("/api/admin/users/"+m+"/repos",{}).then(C=>{e.repositories=C.data},C=>{console.error(C)})}function g(m){t.get("/api/admin/users/"+m,{}).then(C=>{e.userInfo=C.data},C=>{console.error(C)})}g(r.username),f(r.username),e.banUser=()=>{confirm(`Ban user ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/ban`).then(()=>g(r.username),m=>console.error(m))},e.activateUser=()=>{t.post(`/api/admin/users/${r.username}/activate`).then(()=>g(r.username),m=>console.error(m))},e.promoteUser=()=>{confirm(`Promote ${r.username} to admin?`)&&t.post(`/api/admin/users/${r.username}/promote`).then(()=>g(r.username),m=>console.error(m))},e.demoteUser=()=>{confirm(`Remove admin privileges from ${r.username}?`)&&t.post(`/api/admin/users/${r.username}/demote`).then(()=>g(r.username),m=>console.error(m))},e.tokens=[],e.tokenForm={name:"",plaintext:null};function b(){t.get("/api/admin/tokens").then(m=>{e.tokens=m.data||[]},m=>{m.status!==401&&m.status!==403&&console.error(m)})}b(),e.createToken=()=>{e.tokenForm.name&&t.post("/api/admin/tokens",{name:e.tokenForm.name}).then(m=>{e.tokenForm.plaintext=m.data.token,e.tokenForm.name="",b()},m=>console.error(m))},e.revokeToken=m=>{confirm(`Revoke token "${m.name}"?`)&&t.delete("/api/admin/tokens/"+m.id).then(()=>b(),C=>console.error(C))},e.removeCache=m=>{confirm("Remove cached files for "+m.repoId+"?")&&t.delete("/api/admin/repos/"+m.repoId).then(()=>f(r.username),C=>console.error(C))},e.removeRepository=m=>{confirm("Remove repository "+m.repoId+"?")&&t.delete("/api/repo/"+m.repoId+"/").then(()=>f(r.username),C=>console.error(C))},e.updateRepository=m=>{let C=ze({title:`Refreshing ${m.repoId}...`,date:new Date,body:`The repository ${m.repoId} is going to be refreshed.`});e.toasts.push(C),t.post(`/api/repo/${m.repoId}/refresh`).then(A=>{A.data.status=="ready"?C.title=`${m.repoId} is refreshed.`:C.title=`Refreshing of ${m.repoId}.`},A=>{C.title=`Error during the refresh of ${m.repoId}.`,C.body=A.body})},e.getGitHubRepositories=m=>{t.get(`/api/user/${e.userInfo.username}/all_repositories`,{params:{force:"1"}}).then(C=>{e.userInfo.repositories=C.data})};let k=null;e.watch("query",()=>{o.timeout.cancel(k),k=o.timeout(()=>{f(r.username)},500)},!0)},dl=function(e,t,s){let r=ut(),o=Xt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.conferences=[],e.total=-1,e.totalPage=0,e.statusCounts=[];let i=A=>{if(A.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){A.preventDefault();let h=document.querySelector('.admin-filter-toolbar input[type="search"]');h&&h.focus()}};o(document,"keydown",i),e.on("dispose",()=>document.removeEventListener("keydown",i)),e.clearFilter=A=>{A==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[A]="",e.query.page=1},e.chips=[];let a=()=>{let A=[];(e.query.dateFrom||e.query.dateTo)&&A.push({key:"dateRange",label:"Date",value:(e.query.dateFrom||"\u2026")+" \u2013 "+(e.query.dateTo||"\u2026")}),e.chips=A};e.statusCountFor=A=>{let h=(e.statusCounts||[]).find(E=>E._id===A);return h?h.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=A=>{e.query.sort===A?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=A,e.query.direction="desc"),e.query.page=1},e.sortIcon=A=>e.query.sort===A?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let c="admin.conferences.filterPrefs",f={page:1,limit:25,sort:"name",direction:"asc",search:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!1,error:!0,preparing:!0},g=loadFilterPrefs(c)||{};e.query=Object.assign({},f,g,{page:1,search:""});let b=s.search();b.search&&(e.query.search=b.search);let k="admin.conferences.presets";e.presets=JSON.parse(localStorage.getItem(k)||"[]"),e.savePreset=()=>{let A=window.prompt("Preset name:");if(!A)return;let h=Object.assign({},e.query);delete h.page,e.presets=(e.presets||[]).filter(E=>E.name!==A),e.presets.push({name:A,query:h}),localStorage.setItem(k,JSON.stringify(e.presets))},e.applyPreset=A=>{Object.assign(e.query,A.query,{page:1})},e.deletePreset=A=>{e.presets=(e.presets||[]).filter(h=>h.name!==A.name),localStorage.setItem(k,JSON.stringify(e.presets))},e.removeConference=A=>{confirm("Remove conference "+A.conferenceID+"?")&&t.delete("/api/admin/conferences/"+A.conferenceID).then(()=>m(),h=>console.error(h))},e.exportCsv=()=>{let A=new URLSearchParams(Object.entries(e.query).filter(([,h])=>h!==""&&h!==!1&&h!=null));A.set("format","csv"),A.set("limit","10000"),window.open("/api/admin/conferences?"+A.toString(),"_blank")},e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/conferences",{params:e.query}).then(A=>{e.total=A.data.total,e.totalPage=Math.ceil(A.data.total/e.query.limit),e.conferences=A.data.results,e.statusCounts=A.data.statusCounts||[]},A=>{e.fetchError=A&&A.data&&A.data.error||"Failed to load conferences",console.error(A)})}m();let C=null;e.watch("query",()=>{r.timeout.cancel(C),C=r.timeout(m,500);let{page:A,search:h,...E}=e.query;saveFilterPrefs(c,E),a()},!0),a()},ul=function(e,t,s,r,o){let i=ut();e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.queueList=[],e.jobs=[],e.selectedQueue="download",e.selectedStats=null,e.range="1h",e.allStates=["active","waiting","delayed","failed","completed"],e.stateFilter={active:!0,waiting:!0,delayed:!0,failed:!0,completed:!0},e.query={search:"",autoRefresh:!0},e.filteredJobs=()=>(e.jobs||[]).filter(h=>e.stateFilter[h._state]),e.jobProgressPct=h=>h&&h.progress&&typeof h.progress=="object"&&typeof h.progress.percent=="number"?Math.max(0,Math.min(100,Math.round(h.progress.percent))):typeof h.progress=="number"?Math.max(0,Math.min(100,Math.round(h.progress))):null,e.jobDuration=h=>{if(!h.processedOn)return"-";let N=(h.finishedOn||Date.now())-h.processedOn;return N<1e3?N+"ms":(N/1e3).toFixed(1)+"s"},e.metricsPoints=[],e.selectQueue=h=>{e.selectedQueue=h,a(),c()},e.setRange=h=>{e.range=h,c()};function a(){let h={queue:e.selectedQueue,search:e.query.search};t.get("/api/admin/queues",{params:h}).then(E=>{e.queueList=E.data.queues||[],e.jobs=E.data.jobs||[],e.selectedStats=e.queueList.find(N=>N.key===e.selectedQueue)||e.queueList[0]||null},E=>console.error(E))}function c(){t.get("/api/admin/queues/metrics",{params:{queue:e.selectedQueue,range:e.range}}).then(h=>{e.metricsPoints=h.data.points||[],o(m,0)},h=>console.error(h))}a(),c();let f=r(()=>{e.query.autoRefresh&&(a(),c())},15e3);e.on("dispose",()=>r.cancel(f)),e.refreshNow=function(){a(),c()};function g(h){let E=h&&h.data&&(h.data.message||h.data.error)||"Request failed";e.actionError=E,o(()=>{e.actionError=null},5e3),console.error(h)}e.actionError=null,e.removeJob=h=>{t.delete(`/api/admin/queue/${e.selectedQueue}/${h.id}`).then(a,g)},e.retryJob=h=>{t.post(`/api/admin/queue/${e.selectedQueue}/${h.id}`).then(a,g)},e.retryFailed=()=>{confirm(`Retry all failed jobs in ${e.selectedQueue}?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/retry-failed`).then(a,h=>console.error(h))},e.drainSelected=()=>{confirm(`Drain the ${e.selectedQueue} queue?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/drain`).then(a,h=>console.error(h))},e.togglePause=()=>{let h=e.selectedStats&&e.selectedStats.paused?"resume":"pause";t.post(`/api/admin/queue/${e.selectedQueue}/${h}`).then(a,E=>console.error(E))},e.emptyQueue=()=>{confirm(`Empty the ${e.selectedQueue} queue? This removes ALL jobs.`)&&t.post(`/api/admin/queue/${e.selectedQueue}/empty`).then(a,h=>console.error(h))},e.pauseAll=()=>{confirm("Pause all queues?")&&t.post("/api/admin/queues/pause-all").then(a,h=>console.error(h))};let b=null;e.watch("query.search",()=>{i.timeout.cancel(b),b=i.timeout(a,350)}),e.expanded={},e.toggleJob=h=>{e.expanded[h.id]=!e.expanded[h.id]},e.humanTime=h=>{if(!h)return"";let E=new Date(h);return E.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})+" "+E.toLocaleDateString([],{month:"short",day:"numeric"})},e.delayCountdown=h=>{if(!h)return"";var E=Math.max(0,Math.ceil((h-Date.now())/1e3));if(E<=0)return"resuming soon";var N=Math.floor(E/60),R=E%60;return"in "+(N>0?N+"m "+R+"s":R+"s")};function k(h){if(h<=0)return{ticks:[0],niceMax:1};let E=Math.pow(10,Math.floor(Math.log10(h))),N=E;h/N<2?N=E/2:h/N>5&&(N=E*2);let R=Math.ceil(h/N)*N,P=[];for(let H=0;H<=R;H+=N)P.push(H);return{ticks:P,niceMax:R}}function m(){var h=document.getElementById("q-throughput-chart");if(!h)return;var E=h.getContext("2d"),N=window.devicePixelRatio||1,R=h.parentElement.getBoundingClientRect(),P=44,H=50,q=20,z=R.width-40,ie=180,ae=z-P-H,_=ie-q;h.width=z*N,h.height=ie*N,h.style.width=z+"px",h.style.height=ie+"px",E.setTransform(N,0,0,N,0,0);var Y=document.body.classList.contains("dark-mode"),Z="#8A857C",he=Y?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",ue=Y?"#6FBF8A":"#2F7D4F",ce=Y?"rgba(111,191,138,0.12)":"rgba(47,125,79,0.08)",ye=Y?"#F08A82":"#B42318",_e=Y?"rgba(240,138,130,0.08)":"rgba(180,35,24,0.06)",Se=Y?"#F5C842":"#B8860B",ge=e.metricsPoints||[];if(ge.length===0){E.fillStyle=Z,E.font="13px Inter, system-ui, sans-serif",E.textAlign="center",E.fillText("No metrics data yet",z/2,ie/2),C=null;return}var Ue=ge.map(function(F){return F.completed}),L=ge.map(function(F){return F.failed}),X=ge.map(function(F){return F.avgMs});if(!Ue.some(Boolean)&&!L.some(Boolean)){E.strokeStyle=Y?"rgba(255,255,255,0.14)":"rgba(0,0,0,0.12)",E.beginPath(),E.moveTo(0,ie-18.5),E.lineTo(z,ie-18.5),E.stroke(),E.fillStyle=Y?"#CFC8BD":"#4F4A42",E.font="500 14px Inter, system-ui, sans-serif",E.textAlign="center",E.fillText("No jobs processed in this window",z/2,ie/2-6),E.fillStyle=Z,E.font="12.5px Inter, system-ui, sans-serif",E.fillText("Completed and failed jobs will chart here",z/2,ie/2+16),C=null;return}var J=ge.length,ne=ae/(J-1||1),me=Math.max(1,Math.max.apply(null,Ue),Math.max.apply(null,L)),ve=k(me),oe=Math.max.apply(null,X),U=oe>0?k(oe):{ticks:[0],niceMax:1},te=function(F){return _-F/ve.niceMax*(_-10)},x=function(F){return _-F/U.niceMax*(_-10)},S=function(F){return P+F*ne};E.textAlign="right",E.textBaseline="middle",E.font="10px monospace",ve.ticks.forEach(function(F){var W=te(F);E.strokeStyle=he,E.lineWidth=1,E.beginPath(),E.moveTo(P,W),E.lineTo(z-H,W),E.stroke(),E.fillStyle=Z,E.fillText(F>=1e3?(F/1e3).toFixed(1)+"k":String(F),P-6,W)}),oe>0&&(E.textAlign="left",U.ticks.forEach(function(F){var W=x(F);E.fillStyle=Se,E.fillText(F>=1e3?(F/1e3).toFixed(1)+"s":F+"ms",z-H+6,W)}));var I=Date.now(),B=Math.min(6,J);E.textAlign="center",E.textBaseline="top";for(var v=0;v0&&(E.beginPath(),X.forEach(function(F,W){var ee=S(W),j=x(F);if(W===0)E.moveTo(ee,j);else{var le=(S(W-1)+ee)/2;E.bezierCurveTo(le,x(X[W-1]),le,j,ee,j)}}),E.strokeStyle=Se,E.lineWidth=1,E.setLineDash([4,3]),E.stroke(),E.setLineDash([])),C={pts:ge,maxLen:J,marginLeft:P,step:ne,totalW:z,toX:S}}var C=null;function A(){var h=document.getElementById("q-throughput-chart");if(!(!h||h._tipBound)){h._tipBound=!0;var E=document.getElementById("q-chart-tooltip"),N=document.getElementById("q-chart-crosshair");h.addEventListener("mousemove",function(R){if(!(!C||!E||!N)){var P=C,H=h.getBoundingClientRect(),q=R.clientX-H.left,z=Math.round((q-P.marginLeft)/P.step);if(z<0||z>=P.maxLen){E.style.display="none",N.style.display="none";return}var ie=P.pts[z],ae=Date.now(),_=Math.round((ae-ie.ts)/6e4),Y;if(_<=0)Y="now";else if(_<60)Y=_+"m ago";else if(_<1440){var Z=Math.floor(_/60),he=_%60;Y=Z+"h"+(he?" "+he+"m":"")+" ago"}else Y=Math.round(_/1440)+"d ago";var ue='
'+Y+'
● completed: '+ie.completed+'/min
● failed: '+ie.failed+"/min
";if(ie.avgMs>0){var ce=ie.avgMs>=1e3?(ie.avgMs/1e3).toFixed(1)+"s":ie.avgMs+"ms";ue+='
● avg time: '+ce+"
"}E.innerHTML=ue;var ye=P.toX(z),_e=E.offsetWidth,Se=ye+10;Se+_e>P.totalW&&(Se=ye-_e-10),E.style.display="block",E.style.left=Se+"px",E.style.top="8px",N.style.display="block",N.style.left=ye+"px"}}),h.addEventListener("mouseleave",function(){E&&(E.style.display="none"),N&&(N.style.display="none")})}}e.watch("metricsPoints",function(){o(A,50)})},cl=function(e,t,s,r){let o=ut();e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null&&s.url("/"),e.entries=[],e.visible=[],e.available=!0,e.cap=1e3,e.total=0,e.pageSize=250,e.expanded={},e.detailTab={},e.copyHint="",e.parsedFilterCount=0,e.stats={last24h:0,prev24h:0,delta:0,severity:{error:0,warn:0,info:0},unique:{error:0,warn:0,info:0},buckets:[],dropped:0},e.query={search:"",bucket:"",sort:"recent",group:"code",autoRefresh:!0},e.relTime=N=>{if(!N)return"";let R=new Date(N).getTime();if(isNaN(R))return N;let P=Math.max(0,Date.now()-R),H=Math.floor(P/1e3);if(H<5)return"just now";if(H<60)return`${H}s ago`;let q=Math.floor(H/60);if(q<60)return`${q}m ago`;let z=Math.floor(q/60);if(z<24)return`${z}h ago`;let ie=Math.floor(z/24);return ie<7?`${ie}d ago`:new Date(N).toLocaleDateString()},e.absTime=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleString()},e.absTimeShort=N=>{if(!N)return"";let R=new Date(N);return isNaN(R.getTime())?N:R.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})};let i=/^[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+)+$/;function a(N,R){let P=N&&(N.httpStatus||N.status)||null;if(typeof P=="number"){if(P>=500)return"error";if(P===401||P===403||P===404)return"info";if(P>=400)return"warn"}return R==="error"?"error":R==="warn"?"warn":"info"}function c(N){let R=(N.raw||[]).find(z=>z&&typeof z=="object"&&!Array.isArray(z));if(R){R.message&&i.test(R.message)?(N.displayMessage=R.message,N.displayContext=N.message):R.code&&i.test(String(R.code))?(N.displayMessage=String(R.code),N.displayContext=N.message):R.name&&R.name!=="AnonymousError"&&R.name!=="Error"?(N.displayMessage=R.name,N.displayContext=R.message||N.message):N.displayMessage=N.message,N._status=R.httpStatus||R.status||null,N._url=R.url||null,N._method=R.method||null,N._repoId=R.repoId||R.detail||null,N._detail=R.detail&&R.detail!==N._repoId?R.detail:null;let z=typeof R.stack=="string"?R.stack:null;for(var P=[R.cause,R.err].filter(Boolean),H=0;!z&&H{_==null||_===""||P.push([ae,_])};H("name",R&&R.name),H("code",N.displayMessage||R&&R.message),N._bucket&&H("kind",N._bucket),H("httpStatus",R&&R.httpStatus),R&&R.status&&!R.httpStatus&&H("status",R.status),H("module",N.module);let q=R&&R.detail;if(typeof q=="string"){let ae=q.trim();if(ae[0]==="{"||ae[0]==="[")try{q=JSON.parse(q)}catch{}}if(H("detail",q),H("repoId",R&&R.repoId),H("filePath",R&&R.filePath),H("upstreamStatus",R&&R.upstreamStatus),H("upstreamBody",R&&R.upstreamBody),H("url",N._url),H("err",R&&R.err),H("cause",R&&!R.err&&R.cause),H("ts",N.ts),!P.length)return JSON.stringify(N,null,2);let z=P.reduce((ae,_)=>Math.max(ae,_[0].length),0),ie=["{"];return P.forEach(([ae,_],Y)=>{let he=` ${`"${ae}":`.padEnd(z+3," ")} `,ue=YSe===0?_e:ye+_e).join(` +`)}else typeof _=="number"||typeof _=="boolean"?ce=String(_):ce=JSON.stringify(_);ie.push(`${he}${ce}${ue}`)}),ie.push("}"),ie.join(` +`)}function g(N){let R=[],P="",H=/(\w+):(>=|<=|!=|>|<|=)?([^\s]+)/g,q=0,z;for(;z=H.exec(N);)P+=N.slice(q,z.index),q=H.lastIndex,R.push({key:z[1],op:z[2]||"=",val:z[3]});return P+=N.slice(q),{filters:R,free:P.trim().toLowerCase()}}function b(N,R){for(let P of R.filters){let H=(z,ie,ae)=>{let _=parseFloat(z),Y=parseFloat(ie);return ae==="="?String(z)===String(ie):ae==="!="?String(z)!==String(ie):ae===">="?_>=Y:ae==="<="?_<=Y:ae===">"?_>Y:ae==="<"?_R&&ae._bucket!==R?!1:b(ae,N)),H=e.query.group;if(H){let ae=Z=>H==="module"?Z.module:Z.displayMessage||Z.message||"_",_=new Map;for(let Z of P){let he=ae(Z);if(_.has(he)){let ue=_.get(he);ue.count++,ue._related.push(Z),new Date(Z.ts)>new Date(ue.ts)&&(ue.ts=Z.ts,ue._url=Z._url,ue._status=Z._status),new Date(Z.ts)new Date(he.ts).getTime()>=Y).length;P=Array.from(_.values())}else P=P.map((ae,_)=>(ae._key="row:"+_+":"+ae.ts,ae._related=[ae],ae._firstSeen=ae.ts,ae._lastHourCount=0,ae.count=1,ae));let q=ae=>({error:0,warn:1,info:2})[ae._bucket]??1;e.query.sort==="count"?P.sort((ae,_)=>q(ae)-q(_)||_.count-ae.count||new Date(_.ts)-new Date(ae.ts)):P.sort((ae,_)=>q(ae)-q(_)||new Date(_.ts)-new Date(ae.ts)),e.visible=P;let z=!!(e.query.bucket||(e.query.search||"").trim()),ie=!z&&(e.stats?.severity?.error||0)>0&&!P.some(ae=>ae._bucket==="error")&&e.entries.length<1500;(z&&!P.length||ie)&&e.canLoadMore?.()&&!e._autoLoading&&e.entries.length<2500&&(e._autoLoading=!0,m(!0))}function m(N){let R=N?e.entries.length:0,P=N?e.pageSize:Math.max(e.pageSize,e.entries.length||e.pageSize);t.get("/api/admin/errors",{params:{offset:R,limit:P}}).then(H=>{let q=(H.data.entries||[]).map(c);e.entries=N?e.entries.concat(q):q,e.available=!!H.data.available,e.cap=H.data.max||e.cap,e.total=H.data.total||e.entries.length,e._autoLoading=!1,k()},H=>{e._autoLoading=!1,console.error(H)})}e.loadMore=()=>m(!0),e.canLoadMore=()=>e.entries.length{let R=N.data||{},P=R.prev24h?Math.round((R.last24h-R.prev24h)/R.prev24h*100):0;e.stats={last24h:R.last24h||0,prev24h:R.prev24h||0,delta:P,severity:R.severity||{error:0,warn:0,info:0},unique:R.unique||{error:0,warn:0,info:0},buckets:R.buckets||[],dropped:R.dropped||0},k()},N=>console.error(N))}function A(){m(),C()}e.barPx=(N,R)=>{let P=e.stats.buckets||[],H=0,q=0;for(let _ of P)H=Math.max(H,(_.error||0)+(_.warn||0)),q=Math.max(q,_.info||0);let z=N[R]||0;if(!z)return 0;if(R==="info")return q?Math.max(2,Math.round(z/q*(H?16:60))):0;let ie=(N.error||0)+(N.warn||0),ae=Math.round(ie/H*44);return Math.max(4,Math.round(z/ie*ae))},e.bucketTitle=N=>`${new Date(N.hour).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})} \xB7 ${N.error||0} err \xB7 ${N.warn||0} warn \xB7 ${N.info||0} info`,e.toggle=N=>{e.expanded[N._key]=!e.expanded[N._key]},e.setBucket=N=>{e.query.bucket=N},e.refreshNow=A,e.clearAll=()=>{confirm("Clear all captured errors?")&&t.delete("/api/admin/errors").then(A,N=>console.error(N))},e.exportCsv=()=>{let N=["ts","level","module","displayMessage","_status","_url","_repoId"],R=[N.join(",")];for(let z of e.visible)R.push(N.map(ie=>{let ae=z[ie]==null?"":String(z[ie]);return/[",\n]/.test(ae)?`"${ae.replace(/"/g,'""')}"`:ae}).join(","));let P=new Blob([R.join(` +`)],{type:"text/csv;charset=utf-8"}),H=URL.createObjectURL(P),q=document.createElement("a");q.href=H,q.download=`errors-${new Date().toISOString().slice(0,19)}.csv`,document.body.appendChild(q),q.click(),document.body.removeChild(q),URL.revokeObjectURL(H)};function h(N){e.copyHint=`${N} copied`,o.timeout(()=>{e.copyHint=""},1500)}e.copyJson=N=>{navigator.clipboard.writeText(N._detailJson).then(()=>h("JSON"))},e.copyCurl=N=>{if(!N._url)return;let P=`curl -X ${N._method||"GET"} '${window.location.origin}${N._url}'`;navigator.clipboard.writeText(P).then(()=>h("curl"))},A();let E=r(()=>{e.query.autoRefresh&&A()},15e3);e.on("dispose",()=>r.cancel(E)),e.watch("query.search",k),e.watch("query.bucket",k),e.watch("query.sort",k),e.watch("query.group",k)},pl=function(e,t,s,r){if(e.Math=Math,e.watch("user.status",()=>{e.user==null&&s.url("/")}),e.user==null){s.url("/");return}e.data=null,e.loading=!0,e.error=null,e.performance=null,e.performanceMinutes=15,e.performanceTab="routes",e.cacheReport=null,e.cacheError=null,e.cacheMinutes=60,e.cacheTraffic="all";var o=!1;e.loadCache=function(){if(!o){o=!0;var h=e.cacheMinutes;t.get("/api/admin/cache",{params:{minutes:h}}).then(function(E){h===e.cacheMinutes&&(e.cacheReport=E.data,e.cacheError=E.data.available?null:E.data.reason||"Cache monitoring is unavailable.")},function(){e.cacheError="Could not refresh cache monitoring. Displayed values may be stale."}).finally(function(){o=!1,h!==e.cacheMinutes&&e.loadCache()})}},e.cacheRows=function(){return(e.cacheReport?.rows||[]).filter(function(h){return e.cacheTraffic==="all"||h.traffic===e.cacheTraffic})},e.cacheRate=function(h,E){var N=e.cacheRows(),R=function(q){return N.filter(function(z){return z.name===q}).reduce(function(z,ie){return z+ie[E]},0)},P=R(h+"_hit"),H=R(h+"_miss");return P+H?(100*P/(P+H)).toFixed(1)+"%":"No samples"},e.cacheEventName=function(h){return h.replaceAll("_"," ")},e.cacheP95=function(h){var E=0,N=e.cacheReport?.latencyBucketsMs||[];if(!h.count)return"No samples";if(!h.ms)return"Not timed";for(var R=0;R<=N.length;R++)if(E+=h["b"+R]||0,E>=Math.ceil(h.count*.95))return R 10 s";return"No samples"},e.performanceError=null,e.latencyBound=function(h,E){return h.count?h[E]==null?"> 60 s":"\u2264 "+h[E]+" ms":"No samples"},e.firstByteBound=function(h){return e.latencyBound({count:h.firstByteCount,p95UpperMs:h.firstByteP95UpperMs},"p95UpperMs")},e.sampleAge=function(h){return Math.max(0,Math.round((Date.now()-h.sampledAt)/1e3))},e.peakRss=function(h){return(e.performance.runtimeSeries||[]).filter(function(E){return E.instance===h.instance}).reduce(function(E,N){return Math.max(E,N.rss)},h.memory.rss)},e.performanceWarning=function(h){return e.sampleAge(h)>45||h.droppedBatches||h.droppedMetrics||h.sockets?.closeWait>0||h.eventLoop?.p95Ms>100||h.memoryLimitBytes&&h.memory.rss>h.memoryLimitBytes*.8};var i=!1;e.loadPerformance=function(){var h=e.performanceMinutes;e.performance?.windowMinutes&&e.performance.windowMinutes!==h&&(e.performance=null),!i&&(i=!0,t.get("/api/admin/performance",{params:{minutes:h}}).then(function(E){h===e.performanceMinutes&&(e.performance=E.data,e.performanceError=E.data.available?null:"Performance monitoring is unavailable. Request history may be incomplete.")},function(){h===e.performanceMinutes&&(e.performanceError="Could not refresh performance monitoring. Displayed samples may be stale.")}).finally(function(){i=!1,h!==e.performanceMinutes&&e.loadPerformance()}))};function a(h){if(h==null)return"\u2014";for(var E=["B","KB","MB","GB","TB"],N=0,R=h;R>=1024&&N0?1:0)+" "+E[N]}e.humanBytes=a;function c(h){if(!h)return"\u2014";var E=Math.floor(h/86400),N=Math.floor(h%86400/3600),R=Math.floor(h%3600/60);return E>0?E+"d "+(N<10?"0":"")+N+"h":N>0?N+"h "+(R<10?"0":"")+R+"m":R+"m"}e.humanDuration=c;function f(h){return h==null?"\u2014":h>=1e6?(h/1e6).toFixed(1)+"M":h>=1e3?(h/1e3).toFixed(1)+"K":String(h)}e.humanNum=f,e.queueTotal=function(h){return h?(h.waiting||0)+(h.active||0)+(h.delayed||0)+(h.failed||0):0},e.statusCount=function(h){if(!e.data||!e.data.repos)return 0;for(var E=e.data.repos.statusBreakdown||[],N=0;N=0;H--){var q=new Date(N.getTime()-H*864e5),z=q.toISOString().slice(0,10);P.push(R[z]||{date:q.toISOString(),_empty:!0,dailyPageViews:0,dailyRepositories:0,dailyUsers:0,nbUsers:0})}return P}var m={};e.historyMax=function(h){return m[h]||0},e.historyBarH=function(h,E){return!h||!m[E]?0:Math.max(1,Math.round(h[E]/m[E]*140))},e.historyLabel=function(h){if(!h||!h.date)return"";var E=new Date(h.date);return E.getUTCMonth()+1+"/"+E.getUTCDate()};function C(){e.loadPerformance(),e.loadCache(),t.get("/api/admin/overview").then(function(h){h.data.history=g(h.data.history),h.data.daily={today:b(h.data.history)},h.data.history=k(h.data.history,30),h.data.daily={today:b(h.data.history)},e.data=h.data,e.loading=!1,e.error=null,m={},(h.data.history||[]).forEach(function(E){["dailyPageViews","dailyRepositories","dailyUsers","nbUsers"].forEach(function(N){(!m[N]||E[N]>m[N])&&(m[N]=E[N])})})},function(h){e.loading=!1,e.error=h.data&&h.data.error||"Failed to load overview"})}C();var A=r(C,3e4);e.on("dispose",function(){r.cancel(A)})};var fl=[{path:"/connections",template:"partials/connections.htm",title:"GitHub connections \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>ol(e,t.http)},{path:"/signin",template:"partials/signin.htm",title:"Sign in \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>rl(e,t.http)},{path:"/",template:"partials/home.htm",title:"Anonymous GitHub \u2013 Share the code, not the author",preserveExplorer:!1,setup:(e,t)=>Xa(e,t.http,t.location,t.window,t.timeout)},{path:"/dashboard",template:"partials/dashboard.htm",title:"Your anonymizations \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Za(e,t.http,t.location,t.promises,t.window,t.quotaService)},{path:"/pr-dashboard",redirect:"/dashboard"},{path:"/anonymize/:repoId?",template:"partials/anonymize.htm",title:"New anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>io(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/pull-request-anonymize/:pullRequestId?",template:"partials/anonymize.htm",title:"Anonymize a pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>io(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/gist-anonymize/:gistId?",template:"partials/anonymize.htm",title:"Anonymize a gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>io(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/status/:repoId",template:"partials/status.htm",title:"Repository status \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>xa(e,t.http,t.params)},{path:"/conferences",template:"partials/conferences.htm",title:"Your conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>nl(e,t.http,t.location)},{path:"/conference/new",template:"partials/newConference.htm",title:"New conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>cr(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId/edit",template:"partials/newConference.htm",title:"Edit conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>cr(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId",template:"partials/conference.htm",title:"Conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>sl(e,t.http,t.location,t.params)},{path:"/faq",template:"partials/faq.htm",title:"FAQ \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ya(e,t.http)},{path:"/profile",template:"partials/profile.htm",title:"Your settings \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ja(e,t.http,t.translate,t.timeout,t.quotaService)},{path:"/claim",template:"partials/claim.htm",title:"Claim an anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Qa(e,t.http,t.location)},{path:"/pr/:pullRequestId/:path(.*)*",template:"partials/pullRequest.htm",title:"Anonymous pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>el(e,t.http,t.location,t.params,t.html)},{path:"/gist/:gistId/:path(.*)*",template:"partials/gist.htm",title:"Anonymous gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>tl(e,t.http,t.location,t.params,t.html)},{path:"/r/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>ur(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/repository/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>ur(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/admin/",template:"partials/admin/overview.htm",title:"Admin \xB7 Overview \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>pl(e,t.http,t.location,t.interval)},{path:"/admin/repositories",template:"partials/admin/repositories.htm",title:"Admin \xB7 Repositories \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>il(e,t.http,t.location)},{path:"/admin/users",template:"partials/admin/users.htm",title:"Admin \xB7 Users \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>al(e,t.http,t.location)},{path:"/admin/users/:username",template:"partials/admin/user.htm",title:"Admin \xB7 User details \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>ll(e,t.http,t.location,t.params)},{path:"/admin/conferences",template:"partials/admin/conferences.htm",title:"Admin \xB7 Conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>dl(e,t.http,t.location)},{path:"/admin/queues",template:"partials/admin/queues.htm",title:"Admin \xB7 Queues \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>ul(e,t.http,t.location,t.interval,t.timeout)},{path:"/admin/errors",template:"partials/admin/errors.htm",title:"Admin \xB7 Errors \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>cl(e,t.http,t.location,t.interval)},{path:"/404",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",preserveExplorer:!1,setup:()=>{}},{path:"/:pathMatch(.*)*",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",setup:()=>{}}];var yp={class:"container paper-page connections-page"},gp={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},bp={key:1,role:"status"},wp=["disabled"],kp={key:3},Cp={class:"connections-grid"},Ep={key:0},Sp={class:"connection-title"},Np={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},_p={class:"connection-actions"},Dp={key:0,class:"btn btn-ink",target:"_self",href:"/github/app/install"},Rp=["disabled"],Tp={key:1,class:"connection-installations"},Op={key:0},Ap=["href"],Ip={class:"sr-only"},Pp={class:"connection-title"},Vp={key:0,target:"_self",href:"/github/login",class:"btn btn-outline-ink"},Mp={key:1,class:"connection-revoke"},qp={key:0},Lp=["disabled"],$p={class:"connection-resources"},Up={class:"connection-title"},Fp={class:"connection-count"},zp={key:0,class:"connection-empty"},Hp={class:"connection-resource-name"},Bp={key:0,class:"connection-resource-actions"},jp=["disabled","onClick"],Gp=["disabled","onClick"],Wp={key:1,class:"connection-help",role:"status"},Kp=["disabled","onClick"];function ml(e,t){return l(),d("div",yp,[t[22]||(t[22]=fe('
My work \xA0/\xA0 GitHub connections

GitHub connections

Manage how GitHub shares your code. Your anonymizations and URLs stay the same.

',2)),e.connectionError?(l(),d("p",gp,u(e.connectionError),1)):p("v-if",!0),!e.connections&&!e.connectionError?(l(),d("p",bp,"Loading your connections\u2026")):p("v-if",!0),!e.connections&&e.connectionError?(l(),d("button",{key:2,class:"btn btn-outline-ink",disabled:e.busy,onClick:t[0]||(t[0]=s=>e.loadConnections())},"Try again",8,wp)):p("v-if",!0),e.connections?(l(),d("div",kp,[n("div",Cp,[e.connections.appEnabled?(l(),d("section",Ep,[t[10]||(t[10]=n("div",{class:"connection-top"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",{class:"connection-badge"},"Recommended")],-1)),n("div",Sp,[t[3]||(t[3]=n("h2",null,"GitHub App",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.appConnected&&!e.connections.appError}])},u(e.connections.appError?"Needs attention":e.connections.appConnected?"Connected":"Not connected"),3)]),t[11]||(t[11]=n("p",null,"Read-only access to gists and the repositories you choose.",-1)),e.connections.appError?(l(),d("p",Np,u(e.connections.appError)+". Reconnect to restore access.",1)):p("v-if",!0),n("div",_p,[e.connections.appConnected&&!e.connections.appError?(l(),d("a",Dp,[...t[4]||(t[4]=[y("Manage repository access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):p("v-if",!0),n("a",{class:T(e.connections.appConnected&&!e.connections.appError?"connection-link":"btn btn-ink"),target:"_self",href:"/github/app/login"},u(e.connections.appConnected?"Reconnect account":"Connect GitHub account"),3),e.connections.appConnected?(l(),d("button",{key:1,class:"connection-link connection-refresh",title:"Refresh access",disabled:e.busy,onClick:t[1]||(t[1]=s=>e.loadConnections())},[...t[5]||(t[5]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),n("span",{class:"sr-only"},"Refresh access",-1)])],8,Rp)):p("v-if",!0)]),t[12]||(t[12]=n("p",{class:"connection-help"},"Choose repositories on GitHub. Organization access may need an administrator's approval.",-1)),e.connections.installations?.length?(l(),d("ul",Tp,[(l(!0),d(K,null,re(e.connections.installations,s=>(l(),d("li",{key:s.id},[n("div",null,[t[6]||(t[6]=n("span",{class:"connection-label"},"Installed on",-1)),t[7]||(t[7]=y()),n("strong",null,u(s.account),1),s.suspended?(l(),d("span",Op," \xB7 Suspended")):p("v-if",!0)]),e.connections.installations.length>1?(l(),d("a",{key:0,target:"_self",href:"/github/app/install?installationId="+s.id},[t[8]||(t[8]=y("Manage access ",-1)),n("span",Ip,"for "+u(s.account),1),t[9]||(t[9]=y(" \u2192",-1))],8,Ap)):p("v-if",!0)]))),128))])):p("v-if",!0)])):p("v-if",!0),n("section",null,[t[15]||(t[15]=n("div",{class:"connection-top"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),n("span",{class:"connection-badge connection-badge-muted"},"Legacy")],-1)),n("div",Pp,[t[13]||(t[13]=n("h2",null,"GitHub OAuth",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.oauthConnected}])},u(e.connections.oauthConnected?"Connected":"Not connected"),3)]),t[16]||(t[16]=n("p",null,"For existing OAuth anonymizations.",-1)),t[17]||(t[17]=n("p",{class:"connection-help"},"This connection uses GitHub's broader repository permissions. Existing work keeps using it until you switch below.",-1)),e.connections.oauthEnabled?(l(),d("a",Vp,u(e.connections.oauthConnected?"Reconnect OAuth":"Connect legacy OAuth"),1)):p("v-if",!0),e.connections.oauthConnected?(l(),d("div",Mp,[e.connections.gistCount?(l(),d("p",qp,u(e.connections.gistCount)+" gist(s) use your GitHub App connection when available.",1)):p("v-if",!0),t[14]||(t[14]=n("p",null,"Switch all dependent repositories before revoking access. Gists can use your GitHub App connection.",-1)),e.connections.appConnected?(l(),d("button",{key:1,class:"btn btn-sm btn-outline-danger connection-danger",disabled:e.busy||e.connections.resources.some(s=>s.connection==="oauth"),onClick:t[2]||(t[2]=s=>e.disconnectOAuth())},"Revoke OAuth access",8,Lp)):p("v-if",!0)])):p("v-if",!0)])]),n("section",$p,[n("div",Up,[t[18]||(t[18]=n("h2",null,"Repository connections",-1)),n("span",Fp,u(e.connections.resources?.length||0)+" "+u((e.connections.resources?.length||0)===1?"resource":"resources"),1)]),t[20]||(t[20]=n("p",null,"Check access, then switch each resource to the GitHub App. After reinstalling the App, reconnect existing resources here to keep their anonymous URLs and published snapshots.",-1)),e.connections.resources?.length?p("v-if",!0):(l(),d("div",zp,[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("div",null,[n("h3",null,"No repository connections yet"),n("p",null,"Your repositories and pull requests will appear here once you anonymize them.")],-1),n("a",{class:"connection-link",href:"/anonymize"},"New anonymization \u2192",-1)])])),(l(!0),d(K,null,re(e.connections.resources,s=>(l(),d("div",{class:"connection-resource",key:s.type+s.id},[n("div",Hp,[n("strong",null,u(s.name||s.id),1),n("small",null,u(s.type)+" \xB7 "+u(s.id),1)]),n("span",{class:T(["connection-badge",{"connection-badge-muted":s.connection==="oauth"}])},u(s.connection==="github-app"?"Read-only App":"Legacy OAuth"),3),!["archived","removed","preparing","queue","removing","expiring"].includes(s.status)&&(s.status!=="download"||s.type==="pull-request"&&(!s.statusDate||new Date(s.statusDate).getTime()<=Date.now()-3e5))&&e.connections.appEnabled&&e.connections.appConnected?(l(),d("div",Bp,[n("button",{class:"btn btn-outline-ink",disabled:e.busy,onClick:r=>e.changeConnection(s,"github-app",!0)},"Check read-only access",8,jp),s.eligible?(l(),d("button",{key:0,class:"btn btn-ink",disabled:e.busy,onClick:r=>e.changeConnection(s,"github-app",!1)},u(s.connection==="github-app"?"Reconnect read-only access":"Switch to read-only access"),9,Gp)):p("v-if",!0),s.eligible===!1?(l(),d("span",Wp,"Access unavailable. Allow this repository on GitHub, then check again.")):p("v-if",!0)])):p("v-if",!0),!["archived","removed","preparing","queue","removing","expiring"].includes(s.status)&&(s.status!=="download"||s.type==="pull-request"&&(!s.statusDate||new Date(s.statusDate).getTime()<=Date.now()-3e5))&&s.connection==="github-app"&&e.connections.oauthConnected?(l(),d("button",{key:1,class:"connection-link",disabled:e.busy,onClick:r=>e.changeConnection(s,"oauth",!1)},"Use OAuth",8,Kp)):p("v-if",!0)]))),128)),t[21]||(t[21]=n("p",{class:"connection-footnote"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y(" Removing access stops new fetches from GitHub. Published content keeps its current expiration and removal settings.")],-1))])])):p("v-if",!0)])}var Yp={class:"container paper-page auth-page"},Jp={class:"auth-layout"},Qp={class:"auth-options"},Xp={key:0},Zp={key:0,class:"btn btn-ink auth-continue",target:"_self",href:"/github/login?recover=1"},xp={key:1},ef={key:1},tf={key:2,class:"auth-legacy"},nf={key:3,role:"status"};function hl(e,t){return l(),d("div",Yp,[t[5]||(t[5]=n("a",{class:"auth-back",href:"/"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-arrow-left"})]),y(" Anonymous GitHub")],-1)),n("div",Jp,[t[4]||(t[4]=fe('
Your research, ready for review

Your code.
Your identity,
protected.
Sign in to GitHub

Sign in to create and manage your anonymizations.

',1)),n("div",Qp,[e.accountRecovery?(l(),d("section",Xp,[t[0]||(t[0]=n("h2",null,"Verify your existing account",-1)),t[1]||(t[1]=n("p",null,"We found an existing account. Verify it with your previous GitHub connection to keep your anonymizations. Future sign-ins will use the GitHub App.",-1)),e.site_options?.GITHUB_OAUTH_ENABLED?(l(),d("a",Zp,"Verify with previous GitHub connection")):(l(),d("p",xp,"Account verification is currently unavailable. Please try again later."))])):p("v-if",!0),e.site_options?.GITHUB_APP_ENABLED&&!e.accountRecovery?(l(),d("section",ef,[...t[2]||(t[2]=[fe('
Read-only access

Continue with GitHub

Connect through the GitHub App with read-only repository access.

  • You choose which repositories to share
  • No permission to write to your code
Sign in with GitHub Your existing anonymizations and connections stay with your account.',6)])])):p("v-if",!0),!e.site_options?.GITHUB_APP_ENABLED&&e.site_options?.GITHUB_OAUTH_ENABLED&&!e.accountRecovery?(l(),d("section",tf,[...t[3]||(t[3]=[n("div",{class:"connection-title"},[n("h2",null,"Continue with GitHub")],-1),n("p",null,"Sign in to access your account. GitHub OAuth includes write access to private repositories.",-1),n("a",{class:"connection-link",target:"_self",href:"/github/login"},[y("Sign in with GitHub "),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-arrow-right"})])],-1)])])):p("v-if",!0),e.site_options&&!e.site_options.GITHUB_APP_ENABLED&&!e.site_options.GITHUB_OAUTH_ENABLED?(l(),d("p",nf,"GitHub sign-in is currently unavailable. Please try again later.")):p("v-if",!0)])])])}var sf={class:"paper-empty"};function vl(e,t){return l(),d("div",sf,[...t[0]||(t[0]=[fe('
Error \xB7 404

This link
isn\u2019t here.

The anonymous mirror you\u2019re looking for has expired, been removed by its owner, or never existed. If you received this URL from an author, ask them to re-issue it.

',1)])])}var of={class:"container paper-page admin-page"},rf={class:"summary-total"},af=["aria-pressed"],lf={class:"count"},df=["aria-pressed"],uf={class:"count"},cf=["aria-pressed"],pf={class:"count"},ff=["aria-pressed"],mf={class:"count"},hf=["aria-pressed"],vf={class:"count"},yf={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},gf={class:"w-100 admin-filter-toolbar","aria-label":"Conferences","accept-charset":"UTF-8"},bf={class:"admin-filter-row"},wf={class:"search-wrap"},kf={type:"search",class:"form-control",placeholder:"Search conferences\u2026",autocomplete:"off"},Cf={key:0,class:"admin-search-hint"},Ef={key:1,class:"admin-filter-inline","aria-label":"Pagination"},Sf=["disabled"],Nf={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},_f=["disabled"],Df={key:0,class:"admin-filter-row"},Rf={class:"admin-active-chips"},Tf={class:"key"},Of=["onClick"],Af={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},If={key:0,class:"paper-table-head",role:"row"},Pf={role:"columnheader"},Vf={role:"columnheader"},Mf={role:"columnheader"},qf={class:"paper-table-row",role:"row"},Lf={class:"cell-anon",role:"cell"},$f={class:"anon-text"},Uf=["textContent","href"],Ff={class:"anon-sub"},zf={class:"cell-status",role:"cell"},Hf=["textContent"],Bf={class:"cell-views num",role:"cell"},jf=["textContent","href"],Gf={class:"cell-expires",role:"cell"},Wf={class:"cell-actions",role:"cell"},Kf={class:"dropdown"},Yf={class:"dropdown-menu dropdown-menu-right"},Jf=["href"],Qf=["href"],Xf=["href"],Zf=["onClick"],xf={key:1,class:"paper-table-empty"},em={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},tm={style:{"font-size":"12px",color:"var(--ink-muted)"}},nm={key:0,class:"pagination-compact"},sm=["disabled"],om=["max"],rm=["disabled"],im={class:"admin-filter-inline"},am={class:"form-control form-control-sm"};function yl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",of,[t[48]||(t[48]=fe('
Admin \xA0/\xA0 Conferences

Conferences

',3)),n("div",{class:T(["admin-summary",{"is-empty":e.total===0}])},[n("span",rf,[y(u(e.total>=0?e.fmt.number(e.total):"\u2026")+" ",1),n("small",null,u(e.total===1?"conference":"conferences"),1)]),t[18]||(t[18]=n("span",{class:"summary-show-label"},"Show:",-1)),n("button",{type:"button",class:T(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=o=>{e.query.ready=!e.query.ready,e.query.page=1}),"aria-pressed":!!e.query?.ready},[t[13]||(t[13]=y("Ready ",-1)),n("span",lf,u(e.fmt?.number(e.statusCountFor("ready"))),1)],10,af),n("button",{type:"button",class:T(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=o=>{e.query.preparing=!e.query.preparing,e.query.page=1}),"aria-pressed":!!e.query?.preparing},[t[14]||(t[14]=y("Preparing ",-1)),n("span",uf,u(e.fmt?.number(e.statusCountFor("preparing"))),1)],10,df),n("button",{type:"button",class:T(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=o=>{e.query.error=!e.query.error,e.query.page=1}),"aria-pressed":!!e.query?.error},[t[15]||(t[15]=y("Errored ",-1)),n("span",pf,u(e.fmt?.number(e.statusCountFor("error"))),1)],10,cf),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=o=>{e.query.expired=!e.query.expired,e.query.page=1}),"aria-pressed":!!e.query?.expired},[t[16]||(t[16]=y("Expired ",-1)),n("span",mf,u(e.fmt?.number(e.statusCountFor("expired"))),1)],10,ff),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.removed}]),title:"Toggle removed filter",onClick:t[4]||(t[4]=o=>{e.query.removed=!e.query.removed,e.query.page=1}),"aria-pressed":!!e.query?.removed},[t[17]||(t[17]=y("Removed ",-1)),n("span",vf,u(e.fmt?.number(e.statusCountFor("removed"))),1)],10,hf)],2),e.fetchError?(l(),d("div",yf,[t[19]||(t[19]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fetchError),1)])):p("v-if",!0),D((l(),d("form",gf,[n("div",bf,[n("div",wf,[D(n("input",kf,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.query?.search?p("v-if",!0):(l(),d("span",Cf,"/"))]),t[23]||(t[23]=n("span",{class:"admin-filter-spacer"},null,-1)),e.total>0?(l(),d("button",{key:0,class:"btn btn-sm",type:"button",onClick:t[5]||(t[5]=o=>e.exportCsv())},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])])):p("v-if",!0),e.totalPage>1?(l(),d("span",Ef,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[6]||(t[6]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,Sf),n("span",Nf,u(e.query?.page)+"/"+u(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[7]||(t[7]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,_f)])):p("v-if",!0)]),e.chips?.length?(l(),d("div",Df,[n("div",Rf,[(l(!0),d(K,null,re(e.chips,(o,i)=>(l(),d("span",{class:"admin-active-chip",key:o?.key},[n("span",Tf,u(o?.label),1),n("span",null,u(o?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(o.key),"aria-label":"Clear filter"},[...t[24]||(t[24]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,Of)]))),128))])])):p("v-if",!0)])),[[r,e.viewState]]),n("div",Af,[e.total!==0?(l(),d("div",If,[n("div",Pf,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="name"}]),onClick:t[8]||(t[8]=o=>e.sortBy("name"))},[t[26]||(t[26]=y("Conference ",-1)),e.sortIcon("name")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("name")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[25]||(t[25]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Vf,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[9]||(t[9]=o=>e.sortBy("status"))},[t[28]||(t[28]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[27]||(t[27]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[31]||(t[31]=n("div",{role:"columnheader",class:"num"},"Repos",-1)),n("div",Mf,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="startDate"}]),onClick:t[10]||(t[10]=o=>e.sortBy("startDate"))},[t[30]||(t[30]=y("Window ",-1)),e.sortIcon("startDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("startDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[29]||(t[29]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[32]||(t[32]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))])):p("v-if",!0),(l(!0),d(K,null,re(e.filteredConferences,(o,i)=>(l(),d("div",qf,[n("div",Lf,[t[34]||(t[34]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",$f,[n("a",{class:"repo-name",textContent:u(o?.name),href:e.safeUrl("/conference/"+o?.conferenceID)},null,8,Uf),n("div",Ff,[n("span",null,u(o?.conferenceID),1),t[33]||(t[33]=y("\xA0\xB7\xA0",-1)),n("span",null,u(e.fmt?.number(o?.price||0))+" \u20AC",1)])])]),n("div",zf,[n("span",{class:T(["status-dot",{"status-removed":o?.status=="removed"||o?.status=="expired","status-ready":o?.status=="ready","status-error":o?.status=="error","status-preparing":o?.status=="preparing"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,Hf)]),n("div",Bf,[t[35]||(t[35]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:"Show repositories in this conference",textContent:u(e.fmt?.number(o?.repositories?.length||0)),href:e.safeUrl("/admin/?conference="+o?.conferenceID)},null,8,jf)]),n("div",Gf,[t[36]||(t[36]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),y(" "+u(e.fmt?.date(o?.startDate))+" \u2013 "+u(e.fmt?.date(o?.endDate)),1)]),n("div",Wf,[n("div",Kf,[t[42]||(t[42]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",Yf,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/edit")},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit",-1)])],8,Jf),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/")},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View",-1)])],8,Qf),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/?conference="+o?.conferenceID)},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),y(" View repositories",-1)])],8,Xf),t[41]||(t[41]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.removeConference(o),["prevent"])},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,Zf),[[Q,o?.status!="removed"]])])])])]))),256)),e.filteredConferences?.length==0?(l(),d("div",xf,[t[43]||(t[43]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),n("span",null,u(e.total?"No conferences match the current filters.":"No conferences yet."),1)])):p("v-if",!0)]),n("div",em,[n("span",tm,u(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",nm,[n("button",{class:"btn btn-sm",onClick:t[11]||(t[11]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),y(" Previous",-1)])],8,sm),D(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,om),[[s,{state:e.viewState,set:o=>{e.query.page=o},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+u(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[45]||(t[45]=[y("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,rm)])):p("v-if",!0),n("span",im,[t[47]||(t[47]=n("label",null,"Per page",-1)),D((l(),d("select",am,[...t[46]||(t[46]=[fe('',5)])])),[[s,{state:e.viewState,set:o=>{e.query.limit=o},value:e.query?.limit,form:null,options:{}}]])])])])}var lm={class:"container paper-page admin-page errors-page"},dm={class:"errors-header"},um={class:"errors-actions"},cm={class:"kpi-grid"},pm={class:"kpi-card"},fm={class:"kpi-value"},mm={key:0},hm={key:1},vm={key:2},ym=["aria-pressed"],gm={class:"kpi-value"},bm={class:"kpi-sub"},wm=["aria-pressed"],km={class:"kpi-value"},Cm={class:"kpi-sub"},Em=["aria-pressed"],Sm={class:"kpi-value"},Nm={class:"kpi-sub"},_m={class:"kpi-value"},Dm={class:"kpi-sub"},Rm={key:0,class:"dropped-warn"},Tm={class:"volume-chart"},Om={class:"volume-head"},Am={class:"volume-legend"},Im={key:0},Pm={key:1},Vm={key:2},Mm={class:"volume-bars"},qm=["title"],Lm={class:"errors-toolbar","aria-label":"Error filters"},$m={class:"seg-tabs"},Um={class:"search-wrap"},Fm={type:"search",class:"form-control",placeholder:"Search code, module, status\u2026",title:"Syntax: code:repo_not_found module:route status:>=400",autocomplete:"off"},zm={key:0,class:"filter-count"},Hm={class:"select-wrap"},Bm={class:"form-control form-control-sm"},jm={class:"select-wrap"},Gm={class:"form-control form-control-sm"},Wm={class:"autoref"},Km={type:"checkbox"},Ym={key:0,class:"admin-empty"},Jm={key:1,class:"errors-pager"},Qm={key:2,class:"errors-list"},Xm=["onClick"],Zm={class:"col-when"},xm={class:"when-rel"},eh={class:"when-abs"},th={class:"col-sev"},nh={class:"sev-label"},sh={class:"col-mod"},oh={class:"pill pill-module"},rh={class:"col-msg"},ih={class:"msg-code"},ah={key:0,class:"msg-context"},lh={key:1,class:"msg-detail"},dh={key:2,class:"msg-url"},uh={class:"col-count"},ch={key:0,class:"count-pill"},ph={key:1,class:"count-pill count-pill-muted"},fh={class:"col-status"},mh=["title"],hh={key:0,class:"errors-row-detail"},vh={class:"detail-tabs"},yh=["onClick"],gh=["onClick"],bh=["onClick"],wh={class:"detail-body"},kh={class:"detail-main"},Ch={key:0},Eh={key:1,class:"stack-pre"},Sh={key:2,class:"related-list"},Nh={class:"when-abs"},_h={class:"msg-url"},Dh={class:"detail-actions"},Rh=["onClick"],Th=["onClick"],Oh={key:0,class:"copy-hint"},Ah={class:"detail-aside"},Ih={class:"aside-block"},Ph=["title"],Vh={class:"aside-block"},Mh=["title"],qh={class:"aside-block"},Lh={class:"aside-value"},$h={key:0,class:"aside-sub"},Uh={key:0,class:"aside-block"},Fh=["href"],zh={key:1,class:"aside-block"},Hh={class:"aside-value mono"};function gl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",lm,[t[42]||(t[42]=n("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),n("span",{class:"here"},"Errors")],-1)),n("header",dm,[t[16]||(t[16]=n("h1",{class:"paper-page-title"},"Errors",-1)),n("div",um,[n("button",{class:"btn btn-sm",type:"button",onClick:t[0]||(t[0]=o=>e.exportCsv())},[...t[14]||(t[14]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export CSV",-1)])]),n("button",{class:"btn btn-sm btn-outline-danger",type:"button",onClick:t[1]||(t[1]=o=>e.clearAll())},[...t[15]||(t[15]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Clear all",-1)])])])]),t[43]||(t[43]=fe('',1)),n("section",cm,[n("div",pm,[t[17]||(t[17]=n("div",{class:"kpi-label"},"Occurrences \xB7 24h",-1)),n("div",fm,u(e.fmt?.number(e.stats?.last24h??0)),1),n("div",{class:T(["kpi-sub",{up:e.stats?.delta>0,down:e.stats?.delta<0}])},[e.stats?.prev24h>=20?(l(),d("span",mm,u((e.stats?.last24h??0)-(e.stats?.prev24h??0)>=0?"+":"")+u(Math.round(((e.stats?.last24h??0)-(e.stats?.prev24h??0))/e.stats.prev24h*100))+"% vs yesterday",1)):e.stats?.prev24h!==void 0?(l(),d("span",hm,u(e.fmt?.number(e.stats?.prev24h??0))+" in prior 24h",1)):p("v-if",!0),e.stats?.prev24h?p("v-if",!0):(l(),d("span",vm,"no prior baseline"))],2)]),n("div",{class:T(["kpi-card kpi-error kpi-filter",{"is-selected":e.query?.bucket==="error"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="error",title:"Show only 5xx errors",onClick:t[2]||(t[2]=o=>e.setBucket(e.query?.bucket==="error"?"":"error")),onKeydown:t[3]||(t[3]=yt(de(o=>e.setBucket(e.query?.bucket==="error"?"":"error"),["prevent"]),["enter"]))},[t[18]||(t[18]=n("div",{class:"kpi-label"},"Errors (5xx)",-1)),n("div",gm,u(e.fmt?.number(e.stats?.severity?.error??0)),1),n("div",bm,u(e.stats?.unique?.error)+" unique",1)],42,ym),n("div",{class:T(["kpi-card kpi-warn kpi-filter",{"is-selected":e.query?.bucket==="warn"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="warn",title:"Show only 4xx responses",onClick:t[4]||(t[4]=o=>e.setBucket(e.query?.bucket==="warn"?"":"warn")),onKeydown:t[5]||(t[5]=yt(de(o=>e.setBucket(e.query?.bucket==="warn"?"":"warn"),["prevent"]),["enter"]))},[t[19]||(t[19]=n("div",{class:"kpi-label"},"4xx responses",-1)),n("div",km,u(e.fmt?.number(e.stats?.severity?.warn??0)),1),n("div",Cm,u(e.stats?.unique?.warn)+" unique",1)],42,wm),n("div",{class:T(["kpi-card kpi-info kpi-filter",{"is-selected":e.query?.bucket==="info"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="info",title:"Show only info events",onClick:t[6]||(t[6]=o=>e.setBucket(e.query?.bucket==="info"?"":"info")),onKeydown:t[7]||(t[7]=yt(de(o=>e.setBucket(e.query?.bucket==="info"?"":"info"),["prevent"]),["enter"]))},[t[20]||(t[20]=n("div",{class:"kpi-label"},"Info (auth, 404)",-1)),n("div",Sm,u(e.fmt?.number(e.stats?.severity?.info??0)),1),n("div",Nm,u(e.stats?.unique?.info)+" unique",1)],42,Em),n("div",{class:T(["kpi-card",{"kpi-error":e.stats?.dropped>0}])},[t[21]||(t[21]=n("div",{class:"kpi-label"},"Distinct errors stored",-1)),n("div",_m,u(e.fmt?.number(e.total)),1),n("div",Dm,[y(" all time \xB7 cap "+u(e.fmt?.number(e.cap))+" \xB7 "+u(e.available?"live":"redis off")+" ",1),e.stats?.dropped>0?(l(),d("span",Rm," \xB7 "+u(e.stats?.dropped)+" dropped",1)):p("v-if",!0)])],2)]),n("section",Tm,[n("div",Om,[t[25]||(t[25]=n("span",{class:"volume-title"},"Volume \xB7 24h \xB7 1h buckets",-1)),n("span",Am,[e.stats?.severity?.error?(l(),d("span",Im,[...t[22]||(t[22]=[n("span",{class:"dot dot-error"},null,-1),y("error",-1)])])):p("v-if",!0),e.stats?.severity?.warn?(l(),d("span",Pm,[...t[23]||(t[23]=[n("span",{class:"dot dot-warn"},null,-1),y("warn",-1)])])):p("v-if",!0),e.stats?.severity?.info?(l(),d("span",Vm,[...t[24]||(t[24]=[n("span",{class:"dot dot-info"},null,-1),y("info",-1)])])):p("v-if",!0)])]),n("div",Mm,[(l(!0),d(K,null,re(e.stats?.buckets,(o,i)=>(l(),d("div",{class:"volume-bar",key:i,title:e.bucketTitle(o)},[n("span",{class:"seg seg-error",style:Te({height:e.barPx(o,"error")+"px"})},null,4),n("span",{class:"seg seg-warn",style:Te({height:e.barPx(o,"warn")+"px"})},null,4),n("span",{class:"seg seg-info",style:Te({height:e.barPx(o,"info")+"px"})},null,4)],8,qm))),128))]),t[26]||(t[26]=n("div",{class:"volume-axis","aria-hidden":"true"},[n("span",null,"24h ago"),n("span",null,"12h ago"),n("span",null,"now")],-1))]),D((l(),d("form",Lm,[n("div",$m,[n("button",{type:"button",class:T({active:e.query?.bucket===""}),onClick:t[8]||(t[8]=o=>e.setBucket(""))},"All",2),n("button",{type:"button",class:T({active:e.query?.bucket==="error"}),onClick:t[9]||(t[9]=o=>e.setBucket("error"))},"5xx",2),n("button",{type:"button",class:T({active:e.query?.bucket==="warn"}),onClick:t[10]||(t[10]=o=>e.setBucket("warn"))},"4xx",2),n("button",{type:"button",class:T({active:e.query?.bucket==="info"}),onClick:t[11]||(t[11]=o=>e.setBucket("info"))},"Info",2)]),n("div",Um,[t[27]||(t[27]=n("svg",{class:"ui-icon search-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)),D(n("input",Fm,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.parsedFilterCount?(l(),d("span",zm,u(e.parsedFilterCount)+" filter"+u(e.parsedFilterCount>1?"s":""),1)):p("v-if",!0)]),n("div",Hm,[t[29]||(t[29]=n("label",null,"Sort",-1)),D((l(),d("select",Bm,[...t[28]||(t[28]=[n("option",{value:"recent"},"Most recent",-1),n("option",{value:"count"},"Most frequent",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.sort=o},value:e.query?.sort,form:null,options:{}}]])]),n("div",jm,[t[31]||(t[31]=n("label",null,"Group",-1)),D((l(),d("select",Gm,[...t[30]||(t[30]=[n("option",{value:""},"Off",-1),n("option",{value:"code"},"By code",-1),n("option",{value:"module"},"By module",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.group=o},value:e.query?.group,form:null,options:{}}]])]),n("label",Wm,[D(n("input",Km,null,512),[[s,{state:e.viewState,set:o=>{e.query.autoRefresh=o},value:e.query?.autoRefresh,form:null,options:{}}]]),t[32]||(t[32]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[12]||(t[12]=o=>e.refreshNow()),"aria-label":"Refresh"},[...t[33]||(t[33]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])),[[r,e.viewState]]),e.visible?.length?p("v-if",!0):(l(),d("div",Ym,"No errors captured.")),e.canLoadMore()&&e.visible?.length?(l(),d("div",Jm,[n("span",null,u(e.query?.group&&e.visible?.length!==e.entries?.length?e.fmt?.number(e.visible?.length)+(e.visible?.length===1?" group":" groups")+" from ":"")+u(e.fmt?.number(e.entries?.length))+" of "+u(e.fmt?.number(e.total))+" stored errors loaded",1),n("button",{class:"btn btn-sm",type:"button",onClick:t[13]||(t[13]=o=>e.loadMore())},"Load 250 older")])):p("v-if",!0),e.visible?.length?(l(),d("div",Qm,[t[41]||(t[41]=fe('
WhenSeverityModuleMessageTotalStatus
',1)),(l(!0),d(K,null,re(e.visible,(o,i)=>(l(),d("div",{class:T(["errors-row",{open:e.expanded[o?._key]}]),key:o?._key},[n("div",{class:"errors-row-main",onClick:a=>e.toggle(o)},[n("div",Zm,[n("div",xm,u(e.relTime(o?.ts)),1),n("div",eh,u(e.absTimeShort(o?.ts)),1)]),n("div",th,[n("span",{class:T(["sev-dot","sev-"+o?._bucket])},null,2),n("span",nh,u(e.fmt?.uppercase(o?._bucket)),1)]),n("div",sh,[n("span",oh,u(o?.module),1)]),n("div",rh,[n("strong",ih,u(o?.displayMessage),1),o?.displayContext&&o?.displayContext!==o?.displayMessage?(l(),d("span",ah,u(o?.displayContext),1)):p("v-if",!0),o?._detail?(l(),d("span",lh,u(o?._detail),1)):p("v-if",!0),o?._url?(l(),d("div",dh,u(o?._url),1)):p("v-if",!0)]),n("div",uh,[o?.count>1?(l(),d("span",ch,"\xD7"+u(o?.count),1)):p("v-if",!0),o?.count===1?(l(),d("span",ph,"\xD71")):p("v-if",!0)]),n("div",fh,[o?._status?(l(),d("span",{key:0,class:T(["status-pill",String(o?._status).match(/^[23]/)?"status-neutral":"status-"+o?._bucket]),title:String(o?._status).match(/^2/)&&o?._bucket==="warn"?"Client closed the connection":null},u(String(o?._status).match(/^2/)&&o?._bucket==="warn"?"\u2014":o?._status),11,mh)):p("v-if",!0)])],8,Xm),e.expanded[o?._key]?(l(),d("div",hh,[n("div",vh,[n("button",{type:"button",class:T({active:e.detailTab[o?._key]==="raw"||!e.detailTab[o?._key]}),onClick:a=>e.detailTab[o._key]="raw"},"Raw",10,yh),o?._stack?(l(),d("button",{key:0,type:"button",class:T({active:e.detailTab[o?._key]==="stack"}),onClick:a=>e.detailTab[o._key]="stack"},"Stack",10,gh)):p("v-if",!0),o?.count>1?(l(),d("button",{key:1,type:"button",class:T({active:e.detailTab[o?._key]==="related"}),onClick:a=>e.detailTab[o._key]="related"},"Related ("+u(o?.count)+")",11,bh)):p("v-if",!0)]),n("div",wh,[n("div",kh,[(e.detailTab[o?._key]||"raw")==="raw"?(l(),d("pre",Ch,u(o?._detailJson),1)):p("v-if",!0),e.detailTab[o?._key]==="stack"?(l(),d("pre",Eh,u(o?._stack),1)):p("v-if",!0),e.detailTab[o?._key]==="related"?(l(),d("div",Sh,[(l(!0),d(K,null,re(o?._related,(a,c)=>(l(),d("div",{class:"related-row",key:c},[n("span",Nh,u(e.absTimeShort(a?.ts)),1),n("span",_h,u(a?._url),1),a?._status?(l(),d("span",{key:0,class:T(["status-pill","status-"+a?._bucket])},u(a?._status),3)):p("v-if",!0)]))),128))])):p("v-if",!0),n("div",Dh,[n("button",{class:"btn btn-sm",type:"button",title:"Copy a curl that reproduces the request",onClick:a=>e.copyCurl(o)},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y(" Copy curl",-1)])],8,Rh),n("button",{class:"btn btn-sm",type:"button",onClick:a=>e.copyJson(o)},[...t[35]||(t[35]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-clipboard"})],-1),y(" Copy JSON",-1)])],8,Th),e.copyHint?(l(),d("span",Oh,u(e.copyHint),1)):p("v-if",!0)])]),n("aside",Ah,[n("div",Ih,[t[36]||(t[36]=n("div",{class:"aside-label"},"First seen",-1)),n("div",{class:"aside-value",title:e.absTime(o?._firstSeen)},u(e.relTime(o?._firstSeen)),9,Ph)]),n("div",Vh,[t[37]||(t[37]=n("div",{class:"aside-label"},"Last seen",-1)),n("div",{class:"aside-value",title:e.absTime(o?.ts)},u(e.relTime(o?.ts)),9,Mh)]),n("div",qh,[t[38]||(t[38]=n("div",{class:"aside-label"},"Occurrences",-1)),n("div",Lh,[y(u(o?.count),1),o?._lastHourCount?(l(),d("span",$h," \xB7 "+u(o?._lastHourCount)+" this hour",1)):p("v-if",!0)])]),o?._repoId?(l(),d("div",Uh,[t[39]||(t[39]=n("div",{class:"aside-label"},"Repository",-1)),n("a",{class:"aside-value",href:e.safeUrl("/r/"+o?._repoId)},u(o?._repoId),9,Fh)])):p("v-if",!0),o?._url?(l(),d("div",zh,[t[40]||(t[40]=n("div",{class:"aside-label"},"URL",-1)),n("div",Hh,u(o?._url),1)])):p("v-if",!0)])])])):p("v-if",!0)],2))),128))])):p("v-if",!0)])}var Bh={class:"container paper-page admin-page overview-page"},jh={key:0,class:"admin-empty"},Gh={key:1,class:"alert alert-danger",style:{margin:"12px 0"}},Wh={key:2},Kh={key:0,class:"ov-health",role:"status"},Yh={class:"ov-kpi-row"},Jh={class:"ov-kpi-card"},Qh={class:"ov-kpi-value"},Xh={class:"ov-kpi-sub"},Zh={class:"ov-kpi-card"},xh={class:"ov-kpi-sub"},ev={class:"ov-kpi-card"},tv={class:"ov-kpi-sub"},nv={class:"ov-kpi-card"},sv={class:"ov-kpi-sub"},ov={class:"ov-kpi-card"},rv={class:"ov-kpi-value"},iv={class:"ov-kpi-sub"},av={class:"ov-daily-row"},lv={class:"ov-daily-card"},dv={class:"ov-daily-value"},uv={class:"ov-daily-card"},cv={class:"ov-daily-value"},pv={class:"ov-daily-sub"},fv={class:"ov-daily-card"},mv={class:"ov-daily-value"},hv={class:"ov-chart-row"},vv={class:"ov-chart-card"},yv={class:"ov-chart-head"},gv={class:"ov-chart-legend"},bv={key:0,class:"ov-spark-bars"},wv=["data-tip","aria-label"],kv={key:1,class:"ov-spark-x"},Cv={class:"ov-chart-card"},Ev={class:"ov-chart-head"},Sv={class:"ov-chart-legend"},Nv={key:0,class:"ov-spark-bars"},_v=["data-tip","aria-label"],Dv={key:1,class:"ov-spark-x"},Rv={class:"ov-chart-card"},Tv={class:"ov-chart-head"},Ov={class:"ov-chart-legend"},Av={key:0,class:"ov-spark-bars"},Iv=["data-tip","aria-label"],Pv={key:1,class:"ov-spark-x"},Vv={class:"ov-chart-card"},Mv={class:"ov-chart-head"},qv={class:"ov-chart-legend"},Lv={key:0,class:"ov-spark-bars"},$v=["data-tip","aria-label"],Uv={key:1,class:"ov-spark-x"},Fv={class:"ov-triple-row"},zv={class:"ov-panel-card"},Hv={class:"ov-panel-head"},Bv={class:"ov-panel-meta"},jv={class:"ov-stacked-bar"},Gv={class:"ov-bar-legend"},Wv={href:"/admin/repositories",class:"ov-legend-item"},Kv={class:"ov-legend-n"},Yv={href:"/admin/repositories",class:"ov-legend-item"},Jv={class:"ov-legend-n"},Qv={href:"/admin/repositories",class:"ov-legend-item"},Xv={class:"ov-legend-n"},Zv={href:"/admin/repositories",class:"ov-legend-item"},xv={class:"ov-legend-n"},ey={href:"/admin/repositories",class:"ov-legend-item"},ty={class:"ov-legend-n"},ny={class:"ov-panel-card"},sy={class:"ov-panel-head"},oy={class:"ov-panel-meta"},ry={class:"ov-error-bars"},iy={class:"ov-ebar-row"},ay={class:"ov-ebar-track"},ly={class:"ov-ebar-n"},dy={class:"ov-ebar-row"},uy={class:"ov-ebar-track"},cy={class:"ov-ebar-n"},py={class:"ov-ebar-row"},fy={class:"ov-ebar-track"},my={class:"ov-ebar-n"},hy={key:0,class:"ov-panel-foot"},vy={href:"/admin/errors"},yy={class:"ov-panel-card"},gy={class:"ov-routes-table"},by={class:"ov-route-row",href:"/admin/queues"},wy={class:"ov-route-n"},ky={class:"ov-route-n"},Cy={class:"ov-route-row",href:"/admin/queues"},Ey={class:"ov-route-n"},Sy={class:"ov-route-n"},Ny={class:"ov-route-row",href:"/admin/queues"},_y={class:"ov-route-n"},Dy={class:"ov-route-n"},Ry={class:"ov-services-card"},Ty={class:"ov-services-head"},Oy={class:"ov-panel-meta"},Ay={class:"ov-services-grid"},Iy={class:"ov-svc"},Py={class:"ov-svc-info"},Vy={class:"ov-svc-meta"},My={class:"ov-svc-detail"},qy={class:"ov-svc"},Ly={class:"ov-svc-info"},$y={key:0,class:"ov-svc-meta"},Uy={key:1,class:"ov-svc-meta"},Fy={class:"ov-svc"},zy={class:"ov-svc-info"},Hy={key:0,class:"ov-svc-meta"},By={key:1,class:"ov-svc-meta"},jy={class:"ov-svc"},Gy={class:"ov-svc-info"},Wy={key:0,class:"ov-svc-meta"},Ky={key:1,class:"ov-svc-meta"},Yy={class:"ov-svc"},Jy={class:"ov-svc-info"},Qy={class:"ov-svc-meta"},Xy={class:"ov-panel-card ov-cache","aria-labelledby":"cache-heading"},Zy={class:"ov-panel-head ov-performance-head"},xy={class:"ov-performance-window"},eg={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},tg={key:1,class:"ov-performance-empty",role:"status"},ng={key:0,class:"ov-performance-note"},sg={key:1,class:"ov-performance-note"},og={key:2,class:"ov-performance-message ov-performance-warning",role:"status"},rg={key:3,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache storage budgets"},ig={class:"ov-metrics-table"},ag={scope:"row"},lg={key:4,class:"ov-performance-note"},dg={key:5,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache events and processing durations"},ug={class:"ov-metrics-table"},cg={scope:"row"},pg={key:6,class:"ov-performance-empty",role:"status"},fg={class:"ov-performance-note"},mg={class:"ov-panel-card ov-performance","aria-labelledby":"performance-heading"},hg={class:"ov-panel-head ov-performance-head"},vg={class:"ov-performance-window"},yg={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},gg={key:1,class:"ov-performance-empty",role:"status"},bg={key:2},wg={class:"paper-tabs ov-performance-tabs",role:"tablist","aria-label":"Performance metrics"},kg=["aria-selected","tabindex"],Cg=["aria-selected","tabindex"],Eg=["aria-selected","tabindex"],Sg={id:"performance-routes",role:"tabpanel","aria-labelledby":"performance-routes-tab"},Ng={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Route latency metrics, scroll for more columns"},_g={class:"ov-metrics-table"},Dg={scope:"row",class:"ov-metric-name"},Rg={class:"num"},Tg={class:"num"},Og={class:"num"},Ag={class:"num"},Ig={class:"num"},Pg={key:1,class:"ov-performance-empty"},Vg={id:"performance-processes",role:"tabpanel","aria-labelledby":"performance-processes-tab"},Mg={key:0,class:"ov-performance-message ov-performance-warning",role:"status"},qg={key:1,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Process resource metrics, scroll for more columns"},Lg={class:"ov-metrics-table"},$g={scope:"row",class:"ov-metric-name"},Ug={key:0,class:"ov-metric-warn"},Fg={class:"num"},zg={class:"num"},Hg={class:"num"},Bg={class:"num"},jg={class:"num"},Gg={class:"num"},Wg={class:"num"},Kg={class:"num"},Yg={id:"performance-stages",role:"tabpanel","aria-labelledby":"performance-stages-tab"},Jg={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Work stage metrics, scroll for more columns"},Qg={class:"ov-metrics-table"},Xg={scope:"row",class:"ov-metric-name"},Zg={class:"num"},xg={class:"num"},eb={class:"num"},tb={key:1,class:"ov-performance-empty"};function bl(e,t){return l(),d("div",Bh,[t[83]||(t[83]=fe('
Admin \xA0/\xA0 Overview

Overview

Live \xB7 refreshes every 30s
',3)),e.loading?(l(),d("div",jh,"Loading overview\u2026")):p("v-if",!0),e.error?(l(),d("div",Gh,[t[13]||(t[13]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.error),1)])):p("v-if",!0),e.data?(l(),d("div",Wh,[e.data?.system?.memPercent>90||e.data?.system?.diskPercent>90?(l(),d("div",Kh,[...t[14]||(t[14]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),n("span",null,[n("b",null,"Server needs attention."),y(" Memory or disk is running high (see the cards below). New anonymizations may fail until it drops.")],-1)])])):p("v-if",!0),p(" \u2500\u2500 Top KPI row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Yh,[n("div",Jh,[t[15]||(t[15]=n("div",{class:"ov-kpi-label"},"Live repositories",-1)),n("div",Qh,u(e.humanNum((e.data?.repos?.statusBreakdown||[]).filter(s=>s._id!=="removed"&&s._id!=="expired").reduce((s,r)=>s+(r.count||0),0))),1),n("div",Xh,u(e.humanNum(((e.data?.repos?.statusBreakdown||[]).find(s=>s._id==="removed")||{}).count||0))+" removed \xB7 "+u(e.humanNum(e.data?.repos?.total))+" total",1)]),n("div",Zh,[t[16]||(t[16]=n("div",{class:"ov-kpi-label"},"CPU",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.cpuPercent>80}])},u(e.data?.system?.cpuPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.cpuPercent>80,crit:e.data?.system?.cpuPercent>90}])},[n("span",{style:Te({width:Math.min(100,e.data?.system?.cpuPercent||0)+"%"})},null,4)],2),n("div",xh,u(e.data?.system?.cpuCount)+" cores \xB7 load "+u(e.data?.system?.loadAvg?.[0]?.toFixed(1)),1)]),n("div",ev,[t[17]||(t[17]=n("div",{class:"ov-kpi-label"},"Memory",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.memPercent>85}])},u(e.data?.system?.memPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.memPercent>85,crit:e.data?.system?.memPercent>90}])},[n("span",{style:Te({width:Math.min(100,e.data?.system?.memPercent||0)+"%"})},null,4)],2),n("div",tv,[e.data?.system?.memPercent>85?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.memPercent>90}])},u(e.data?.system?.memPercent>90?"Critical":"High")+" \xB7 ",3)):p("v-if",!0),y(u(e.humanBytes(e.data?.system?.memUsed).replace(/\s*GB$/,""))+" / "+u(e.humanBytes(e.data?.system?.memTotal)),1)])]),n("div",nv,[t[18]||(t[18]=n("div",{class:"ov-kpi-label"},"Disk",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.diskPercent>85}])},u(e.data?.system?.diskPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.diskPercent>85,crit:e.data?.system?.diskPercent>90}])},[n("span",{style:Te({width:Math.min(100,e.data?.system?.diskPercent||0)+"%"})},null,4)],2),n("div",sv,[e.data?.system?.diskPercent>85?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.diskPercent>90}])},u(e.data?.system?.diskPercent>90?"Critical":"High")+" \xB7 ",3)):p("v-if",!0),y(u(e.humanBytes(e.data?.system?.diskUsed).replace(/\s*GB$/,""))+" / "+u(e.humanBytes(e.data?.system?.diskTotal)),1),e.data?.system?.diskMount&&e.data.system.diskMount!=="/"?(l(),d(K,{key:1},[y(" \xB7 "+u(e.data?.system?.diskMount),1)],64)):p("v-if",!0)])]),n("div",ov,[t[19]||(t[19]=n("div",{class:"ov-kpi-label"},"Uptime",-1)),n("div",rv,u(e.humanDuration(e.data?.system?.uptime)),1),n("div",iv,u(e.data?.system?.nodeVersion)+" \xB7 "+u(e.data?.system?.platform),1)])]),p(" \u2500\u2500 Daily activity highlights \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",av,[n("div",lv,[t[20]||(t[20]=n("div",{class:"ov-daily-label"},"New repos today",-1)),n("div",dv,u(e.fmt?.number(e.data?.daily?.today?.repositories||0)),1),t[21]||(t[21]=n("div",{class:"ov-daily-sub"},"so far today",-1))]),n("div",uv,[t[22]||(t[22]=n("div",{class:"ov-daily-label"},"New users today",-1)),n("div",cv,u(e.fmt?.number(e.data?.daily?.today?.users||0)),1),n("div",pv,u(e.fmt?.number(e.data?.users?.total))+" total users",1)]),n("div",fv,[t[23]||(t[23]=n("div",{class:"ov-daily-label"},"Page views today",-1)),n("div",mv,u(e.fmt?.number(e.data?.daily?.today?.pageViews||0)),1),t[24]||(t[24]=n("div",{class:"ov-daily-sub"},"so far today",-1))])]),p(" \u2500\u2500 Daily charts \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",hv,[n("div",vv,[n("div",yv,[t[26]||(t[26]=n("span",{class:"ov-chart-title"},"Daily page views \xB7 30d",-1)),n("span",gv,[t[25]||(t[25]=n("span",{class:"ov-dot-legend ov-dot-accent"},null,-1)),y("views/day \xB7 peak "+u(e.fmt?.number(e.historyMax("dailyPageViews"))),1)])]),e.data?.history?.length?(l(),d("div",bv,[(l(!0),d(K,null,re(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyPageViews)+" views","aria-label":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyPageViews)+" views"},[n("span",{class:"ov-spark-fill",style:Te({height:e.historyBarH(s,"dailyPageViews")+"px"})},null,4)],8,wv))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",kv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)]),n("div",Cv,[n("div",Ev,[t[28]||(t[28]=n("span",{class:"ov-chart-title"},"New repos \xB7 30d",-1)),n("span",Sv,[t[27]||(t[27]=n("span",{class:"ov-dot-legend ov-dot-ok-fill"},null,-1)),y("repos/day \xB7 peak "+u(e.fmt?.number(e.historyMax("dailyRepositories"))),1)])]),e.data?.history?.length?(l(),d("div",Nv,[(l(!0),d(K,null,re(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyRepositories)+" repos","aria-label":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyRepositories)+" repos"},[n("span",{class:"ov-spark-fill ov-spark-fill-alt",style:Te({height:e.historyBarH(s,"dailyRepositories")+"px"})},null,4)],8,_v))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",Dv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)]),n("div",Rv,[n("div",Tv,[t[30]||(t[30]=n("span",{class:"ov-chart-title"},"Users \xB7 30d",-1)),n("span",Ov,[t[29]||(t[29]=n("span",{class:"ov-dot-legend ov-dot-user-fill"},null,-1)),y("total users \xB7 peak "+u(e.fmt?.number(e.historyMax("nbUsers"))),1)])]),e.data?.history?.length?(l(),d("div",Av,[(l(!0),d(K,null,re(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": "+e.fmt?.number(s?.nbUsers)+" users","aria-label":e.historyLabel(s)+": "+e.fmt?.number(s?.nbUsers)+" users"},[n("span",{class:"ov-spark-fill ov-spark-fill-user",style:Te({height:e.historyBarH(s,"nbUsers")+"px"})},null,4)],8,Iv))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",Pv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)]),n("div",Vv,[n("div",Mv,[t[32]||(t[32]=n("span",{class:"ov-chart-title"},"New users \xB7 30d",-1)),n("span",qv,[t[31]||(t[31]=n("span",{class:"ov-dot-legend ov-dot-new-user-fill"},null,-1)),y("users/day \xB7 peak "+u(e.fmt?.number(e.historyMax("dailyUsers"))),1)])]),e.data?.history?.length?(l(),d("div",Lv,[(l(!0),d(K,null,re(e.data?.history,(s,r)=>(l(),d("div",{class:"ov-spark-col has-tip",key:r,"data-tip":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyUsers)+" users","aria-label":e.historyLabel(s)+": +"+e.fmt?.number(s?.dailyUsers)+" users"},[n("span",{class:"ov-spark-fill ov-spark-fill-new-user",style:Te({height:e.historyBarH(s,"dailyUsers")+"px"})},null,4)],8,$v))),128))])):p("v-if",!0),e.data?.history?.length?(l(),d("div",Uv,[n("span",null,u(e.historyLabel(e.data?.history[0])),1),n("span",null,u(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,u(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):p("v-if",!0)])]),p(" \u2500\u2500 Three-panel row: Status / Errors / Queues \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Fv,[p(" Repo status breakdown "),n("div",zv,[n("div",Hv,[t[33]||(t[33]=n("span",{class:"ov-panel-title"},"Repo status",-1)),n("span",Bv,u(e.fmt?.number(e.data?.repos?.total))+" total",1)]),n("div",jv,[n("span",{class:"ov-bar-seg ov-bar-ready",title:"Ready",style:Te({width:e.barPct("ready")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-preparing",title:"Preparing",style:Te({width:e.barPct("preparing")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-error",title:"Error",style:Te({width:e.barPct("error")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-expired",title:"Expired",style:Te({width:e.barPct("expired")+"%"})},null,4),n("span",{class:"ov-bar-seg ov-bar-removed",title:"Removed",style:Te({width:e.barPct("removed")+"%"})},null,4)]),n("div",Gv,[n("a",Wv,[t[34]||(t[34]=n("span",{class:"ov-swatch ov-bar-ready"},null,-1)),t[35]||(t[35]=y(" ready ",-1)),n("span",Kv,u(e.fmt?.number(e.statusCount("ready"))),1)]),n("a",Yv,[t[36]||(t[36]=n("span",{class:"ov-swatch ov-bar-preparing"},null,-1)),t[37]||(t[37]=y(" preparing ",-1)),n("span",Jv,u(e.fmt?.number(e.statusCount("preparing")+e.statusCount("download"))),1)]),n("a",Qv,[t[38]||(t[38]=n("span",{class:"ov-swatch ov-bar-error"},null,-1)),t[39]||(t[39]=y(" error ",-1)),n("span",Xv,u(e.fmt?.number(e.statusCount("error"))),1)]),n("a",Zv,[t[40]||(t[40]=n("span",{class:"ov-swatch ov-bar-expired"},null,-1)),t[41]||(t[41]=y(" expired ",-1)),n("span",xv,u(e.fmt?.number(e.statusCount("expired")+e.statusCount("expiring"))),1)]),n("a",ey,[t[42]||(t[42]=n("span",{class:"ov-swatch ov-bar-removed"},null,-1)),t[43]||(t[43]=y(" removed ",-1)),n("span",ty,u(e.fmt?.number(e.statusCount("removed")+e.statusCount("removing"))),1)])])]),p(" Error breakdown "),n("div",ny,[n("div",sy,[t[44]||(t[44]=n("span",{class:"ov-panel-title"},"Errors \xB7 24h",-1)),n("span",oy,u(e.data?.errors?.last24h)+" total",1)]),n("div",ry,[n("div",iy,[t[45]||(t[45]=n("span",{class:"ov-ebar-label"},"5xx",-1)),n("span",ay,[n("span",{class:"ov-ebar-fill ov-ebar-error",style:Te({width:e.errPct("error")+"%"})},null,4)]),n("span",ly,u(e.data?.errors?.severity?.error),1)]),n("div",dy,[t[46]||(t[46]=n("span",{class:"ov-ebar-label"},"4xx",-1)),n("span",uy,[n("span",{class:"ov-ebar-fill ov-ebar-warn",style:Te({width:e.errPct("warn")+"%"})},null,4)]),n("span",cy,u(e.data?.errors?.severity?.warn),1)]),n("div",py,[t[47]||(t[47]=n("span",{class:"ov-ebar-label"},"Info",-1)),n("span",fy,[n("span",{class:"ov-ebar-fill ov-ebar-info",style:Te({width:e.errPct("info")+"%"})},null,4)]),n("span",my,u(e.data?.errors?.severity?.info),1)])]),e.data?.repos?.recentErrors24h?(l(),d("div",hy,[n("a",vy,u(e.data?.repos?.recentErrors24h)+" repos in error state \u2192",1)])):p("v-if",!0)]),p(" Top routes / queues "),n("div",yy,[t[52]||(t[52]=n("div",{class:"ov-panel-head"},[n("span",{class:"ov-panel-title"},"Queues"),n("span",{class:"ov-panel-meta"},"by state")],-1)),n("div",gy,[t[51]||(t[51]=fe('
QueueActiveWaitFailed
',1)),n("a",by,[t[48]||(t[48]=n("span",{class:"ov-route-name"},"download",-1)),n("span",wy,u(e.data?.queues?.download?.active),1),n("span",ky,u(e.data?.queues?.download?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.download?.failed>0}])},u(e.data?.queues?.download?.failed),3)]),n("a",Cy,[t[49]||(t[49]=n("span",{class:"ov-route-name"},"remove",-1)),n("span",Ey,u(e.data?.queues?.remove?.active),1),n("span",Sy,u(e.data?.queues?.remove?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.remove?.failed>0}])},u(e.data?.queues?.remove?.failed),3)]),n("a",Ny,[t[50]||(t[50]=n("span",{class:"ov-route-name"},"cache",-1)),n("span",_y,u(e.data?.queues?.cache?.active),1),n("span",Dy,u(e.data?.queues?.cache?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.cache?.failed>0}])},u(e.data?.queues?.cache?.failed),3)])])])]),p(" \u2500\u2500 Services bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Ry,[n("div",Ty,[t[53]||(t[53]=n("span",{class:"ov-panel-title"},"Services",-1)),n("span",Oy,u(e.fmt?.number(e.data?.users?.total))+" users \xB7 "+u(e.data?.conferences?.total)+" conferences",1)]),n("div",Ay,[n("div",Iy,[t[55]||(t[55]=n("span",{class:"ov-svc-dot ov-dot-ok"},null,-1)),n("div",Py,[t[54]||(t[54]=n("span",{class:"ov-svc-name"},"web",-1)),n("span",Vy,u(e.data?.system?.nodeVersion),1)]),n("span",My,"uptime "+u(e.humanDuration(e.data?.system?.uptime)),1)]),n("div",qy,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.download)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",Ly,[t[56]||(t[56]=n("span",{class:"ov-svc-name"},"download",-1)),e.queueTotal(e.data?.queues?.download)?(l(),d("span",$y,u(e.queueTotal(e.data?.queues?.download))+" jobs",1)):p("v-if",!0),e.queueTotal(e.data?.queues?.download)?p("v-if",!0):(l(),d("span",Uy,"idle"))])]),n("div",Fy,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.cache)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",zy,[t[57]||(t[57]=n("span",{class:"ov-svc-name"},"cache",-1)),e.queueTotal(e.data?.queues?.cache)?(l(),d("span",Hy,u(e.queueTotal(e.data?.queues?.cache))+" jobs",1)):p("v-if",!0),e.queueTotal(e.data?.queues?.cache)?p("v-if",!0):(l(),d("span",By,"idle"))])]),n("div",jy,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.remove)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",Gy,[t[58]||(t[58]=n("span",{class:"ov-svc-name"},"remove",-1)),e.queueTotal(e.data?.queues?.remove)?(l(),d("span",Wy,u(e.queueTotal(e.data?.queues?.remove))+" jobs",1)):p("v-if",!0),e.queueTotal(e.data?.queues?.remove)?p("v-if",!0):(l(),d("span",Ky,"idle"))])]),n("div",Yy,[n("span",{class:T(["ov-svc-dot",e.data?.repos?.recentErrors24h>10?"ov-dot-warn":"ov-dot-ok"])},null,2),n("div",Jy,[t[59]||(t[59]=n("span",{class:"ov-svc-name"},"errors",-1)),n("span",Qy,u(e.data?.errors?.last24h)+" / 24h",1)])])])])])):p("v-if",!0),n("section",Xy,[n("div",Zy,[t[64]||(t[64]=n("div",null,[n("h2",{class:"ov-panel-title",id:"cache-heading"},"Cache"),n("p",{class:"ov-performance-note"},"Shared storage, repeated reads and anonymization work \xB7 refreshes every 30 seconds")],-1)),n("div",xy,[t[62]||(t[62]=n("label",{for:"cache-window"},"Time range",-1)),D(n("select",{id:"cache-window",class:"form-control form-control-sm","onUpdate:modelValue":t[0]||(t[0]=s=>e.cacheMinutes=s),onChange:t[1]||(t[1]=s=>e.loadCache())},[...t[60]||(t[60]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1),n("option",{value:1440},"Last 24 hours",-1),n("option",{value:10080},"Last 7 days",-1)])],544),[[Qs,e.cacheMinutes,void 0,{number:!0}]]),t[63]||(t[63]=n("label",{for:"cache-traffic"},"Traffic",-1)),D(n("select",{id:"cache-traffic",class:"form-control form-control-sm","onUpdate:modelValue":t[2]||(t[2]=s=>e.cacheTraffic=s)},[...t[61]||(t[61]=[fe('',6)])],512),[[Qs,e.cacheTraffic]])])]),e.cacheError?(l(),d("div",eg,[n("span",null,u(e.cacheError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[3]||(t[3]=s=>e.loadCache())},"Retry")])):p("v-if",!0),!e.cacheReport&&!e.cacheError?(l(),d("p",tg,"Loading cache monitoring\u2026")):p("v-if",!0),e.cacheReport?.available?(l(),d(K,{key:2},[e.cacheReport.enabled?p("v-if",!0):(l(),d("p",ng,"Shared blob storage is disabled. Inspection and legacy-cache activity are still measured.")),e.cacheReport.filesystemSupported?p("v-if",!0):(l(),d("p",sg,"Shared blobs require a local filesystem. The configured storage continues to use its existing cache.")),e.cacheReport.dropped?(l(),d("p",og,u(e.cacheReport.dropped)+" telemetry events were dropped. Totals may be incomplete.",1)):p("v-if",!0),e.cacheReport.source?(l(),d("div",rg,[n("table",ig,[t[65]||(t[65]=n("caption",{class:"sr-only"},"Current shared-cache storage and byte budgets",-1)),t[66]||(t[66]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Pool"),n("th",{scope:"col"},"Allocated / budget"),n("th",{scope:"col"},"Reserved for fills"),n("th",{scope:"col"},"Original bytes"),n("th",{scope:"col"},"Blobs"),n("th",{scope:"col"},"Active readers")])],-1)),n("tbody",null,[(l(!0),d(K,null,re([{name:"Source blobs",data:e.cacheReport.source},{name:"Transformed output",data:e.cacheReport.results}],s=>D((l(),d("tr",{key:s.name},[n("th",ag,u(s.name),1),n("td",null,u(e.humanBytes(s.data?.allocatedBytes))+" / "+u(e.humanBytes(s.data?.budgetBytes)),1),n("td",null,u(e.humanBytes(s.data?.reservedBytes)),1),n("td",null,u(e.humanBytes(s.data?.originalBytes)),1),n("td",null,u(s.data?.blobs),1),n("td",null,u(s.data?.activeReaders),1)])),[[Q,s.data]])),128))])])])):p("v-if",!0),e.cacheReport.source?(l(),d("p",lg,"Source request hit rate: "+u(e.cacheRate("source","count"))+" \xB7 Source byte hit rate: "+u(e.cacheRate("source","bytes"))+" \xB7 Decision hit rate: "+u(e.cacheRate("decision","count")),1)):p("v-if",!0),t[69]||(t[69]=n("p",{class:"ov-performance-note"},"Reuse counts measure consecutive reads of the same blob within each interval. Codec timings are elapsed stream time, not CPU time; eviction times measure how long a blob was idle. Known monitors are identified by request metadata; other automation may remain in file reads.",-1)),e.cacheRows().length?(l(),d("div",dg,[n("table",ug,[t[67]||(t[67]=n("caption",{class:"sr-only"},"Cache events for the selected time range and traffic",-1)),t[68]||(t[68]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Event"),n("th",{scope:"col"},"Traffic"),n("th",{scope:"col"},"Count"),n("th",{scope:"col"},"Bytes"),n("th",{scope:"col"},"Mean measured time"),n("th",{scope:"col"},"p95 bound")])],-1)),n("tbody",null,[(l(!0),d(K,null,re(e.cacheRows(),s=>(l(),d("tr",{key:s.name+":"+s.traffic},[n("th",cg,u(e.cacheEventName(s.name)),1),n("td",null,u(s.traffic),1),n("td",null,u(s.count),1),n("td",null,u(e.humanBytes(s.bytes)),1),n("td",null,u(s.ms?(s.ms/s.count).toFixed(2)+" ms":"Not timed"),1),n("td",null,u(e.cacheP95(s)),1)]))),128))])])])):(l(),d("p",pg,"No cache events in this time range for the selected traffic.")),n("p",fg,"Updated "+u(e.sampleAge(e.cacheReport))+" seconds ago. Minute history is retained for 48 hours; hourly history for 30 days.",1)],64)):p("v-if",!0)]),n("section",mg,[n("div",hg,[t[72]||(t[72]=n("div",null,[n("h2",{class:"ov-panel-title",id:"performance-heading"},"Request performance"),n("p",{class:"ov-performance-note"},"Request latency and process health \xB7 refreshes every 30 seconds")],-1)),n("div",vg,[t[71]||(t[71]=n("label",{for:"performance-window"},"Time range",-1)),D(n("select",{id:"performance-window",class:"form-control form-control-sm","onUpdate:modelValue":t[4]||(t[4]=s=>e.performanceMinutes=s),onChange:t[5]||(t[5]=s=>e.loadPerformance()),"aria-label":"Performance time range"},[...t[70]||(t[70]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1)])],544),[[Qs,e.performanceMinutes,void 0,{number:!0}]])])]),e.performanceError?(l(),d("div",yg,[t[73]||(t[73]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("span",null,u(e.performanceError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[6]||(t[6]=s=>e.loadPerformance())},"Retry")])):p("v-if",!0),!e.performance&&!e.performanceError?(l(),d("p",gg,"Loading performance monitoring\u2026")):p("v-if",!0),e.performance?.available?(l(),d("div",bg,[n("div",wg,[n("button",{id:"performance-routes-tab",type:"button",class:T(["paper-tab",{active:e.performanceTab==="routes"}]),role:"tab","aria-selected":e.performanceTab==="routes",tabindex:e.performanceTab==="routes"?0:-1,"aria-controls":"performance-routes",onClick:t[7]||(t[7]=s=>e.performanceTab="routes"),onKeydown:t[8]||(t[8]=s=>e.previewTabKeydown(s))},"Routes",42,kg),n("button",{id:"performance-processes-tab",type:"button",class:T(["paper-tab",{active:e.performanceTab==="processes"}]),role:"tab","aria-selected":e.performanceTab==="processes",tabindex:e.performanceTab==="processes"?0:-1,"aria-controls":"performance-processes",onClick:t[9]||(t[9]=s=>e.performanceTab="processes"),onKeydown:t[10]||(t[10]=s=>e.previewTabKeydown(s))},"Processes",42,Cg),n("button",{id:"performance-stages-tab",type:"button",class:T(["paper-tab",{active:e.performanceTab==="stages"}]),role:"tab","aria-selected":e.performanceTab==="stages",tabindex:e.performanceTab==="stages"?0:-1,"aria-controls":"performance-stages",onClick:t[11]||(t[11]=s=>e.performanceTab="stages"),onKeydown:t[12]||(t[12]=s=>e.previewTabKeydown(s))},"Work stages",42,Eg)]),D(n("div",Sg,[e.performance.routes?.length?(l(),d("div",Ng,[n("table",_g,[t[74]||(t[74]=n("caption",{class:"sr-only"},"Route latency for the selected time range",-1)),t[75]||(t[75]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Route"),n("th",{scope:"col",class:"num"},"Requests"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"First byte p95"),n("th",{scope:"col",class:"num"},"p95"),n("th",{scope:"col",class:"num"},"p99"),n("th",{scope:"col",class:"num"},"Interrupted"),n("th",{scope:"col",class:"num"},"5xx"),n("th",{scope:"col",class:"num"},"Slow")])],-1)),n("tbody",null,[(l(!0),d(K,null,re(e.performance.routes,s=>(l(),d("tr",{key:s.service+s.method+s.route},[n("th",Dg,[n("span",null,u(s.route),1),n("small",null,u(s.service)+" \xB7 "+u(s.method),1)]),n("td",Rg,u(e.fmt.number(s.count)),1),n("td",Tg,u(s.avgMs)+" ms",1),n("td",Og,u(e.firstByteBound(s)),1),n("td",Ag,u(e.latencyBound(s,"p95UpperMs")),1),n("td",Ig,u(e.latencyBound(s,"p99UpperMs")),1),n("td",{class:T(["num",{"ov-metric-warn":s.aborted>0}])},u(e.fmt.number(s.aborted)),3),n("td",{class:T(["num",{"ov-metric-warn":s.errors>0}])},u(e.fmt.number(s.errors)),3),n("td",{class:T(["num",{"ov-metric-warn":s.slow>0}])},u(e.fmt.number(s.slow)),3)]))),128))])])])):(l(),d("p",Pg,"No recorded requests in this time range yet."))],512),[[Q,e.performanceTab==="routes"]]),D(n("div",Vg,[t[79]||(t[79]=n("p",{class:"ov-performance-note"},"API and streamer processes \xB7 latest sample per instance",-1)),e.performance.instances?.length?(l(),d("div",qg,[n("table",Lg,[t[77]||(t[77]=n("caption",{class:"sr-only"},"API and streamer process resource usage",-1)),t[78]||(t[78]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Process"),n("th",{scope:"col",class:"num"},"RSS / limit"),n("th",{scope:"col",class:"num"},"CPU"),n("th",{scope:"col",class:"num"},"Event loop p95"),n("th",{scope:"col",class:"num"},"Active requests"),n("th",{scope:"col",class:"num"},"Sockets / CLOSE_WAIT"),n("th",{scope:"col",class:"num"},"Workers / waiting"),n("th",{scope:"col",class:"num"},"Sample age"),n("th",{scope:"col",class:"num"},"Dropped batches / metrics")])],-1)),n("tbody",null,[(l(!0),d(K,null,re(e.performance.instances,s=>(l(),d("tr",{key:s.instance,class:T({"ov-metric-warning-row":e.performanceWarning(s)})},[n("th",$g,[n("span",null,u(s.instance),1),e.performanceWarning(s)?(l(),d("small",Ug,[...t[76]||(t[76]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),y(" Needs attention",-1)])])):p("v-if",!0)]),n("td",Fg,[y(u(e.humanBytes(s.memory.rss))+" / "+u(e.humanBytes(s.memoryLimitBytes)),1),n("small",null,"Peak "+u(e.humanBytes(e.peakRss(s))),1)]),n("td",zg,u(s.cpuPercent==null?"Unavailable":s.cpuPercent.toFixed(1)+"%"),1),n("td",Hg,u(s.eventLoop?.p95Ms==null?"Not applicable":s.eventLoop.p95Ms.toFixed(1)+" ms"),1),n("td",Bg,u(s.activeRequests),1),n("td",jg,u(s.sockets?.descriptors??"Unavailable")+" / "+u(s.sockets?.closeWait??"Unavailable"),1),n("td",Gg,u(s.workers?.running??0)+" / "+u(s.workers?.waiting??0),1),n("td",Wg,u(e.sampleAge(s))+" s",1),n("td",Kg,u(s.droppedBatches)+" / "+u(s.droppedMetrics),1)],2))),128))])])])):(l(),d("div",Mg,"No recent process samples. Monitoring coverage is incomplete."))],512),[[Q,e.performanceTab==="processes"]]),D(n("div",Yg,[e.performance.stages?.some(s=>s.metric!=="first_byte")?(l(),d("div",Jg,[n("table",Qg,[t[80]||(t[80]=n("caption",{class:"sr-only"},"Work stages and cache results",-1)),t[81]||(t[81]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Work stage"),n("th",{scope:"col",class:"num"},"Samples"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"p95")])],-1)),n("tbody",null,[(l(!0),d(K,null,re(e.performance.stages.filter(s=>s.metric!=="first_byte"),s=>(l(),d("tr",{key:s.service+s.metric},[n("th",Xg,[n("span",null,u(s.metric),1),n("small",null,u(s.service),1)]),n("td",Zg,u(e.fmt.number(s.count)),1),n("td",xg,u(s.avgMs)+" ms",1),n("td",eb,u(e.latencyBound(s,"p95UpperMs")),1)]))),128))])])])):(l(),d("p",tb,"No recorded work stages or cache results in this time range yet."))],512),[[Q,e.performanceTab==="stages"]]),t[82]||(t[82]=n("details",{class:"ov-performance-help"},[n("summary",null,"How to read these metrics"),n("p",null,"Latency includes upstream waits and response transfer. Percentiles show histogram bucket upper bounds, not exact timings. Process rows marked \u201CNeeds attention\u201D have stale samples, dropped monitoring data, CLOSE_WAIT sockets, high event loop delay, or high memory usage.")],-1))])):p("v-if",!0)])])}var sb={class:"container paper-page admin-page"},ob={class:"q-header"},rb={class:"q-header-actions"},ib={class:"q-cards"},ab=["aria-pressed","onKeydown","onClick"],lb={class:"q-card-head"},db=["textContent"],ub=["textContent"],cb={class:"q-card-sub"},pb={key:0,class:"q-card-bar"},fb={key:0,class:"q-detail"},mb={class:"q-throughput"},hb={class:"q-range-btns"},vb={class:"q-section-label"},yb={key:0,class:"q-section-right"},gb={class:"q-chart-wrap"},bb={key:0,class:"q-chart-empty"},wb={class:"q-stats-panel"},kb={class:"q-section-label"},Cb={class:"q-stats-grid"},Eb={class:"q-stat"},Sb=["textContent"],Nb={class:"q-stat"},_b=["textContent"],Db={class:"q-stat"},Rb=["textContent"],Tb={class:"q-stat"},Ob=["textContent"],Ab={class:"q-stat"},Ib=["textContent"],Pb={class:"q-stat"},Vb=["textContent"],Mb={class:"q-stats-actions"},qb=["disabled"],Lb={class:"q-danger-group"},$b={class:"q-jobs"},Ub={class:"q-jobs-header"},Fb={class:"q-section-label"},zb={class:"q-state-filters"},Hb={class:"q-state-toggle"},Bb={type:"checkbox"},jb={class:"q-search-row"},Gb={type:"search",class:"form-control",placeholder:"Search by job/repo id\u2026",autocomplete:"off"},Wb={class:"q-auto-refresh"},Kb={type:"checkbox"},Yb={key:0,class:"q-table"},Jb=["onClick"],Qb={class:"q-cell-state"},Xb=["textContent"],Zb=["textContent"],xb={class:"q-cell-id"},e1=["textContent","href"],t1={class:"q-cell-payload"},n1=["textContent"],s1={key:0,class:"q-payload-detail"},o1=["textContent"],r1=["textContent"],i1={class:"q-cell-progress"},a1={key:0,class:"q-progress-wrap"},l1=["textContent"],d1={class:"q-cell-actions"},u1=["onClick"],c1=["onClick"],p1={key:0,class:"q-detail-row"},f1={colspan:"7"},m1={class:"q-job-detail"},h1={class:"q-job-detail-grid"},v1={class:"q-job-detail-item"},y1={class:"q-job-detail-value"},g1=["textContent","href"],b1={class:"q-job-detail-item"},w1={class:"q-job-detail-value"},k1=["textContent"],C1={key:0,class:"q-job-detail-item"},E1=["textContent"],S1={key:1,class:"q-job-detail-item"},N1=["textContent"],_1={key:2,class:"q-job-detail-item"},D1={class:"q-job-detail-value"},R1={key:3,class:"q-job-detail-item"},T1=["textContent"],O1={key:4,class:"q-job-detail-item"},A1=["textContent"],I1={key:5,class:"q-job-detail-item"},P1=["textContent"],V1={key:6,class:"q-job-detail-item"},M1=["textContent"],q1={key:7,class:"q-job-detail-item"},L1=["textContent"],$1={key:0,class:"q-job-detail-error"},U1=["textContent"],F1={key:1},z1=["textContent"],H1={class:"q-job-detail-actions"},B1=["onClick"],j1=["onClick"],G1=["href"],W1={key:1,class:"paper-table-empty",style:{border:"1px solid var(--border-color)","border-radius":"10px",background:"var(--paper-card)"}},K1={key:0},Y1={key:1};function wl(e,t){let s=Ee("field");return l(),d("div",sb,[t[51]||(t[51]=n("div",{class:"paper-crumbs"},[y("Admin \xA0/\xA0 "),n("span",{class:"here"},"Queues")],-1)),n("div",ob,[t[12]||(t[12]=n("h1",{class:"paper-page-title"},"Queues",-1)),n("div",rb,[n("button",{class:"btn btn-sm",onClick:t[0]||(t[0]=r=>e.pauseAll())},"Pause all queues")])]),t[52]||(t[52]=fe('',1)),p(" Queue overview cards "),n("div",ib,[(l(!0),d(K,null,re(e.queueList,(r,o)=>(l(),d("div",{class:T(["q-card",{selected:e.selectedQueue==r?.key,paused:r?.paused}]),role:"button",tabindex:"0","aria-pressed":e.selectedQueue===r.key,onKeydown:[yt(de(i=>e.selectQueue(r.key),["prevent"]),["enter"]),yt(de(i=>e.selectQueue(r.key),["prevent"]),["space"])],onClick:i=>e.selectQueue(r.key)},[n("div",lb,[n("span",{class:T(["q-dot",{"q-dot-red":r?.paused||r?.counts?.failed>0,"q-dot-idle":!r?.counts?.active&&!r?.counts?.waiting}])},null,2),n("span",{class:"q-card-name",textContent:u(r?.label)},null,8,db)]),n("div",{class:"q-card-count",textContent:u((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0))},null,8,ub),n("div",cb,[n("span",null,"waiting \xB7 "+u(r?.counts?.active||0)+" active",1),r?.counts?.active?(l(),d("div",pb,[n("div",{class:"q-card-bar-fill",style:Te({width:r?.counts?.active/((r?.counts?.waiting||0)+(r?.counts?.active||0)+(r?.counts?.delayed||0)||1)*100+"%"})},null,4)])):p("v-if",!0)])],42,ab))),256))]),p(" Detail: throughput chart + stats panel "),e.selectedStats?(l(),d("div",fb,[n("div",mb,[n("div",hb,[n("button",{class:T(["btn btn-sm",{active:e.range=="1h"}]),onClick:t[1]||(t[1]=r=>e.setRange("1h"))},"1h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="6h"}]),onClick:t[2]||(t[2]=r=>e.setRange("6h"))},"6h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="24h"}]),onClick:t[3]||(t[3]=r=>e.setRange("24h"))},"24h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="7d"}]),onClick:t[4]||(t[4]=r=>e.setRange("7d"))},"7d",2)]),n("div",vb,[y("Throughput \xB7 "+u(e.selectedQueue)+" ",1),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d("span",yb,[t[14]||(t[14]=n("span",{class:"q-legend-completed"},"\u25CF",-1)),t[15]||(t[15]=y(" completed ",-1)),t[16]||(t[16]=n("span",{class:"q-legend-failed"},"\u25CF",-1)),t[17]||(t[17]=y(" failed ",-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d(K,{key:0},[t[13]||(t[13]=n("span",{class:"q-legend-exec","aria-hidden":"true"},null,-1)),y(" avg time \xB7 "+u(e.range),1)],64)):p("v-if",!0)])):p("v-if",!0)]),n("div",gb,[t[19]||(t[19]=n("canvas",{id:"q-throughput-chart",height:"180"},null,-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)===0?(l(),d("div",bb,[...t[18]||(t[18]=[n("strong",null,"No jobs processed in this window",-1),n("span",null,"Completed and failed jobs will chart here.",-1)])])):p("v-if",!0),t[20]||(t[20]=n("div",{id:"q-chart-tooltip",class:"q-chart-tooltip",style:{display:"none"}},null,-1)),t[21]||(t[21]=n("div",{id:"q-chart-crosshair",class:"q-chart-crosshair",style:{display:"none"}},null,-1))])]),n("div",wb,[n("div",kb,"Stats \xB7 "+u(e.selectedQueue),1),n("div",Cb,[n("div",Eb,[t[22]||(t[22]=n("div",{class:"q-stat-label"},"Waiting",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.counts?.waiting||0)},null,8,Sb)]),n("div",Nb,[t[23]||(t[23]=n("div",{class:"q-stat-label"},"Active",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.counts?.active||0)},null,8,_b)]),n("div",Db,[t[24]||(t[24]=n("div",{class:"q-stat-label"},"Completed (24h)",-1)),n("div",{class:"q-stat-value",textContent:u(e.fmt?.number(e.selectedStats?.completed24h))},null,8,Rb)]),n("div",Tb,[t[25]||(t[25]=n("div",{class:"q-stat-label"},"Failed (24h)",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.failed24h||0)},null,8,Ob)]),n("div",Ab,[t[26]||(t[26]=n("div",{class:"q-stat-label"},"Delayed",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.counts?.delayed||0)},null,8,Ib)]),n("div",Pb,[t[27]||(t[27]=n("div",{class:"q-stat-label"},"Workers",-1)),n("div",{class:"q-stat-value",textContent:u(e.selectedStats?.workers||0)},null,8,Vb)])]),n("div",Mb,[n("button",{class:"btn btn-sm",onClick:t[5]||(t[5]=r=>e.togglePause())},u(e.selectedStats?.paused?"Resume "+e.selectedQueue:"Pause "+e.selectedQueue),1),n("button",{class:"btn btn-sm",onClick:t[6]||(t[6]=r=>e.retryFailed()),disabled:!e.selectedStats?.counts?.failed},"Retry failed",8,qb),n("span",Lb,[n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[7]||(t[7]=r=>e.drainSelected())},"Drain"),n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[8]||(t[8]=r=>e.emptyQueue())},"Empty")])])])])):p("v-if",!0),e.actionError?(l(),d("div",{key:1,class:"q-toast-error",onClick:t[9]||(t[9]=r=>e.actionError=null)},[t[28]||(t[28]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),y(" "+u(e.actionError),1)])):p("v-if",!0),p(" Jobs table "),n("div",$b,[n("div",Ub,[n("div",Fb,"All jobs \xB7 "+u(e.selectedQueue),1),n("div",zb,[(l(!0),d(K,null,re(e.allStates,(r,o)=>(l(),d("label",Hb,[D(n("input",Bb,null,512),[[s,{state:e.viewState,set:i=>{e.stateFilter[r]=i},value:e.stateFilter[r],form:null,options:{}}]]),n("span",{class:T("q-state-chip q-state-"+r)},u(r),3)]))),256))])]),n("div",jb,[D(n("input",Gb,null,512),[[s,{state:e.viewState,set:r=>{e.query.search=r},value:e.query?.search,form:null,options:{}}]]),n("label",Wb,[D(n("input",Kb,null,512),[[s,{state:e.viewState,set:r=>{e.query.autoRefresh=r},value:e.query?.autoRefresh,form:null,options:{}}]]),t[29]||(t[29]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[10]||(t[10]=r=>e.refreshNow()),"aria-label":"Refresh"},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])]),e.filteredJobs().length>0?(l(),d("table",Yb,[t[49]||(t[49]=n("thead",null,[n("tr",null,[n("th",null,"State"),n("th",null,"Job ID"),n("th",null,"Payload"),n("th",null,"Attempts"),n("th",null,"Duration"),n("th",null,"Progress"),n("th")])],-1)),(l(!0),d(K,null,re(e.filteredJobs(),(r,o)=>(l(),d("tbody",null,[n("tr",{style:{cursor:"pointer"},class:T({"q-row-failed":r?._state=="failed","q-row-expanded":e.expanded[r?.id]}),onClick:i=>e.toggleJob(r)},[n("td",Qb,[n("span",{textContent:u(r?._state),class:T("q-state-badge q-state-"+r?._state)},null,10,Xb),r?._state=="delayed"&&r?.delayUntil?(l(),d("span",{key:0,class:"q-delay-hint",textContent:u(e.delayCountdown(r?.delayUntil))},null,8,Zb)):p("v-if",!0)]),n("td",xb,[(l(),d("svg",{class:T(["ui-icon q-chevron",{"q-chevron-open":e.expanded[r?.id]}]),"aria-hidden":"true"},[...t[31]||(t[31]=[n("use",{href:"#ui-icon-chevron-right"},null,-1)])],2)),n("a",{target:"_blank",textContent:u("job:"+e.fmt.limitTo(r?.id,6)),onClick:t[11]||(t[11]=i=>i.stopPropagation()),href:e.safeUrl("/r/"+r?.id)},null,8,e1)]),n("td",t1,[n("span",{textContent:u(r?.name||"anonymize")},null,8,n1),r?.data?.repoId&&r?.data?.repoId!==r?.name?(l(),d("span",s1," \xB7 "+u(r?.data?.repoId),1)):p("v-if",!0)]),n("td",{class:"q-cell-num",textContent:u(r?.attemptsMade||1)},null,8,o1),n("td",{class:"q-cell-num",textContent:u(e.jobDuration(r))},null,8,r1),n("td",i1,[e.jobProgressPct(r)!==null?(l(),d("div",a1,[n("div",{class:"q-progress-bar",style:Te({"--pct":e.jobProgressPct(r)+"%"})},null,4),n("span",{class:"q-progress-label",textContent:u(e.jobProgressPct(r)+"%")},null,8,l1)])):p("v-if",!0)]),n("td",d1,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm btn-icon",title:"Retry",onClick:i=>{e.retryJob(r),i.stopPropagation()},"aria-label":"Retry job"},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])],8,u1)):p("v-if",!0),n("button",{class:"btn btn-sm btn-icon",title:"Remove","aria-label":"Remove job",onClick:i=>{e.removeJob(r),i.stopPropagation()}},[...t[33]||(t[33]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,c1)])],10,Jb),e.expanded[r?.id]?(l(),d("tr",p1,[n("td",f1,[n("div",m1,[n("div",h1,[n("div",v1,[t[34]||(t[34]=n("span",{class:"q-job-detail-label"},"JOB ID",-1)),n("span",y1,[n("a",{target:"_blank",textContent:u(r?.id),href:e.safeUrl("/r/"+r?.id)},null,8,g1)])]),n("div",b1,[t[35]||(t[35]=n("span",{class:"q-job-detail-label"},"STATE",-1)),n("span",w1,[n("span",{textContent:u(r?._state),class:T("q-state-badge q-state-"+r?._state)},null,10,k1)])]),r?.data?.repoId?(l(),d("div",C1,[t[36]||(t[36]=n("span",{class:"q-job-detail-label"},"REPO ID",-1)),n("span",{class:"q-job-detail-value",textContent:u(r?.data?.repoId)},null,8,E1)])):p("v-if",!0),r?.timestamp?(l(),d("div",S1,[t[37]||(t[37]=n("span",{class:"q-job-detail-label"},"CREATED",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.humanTime(r?.timestamp))},null,8,N1)])):p("v-if",!0),r?._state=="delayed"&&r?.delayUntil?(l(),d("div",_1,[t[38]||(t[38]=n("span",{class:"q-job-detail-label"},"RETRY AT",-1)),n("span",D1,u(e.humanTime(r?.delayUntil))+" ("+u(e.delayCountdown(r?.delayUntil))+")",1)])):p("v-if",!0),r?.processedOn?(l(),d("div",R1,[t[39]||(t[39]=n("span",{class:"q-job-detail-label"},"PROCESSED",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.humanTime(r?.processedOn))},null,8,T1)])):p("v-if",!0),r?.finishedOn?(l(),d("div",O1,[t[40]||(t[40]=n("span",{class:"q-job-detail-label"},"FINISHED",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.humanTime(r?.finishedOn))},null,8,A1)])):p("v-if",!0),r?.attemptsMade?(l(),d("div",I1,[t[41]||(t[41]=n("span",{class:"q-job-detail-label"},"ATTEMPTS",-1)),n("span",{class:"q-job-detail-value",textContent:u(r?.attemptsMade)},null,8,P1)])):p("v-if",!0),r?.progress&&r?.progress?.status?(l(),d("div",V1,[t[42]||(t[42]=n("span",{class:"q-job-detail-label"},"STATUS",-1)),n("span",{class:"q-job-detail-value",textContent:u(r?.progress?.status)},null,8,M1)])):p("v-if",!0),e.jobProgressPct(r)!==null?(l(),d("div",q1,[t[43]||(t[43]=n("span",{class:"q-job-detail-label"},"PROGRESS",-1)),n("span",{class:"q-job-detail-value",textContent:u(e.jobProgressPct(r)+"%")},null,8,L1)])):p("v-if",!0)]),r?.failedReason?(l(),d("div",$1,[t[44]||(t[44]=n("span",{class:"q-job-detail-label"},"ERROR",-1)),n("div",{class:"q-error-reason",textContent:u(r?.failedReason)},null,8,U1)])):p("v-if",!0),r?.stacktrace?.length?(l(),d("div",F1,[t[45]||(t[45]=n("span",{class:"q-job-detail-label"},"STACKTRACE",-1)),(l(!0),d(K,null,re(r?.stacktrace,(i,a)=>(l(),d("pre",{class:"q-error-stack",key:a},[n("code",{textContent:u(i)},null,8,z1)]))),128))])):p("v-if",!0),n("div",H1,[r?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",onClick:i=>e.retryJob(r)},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Retry",-1)])],8,B1)):p("v-if",!0),n("button",{class:"btn btn-sm",onClick:i=>e.removeJob(r)},[...t[47]||(t[47]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,j1),n("a",{class:"btn btn-sm",target:"_blank",href:e.safeUrl("/r/"+r?.id)},[...t[48]||(t[48]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1),y(" View repo",-1)])],8,G1)])])])])):p("v-if",!0)]))),256))])):p("v-if",!0),e.filteredJobs().length==0?(l(),d("div",W1,[t[50]||(t[50]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1)),e.query?.search?p("v-if",!0):(l(),d("span",K1,"No jobs in the "+u(e.selectedQueue)+" queue.",1)),e.query?.search?(l(),d("span",Y1,"No jobs match the current filters.")):p("v-if",!0)])):p("v-if",!0)])])}var J1={class:"container paper-page admin-page"},Q1={class:"admin-summary"},X1={class:"summary-total"},Z1={class:"summary-meta"},x1=["aria-pressed"],ew={class:"count"},tw=["aria-pressed"],nw={class:"count"},sw=["aria-pressed"],ow={class:"count"},rw=["aria-pressed"],iw={class:"count"},aw=["title","aria-pressed"],lw={class:"count"},dw={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},uw={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},cw=["aria-expanded"],pw={class:"search-wrap"},fw={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories\u2026",autocomplete:"off"},mw={key:0,class:"admin-search-hint"},hw={class:"admin-filter-inline"},vw={type:"text",class:"form-control form-control-sm",placeholder:"username"},yw={class:"admin-filter-inline"},gw={type:"text",class:"form-control form-control-sm",placeholder:"ID"},bw={key:0,class:"admin-filter-inline","aria-label":"Pagination"},ww=["disabled"],kw={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},Cw=["disabled"],Ew={key:0,class:"admin-filter-row"},Sw={class:"admin-active-chips"},Nw={class:"key"},_w=["onClick"],Dw={key:1,class:"bulk-bar"},Rw={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},Tw={class:"paper-table-head",role:"row"},Ow={role:"columnheader",style:{width:"28px"}},Aw=["checked"],Iw={role:"columnheader"},Pw={role:"columnheader"},Vw={role:"columnheader",class:"num"},Mw={role:"columnheader"},qw={role:"cell",style:{width:"28px"}},Lw={type:"checkbox","aria-label":"Select repository"},$w={class:"cell-anon",role:"cell"},Uw={class:"anon-text"},Fw=["textContent","href"],zw={class:"anon-sub"},Hw=["textContent","href"],Bw={key:0,class:"meta-sep"},jw=["textContent","href"],Gw={key:1,class:"meta-sep"},Ww=["textContent","href"],Kw={key:2,class:"meta-sep"},Yw={key:3,class:"meta-sep"},Jw={class:"cell-status",role:"cell"},Qw={class:"status-line"},Xw=["textContent"],Zw=["textContent","title"],xw={class:"cell-views num",role:"cell"},ek=["textContent"],tk={class:"cell-expires",role:"cell"},nk=["textContent"],sk={class:"cell-actions",role:"cell"},ok={class:"dropdown"},rk={class:"dropdown-menu dropdown-menu-right"},ik=["href"],ak=["href"],lk=["href"],dk=["onClick"],uk=["onClick"],ck=["onClick"],pk=["onClick"],fk=["onClick"],mk=["onClick"],hk={key:0,class:"paper-table-empty"},vk={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},yk={style:{"font-size":"12px",color:"var(--ink-muted)"}},gk={key:0,class:"pagination-compact"},bk=["disabled"],wk=["max"],kk=["disabled"],Ck={class:"admin-filter-inline"},Ek={class:"form-control form-control-sm"};function kl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",J1,[t[70]||(t[70]=fe('
Admin \xA0/\xA0 Repositories

Repositories

',3)),n("div",Q1,[n("span",X1,[y(u(e.total>=0?e.fmt.number(e.total):"\u2026")+" ",1),n("small",null,u(e.total===1?"repository":"repositories"),1)]),n("span",Z1,u(e.fmt?.humanFileSize(e.totalSize))+" on disk",1),t[25]||(t[25]=n("span",{class:"summary-show-label"},"Show:",-1)),n("button",{type:"button",class:T(["summary-pill ok",{active:e.query?.ready}]),title:"Toggle ready filter",onClick:t[0]||(t[0]=o=>{e.query.ready=!e.query.ready,e.query.page=1}),"aria-pressed":!!e.query?.ready},[t[20]||(t[20]=y("Ready ",-1)),n("span",ew,u(e.fmt?.number(e.statusCountFor("ready"))),1)],10,x1),n("button",{type:"button",class:T(["summary-pill warn",{active:e.query?.preparing}]),title:"Toggle preparing filter",onClick:t[1]||(t[1]=o=>{e.query.preparing=!e.query.preparing,e.query.page=1}),"aria-pressed":!!e.query?.preparing},[t[21]||(t[21]=y("Preparing ",-1)),n("span",nw,u(e.fmt?.number(e.statusCountFor("preparing")+e.statusCountFor("download"))),1)],10,tw),n("button",{type:"button",class:T(["summary-pill error",{active:e.query?.error}]),title:"Toggle errored filter",onClick:t[2]||(t[2]=o=>{e.query.error=!e.query.error,e.query.page=1}),"aria-pressed":!!e.query?.error},[t[22]||(t[22]=y("Errored ",-1)),n("span",ow,u(e.fmt?.number(e.statusCountFor("error"))),1)],10,sw),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.expired}]),title:"Toggle expired filter",onClick:t[3]||(t[3]=o=>{e.query.expired=!e.query.expired,e.query.page=1}),"aria-pressed":!!e.query?.expired},[t[23]||(t[23]=y("Expired ",-1)),n("span",iw,u(e.fmt?.number(e.statusCountFor("expired")+e.statusCountFor("expiring"))),1)],10,rw),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.removed}]),title:e.query?.removed?"Removed repositories are shown. Click to hide them.":"Removed repositories are hidden. Click to include them.",onClick:t[4]||(t[4]=o=>{e.query.removed=!e.query.removed,e.query.page=1}),"aria-pressed":!!e.query?.removed},[t[24]||(t[24]=y("Removed ",-1)),n("span",lw,u(e.fmt?.number(e.statusCountFor("removed")+e.statusCountFor("removing"))),1)],10,aw)]),e.fetchError?(l(),d("div",dw,[t[26]||(t[26]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fetchError),1)])):p("v-if",!0),D((l(),d("form",uw,[p(" Row 1: search + scoped inputs + headline actions "),n("button",{type:"button",class:"btn btn-sm admin-filters-toggle",onClick:t[5]||(t[5]=o=>e.filtersOpen=!e.filtersOpen),"aria-expanded":e.filtersOpen?"true":"false"},"Filters",8,cw),n("div",{class:T(["admin-filter-row",{"is-open":e.filtersOpen}])},[n("div",pw,[D(n("input",fw,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.query?.search?p("v-if",!0):(l(),d("span",mw,"/"))]),n("span",hw,[t[27]||(t[27]=n("label",null,"Owner",-1)),D(n("input",vw,null,512),[[s,{state:e.viewState,set:o=>{e.query.owner=o},value:e.query?.owner,form:null,options:{}}]])]),n("span",yw,[t[28]||(t[28]=n("label",null,"Conference",-1)),D(n("input",gw,null,512),[[s,{state:e.viewState,set:o=>{e.query.conference=o},value:e.query?.conference,form:null,options:{}}]])]),t[32]||(t[32]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[6]||(t[6]=o=>e.exportCsv())},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])]),e.totalPage>1?(l(),d("span",bw,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[7]||(t[7]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,ww),n("span",kw,u(e.query?.page)+"/"+u(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[8]||(t[8]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,Cw)])):p("v-if",!0)],2),p(" Row 2: appears only when there are active filter chips "),e.chips?.length?(l(),d("div",Ew,[n("div",Sw,[(l(!0),d(K,null,re(e.chips,(o,i)=>(l(),d("span",{class:"admin-active-chip",key:o?.key},[n("span",Nw,u(o?.label),1),n("span",null,u(o?.value),1),n("button",{type:"button","aria-label":"Remove filter",onClick:a=>e.clearFilter(o.key)},[...t[33]||(t[33]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,_w)]))),128))])])):p("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",Dw,[n("span",null,[n("strong",null,u(e.selectedCount()),1),t[34]||(t[34]=y(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[9]||(t[9]=o=>e.bulkRefresh())},[...t[35]||(t[35]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[10]||(t[10]=o=>e.bulkRemoveCache())},[...t[36]||(t[36]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[11]||(t[11]=o=>e.clearSelection())},"Clear")])):p("v-if",!0),n("div",Rw,[n("div",Tw,[n("div",Ow,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[12]||(t[12]=o=>e.selectAllOnPage()),checked:e.allSelected},null,8,Aw)]),n("div",Iw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[13]||(t[13]=o=>e.sortBy("source.repositoryName"))},[t[38]||(t[38]=y("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[37]||(t[37]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Pw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[14]||(t[14]=o=>e.sortBy("status"))},[t[40]||(t[40]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[39]||(t[39]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Vw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[15]||(t[15]=o=>e.sortBy("pageView"))},[t[42]||(t[42]=y("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[41]||(t[41]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",Mw,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[16]||(t[16]=o=>e.sortBy("anonymizeDate"))},[t[44]||(t[44]=y("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[43]||(t[43]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[45]||(t[45]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(K,null,re(e.filteredRepositories,(o,i)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":o?.status=="expired"||o?.status=="removed","repo-error":o?.status=="error","row-selected":e.selected[o?.repoId]}]),role:"row"},[n("div",qw,[D(n("input",Lw,null,512),[[s,{state:e.viewState,set:a=>{e.selected[o.repoId]=a},value:e.selected[o?.repoId],form:null,options:{}}]])]),n("div",$w,[t[47]||(t[47]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",Uw,[n("a",{class:"repo-name",target:"_blank",textContent:u(o?.repoId),href:e.safeUrl("/r/"+o?.repoId)},null,8,Fw),n("div",zw,[n("a",{textContent:u(o?.source?.repositoryName),href:e.safeUrl("https://github.com/"+o?.source?.repositoryName+"/")},null,8,Hw),o?.options?.update?(l(),d("span",Bw,[n("a",{textContent:u(o?.source?.branch),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.branch)},null,8,jw)])):p("v-if",!0),o?.options?.update?p("v-if",!0):(l(),d("span",Gw,[n("a",{class:"mono-hash",textContent:u(o?.source?.commit?.substring(0,7)),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.commit)},null,8,Ww)])),o?.conference?(l(),d("span",Kw,[t[46]||(t[46]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),y(" "+u(o?.conference),1)])):p("v-if",!0),o?.size?.storage>0?(l(),d("span",Yw,u(e.fmt?.humanFileSize(o?.size?.storage)),1)):p("v-if",!0),n("span",null,u(e.fmt?.number(o?.options?.terms?.length))+" "+u(o?.options?.terms?.length===1?"term":"terms"),1)])])]),n("div",Jw,[n("span",Qw,[n("span",{class:T(["status-dot",{"status-removed":o?.status=="removed"||o?.status=="expired","status-ready":o?.status=="ready","status-error":o?.status=="error","status-preparing":o?.status=="preparing"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,Xw)]),o?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:u(e.fmt?.statusMsg(o?.statusMessage)),title:o?.statusMessage},null,8,Zw)):p("v-if",!0)]),n("div",xw,[t[48]||(t[48]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),t[49]||(t[49]=y()),n("span",{textContent:u(e.fmt?.number(o?.pageView||0))},null,8,ek)]),n("div",tk,[t[50]||(t[50]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[51]||(t[51]=y()),n("span",{textContent:u((e.fmt?.humanTime(o?.anonymizeDate)||"").replace(/^on /,""))},null,8,nk)]),n("div",sk,[n("div",ok,[t[63]||(t[63]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",rk,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+o?.repoId)},[...t[52]||(t[52]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit",-1)])],8,ik),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+o?.repoId+"/")},[...t[53]||(t[53]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View repo",-1)])],8,ak),o?.options?.page&&o?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+o?.repoId+"/")},[...t[54]||(t[54]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),y(" View page",-1)])],8,lk)):p("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.fetchGithubInfo(o),["prevent"])},[...t[55]||(t[55]=[n("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,dk),t[61]||(t[61]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(o),["prevent"])},[...t[56]||(t[56]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force update",-1)])],8,uk),[[Q,o?.status=="ready"||o?.status=="error"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(o),["prevent"])},[...t[57]||(t[57]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Enable",-1)])],8,ck),[[Q,o?.status=="removed"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.showStatusMessage(o),["prevent"])},[...t[58]||(t[58]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),y(" View status message",-1)])],8,pk),[[Q,o?.statusMessage]]),t[62]||(t[62]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.removeCache(o),["prevent"])},[...t[59]||(t[59]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])],8,fk),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.removeRepository(o),["prevent"])},[...t[60]||(t[60]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,mk),[[Q,o?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",hk,[t[64]||(t[64]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),t[65]||(t[65]=n("span",null,"No repositories match the current filters.",-1)),e.query.ready&&e.query.expired&&e.query.removed&&e.query.error&&e.query.preparing?p("v-if",!0):(l(),d("button",{key:0,type:"button",class:"btn btn-sm btn-outline-ink",onClick:t[17]||(t[17]=o=>e.showAllStatuses())},"Show all statuses"))])):p("v-if",!0)]),n("div",vk,[n("span",yk,u(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",gk,[n("button",{class:"btn btn-sm",onClick:t[18]||(t[18]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),y(" Previous ",-1)])],8,bk),D(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},"aria-label":"Page",max:e.totalPage},null,8,wk),[[s,{state:e.viewState,set:o=>{e.query.page=o},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+u(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[19]||(t[19]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[67]||(t[67]=[y(" Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,kk)])):p("v-if",!0),n("span",Ck,[t[69]||(t[69]=n("label",null,"Per page",-1)),D((l(),d("select",Ek,[...t[68]||(t[68]=[fe('',5)])])),[[s,{state:e.viewState,set:o=>{e.query.limit=o},value:e.query?.limit,form:null,options:{}}]])])])])}var Sk={class:"container paper-page admin-page"},Nk={class:"paper-crumbs"},_k={class:"here"},Dk={class:"paper-page-title"},Rk={key:0,class:"user-detail-card"},Tk={class:"user-header"},Ok=["src"],Ak={class:"status-dot-wrap"},Ik=["textContent"],Pk={key:0,class:"type-badge type-repo"},Vk={class:"user-actions",style:{"margin-top":"4px"}},Mk={class:"user-detail-grid"},qk={class:"detail-value mono-id"},Lk={class:"detail-value"},$k=["href"],Uk={class:"detail-value"},Fk={class:"detail-value"},zk={key:0},Hk={key:1,class:"text-muted"},Bk={class:"detail-value"},jk={key:0,style:{"margin-top":"20px"}},Gk={class:"paper-table w-100",style:{"margin-top":"10px"}},Wk={class:"paper-table-row",style:{"grid-template-columns":"1fr 160px"}},Kk={class:"cell-anon",role:"cell"},Yk={class:"anon-text"},Jk=["textContent"],Qk={class:"cell-expires",role:"cell"},Xk={key:1,class:"admin-section-header"},Zk={class:"section-count"},xk={key:2,class:"user-detail-card"},e0={type:"text",class:"form-control",placeholder:"Token name (e.g. dev-laptop)",required:""},t0={key:0,class:"alert alert-warning",role:"alert"},n0={style:{"white-space":"pre-wrap","word-break":"break-all",margin:"8px 0 0","font-family":"var(--font-mono)","font-size":"0.85rem"}},s0={key:1,class:"paper-table w-100"},o0={class:"paper-table-row",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},r0=["textContent"],i0=["textContent"],a0={role:"cell"},l0={key:0},d0={key:1,class:"text-muted"},u0={role:"cell"},c0=["onClick"],p0={key:2,class:"paper-table-empty"},f0={class:"admin-section-header"},m0={class:"section-count"},h0={class:"admin-summary"},v0={class:"summary-total"},y0=["aria-pressed"],g0={class:"count"},b0=["aria-pressed"],w0={class:"count"},k0=["aria-pressed"],C0={class:"count"},E0=["aria-pressed"],S0={class:"count"},N0=["aria-pressed"],_0={class:"count"},D0={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},R0={class:"admin-filter-row"},T0={class:"search-wrap"},O0={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repoId, source repo, error message\u2026",autocomplete:"off"},A0={key:3,class:"bulk-bar"},I0={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},P0={class:"paper-table-head",role:"row"},V0={role:"columnheader",style:{width:"28px"}},M0=["checked"],q0={role:"columnheader"},L0={role:"columnheader"},$0={role:"columnheader",class:"num"},U0={role:"columnheader"},F0={role:"cell",style:{width:"28px"}},z0={type:"checkbox","aria-label":"Select repository"},H0={class:"cell-anon",role:"cell"},B0={class:"anon-text"},j0=["textContent","href"],G0={class:"anon-sub"},W0=["textContent","href"],K0={key:0},Y0=["textContent","href"],J0={key:1},Q0=["textContent","href"],X0={key:2},Z0={class:"cell-status",role:"cell"},x0={class:"status-line"},eC=["textContent"],tC=["textContent","title"],nC=["textContent"],sC=["textContent"],oC={class:"cell-actions",role:"cell"},rC={class:"dropdown"},iC={class:"dropdown-menu dropdown-menu-right"},aC=["href"],lC=["href"],dC=["href"],uC=["onClick"],cC=["onClick"],pC=["onClick"],fC=["onClick"],mC=["onClick"],hC=["onClick"],vC={key:0,class:"paper-table-empty"};function Cl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",Sk,[n("div",Nk,[t[22]||(t[22]=n("a",{href:"/admin/"},"Admin",-1)),t[23]||(t[23]=y(" \xA0/\xA0 ",-1)),t[24]||(t[24]=n("a",{href:"/admin/users"},"Users",-1)),t[25]||(t[25]=y(" \xA0/\xA0 ",-1)),n("span",_k,u(e.userInfo?.username||"Profile"),1)]),n("h1",Dk,u(e.userInfo?.username||"User"),1),t[87]||(t[87]=fe('',1)),e.userInfo?(l(),d("div",Rk,[n("div",Tk,[e.userInfo?.photo?(l(),d("img",{key:0,width:"56",height:"56",src:e.safeUrl(e.userInfo?.photo)},null,8,Ok)):p("v-if",!0),n("div",null,[n("h2",null,[y(u(e.userInfo?.username)+" ",1),n("span",Ak,[n("span",{class:T(["status-dot",{"status-ready":e.userInfo?.status=="active","status-removed":e.userInfo?.status!="active"}])},null,2),n("span",{textContent:u(e.fmt?.title(e.userInfo?.status))},null,8,Ik)]),e.userInfo?.isAdmin?(l(),d("span",Pk,"Admin")):p("v-if",!0)]),n("div",Vk,[e.userInfo?.status!=="banned"&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:0,class:"btn btn-sm btn-outline-danger",onClick:t[0]||(t[0]=o=>e.banUser())},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),y(" Ban",-1)])])):p("v-if",!0),e.userInfo?.status==="banned"||e.userInfo?.status==="removed"?(l(),d("button",{key:1,class:"btn btn-sm",onClick:t[1]||(t[1]=o=>e.activateUser())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Activate",-1)])])):p("v-if",!0),e.userInfo?.isAdmin?p("v-if",!0):(l(),d("button",{key:2,class:"btn btn-sm",onClick:t[2]||(t[2]=o=>e.promoteUser())},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-shield"})],-1),y(" Promote to admin",-1)])])),e.userInfo?.isAdmin&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:3,class:"btn btn-sm btn-outline-ink",onClick:t[3]||(t[3]=o=>e.demoteUser())},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-minus"})],-1),y(" Remove admin",-1)])])):p("v-if",!0)])])]),n("div",Mk,[t[32]||(t[32]=n("div",{class:"detail-label"},"ID",-1)),n("div",qk,u(e.userInfo?._id),1),t[33]||(t[33]=n("div",{class:"detail-label"},"Email",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.emails?.[0]?.email}])},u(e.userInfo?.emails?.[0]?.email||"Not shared"),3),t[34]||(t[34]=n("div",{class:"detail-label"},"Access token",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.accessTokens?.github}]),style:{"font-family":"var(--font-mono)","font-size":"0.85rem"}},u(e.userInfo?.accessTokens?.github||"Not stored"),3),t[35]||(t[35]=n("div",{class:"detail-label"},"GitHub",-1)),n("div",Lk,[n("a",{target:"_blank",href:e.safeUrl("https://github.com/"+e.userInfo?.username)},[t[30]||(t[30]=n("i",{class:"fab fa-github"},null,-1)),y(" "+u(e.userInfo?.username),1)],8,$k)]),t[36]||(t[36]=n("div",{class:"detail-label"},"Created",-1)),n("div",Uk,u(e.fmt?.humanTime(e.userInfo?.dateOfEntry)),1),t[37]||(t[37]=n("div",{class:"detail-label"},"Last connection",-1)),n("div",Fk,[e.userInfo?.accessTokenDates?.github?(l(),d("span",zk,u(e.fmt?.humanTime(e.userInfo?.accessTokenDates?.github)),1)):p("v-if",!0),e.userInfo?.accessTokenDates?.github?p("v-if",!0):(l(),d("span",Hk,"Not recorded (GitHub App sign-in)"))]),t[38]||(t[38]=n("div",{class:"detail-label"},"GitHub repos",-1)),n("div",Bk,[y(u(e.userInfo?.repositories?.length?e.userInfo.repositories.length+" repositories":"Not synced")+" ",1),e.userInfo?.repositories?.length?(l(),d("button",{key:0,class:"btn btn-sm ml-2",onClick:t[4]||(t[4]=o=>e.showRepos=!e.showRepos)},u(e.showRepos?"Hide repos":"Show repos"),1)):p("v-if",!0),n("button",{class:"btn btn-sm ml-1",onClick:t[5]||(t[5]=o=>e.getGitHubRepositories())},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Refresh ",-1)])])])]),e.showRepos?(l(),d("div",jk,[t[41]||(t[41]=n("div",{class:"paper-section-eyebrow"},"GitHub repositories",-1)),n("div",Gk,[(l(!0),d(K,null,re(e.userInfo?.repositories,(o,i)=>(l(),d("div",Wk,[n("div",Kk,[t[39]||(t[39]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",Yk,[n("span",{class:"repo-name",textContent:u(o?.name)},null,8,Jk)])]),n("div",Qk,[t[40]||(t[40]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-database"})],-1)),y(" "+u(e.fmt?.humanFileSize(o?.size)),1)])]))),256))])])):p("v-if",!0)])):p("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",Xk,[t[42]||(t[42]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),y(" API tokens")],-1)),n("span",Zk,u(e.tokens?.length),1)])):p("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",xk,[t[48]||(t[48]=n("p",{class:"paper-page-lede"},[y("Personal API tokens for this admin account. Send as "),n("code",null,"Authorization: Bearer "),y(" to authenticate without GitHub OAuth (useful for development).")],-1)),D((l(),d("form",{class:"d-flex",style:{gap:"8px","margin-bottom":"12px"},onSubmit:t[6]||(t[6]=de(o=>e.submitForm(o,()=>{e.createToken()}),["prevent"]))},[D(n("input",e0,null,512),[[s,{state:e.viewState,set:o=>{e.tokenForm.name=o},value:e.tokenForm?.name,form:null,options:{}}]]),t[43]||(t[43]=n("button",{type:"submit",class:"btn btn-primary"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})]),y(" Generate")],-1))],32)),[[r,e.viewState]]),e.tokenForm?.plaintext?(l(),d("div",t0,[t[44]||(t[44]=n("strong",null,"Copy this token now \u2014 it will not be shown again:",-1)),n("pre",n0,u(e.tokenForm?.plaintext),1),n("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=o=>e.tokenForm.plaintext=null)},"Dismiss")])):p("v-if",!0),e.tokens?.length?(l(),d("div",s0,[t[46]||(t[46]=n("div",{class:"paper-table-head",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},[n("div",{role:"columnheader"},"Name"),n("div",{role:"columnheader"},"Created"),n("div",{role:"columnheader"},"Last used"),n("div",{role:"columnheader","aria-label":"Actions"})],-1)),(l(!0),d(K,null,re(e.tokens,(o,i)=>(l(),d("div",o0,[n("div",{role:"cell",textContent:u(o?.name)},null,8,r0),n("div",{role:"cell",textContent:u(e.fmt?.humanTime(o?.createdAt))},null,8,i0),n("div",a0,[o?.lastUsedAt?(l(),d("span",l0,u(e.fmt?.humanTime(o?.lastUsedAt)),1)):p("v-if",!0),o?.lastUsedAt?p("v-if",!0):(l(),d("span",d0,"never"))]),n("div",u0,[n("button",{class:"btn btn-sm text-danger btn-icon",title:"Revoke","aria-label":"Revoke token",onClick:a=>e.revokeToken(o)},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,c0)])]))),256))])):p("v-if",!0),e.tokens?.length?p("v-if",!0):(l(),d("div",p0,[...t[47]||(t[47]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No tokens yet.",-1)])]))])):p("v-if",!0),n("div",f0,[t[49]||(t[49]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})]),y(" Anonymized repositories")],-1)),n("span",m0,u(e.repositories?.length),1)]),n("div",h0,[n("span",v0,u(e.fmt?.number(e.repositories?.length)),1),n("button",{type:"button",class:T(["summary-pill ok",{active:e.filters?.status?.ready===!1}]),title:"Toggle ready filter",onClick:t[8]||(t[8]=o=>e.filters.status.ready=!e.filters.status.ready),"aria-pressed":e.filters?.status?.ready===!1},[t[50]||(t[50]=y("Ready ",-1)),n("span",g0,u(e.fmt?.number(e.statusCountFor("ready"))),1)],10,y0),n("button",{type:"button",class:T(["summary-pill warn",{active:e.filters?.status?.preparing===!1}]),title:"Toggle preparing filter",onClick:t[9]||(t[9]=o=>e.filters.status.preparing=!e.filters.status.preparing),"aria-pressed":e.filters?.status?.preparing===!1},[t[51]||(t[51]=y("Preparing ",-1)),n("span",w0,u(e.fmt?.number(e.statusCountFor("preparing"))),1)],10,b0),n("button",{type:"button",class:T(["summary-pill error",{active:e.filters?.status?.error===!1}]),title:"Toggle errored filter",onClick:t[10]||(t[10]=o=>e.filters.status.error=!e.filters.status.error),"aria-pressed":e.filters?.status?.error===!1},[t[52]||(t[52]=y("Errored ",-1)),n("span",C0,u(e.fmt?.number(e.statusCountFor("error"))),1)],10,k0),n("button",{type:"button",class:T(["summary-pill",{active:e.filters?.status?.expired===!1}]),title:"Toggle expired filter",onClick:t[11]||(t[11]=o=>e.filters.status.expired=!e.filters.status.expired),"aria-pressed":e.filters?.status?.expired===!1},[t[53]||(t[53]=y("Expired ",-1)),n("span",S0,u(e.fmt?.number(e.statusCountFor("expired"))),1)],10,E0),n("button",{type:"button",class:T(["summary-pill",{active:e.filters?.status?.removed===!1}]),title:"Toggle removed filter",onClick:t[12]||(t[12]=o=>e.filters.status.removed=!e.filters.status.removed),"aria-pressed":e.filters?.status?.removed===!1},[t[54]||(t[54]=y("Removed ",-1)),n("span",_0,u(e.fmt?.number(e.statusCountFor("removed"))),1)],10,N0)]),D((l(),d("form",D0,[n("div",R0,[n("div",T0,[D(n("input",O0,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),t[56]||(t[56]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[13]||(t[13]=o=>e.exportCsv())},[...t[55]||(t[55]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])])])])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",A0,[n("span",null,[n("strong",null,u(e.selectedCount()),1),t[57]||(t[57]=y(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[14]||(t[14]=o=>e.bulkRefresh())},[...t[58]||(t[58]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[15]||(t[15]=o=>e.bulkRemoveCache())},[...t[59]||(t[59]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[16]||(t[16]=o=>e.clearSelection())},"Clear")])):p("v-if",!0),n("div",I0,[n("div",P0,[n("div",V0,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[17]||(t[17]=o=>e.selectAllOnPage()),checked:e.allSelected},null,8,M0)]),n("div",q0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[18]||(t[18]=o=>e.sortBy("source.repositoryName"))},[t[61]||(t[61]=y("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[60]||(t[60]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",L0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[19]||(t[19]=o=>e.sortBy("status"))},[t[63]||(t[63]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[62]||(t[62]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",$0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[20]||(t[20]=o=>e.sortBy("pageView"))},[t[65]||(t[65]=y("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[64]||(t[64]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),n("div",U0,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[21]||(t[21]=o=>e.sortBy("anonymizeDate"))},[t[67]||(t[67]=y("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[66]||(t[66]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[68]||(t[68]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(K,null,re(e.filteredRepositories,(o,i)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":o?.status=="expired"||o?.status=="removed","repo-error":o?.status=="error","row-selected":e.selected[o?.repoId]}]),role:"row"},[n("div",F0,[D(n("input",z0,null,512),[[s,{state:e.viewState,set:a=>{e.selected[o.repoId]=a},value:e.selected[o?.repoId],form:null,options:{}}]])]),n("div",H0,[t[73]||(t[73]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",B0,[n("a",{class:"repo-name",target:"_blank",textContent:u(o?.repoId),href:e.safeUrl("/r/"+o?.repoId)},null,8,j0),n("div",G0,[n("a",{textContent:u(o?.source?.fullName),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/")},null,8,W0),o?.options?.update?(l(),d("span",K0,[t[69]||(t[69]=y("\xA0\xB7\xA0",-1)),n("a",{textContent:u(o?.source?.branch),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.branch)},null,8,Y0)])):p("v-if",!0),o?.options?.update?p("v-if",!0):(l(),d("span",J0,[t[70]||(t[70]=y("\xA0\xB7\xA0@",-1)),n("a",{textContent:u(o?.source?.commit?.substring(0,8)),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.commit)},null,8,Q0)])),o?.conference?(l(),d("span",X0,[t[71]||(t[71]=y("\xA0\xB7\xA0",-1)),t[72]||(t[72]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),y(" "+u(o?.conference),1)])):p("v-if",!0),n("span",null,"\xA0\xB7\xA0"+u(e.fmt?.humanFileSize(o?.size?.storage)),1),n("span",null,"\xA0\xB7\xA0"+u(e.fmt?.number(o?.options?.terms?.length))+" terms",1)])])]),n("div",Z0,[n("span",x0,[n("span",{class:T(["status-dot",{"status-removed":o?.status=="removed"||o?.status=="expired","status-ready":o?.status=="ready","status-error":o?.status=="error","status-preparing":o?.status=="preparing"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,eC)]),o?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:u(e.fmt?.statusMsg(o?.statusMessage)),title:o?.statusMessage},null,8,tC)):p("v-if",!0)]),n("div",{class:"cell-views num",role:"cell",textContent:u(e.fmt?.number(o?.pageView||0))},null,8,nC),n("div",{class:"cell-expires",role:"cell",textContent:u(e.fmt?.humanTime(o?.anonymizeDate))},null,8,sC),n("div",oC,[n("div",rC,[t[85]||(t[85]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",iC,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+o?.repoId)},[...t[74]||(t[74]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit",-1)])],8,aC),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+o?.repoId+"/")},[...t[75]||(t[75]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View repo",-1)])],8,lC),o?.options?.page&&o?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+o?.repoId+"/")},[...t[76]||(t[76]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),y(" View page",-1)])],8,dC)):p("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.fetchGithubInfo(o),["prevent"])},[...t[77]||(t[77]=[n("i",{class:"fab fa-github"},null,-1),y(" Live GitHub info",-1)])],8,uC),t[83]||(t[83]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(o),["prevent"])},[...t[78]||(t[78]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force update",-1)])],8,cC),[[Q,o?.status=="ready"||o?.status=="error"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(o),["prevent"])},[...t[79]||(t[79]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Enable",-1)])],8,pC),[[Q,o?.status=="removed"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.showStatusMessage(o),["prevent"])},[...t[80]||(t[80]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),y(" View status message",-1)])],8,fC),[[Q,o?.statusMessage]]),t[84]||(t[84]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.removeCache(o),["prevent"])},[...t[81]||(t[81]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),y(" Remove cache",-1)])],8,mC),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.removeRepository(o),["prevent"])},[...t[82]||(t[82]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove",-1)])],8,hC),[[Q,o?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",vC,[...t[86]||(t[86]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No repositories match the current filters.",-1)])])):p("v-if",!0)])])}var yC={class:"container paper-page admin-page"},gC={class:"admin-summary"},bC={class:"summary-total"},wC=["aria-pressed"],kC={class:"count"},CC=["aria-pressed"],EC={class:"count"},SC=["aria-pressed"],NC={class:"count"},_C=["aria-pressed"],DC={class:"count"},RC={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},TC={class:"w-100 admin-filter-toolbar","aria-label":"Users","accept-charset":"UTF-8"},OC={class:"admin-filter-row"},AC={class:"search-wrap"},IC={type:"search",class:"form-control","aria-label":"Search users",placeholder:"Search username or email\u2026",autocomplete:"off"},PC={key:0,class:"admin-search-hint"},VC={class:"admin-filter-inline"},MC={class:"form-control form-control-sm"},qC={key:0,class:"admin-filter-inline","aria-label":"Pagination"},LC=["disabled"],$C={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},UC=["disabled"],FC={key:0,class:"admin-filter-row"},zC={class:"admin-active-chips"},HC={class:"key"},BC=["onClick"],jC={key:1,class:"bulk-bar"},GC={class:"paper-table w-100",role:"table","aria-label":"Users",style:{"--cols":"28px minmax(280px, 2.4fr) 100px 140px 140px 52px"}},WC={class:"paper-table-head admin-users-row",role:"row"},KC={role:"columnheader",style:{width:"28px"}},YC=["checked"],JC={role:"columnheader"},QC={role:"columnheader"},XC={role:"cell",style:{width:"28px"}},ZC={type:"checkbox","aria-label":"Select user"},xC={class:"cell-anon",role:"cell"},e2=["src"],t2={key:1,class:"avatar-fallback","aria-hidden":"true"},n2={class:"anon-text"},s2=["textContent","href"],o2={class:"anon-sub"},r2={key:0},i2=["href"],a2={key:1},l2={class:"cell-views num",role:"cell"},d2=["title","textContent","href"],u2={class:"cell-status",role:"cell"},c2=["textContent"],p2={class:"cell-status",role:"cell"},f2={key:0,class:"role-pill"},m2={key:1,class:"empty-dash"},h2={class:"cell-actions",role:"cell"},v2={class:"dropdown"},y2={class:"dropdown-menu dropdown-menu-right"},g2=["href"],b2=["href"],w2=["onClick"],k2=["onClick"],C2={key:0,class:"paper-table-empty"},E2={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},S2={style:{"font-size":"12px",color:"var(--ink-muted)"}},N2={key:0,class:"pagination-compact"},_2=["disabled"],D2=["max"],R2=["disabled"],T2={class:"admin-filter-inline"},O2={class:"form-control form-control-sm"};function El(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",yC,[t[48]||(t[48]=fe('
Admin \xA0/\xA0 Users

Users

',3)),n("div",gC,[n("span",bC,[y(u(e.total>=0?e.fmt.number(e.total):"\u2026")+" ",1),n("small",null,u(e.total===1?"user":"users"),1)]),n("button",{type:"button",class:T(["summary-pill",{active:!e.query?.status}]),onClick:t[0]||(t[0]=o=>{e.query.status="",e.query.page=1}),"aria-pressed":!e.query?.status},[t[14]||(t[14]=y("All ",-1)),n("span",kC,u(e.fmt?.number(e.total)),1)],10,wC),n("button",{type:"button",class:T(["summary-pill ok",{active:e.query?.status=="active"}]),onClick:t[1]||(t[1]=o=>{e.query.status=e.query.status=="active"?"":"active",e.query.page=1}),"aria-pressed":e.query?.status=="active"},[t[15]||(t[15]=y("Active ",-1)),n("span",EC,u(e.fmt?.number(e.statusCountFor("active"))),1)],10,CC),n("button",{type:"button",class:T(["summary-pill error",{active:e.query?.status=="banned"}]),onClick:t[2]||(t[2]=o=>{e.query.status=e.query.status=="banned"?"":"banned",e.query.page=1}),"aria-pressed":e.query?.status=="banned"},[t[16]||(t[16]=y("Banned ",-1)),n("span",NC,u(e.fmt?.number(e.statusCountFor("banned"))),1)],10,SC),n("button",{type:"button",class:T(["summary-pill",{active:e.query?.status=="removed"}]),onClick:t[3]||(t[3]=o=>{e.query.status=e.query.status=="removed"?"":"removed",e.query.page=1}),"aria-pressed":e.query?.status=="removed"},[t[17]||(t[17]=y("Removed ",-1)),n("span",DC,u(e.fmt?.number(e.statusCountFor("removed"))),1)],10,_C)]),e.fetchError?(l(),d("div",RC,[t[18]||(t[18]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fetchError),1)])):p("v-if",!0),D((l(),d("form",TC,[n("div",OC,[n("div",AC,[D(n("input",IC,null,512),[[s,{state:e.viewState,set:o=>{e.query.search=o},value:e.query?.search,form:null,options:{}}]]),e.query?.search?p("v-if",!0):(l(),d("span",PC,"/"))]),n("span",VC,[t[20]||(t[20]=n("label",null,"Role",-1)),D((l(),d("select",MC,[...t[19]||(t[19]=[n("option",{value:""},"Any",-1),n("option",{value:"admin"},"Admin",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.role=o},value:e.query?.role,form:null,options:{}}]])]),t[24]||(t[24]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",onClick:t[4]||(t[4]=o=>e.exportCsv())},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),y(" Export",-1)])]),e.totalPage>1?(l(),d("span",qC,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[5]||(t[5]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,LC),n("span",$C,u(e.query?.page)+"/"+u(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[6]||(t[6]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[23]||(t[23]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,UC)])):p("v-if",!0)]),e.chips?.length?(l(),d("div",FC,[n("div",zC,[(l(!0),d(K,null,re(e.chips,(o,i)=>(l(),d("span",{class:"admin-active-chip",key:o?.key},[n("span",HC,u(o?.label),1),n("span",null,u(o?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(o.key),"aria-label":"Clear filter"},[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,BC)]))),128))])])):p("v-if",!0)])),[[r,e.viewState]]),e.selectedCount()>0?(l(),d("div",jC,[n("span",null,[n("strong",null,u(e.selectedCount()),1),t[26]||(t[26]=y(" selected",-1))]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[7]||(t[7]=o=>e.bulkBan())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),y(" Ban",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[8]||(t[8]=o=>{e.selected={},e.allSelected=!1})},"Clear")])):p("v-if",!0),n("div",GC,[n("div",WC,[n("div",KC,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[9]||(t[9]=o=>e.selectAllOnPage()),checked:e.allSelected},null,8,YC)]),n("div",JC,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="username"}]),onClick:t[10]||(t[10]=o=>e.sortBy("username"))},[t[29]||(t[29]=y("User ",-1)),e.sortIcon("username")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("username")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[28]||(t[28]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[32]||(t[32]=n("div",{role:"columnheader",class:"num",title:"Repositories discovered on the user's GitHub account"},"GitHub repos",-1)),n("div",QC,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[11]||(t[11]=o=>e.sortBy("status"))},[t[31]||(t[31]=y("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[30]||(t[30]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)]),t[33]||(t[33]=n("div",{role:"columnheader"},"Role",-1)),t[34]||(t[34]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(K,null,re(e.filteredUsers,(o,i)=>(l(),d("div",{class:T(["paper-table-row admin-users-row",{"row-selected":e.selected[o?.username]}]),role:"row"},[n("div",XC,[D(n("input",ZC,null,512),[[s,{state:e.viewState,set:a=>{e.selected[o.username]=a},value:e.selected[o?.username],form:null,options:{}}]])]),n("div",xC,[o?.photo?(l(),d("img",{key:0,width:"28",height:"28",class:"rounded-circle",style:{"flex-shrink":"0"},src:e.safeUrl(o?.photo)},null,8,e2)):(l(),d("span",t2,u((o?.username||"?").charAt(0).toUpperCase()),1)),n("div",n2,[n("a",{class:"repo-name",textContent:u(o?.username),href:e.safeUrl("/admin/users/"+o?.username)},null,8,s2),n("div",o2,[o?.emails?.[0]?.email?(l(),d("span",r2,u(o?.emails?.[0]?.email)+" \xB7 ",1)):p("v-if",!0),n("a",{target:"_blank",href:e.safeUrl("https://github.com/"+o?.username)},[t[35]||(t[35]=n("i",{class:"fab fa-github"},null,-1)),y(" "+u(o?.username),1)],8,i2),o?.dateOfEntry?(l(),d("span",a2,"\xA0\xB7\xA0Joined "+u(e.fmt?.humanTime(o?.dateOfEntry)),1)):p("v-if",!0)])])]),n("div",l2,[t[36]||(t[36]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:o?.repoCount?"Show this user\u2019s repositories":"Repositories not synced yet",textContent:u(o?.repoCount?e.fmt?.number(o.repoCount):"Not synced"),class:T({"is-unsynced":!o?.repoCount}),href:e.safeUrl("/admin/repositories?owner="+o?.username)},null,10,d2)]),n("div",u2,[n("span",{class:T(["status-dot",{"status-ready":o?.status=="active","status-removed":o?.status=="removed"||o?.status=="banned"}])},null,2),n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,c2)]),n("div",p2,[o?.isAdmin?(l(),d("span",f2,"Admin")):p("v-if",!0),o?.isAdmin?p("v-if",!0):(l(),d("span",m2,"\u2014"))]),n("div",h2,[n("div",v2,[t[42]||(t[42]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",y2,[n("a",{class:"dropdown-item",href:e.safeUrl("/admin/users/"+o?.username)},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View details",-1)])],8,g2),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/repositories?owner="+o?.username)},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),y(" View repositories",-1)])],8,b2),t[41]||(t[41]=n("div",{class:"dropdown-divider"},null,-1)),D(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.banUser(o),["prevent"])},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),y(" Ban",-1)])],8,w2),[[Q,o?.status=="active"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.activateUser(o),["prevent"])},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Activate",-1)])],8,k2),[[Q,o?.status=="removed"||o?.status=="banned"]])])])])],2))),256)),e.filteredUsers?.length==0?(l(),d("div",C2,[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No users match the current filters.",-1)])])):p("v-if",!0)]),n("div",E2,[n("span",S2,u(e.fmt?.number(e.total))+" results",1),e.totalPage>1?(l(),d("div",N2,[n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=o=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),y(" Previous",-1)])],8,_2),D(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,D2),[[s,{state:e.viewState,set:o=>{e.query.page=o},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+u(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[13]||(t[13]=o=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[45]||(t[45]=[y("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,R2)])):p("v-if",!0),n("span",T2,[t[47]||(t[47]=n("label",null,"Per page",-1)),D((l(),d("select",O2,[...t[46]||(t[46]=[n("option",{value:"10"},"10",-1),n("option",{value:"25"},"25",-1),n("option",{value:"50"},"50",-1),n("option",{value:"100"},"100",-1)])])),[[s,{state:e.viewState,set:o=>{e.query.limit=o},value:e.query?.limit,form:null,options:{}}]])])])])}var A2={class:"anonymize-landing"},I2={class:"anonymize-landing-inner"},P2={class:"form-group mt-4 mb-2"},V2={class:"source-url-label-row"},M2={key:0,class:"repo-access","aria-label":"GitHub access"},q2={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},L2=["aria-pressed","disabled"],$2=["aria-pressed","disabled"],U2={key:1,class:"connection-badge"},F2={class:"landing-url-row"},z2={id:"sourceUrl-landing",onblur:"this.scrollLeft=0",type:"text",class:"form-control form-control-lg",placeholder:"https://github.com/owner/repository"},H2=["aria-disabled"],B2={key:0,class:"text-danger",role:"alert"},j2={key:1,class:"repo-access-details","aria-label":"GitHub access"},G2={class:"repo-access-main"},W2={class:"repo-access-controls"},K2={key:0,class:"access-q"},Y2={key:2,class:"connection-link",href:"/connections"},J2={class:"repo-access-note"},Q2={key:0},X2={class:"anonymize-workspace"},Z2={class:"anonymize-topbar"},x2={class:"anonymize-topbar-inner"},eE={class:"paper-crumbs"},tE={class:"here"},nE={class:"anonymize-topbar-head"},sE={class:"paper-page-title anonymize-topbar-title"},oE={key:0},rE={key:1},iE={key:0,class:"alert alert-info",role:"status"},aE={key:1,class:"alert alert-info",role:"status"},lE={key:1},dE={class:"anonymize-mobile-tabs",role:"tablist","aria-label":"Anonymization workspace"},uE=["aria-selected","tabindex"],cE=["aria-selected","tabindex"],pE={key:2,class:"anonymize-preview-empty",id:"workspace-preview",role:"status"},fE={class:"anonymize-split"},mE=["role","aria-labelledby"],hE={class:"form needs-validation paper-settings-main",name:"anonymize",novalidate:""},vE={class:"paper-settings-section"},yE={class:"form-group"},gE={class:"source-url-label-row"},bE={key:0,class:"repo-access","aria-label":"GitHub access"},wE={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},kE=["aria-pressed","disabled"],CE=["aria-pressed","disabled"],EE={key:1,class:"connection-badge"},SE=["disabled"],NE={class:"invalid-feedback"},_E={class:"invalid-feedback"},DE={class:"invalid-feedback"},RE={class:"invalid-feedback"},TE={key:0,class:"repo-access-details","aria-label":"GitHub access"},OE={class:"repo-access-main"},AE={class:"repo-access-controls"},IE={key:0,class:"access-q"},PE={key:2,class:"connection-link",href:"/connections"},VE={class:"repo-access-note"},ME={key:0},qE={key:1,class:"repo-access-details"},LE={key:0,role:"status"},$E={key:2,class:"form-grid-2"},UE={class:"form-group"},FE={class:"input-group"},zE={class:"form-control",id:"branch",name:"branch"},HE=["textContent","value"],BE={class:"input-group-append"},jE={class:"form-group"},GE=["disabled"],WE={class:"invalid-feedback"},KE={class:"invalid-feedback"},YE={class:"form-check"},JE={class:"form-check-input",type:"checkbox",id:"update",name:"update"},QE={class:"paper-settings-section"},XE={class:"form-group"},ZE=["disabled"],xE={class:"form-text text-muted"},eS={class:"invalid-feedback"},tS={class:"form-group"},nS=["disabled"],sS={class:"form-text text-muted"},oS={class:"invalid-feedback"},rS={class:"form-group"},iS=["disabled"],aS={class:"form-text text-muted"},lS={class:"invalid-feedback"},dS={class:"form-group"},uS={class:"form-text text-muted"},cS=["href"],pS={class:"invalid-feedback"},fS={class:"form-text text-muted"},mS={class:"paper-settings-section"},hS={class:"form-group"},vS={class:"form-text text-muted"},yS={class:"warning-feedback"},gS={class:"invalid-feedback"},bS={class:"paper-settings-section"},wS={class:"form-check"},kS={class:"form-check-input",type:"checkbox",id:"link",name:"link"},CS={class:"form-check"},ES={class:"form-check-input",type:"checkbox",id:"image",name:"image"},SS={class:"form-check"},NS={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},_S={class:"form-check"},DS={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},RS={class:"form-check"},TS=["disabled"],OS={key:0,class:"form-text text-muted"},AS={key:1,class:"form-text text-muted"},IS={class:"form-check"},PS={class:"form-check-input",type:"checkbox",id:"title-gist",name:"title-gist"},VS={class:"form-check"},MS={class:"form-check-input",type:"checkbox",id:"content-gist",name:"content-gist"},qS={class:"form-check"},LS={class:"form-check-input",type:"checkbox",id:"comments-gist",name:"comments-gist"},$S={class:"form-check"},US={class:"form-check-input",type:"checkbox",id:"username-gist",name:"username-gist"},FS={class:"form-check"},zS={class:"form-check-input",type:"checkbox",id:"date-gist",name:"date-gist"},HS={class:"form-check"},BS={class:"form-check-input",type:"checkbox",id:"origin-gist",name:"origin-gist"},jS={class:"form-check"},GS={class:"form-check-input",type:"checkbox",id:"title",name:"title"},WS={class:"form-check"},KS={class:"form-check-input",type:"checkbox",id:"body",name:"body"},YS={class:"form-check"},JS={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},QS={class:"form-check"},XS={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},ZS={class:"form-check"},xS={class:"form-check-input",type:"checkbox",id:"username",name:"username"},eN={class:"form-check"},tN={class:"form-check-input",type:"checkbox",id:"date",name:"date"},nN={class:"form-check"},sN={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},oN={class:"paper-settings-section"},rN={class:"form-grid-2"},iN={class:"form-group"},aN={class:"form-control",id:"expiration",name:"expiration"},lN={class:"form-group"},dN=["min","max"],uN={class:"invalid-feedback"},cN={class:"invalid-feedback"},pN={class:"paper-settings-section"},fN={class:"form-group"},mN={style:{position:"relative"}},hN={type:"text",id:"coauthorSearch",class:"form-control",placeholder:"Search GitHub username\u2026",autocomplete:"off"},vN={class:"dropdown-menu show",style:{display:"block","max-height":"220px","overflow-y":"auto",width:"100%"}},yN=["onClick"],gN=["src"],bN=["textContent"],wN=["textContent"],kN={class:"coauthor-list"},CN={class:"coauthor-row d-flex align-items-center",style:{padding:"6px 0",gap:"8px"}},EN=["src"],SN=["textContent","href"],NN=["onClick"],_N={class:"form-text text-muted"},DN=["textContent"],RN={class:"anonymize-submit-bar"},TN={key:0,class:"draft-status",role:"status"},ON={key:1,class:"draft-status"},AN=["disabled"],IN=["disabled"],PN=["disabled"],VN=["disabled"],MN=["disabled"],qN=["disabled"],LN=["role","aria-labelledby"],$N={class:"anonymize-preview-head"},UN={class:"anonymize-preview-sub"},FN={key:0,class:"anonymize-preview-status",role:"status"},zN={key:1,class:"anonymize-preview-status",role:"status"},HN={key:2,class:"anonymize-preview-status",role:"alert"},BN={key:3,class:"anonymize-preview-status"},jN=["innerHTML"],GN=["role","aria-labelledby"],WN={class:"anonymize-preview-head"},KN={class:"anonymize-preview-sub"},YN={key:0,class:"anonymize-preview-status",role:"status"},JN={key:1,class:"anonymize-preview-status",role:"status"},QN={key:2,class:"anonymize-preview-status",role:"alert"},XN={key:3,class:"anonymize-preview-body"},ZN={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},xN={class:"pr-title mb-1"},e_={key:0},t_=["textContent"],n_={key:0},s_={key:1},o_={key:2},r_={class:"pr-comments mt-3"},i_={class:"pr-comment"},a_={class:"pr-comment-head"},l_=["textContent"],d_={key:0,class:"pr-comment-date"},u_={key:3},c_={class:"pr-comments"},p_={class:"pr-comment"},f_={class:"pr-comment-head"},m_={key:0,class:"pr-comment-author"},h_=["textContent"],v_=["textContent"],y_={key:0,class:"pr-comment-body"},g_=["role","aria-labelledby"],b_={class:"anonymize-preview-head"},w_={class:"anonymize-preview-sub"},k_={key:0,class:"anonymize-preview-status",role:"status"},C_={key:1,class:"anonymize-preview-status",role:"status"},E_={key:2,class:"anonymize-preview-status",role:"alert"},S_={key:3,class:"anonymize-preview-body"},N_={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},__={class:"pr-title mb-1"},D_={key:0},R_=["textContent"],T_={key:0},O_={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--paper-bg-alt)"}},A_={key:2,class:"paper-tabs",role:"tablist"},I_=["aria-selected","tabindex"],P_=["aria-selected","tabindex"],V_=["textContent"],M_={key:3,class:"anonymize-preview-status"},q_={class:"paper-tab-content"},L_={key:0,role:"tabpanel",id:"preview-pr-diff-panel","aria-labelledby":"preview-pr-diff-tab"},$_=["innerHTML"],U_={key:1,role:"tabpanel",id:"preview-pr-comments-panel","aria-labelledby":"preview-pr-comments-tab"},F_={class:"pr-comments"},z_={class:"pr-comment"},H_={class:"pr-comment-head"},B_={key:0,class:"pr-comment-author"},j_=["textContent"],G_=["textContent"],W_={key:0,class:"pr-comment-body"};function Sl(e,t){let s=Ge("gist-file"),r=Ge("markdown"),o=Ee("field"),i=Ee("form");return l(),d("div",{class:T(["anonymize-page h-100",{"mobile-preview-active":e.mobilePane==="preview"}])},[p(" ===== STATE 1: No URL \u2014 centered input ===== "),D(n("div",A2,[n("div",I2,[t[35]||(t[35]=n("div",{class:"paper-crumbs"},[y("My work \xA0/\xA0 "),n("span",{class:"here"},"New anonymization")],-1)),t[36]||(t[36]=n("h1",{class:"paper-page-title"},[y("New "),n("em",null,"anonymization")],-1)),t[37]||(t[37]=n("p",{class:"paper-page-lede"}," Paste a repository, pull request, or gist URL. You\u2019ll choose the terms to redact next. ",-1)),n("div",P2,[n("div",V2,[t[32]||(t[32]=n("label",{class:"paper-field-label",for:"sourceUrl-landing"},"Source URL",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",M2,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",q2,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[0]||(t[0]=a=>e.chooseGitHubConnection("github-app"))},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(),n("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,L2),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[1]||(t[1]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,$2)])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",U2,u((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):p("v-if",!0)])):p("v-if",!0)]),n("div",F2,[D(n("input",z2,null,512),[[o,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:null,options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),n("button",{type:"button",class:"btn btn-primary landing-continue","aria-disabled":e.sourceUrl?null:"true",onClick:t[2]||(t[2]=a=>e.sourceUrl&&e.urlSelected())},"Continue",8,H2)])]),e.sourceUrlError?(l(),d("p",B2,u(e.sourceUrlError),1)):p("v-if",!0),t[38]||(t[38]=n("small",{class:"form-text",style:{color:"var(--ink-muted)"}}," Repository, pull request (\u2026/pull/42) and gist (gist.github.com/\u2026) URLs are all accepted. ",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",j2,[n("div",G2,[n("div",W2,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",K2,"Repository not listed?")):p("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[3]||(t[3]=a=>e.grantGitHubAccess())},[...t[33]||(t[33]=[y("Manage access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",Y2,u(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):p("v-if",!0)])]),n("div",J2,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",Q2,"Select repositories on GitHub, then return here.")):p("v-if",!0),t[34]||(t[34]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y(" Selected content will be published, including content from private repositories.")],-1))])])):p("v-if",!0)])],512),[[Q,!e.workspaceOpen&&!e.isUpdate]]),p(" ===== STATE 2: URL provided \u2014 form (left) + preview (right) ===== "),D(n("div",X2,[n("header",Z2,[n("div",x2,[n("div",eE,[t[39]||(t[39]=n("a",{href:"/dashboard"},"My work",-1)),t[40]||(t[40]=y(" \xA0/\xA0 ",-1)),n("span",tE,u(e.isUpdate?"Edit anonymization":"New anonymization"),1)]),n("div",nE,[n("h1",sE,[e.isUpdate?p("v-if",!0):(l(),d("span",oE,[...t[41]||(t[41]=[y("New ",-1),n("em",null,"anonymization",-1)])])),e.isUpdate?(l(),d("span",rE,[...t[42]||(t[42]=[y("Edit ",-1),n("em",null,"anonymization",-1)])])):p("v-if",!0)]),D(n("span",{class:T(["type-badge",{"type-repo":e.detectedType==="repo","type-pr":e.detectedType==="pr","type-gist":e.detectedType==="gist"}])},u(e.detectedType==="repo"?"Repository":e.detectedType==="pr"?"Pull request":"Gist"),3),[[Q,e.detectedType]])])])]),e.detectedType==="gist"&&e.gistAppRequired?(l(),d("aside",iE,[t[43]||(t[43]=n("p",null,"Reconnect your GitHub account to read this gist. Your draft will be restored when you return.",-1)),n("button",{type:"button",class:"btn btn-ink",onClick:t[4]||(t[4]=a=>e.connectGistApp())},"Connect GitHub App to access gists")])):p("v-if",!0),e.detectedType==="gist"&&e.gistOAuthRequired?(l(),d("aside",aE,[t[44]||(t[44]=n("p",null,"Connect GitHub OAuth to access gists. Your account and existing anonymizations stay the same, and your draft will be restored when you return.",-1)),t[45]||(t[45]=n("p",null,"GitHub's legacy OAuth connection includes write access to private repositories.",-1)),e.githubConnections?.oauthEnabled?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[5]||(t[5]=a=>e.connectGistOAuth())},"Connect GitHub OAuth to access gists")):(l(),d("p",lE,"GitHub OAuth is currently unavailable. Please try again later."))])):p("v-if",!0),n("nav",dE,[n("button",{id:"workspace-settings-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="settings","aria-controls":"workspace-settings",tabindex:e.mobilePane==="settings"?0:-1,onKeydown:t[6]||(t[6]=a=>e.previewTabKeydown(a)),onClick:t[7]||(t[7]=a=>e.selectMobilePane("settings"))},"Settings",40,uE),n("button",{id:"workspace-preview-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="preview","aria-controls":"workspace-preview",tabindex:e.mobilePane==="preview"?0:-1,onKeydown:t[8]||(t[8]=a=>e.previewTabKeydown(a)),onClick:t[9]||(t[9]=a=>e.selectMobilePane("preview"))},"Reviewer preview",40,cE)]),e.detectedType!=="repo"&&!e.details?(l(),d("div",pE,u(e.sourceLoading?"Loading source\u2026":"Choose an accessible source to see its preview."),1)):p("v-if",!0),n("div",fE,[p(" Form column (left) "),n("div",{id:"workspace-settings",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-settings-tab":null,class:"anonymize-form-col overflow-auto"},[D((l(),d("form",hE,[n("section",vE,[t[56]||(t[56]=n("div",{class:"paper-section-eyebrow"},"Source",-1)),n("div",yE,[n("div",gE,[t[47]||(t[47]=n("label",{class:"paper-field-label",for:"sourceUrl"},"Source URL",-1)),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",bE,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",wE,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[10]||(t[10]=a=>e.chooseGitHubConnection("github-app"))},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(),n("span",{class:"sr-only"},"Read-only ",-1),y("GitHub App",-1)])],8,kE),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[11]||(t[11]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,CE)])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",EE,u((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):p("v-if",!0)])):p("v-if",!0)]),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.sourceUrl?.invalid}]),name:"sourceUrl",id:"sourceUrl",onblur:"this.scrollLeft=0",disabled:e.isUpdate&&e.detectedType!=="repo",placeholder:"Paste a GitHub repo or pull request URL"},null,10,SE),[[o,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),D(n("div",NE," Please provide a valid GitHub URL. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.github]]),D(n("div",_E," Not accessible. The organization may restrict access. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.access]]),D(n("div",DE," Does not exist or is not accessible. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.missing]]),D(n("div",RE," Already anonymized. ",512),[[Q,e.anonymize?.sourceUrl?.errors?.used]])]),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",TE,[n("div",OE,[n("div",AE,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",IE,"Repository not listed?")):p("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[12]||(t[12]=a=>e.grantGitHubAccess())},[...t[48]||(t[48]=[y("Manage access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):p("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",PE,u(e.isUpdate?"Change connection":"Manage connections")+" \u2192",1)):p("v-if",!0)])]),n("div",VE,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",ME,"Select repositories on GitHub, then return here.")):p("v-if",!0),t[49]||(t[49]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y(" Selected content will be published, including content from private repositories.")],-1))])])):p("v-if",!0),e.isUpdate&&e.detectedType==="repo"&&e.role==="owner"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("aside",qE,[t[50]||(t[50]=n("p",null,"If you deleted and recreated this repository, reconnect it before choosing a branch.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[13]||(t[13]=a=>e.reconnectSource())},"Reconnect source repository"),e.reconnectRepositoryId?(l(),d("p",LE,"Source reloaded. Review the branch, commit, and anonymization preview, then save to replace the published snapshot.")):p("v-if",!0)])):p("v-if",!0),e.detectedType==="repo"?(l(),d("div",$E,[n("div",UE,[t[52]||(t[52]=n("label",{class:"paper-field-label",for:"branch"},"Branch",-1)),n("div",FE,[D((l(),d("select",zE,[(l(!0),d(K,null,re(e.branches,(a,c)=>(l(),d("option",{textContent:u(a?.name),value:a?.name},null,8,HE))),256))])),[[o,{state:e.viewState,set:a=>{e.source.branch=a},value:e.source?.branch,form:"anonymize",options:{}}]]),n("div",BE,[n("button",{class:"btn btn-icon",type:"button",title:"Refresh","data-toggle":"tooltip","data-placement":"bottom",onClick:t[14]||(t[14]=a=>e.getBranches(!0)),"aria-label":"Refresh"},[...t[51]||(t[51]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])])]),n("div",jE,[t[53]||(t[53]=n("label",{class:"paper-field-label",for:"commit"},"Commit",-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.commit?.invalid}]),id:"commit",disabled:e.options.update,name:"commit",pattern:"[a-fA-Z0-9]{6,}",required:""},null,10,GE),[[o,{state:e.viewState,set:a=>{e.source.commit=a},value:e.source?.commit,form:"anonymize",options:{}}]]),D(n("div",WE," The commit SHA is not valid. ",512),[[Q,e.anonymize?.commit?.errors?.pattern||e.anonymize?.commit?.errors?.required]]),D(n("div",KE," This commit no longer exists in the repository. Click refresh to get the latest. ",512),[[Q,e.anonymize?.commit?.errors?.exists]])])])):p("v-if",!0),D(n("div",YE,[D(n("input",JE,null,512),[[o,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"anonymize",options:{}}]]),t[54]||(t[54]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[55]||(t[55]=n("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))],512),[[Q,e.detectedType]])]),D(n("section",QE,[t[67]||(t[67]=n("div",{class:"paper-section-eyebrow"},"Identity",-1)),D(n("div",XE,[t[59]||(t[59]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.repoId?.invalid}]),name:"repoId",id:"repoId",disabled:e.isUpdate},null,10,ZE),[[o,{state:e.viewState,set:a=>{e.repoId=a},value:e.repoId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",xE,[t[57]||(t[57]=y("Your share link will be ",-1)),n("code",null,"anonymous.4open.science/r/"+u(e.repoId),1),t[58]||(t[58]=y(".",-1))]),D(n("div",eS,"ID can only contain letters and numbers.",512),[[Q,e.anonymize?.repoId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.repoId)+" is already used.",513),[[Q,e.anonymize?.repoId?.errors?.used]])],512),[[Q,e.detectedType==="repo"]]),D(n("div",tS,[t[62]||(t[62]=n("label",{class:"paper-field-label",for:"pullRequestId"},"Anonymized pull request ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId",disabled:e.isUpdate},null,10,nS),[[o,{state:e.viewState,set:a=>{e.pullRequestId=a},value:e.pullRequestId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",sS,[t[60]||(t[60]=y("Your share link will be ",-1)),n("code",null,"anonymous.4open.science/pr/"+u(e.pullRequestId),1),t[61]||(t[61]=y(".",-1))]),D(n("div",oS,"ID can only contain letters and numbers.",512),[[Q,e.anonymize?.pullRequestId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestId)+" is already used.",513),[[Q,e.anonymize?.pullRequestId?.errors?.used]])],512),[[Q,e.detectedType==="pr"]]),D(n("div",rS,[t[65]||(t[65]=n("label",{class:"paper-field-label",for:"gistId"},"Anonymized gist ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.gistId?.invalid}]),name:"gistId",id:"gistId",disabled:e.isUpdate},null,10,iS),[[o,{state:e.viewState,set:a=>{e.gistId=a},value:e.gistId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",aS,[t[63]||(t[63]=y("Your share link will be ",-1)),n("code",null,"anonymous.4open.science/gist/"+u(e.gistId),1),t[64]||(t[64]=y(".",-1))]),D(n("div",lS,"ID can only contain letters and numbers.",512),[[Q,e.anonymize?.gistId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.gistId)+" is already used.",513),[[Q,e.anonymize?.gistId?.errors?.used]])],512),[[Q,e.detectedType==="gist"]]),n("div",dS,[t[66]||(t[66]=n("label",{class:"paper-field-label",for:"conference"},[y("Conference "),n("span",{class:"paper-optional"},"(optional)")],-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[o,{state:e.viewState,set:a=>{e.conference=a},value:e.conference,form:"anonymize",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),D(n("small",uS,[n("a",{target:"_blank",href:e.safeUrl(e.conference_data?.url)},u(e.conference_data?.name),9,cS),y(" expires "+u(e.fmt?.date(e.conference_data?.endDate))+". ",1)],512),[[Q,e.conference_data]]),D(n("div",pS,"The conference is not activated.",512),[[Q,e.anonymize?.conference?.errors?.activated]]),D(n("small",fS,"Link to a conference to apply its shared defaults.",512),[[Q,!e.conference_data]])])],512),[[Q,e.detectedType]]),D(n("section",mS,[t[75]||(t[75]=n("div",{class:"paper-section-eyebrow"},"Anonymization",-1)),n("div",hS,[t[74]||(t[74]=n("label",{class:"paper-field-label",for:"terms"},"Terms to redact",-1)),D(n("textarea",{class:T(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"4",placeholder:`Jane Smith MIT CSAIL -jane.smith@example.org`},null,2),[[o,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"anonymize",options:{debounce:250}}]]),n("small",vS,[t[68]||(t[68]=y("One term per line (regex allowed). Replaced by ",-1)),n("code",null,u(e.site_options?.ANONYMIZATION_MASK)+"-[N]",1),t[69]||(t[69]=y(", or use ",-1)),t[70]||(t[70]=n("code",null,"term=>replacement",-1)),t[71]||(t[71]=y(" to pick your own (e.g. ",-1)),t[72]||(t[72]=n("code",null,"Anonymous=>ABC",-1)),t[73]||(t[73]=y(").",-1))]),D(n("div",yS,"Regex characters detected. Escape them if unintentional.",512),[[Q,e.termsRegexWarning]]),D(n("div",gS,"Terms are in an invalid format.",512),[[Q,e.anonymize?.terms?.errors?.format]])])],512),[[Q,e.detectedType]]),D(n("section",bS,[t[96]||(t[96]=n("div",{class:"paper-section-eyebrow"},"Display",-1)),D(n("div",null,[n("div",wS,[D(n("input",kS,null,512),[[o,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"anonymize",options:{}}]]),t[76]||(t[76]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1))]),n("div",CS,[D(n("input",ES,null,512),[[o,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"anonymize",options:{}}]]),t[77]||(t[77]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[78]||(t[78]=n("small",{class:"form-text text-muted"},"Images are served unchanged and may contain names or affiliations.",-1))]),n("div",SS,[D(n("input",NS,null,512),[[o,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"anonymize",options:{}}]]),t[79]||(t[79]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[80]||(t[80]=n("small",{class:"form-text text-muted"},[y("PDF contents and metadata are served unchanged. "),n("a",{href:"/faq#formats"},"About supported formats")],-1))]),n("div",_S,[D(n("input",DS,null,512),[[o,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"anonymize",options:{}}]]),t[81]||(t[81]=n("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))]),n("div",RS,[D(n("input",{class:"form-check-input",type:"checkbox",id:"page",name:"page",disabled:!e.details?.hasPage||e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch},null,8,TS),[[o,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"anonymize",options:{}}]]),t[82]||(t[82]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),e.details?.hasPage?p("v-if",!0):(l(),d("small",OS,u(e.fmt?.translate("WARNINGS.page_not_enabled_on_repo")),1)),e.details?.hasPage&&e.details?.pageSource?.branch&&e.source?.branch&&e.details.pageSource.branch!==e.source.branch?(l(),d("small",AS,u(e.fmt?.translate("WARNINGS.page_branch_mismatch",{pageBranch:e.details?.pageSource?.branch,selectedBranch:e.source?.branch})),1)):p("v-if",!0)])],512),[[Q,e.detectedType==="repo"]]),D(n("div",null,[n("div",IS,[D(n("input",PS,null,512),[[o,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[83]||(t[83]=n("label",{class:"form-check-label",for:"title-gist"},"Gist description",-1))]),n("div",VS,[D(n("input",MS,null,512),[[o,{state:e.viewState,set:a=>{e.options.content=a},value:e.options?.content,form:"anonymize",options:{}}]]),t[84]||(t[84]=n("label",{class:"form-check-label",for:"content-gist"},"File contents",-1))]),n("div",qS,[D(n("input",LS,null,512),[[o,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[85]||(t[85]=n("label",{class:"form-check-label",for:"comments-gist"},"Comments",-1))]),n("div",$S,[D(n("input",US,null,512),[[o,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[86]||(t[86]=n("label",{class:"form-check-label",for:"username-gist"},"Usernames",-1))]),n("div",FS,[D(n("input",zS,null,512),[[o,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[87]||(t[87]=n("label",{class:"form-check-label",for:"date-gist"},"Dates",-1))]),n("div",HS,[D(n("input",BS,null,512),[[o,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[88]||(t[88]=n("label",{class:"form-check-label",for:"origin-gist"},"Source gist ID",-1))])],512),[[Q,e.detectedType==="gist"]]),D(n("div",null,[n("div",jS,[D(n("input",GS,null,512),[[o,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[89]||(t[89]=n("label",{class:"form-check-label",for:"title"},"PR title",-1))]),n("div",WS,[D(n("input",KS,null,512),[[o,{state:e.viewState,set:a=>{e.options.body=a},value:e.options?.body,form:"anonymize",options:{}}]]),t[90]||(t[90]=n("label",{class:"form-check-label",for:"body"},"PR body",-1))]),n("div",YS,[D(n("input",JS,null,512),[[o,{state:e.viewState,set:a=>{e.options.diff=a},value:e.options?.diff,form:"anonymize",options:{}}]]),t[91]||(t[91]=n("label",{class:"form-check-label",for:"diff"},"Diff",-1))]),n("div",QS,[D(n("input",XS,null,512),[[o,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[92]||(t[92]=n("label",{class:"form-check-label",for:"comments"},"Comments",-1))]),n("div",ZS,[D(n("input",xS,null,512),[[o,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[93]||(t[93]=n("label",{class:"form-check-label",for:"username"},"Usernames",-1))]),n("div",eN,[D(n("input",tN,null,512),[[o,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[94]||(t[94]=n("label",{class:"form-check-label",for:"date"},"Dates",-1))]),n("div",nN,[D(n("input",sN,null,512),[[o,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[95]||(t[95]=n("label",{class:"form-check-label",for:"origin"},"Project name",-1))])],512),[[Q,e.detectedType==="pr"]])],512),[[Q,e.detectedType]]),D(n("section",oN,[t[100]||(t[100]=n("div",{class:"paper-section-eyebrow"},"Expiration",-1)),n("div",rN,[n("div",iN,[t[98]||(t[98]=n("label",{class:"paper-field-label",for:"expiration"},"Strategy",-1)),D((l(),d("select",aN,[...t[97]||(t[97]=[n("option",{value:"redirect"},"Redirect to GitHub when expired",-1),n("option",{value:"remove",selected:""},"Remove when expired",-1)])])),[[o,{state:e.viewState,set:a=>{e.options.expirationMode=a},value:e.options?.expirationMode,form:"anonymize",options:{}}]])]),n("div",lN,[t[99]||(t[99]=n("label",{class:"paper-field-label",for:"expirationDate"},"Expiration date",-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.expirationDate?.invalid}]),type:"date",name:"expirationDate",id:"expirationDate",required:"",min:e.minExpirationDate,max:e.maxExpirationDate},null,10,dN),[[o,{state:e.viewState,set:a=>{e.options.expirationDate=a},value:e.options?.expirationDate,form:"anonymize",options:{}}]]),D(n("div",uN,"Pick a date in the future.",512),[[Q,e.anonymize?.expirationDate?.errors?.min]]),D(n("div",{class:"invalid-feedback"},"Pick a date on or before "+u(e.fmt?.date(e.maxExpirationDate))+".",513),[[Q,e.anonymize?.expirationDate?.errors?.max]]),D(n("div",cN,"Enter a valid expiration date.",512),[[Q,e.anonymize?.expirationDate?.errors?.required||e.anonymize?.expirationDate?.errors?.date]])])]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", the content will be removed.",513),[[Q,e.options?.expirationMode=="remove"&&e.options?.expirationDate]]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", visitors will be redirected to GitHub.",513),[[Q,e.options?.expirationMode=="redirect"&&e.options?.expirationDate]])],512),[[Q,e.detectedType]]),D(n("section",pN,[t[104]||(t[104]=n("div",{class:"paper-section-eyebrow"},"Co-authors",-1)),t[105]||(t[105]=n("p",{class:"form-text text-muted",style:{"margin-bottom":"8px"}}," Co-authors can view and edit these settings. They cannot delete the anonymization or manage co-authors. ",-1)),D(n("div",fN,[t[101]||(t[101]=n("label",{class:"paper-field-label",for:"coauthorSearch"},"Add a GitHub user",-1)),n("div",mN,[D(n("input",hN,null,512),[[o,{state:e.viewState,set:a=>{e.coauthorSearch=a},value:e.coauthorSearch,form:"anonymize",options:{debounce:300},change:()=>{e.searchCoauthors()}}]]),D(n("div",vN,[(l(!0),d(Y,null,ie(e.coauthorResults,(a,c)=>(l(),d("a",{href:"#",class:"dropdown-item d-flex align-items-center",onClick:ue(f=>e.addCoauthor(a,f),["prevent"])},[n("img",{alt:"",style:{width:"22px",height:"22px","border-radius":"50%","margin-right":"8px"},src:e.safeUrl(a?.photo)},null,8,gN),n("span",{textContent:u(a?.username)},null,8,bN)],8,yN))),256))],512),[[Q,e.coauthorResults?.length>0]])]),D(n("small",{class:"form-text text-muted",textContent:u(e.coauthorError)},null,8,wN),[[Q,e.coauthorError]])],512),[[Q,e.role==="owner"||e.role==="admin"]]),n("div",kN,[(l(!0),d(Y,null,ie(e.coauthors,(a,c)=>(l(),d("div",CN,[a?.photo?(l(),d("img",{key:0,alt:"",style:{width:"24px",height:"24px","border-radius":"50%"},src:e.safeUrl(a?.photo)},null,8,EN)):p("v-if",!0),n("a",{target:"_blank",textContent:u(a?.username),href:e.safeUrl("https://github.com/"+a?.username)},null,8,SN),t[103]||(t[103]=n("span",{class:"type-badge type-coauthor"},"Co-author",-1)),D(n("button",{type:"button",class:"btn btn-sm btn-icon",style:{"margin-left":"auto"},title:"Remove co-author",onClick:f=>e.removeCoauthor(a),"aria-label":"Remove co-author"},[...t[102]||(t[102]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,NN),[[Q,e.role==="owner"||e.role==="admin"]])]))),256)),D(n("div",_N," No co-authors yet. ",512),[[Q,!e.coauthors||e.coauthors?.length===0]])])],512),[[Q,e.isUpdate&&e.detectedType==="repo"]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:u(e.error)},null,8,DN)):p("v-if",!0),n("button",{type:"button",class:"btn btn-outline-ink mobile-preview-jump",onClick:t[15]||(t[15]=a=>e.selectMobilePane("preview"))},[...t[106]||(t[106]=[y("Review preview ",-1),n("span",{"aria-hidden":"true"},"\u2192",-1)])]),D(n("div",RN,[e.draftRestored?(l(),d("div",TN,[t[107]||(t[107]=y("Your unsaved draft was restored. ",-1)),n("button",{type:"button",class:"draft-discard",onClick:t[16]||(t[16]=a=>e.discardDraft())},"Discard draft")])):e.unsavedChanges?(l(),d("div",ON,[y(u(e.draftSaved?"Draft saved in this tab for 30 minutes.":"Unsaved changes. Keep this tab open until you save.")+" ",1),n("button",{type:"button",class:"draft-discard",onClick:t[17]||(t[17]=a=>e.discardDraft())},u(e.isUpdate?"Restore saved settings":"Discard changes"),1)])):p("v-if",!0),e.detectedType==="repo"&&!e.isUpdate?(l(),d("button",{key:2,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[18]||(t[18]=ue(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[108]||(t[108]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize Repository ",-1)])],8,AN)):p("v-if",!0),e.detectedType==="repo"&&e.isUpdate?(l(),d("button",{key:3,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[19]||(t[19]=ue(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[109]||(t[109]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update Repository ",-1)])],8,IN)):p("v-if",!0),e.detectedType==="pr"&&!e.isUpdate?(l(),d("button",{key:4,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[20]||(t[20]=ue(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[110]||(t[110]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize Pull Request ",-1)])],8,PN)):p("v-if",!0),e.detectedType==="pr"&&e.isUpdate?(l(),d("button",{key:5,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[21]||(t[21]=ue(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[111]||(t[111]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update Pull Request ",-1)])],8,VN)):p("v-if",!0),e.detectedType==="gist"&&!e.isUpdate?(l(),d("button",{key:6,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[22]||(t[22]=ue(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[112]||(t[112]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize Gist ",-1)])],8,MN)):p("v-if",!0),e.detectedType==="gist"&&e.isUpdate?(l(),d("button",{key:7,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[23]||(t[23]=ue(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[113]||(t[113]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update Gist ",-1)])],8,qN)):p("v-if",!0)],512),[[Q,e.detectedType]])])),[[i,e.viewState]])],8,mE),p(" Preview column (right) "),e.detectedType==="repo"?(l(),d("div",{key:0,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col"},[n("div",$N,[t[114]||(t[114]=n("span",{class:"paper-eyebrow"},"Live preview",-1)),n("span",UN,u(e.previewStatus!=="ready"?"README preview":String(e.terms||"").trim()?"README with redactions applied":"No terms yet. Add some to see them redacted here."),1)]),e.sourceLoading&&e.previewStatus==="idle"?(l(),d("div",FN,"Loading source\u2026")):p("v-if",!0),e.previewStatus==="loading"?(l(),d("div",zN,"Updating the anonymized preview\u2026")):p("v-if",!0),e.previewStatus==="error"?(l(),d("div",HN,[t[115]||(t[115]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("button",{class:"btn btn-outline-ink",type:"button",onClick:t[24]||(t[24]=a=>e.retryPreview())},"Retry preview")])):p("v-if",!0),!e.sourceLoading&&!e.readme&&e.previewStatus==="idle"?(l(),d("div",BN,"No README is available to preview. Review the published files before sharing.")):p("v-if",!0),e.previewStatus==="ready"?(l(),d("div",{key:4,class:"anonymize-preview-body markdown-body body",innerHTML:e.sanitize(e.html_readme)},null,8,jN)):p("v-if",!0)],8,LN)):p("v-if",!0),e.detectedType==="gist"&&e.details?(l(),d("div",{key:1,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col"},[n("div",WN,[t[116]||(t[116]=n("span",{class:"paper-eyebrow"},"Live preview",-1)),n("span",KN,u(e.previewStatus==="ready"?"Gist with redactions applied":"Gist preview"),1)]),e.sourceLoading&&e.previewStatus==="idle"?(l(),d("div",YN,"Loading source\u2026")):p("v-if",!0),e.previewStatus==="loading"?(l(),d("div",JN,"Updating the anonymized preview\u2026")):p("v-if",!0),e.previewStatus==="error"?(l(),d("div",QN,[t[117]||(t[117]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("button",{class:"btn btn-outline-ink",type:"button",onClick:t[25]||(t[25]=a=>e.retryPreview())},"Retry preview")])):p("v-if",!0),e.previewStatus==="ready"?(l(),d("div",XN,[n("div",ZN,[n("h2",xN,[e.options?.title?(l(),d("span",e_,u(e.anonymizeGistContent(e.details?.gist?.description)||"Untitled gist"),1)):p("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.gist?.isPublic,"badge-secondary":!e.details?.gist?.isPublic}])},u(e.details?.gist?.isPublic?"public":"secret"),3)]),e.options?.date?(l(),d("small",{key:0,textContent:u(e.fmt?.date(e.details?.gist?.updatedDate))},null,8,t_)):p("v-if",!0)]),e.options?.origin?(l(),d("small",n_,"Gist ID: "+u(e.details?.source?.gistId),1)):p("v-if",!0),e.options?.username&&e.details?.gist?.ownerLogin?(l(),d("small",s_,"By @"+u(e.anonymizeGistContent(e.details?.gist?.ownerLogin)),1)):p("v-if",!0),e.options?.content&&e.previewGistFiles?.length?(l(),d("div",o_,[n("ul",r_,[(l(!0),d(Y,null,ie(e.previewGistFiles,(a,c)=>(l(),d("li",i_,[n("div",a_,[n("strong",{textContent:u(a?.filename)},null,8,l_),a?.language?(l(),d("span",d_,u(a?.language),1)):p("v-if",!0)]),Oe(s,{file:a,terms:e.terms,options:e.options},null,8,["file","terms","options"])]))),256))])])):p("v-if",!0),e.options?.comments&&e.details?.gist?.comments&&e.details?.gist?.comments?.length?(l(),d("div",u_,[t[120]||(t[120]=n("h3",{class:"paper-section-eyebrow mt-3"},"Comments",-1)),n("ul",c_,[(l(!0),d(Y,null,ie(e.details?.gist?.comments,(a,c)=>(l(),d("li",p_,[n("div",f_,[e.options?.username?(l(),d("span",m_,[t[118]||(t[118]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[119]||(t[119]=y(" @",-1)),n("span",{textContent:u(e.anonymizeGistContent(a?.author))},null,8,h_)])):p("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(a?.updatedDate))},null,8,v_)):p("v-if",!0)]),e.options?.body?(l(),d("div",y_,[Oe(r,{content:e.anonymizeGistContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0)]))),256))])])):p("v-if",!0)])):p("v-if",!0)],8,GN)):p("v-if",!0),e.detectedType==="pr"&&e.details?(l(),d("div",{key:2,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col"},[n("div",b_,[t[121]||(t[121]=n("span",{class:"paper-eyebrow"},"Live preview",-1)),n("span",w_,u(e.previewStatus==="ready"?"Pull request with redactions applied":"Pull request preview"),1)]),e.sourceLoading&&e.previewStatus==="idle"?(l(),d("div",k_,"Loading source\u2026")):p("v-if",!0),e.previewStatus==="loading"?(l(),d("div",C_,"Updating the anonymized preview\u2026")):p("v-if",!0),e.previewStatus==="error"?(l(),d("div",E_,[t[122]||(t[122]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("button",{class:"btn btn-outline-ink",type:"button",onClick:t[26]||(t[26]=a=>e.retryPreview())},"Retry preview")])):p("v-if",!0),e.previewStatus==="ready"?(l(),d("div",S_,[n("div",N_,[n("h2",__,[e.options?.title?(l(),d("span",D_,u(e.anonymizePrContent(e.details?.pullRequest?.title)),1)):p("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},u(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:u(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,R_)):p("v-if",!0)]),e.options?.origin?(l(),d("small",T_,"Pull Request on "+u(e.details?.pullRequest?.baseRepositoryFullName),1)):p("v-if",!0),e.options?.body?(l(),d("div",O_,[Oe(r,{content:e.anonymizePrContent(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0),e.options?.diff||e.options?.comments?(l(),d("nav",A_,[e.options?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.prTabState?.active=="diff"}]),type:"button",role:"tab",id:"preview-pr-diff-tab","aria-selected":e.prTabState?.active==="diff","aria-controls":"preview-pr-diff-panel",tabindex:e.prTabState?.active==="diff"?0:-1,onKeydown:t[27]||(t[27]=a=>e.previewTabKeydown(a)),onClick:t[28]||(t[28]=a=>e.prTabState.active="diff")},[...t[123]||(t[123]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y(" Diff ",-1)])],42,I_)):p("v-if",!0),e.options?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.prTabState?.active=="comments"}]),type:"button",role:"tab",id:"preview-pr-comments-tab","aria-selected":e.prTabState?.active==="comments","aria-controls":"preview-pr-comments-panel",tabindex:e.prTabState?.active==="comments"?0:-1,onKeydown:t[29]||(t[29]=a=>e.previewTabKeydown(a)),onClick:t[30]||(t[30]=a=>e.prTabState.active="comments")},[t[124]||(t[124]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,V_)],42,P_)):p("v-if",!0)])):p("v-if",!0),!e.options?.diff&&!e.options?.comments?(l(),d("div",M_,"Diff and comments are hidden by your display settings.")):p("v-if",!0),n("div",q_,[e.options?.diff&&e.prTabState?.active=="diff"?(l(),d("div",L_,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.anonymizePrContent(e.details?.pullRequest?.diff)))},null,8,$_)])):p("v-if",!0),e.options?.comments&&e.prTabState?.active=="comments"?(l(),d("div",U_,[n("ul",F_,[(l(!0),d(Y,null,ie(e.details?.pullRequest?.comments,(a,c)=>(l(),d("li",z_,[n("div",H_,[e.options?.username?(l(),d("span",B_,[t[125]||(t[125]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[126]||(t[126]=y(" @",-1)),n("span",{textContent:u(e.anonymizePrContent(a?.author))},null,8,j_)])):p("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(a?.updatedDate))},null,8,G_)):p("v-if",!0)]),e.options?.body?(l(),d("div",W_,[Oe(r,{content:e.anonymizePrContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0)]))),256))])])):p("v-if",!0)])])):p("v-if",!0)],8,g_)):p("v-if",!0)])],512),[[Q,e.workspaceOpen||e.isUpdate]])],2)}var K_={class:"container-fluid h-100 anonymize-page"},Y_={class:"row h-100 flex-column flex-md-row"},J_={class:"col-md sidePanel shadow overflow-auto anonymize-form-col"},Q_={class:"form-group"},X_={class:"form-group"},Z_={class:"form-check"},x_={class:"form-check-input",type:"checkbox",id:"update",name:"update"},eD={class:"form-group"},tD={class:"form-text text-muted"},nD=["href"],sD={class:"invalid-feedback"},oD={class:"form-text text-muted"},rD={class:"form-group"},iD={id:"idHelp",class:"form-text text-muted"},aD={class:"invalid-feedback"},lD={class:"form-group"},dD={class:"invalid-feedback"},uD={class:"form-group"},cD={class:"form-control",id:"expiration",name:"expiration"},pD={class:"form-group",id:"expiration-date-form"},fD={class:"form-control",type:"date",name:"expirationDate",id:"expirationDate"},mD={class:"accordion mb-3",id:"options"},hD={class:"card"},vD={id:"collapseOne",class:"collapse show","aria-labelledby":"headingOne","data-parent":"#options"},yD={class:"card-body"},gD={class:"form-group mb-0"},bD={class:"form-check"},wD={class:"form-check-input",type:"checkbox",id:"link",name:"link"},kD={class:"form-check"},CD={class:"form-check-input",type:"checkbox",id:"image",name:"image"},ED={class:"form-check"},SD={class:"form-check-input",type:"checkbox",id:"date",name:"date"},ND={class:"form-check"},_D={class:"form-check-input",type:"checkbox",id:"username",name:"username"},DD={class:"form-check"},RD={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},TD={class:"form-check"},OD={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},AD={class:"form-check"},ID={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},PD={class:"form-check"},VD={class:"form-check-input",type:"checkbox",id:"title",name:"title"},MD={class:"form-check"},qD={class:"form-check-input",type:"checkbox",id:"body",name:"body"},LD=["textContent"],$D={class:"anonymize-submit-bar"},UD={key:0,class:"col-md-8 p-2 overflow-auto anonymize-preview-col"},FD={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},zD={class:"pr-title mb-1"},HD={key:0},BD=["textContent"],jD={key:0},GD={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},WD={class:"nav nav-tabs",id:"myTab",role:"tablist"},KD={key:0,class:"nav-item",role:"presentation"},YD={key:1,class:"nav-item",role:"presentation"},JD=["textContent"],QD={class:"tab-content",id:"pills-tabContent"},XD={class:"tab-pane show active",id:"pills-diff",role:"tabpanel","aria-labelledby":"pills-diff-tab"},ZD={key:0,class:"pr-diff shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},xD={style:{"overflow-x":"auto"}},eR=["innerHTML"],tR={key:0,class:"pr-comments list-group"},nR={class:"pr-comment list-group-item"},sR={class:"d-flex w-100 justify-content-between flex-wrap"},oR={key:0,class:"mb-1"},rR=["textContent"],iR={class:"mb-1"};function Nl(e,t){let s=Ge("markdown"),r=Ee("field"),o=Ee("form");return l(),d("div",K_,[n("div",Y_,[n("div",J_,[n("div",{class:T(["p-0 py-2 m-auto",{card:!e.pullRequestUrl,container:e.pullRequestUrl}])},[D((l(),d("form",{class:T(["form needs-validation",{"card-body":!e.pullRequestUrl}]),name:"anonymizeForm",novalidate:""},[t[30]||(t[30]=fe('
Anonymize \xA0/\xA0 Pull request

Anonymize a pull request

Fill in the details \u2014 it only takes a minute.

Source
',4)),p(" pullRequestUrl "),n("div",Q_,[t[2]||(t[2]=n("label",{for:"pullRequestUrl"},"URL of your pull request",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestUrl?.invalid}]),name:"pullRequestUrl",id:"pullRequestUrl",placeholder:"https://github.com/owner/repo/pull/123"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestUrl=i},value:e.pullRequestUrl,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.pullRequestSelected()}}]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestUrl)+" is not accessible. Some organizations are restricting the access to the repositories. ",513),[[Q,e.anonymize?.pullRequestUrl?.errors?.access]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestUrl)+" does not exist or is not accessible ",513),[[Q,e.anonymize?.pullRequestUrl?.errors?.missing]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestUrl)+" is already anonymized ",513),[[Q,e.anonymize?.pullRequestUrl?.errors?.used]])]),D(n("div",null,[n("div",X_,[n("div",Z_,[D(n("input",x_,null,512),[[r,{state:e.viewState,set:i=>{e.options.update=i},value:e.options?.update,form:"anonymizeForm",options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"update"},"Auto update",-1)),t[4]||(t[4]=n("small",{id:"updateHelp",class:"form-text text-muted"},"Automatically update the anonymized pull request with the latest updates. The pull request is updated once per day maximum.",-1))])]),t[26]||(t[26]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})]),y(" Conference ID ")],-1)),p(" Conference "),n("div",eD,[t[5]||(t[5]=n("label",{for:"conference"},[y("Conference ID "),n("span",{class:"text-muted"},"(Optional)")],-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[r,{state:e.viewState,set:i=>{e.conference=i},value:e.conference,form:"anonymizeForm",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),D(n("small",tD,[n("a",{target:"_target",href:e.safeUrl(e.conference_data?.url)},u(e.conference_data?.name),9,nD),y(" will expire on "+u(e.fmt?.date(e.conference_data?.endDate))+".",1)],512),[[Q,e.conference_data]]),D(n("div",sD," The conference is not activated. ",512),[[Q,e.anonymize?.conference?.errors?.activated]]),D(n("small",oD," Use the Conference ID that your conference provided you. This will update automatically the anonymization options based on the conference preferences. ",512),[[Q,!e.conference_data]])]),t[27]||(t[27]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),y(" Anonymization Options ")],-1)),p(" Pull Request ID "),n("div",rD,[t[6]||(t[6]=n("label",{for:"pullRequestId"},"Anonymized pull request id",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestId=i},value:e.pullRequestId,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",iD,"Id used in the url: https://anonymous.4open.science/r/"+u(e.pullRequestId),1),D(n("div",aD," Repository id can only contain letters and numbers ",512),[[Q,e.anonymize?.pullRequestId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestId)+" is already used ",513),[[Q,e.anonymize?.pullRequestId?.errors?.used]])]),p(" Terms "),n("div",lD,[t[7]||(t[7]=n("label",{for:"terms"},"Terms to anonymize",-1)),D(n("textarea",{class:T(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"3"},null,2),[[r,{state:e.viewState,set:i=>{e.terms=i},value:e.terms,form:"anonymizeForm",options:{debounce:250}}]]),t[8]||(t[8]=n("small",{id:"termsHelp",class:"form-text text-muted"},"One term per line. Each term will be replaced by XXX.",-1)),D(n("div",dD," Terms are in an invalid format ",512),[[Q,e.anonymize?.terms?.errors?.format]])]),n("div",uD,[t[10]||(t[10]=n("label",{for:"expiration"},"Expiration strategy",-1)),D((l(),d("select",cD,[...t[9]||(t[9]=[n("option",{value:"never",selected:""},"Never expire",-1),n("option",{value:"redirect"}," Redirect to GitHub when expired ",-1),n("option",{value:"remove"},"Remove when expired",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.expirationMode=i},value:e.options?.expirationMode,form:"anonymizeForm",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},"Define the expiration strategy for the anonymized repository.",-1))]),D(n("div",pD,[t[12]||(t[12]=n("label",{for:"expirationDate"},"Expiration date of the anonymized repository",-1)),D(n("input",fD,null,512),[[r,{state:e.viewState,set:i=>{e.options.expirationDate=i},value:e.options?.expirationDate,form:"anonymizeForm",options:{}}]]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", the repository will be removed and the visitor will not be able to see the content of the repository.",513),[[Q,e.options?.expirationMode=="remove"]]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", the visitors of the anonymized repository will be redirected to "+u(e.pullRequestUrl)+".",513),[[Q,e.options?.expirationMode=="redirect"]])],512),[[Q,e.options?.expirationMode!="never"]]),n("div",mD,[n("div",hD,[t[25]||(t[25]=fe('

',1)),n("div",vD,[n("div",yD,[n("div",gD,[n("div",bD,[D(n("input",wD,null,512),[[r,{state:e.viewState,set:i=>{e.options.link=i},value:e.options?.link,form:"anonymizeForm",options:{}}]]),t[13]||(t[13]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Keep or remove all the links.",-1))]),n("div",kD,[D(n("input",CD,null,512),[[r,{state:e.viewState,set:i=>{e.options.image=i},value:e.options?.image,form:"anonymizeForm",options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"Images are not anonymized",-1))]),n("div",ED,[D(n("input",SD,null,512),[[r,{state:e.viewState,set:i=>{e.options.date=i},value:e.options?.date,form:"anonymizeForm",options:{}}]]),t[17]||(t[17]=n("label",{class:"form-check-label",for:"date"},"Display dates",-1)),t[18]||(t[18]=n("small",{class:"form-text text-muted"},"Display the date of the Pull Request and the date of the comments.",-1))]),n("div",ND,[D(n("input",_D,null,512),[[r,{state:e.viewState,set:i=>{e.options.username=i},value:e.options?.username,form:"anonymizeForm",options:{}}]]),t[19]||(t[19]=n("label",{class:"form-check-label",for:"username"},"Display username",-1))]),n("div",DD,[D(n("input",RD,null,512),[[r,{state:e.viewState,set:i=>{e.options.comments=i},value:e.options?.comments,form:"anonymizeForm",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"comments"},"Display comments",-1))]),n("div",TD,[D(n("input",OD,null,512),[[r,{state:e.viewState,set:i=>{e.options.diff=i},value:e.options?.diff,form:"anonymizeForm",options:{}}]]),t[21]||(t[21]=n("label",{class:"form-check-label",for:"diff"},"Display diff",-1))]),n("div",AD,[D(n("input",ID,null,512),[[r,{state:e.viewState,set:i=>{e.options.origin=i},value:e.options?.origin,form:"anonymizeForm",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"origin"},"Display the project name",-1))]),n("div",PD,[D(n("input",VD,null,512),[[r,{state:e.viewState,set:i=>{e.options.title=i},value:e.options?.title,form:"anonymizeForm",options:{}}]]),t[23]||(t[23]=n("label",{class:"form-check-label",for:"title"},"Display the PR title",-1))]),n("div",MD,[D(n("input",qD,null,512),[[r,{state:e.viewState,set:i=>{e.options.body=i},value:e.options?.body,form:"anonymizeForm",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"body"},"Display the PR body and comment bodies",-1))])])])])])])],512),[[Q,e.pullRequestUrl]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:u(e.error)},null,8,LD)):p("v-if",!0),D(n("div",$D,[e.isUpdate?p("v-if",!0):(l(),d("button",{key:0,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[0]||(t[0]=ue(i=>e.submitForm(i,()=>{e.anonymizePullRequest(i)}),["prevent"]))},[...t[28]||(t[28]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize ",-1)])])),e.isUpdate?(l(),d("button",{key:1,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[1]||(t[1]=ue(i=>e.submitForm(i,()=>{e.updatePullRequest(i)}),["prevent"]))},[...t[29]||(t[29]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update ",-1)])])):p("v-if",!0)],512),[[Q,e.pullRequestUrl]])],2)),[[o,e.viewState]])],2)]),e.details?(l(),d("div",UD,[n("div",FD,[n("h2",zD,[e.options?.title?(l(),d("span",HD,u(e.anonymize(e.details?.pullRequest?.title)),1)):p("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},u(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:u(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,BD)):p("v-if",!0)]),e.options?.origin?(l(),d("small",jD,"Pull Request on "+u(e.details?.pullRequest?.baseRepositoryFullName),1)):p("v-if",!0),e.options?.body?(l(),d("div",GD,[Oe(s,{content:e.anonymize(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0),n("ul",WD,[e.options?.diff?(l(),d("li",KD,[...t[31]||(t[31]=[n("button",{class:"nav-link active",id:"pills-diff-tab","data-toggle":"pill","data-target":"#pills-diff",type:"button",role:"tab","aria-controls":"pills-diff","aria-selected":"true"}," Diff ",-1)])])):p("v-if",!0),e.options?.comments?(l(),d("li",YD,[n("button",{class:T(["nav-link",{active:!e.options?.diff}]),id:"pills-comments-tab","data-toggle":"pill","data-target":"#pills-comments",type:"button",role:"tab","aria-controls":"pills-comments","aria-selected":"false"},[n("span",{textContent:u(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comment",one:"One Comment",other:"{} Comments"}))},null,8,JD)],2)])):p("v-if",!0)]),n("div",QD,[n("div",XD,[e.options?.diff?(l(),d("div",ZD,[n("pre",xD,[n("code",{innerHTML:e.sanitize(e.fmt?.diff(e.anonymize(e.details?.pullRequest?.diff)))},null,8,eR)])])):p("v-if",!0)]),n("div",{class:T(["tab-pane",{"show active":!e.options?.diff}]),id:"pills-comments",role:"tabpanel","aria-labelledby":"pills-comments-tab"},[e.options?.comments?(l(),d("ul",tR,[(l(!0),d(Y,null,ie(e.details?.pullRequest?.comments,(i,a)=>(l(),d("li",nR,[n("div",sR,[e.options?.username?(l(),d("h5",oR," @"+u(e.anonymize(i?.author)),1)):p("v-if",!0),e.options?.date?(l(),d("small",{key:1,textContent:u(e.fmt?.date(i?.updatedDate))},null,8,rR)):p("v-if",!0)]),n("p",iR,[e.options?.body?(l(),Ut(s,{key:0,class:"pr-comment-body",content:e.anonymize(i?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])):p("v-if",!0)])]))),256))])):p("v-if",!0)],2)])])):p("v-if",!0)])])}var aR={class:"container paper-page claim-page"},lR={class:"paper-settings-main claim-form"},dR={class:"form-group"},uR={class:"invalid-feedback"},cR={class:"form-group"};function _l(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",aR,[t[6]||(t[6]=fe('
My work \xA0/\xA0 Claim

Claim an anonymization

Take ownership of an existing anonymized repository so it appears on your dashboard.

',3)),n("div",lR,[t[5]||(t[5]=n("p",{class:"paper-section-copy"},"Use this when an anonymization was created by a co-author or from another account. You must have access to the GitHub repository it was made from.",-1)),D((l(),d("form",{class:"form needs-validation",name:"claimForm",novalidate:"",onSubmit:t[0]||(t[0]=ue(o=>e.submitForm(o,()=>{e.claim()}),["prevent"]))},[n("div",dR,[t[1]||(t[1]=n("label",{class:"paper-field-label",for:"repoUrl"},"GitHub repository URL",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoUrl?.invalid&&(e.claimForm?.repoUrl?.touched||e.claimForm?.submitted)}]),name:"repoUrl",id:"repoUrl",placeholder:"https://github.com/owner/repository",required:""},null,2),[[s,{state:e.viewState,set:o=>{e.repoUrl=o},value:e.repoUrl,form:"claimForm",options:{}}]]),D(n("div",uR," No anonymization matches this repository and ID. Check both values and that you can access the repository on GitHub. ",512),[[Q,e.claimForm?.repoUrl?.errors?.not_found]])]),n("div",cR,[t[2]||(t[2]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoId?.invalid&&(e.claimForm?.repoId?.touched||e.claimForm?.submitted)}]),name:"repoId",id:"repoId",placeholder:"e.g. anonymous_github-72DE",required:""},null,2),[[s,{state:e.viewState,set:o=>{e.repoId=o},value:e.repoId,form:"claimForm",options:{}}]]),t[3]||(t[3]=n("small",{id:"idHelp",class:"form-text text-muted"},[y("The ID is the last part of the anonymized URL: "),n("code",null,"anonymous.4open.science/r/"),y(".")],-1))]),t[4]||(t[4]=n("button",{id:"submit",type:"submit",class:"btn btn-ink"}," Claim anonymization ",-1))],32)),[[r,e.viewState]])])])}var pR={class:"container page paper-page conference-page"},fR={class:"paper-crumbs"},mR={class:"here"},hR={class:"d-flex align-items-end flex-wrap",style:{gap:"12px","justify-content":"space-between"}},vR=["textContent"],yR={key:0,class:"paper-page-lede"},gR=["textContent","href"],bR={class:"d-flex align-items-center flex-wrap",style:{gap:"10px"}},wR=["textContent"],kR=["href"],CR={class:"paper-meta-rule"},ER=["textContent"],SR=["textContent"],NR={key:0},_R={class:"search-wrap"},DR={type:"search",id:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search by ID or source repository\u2026",autocomplete:"off"},RR={class:"dashboard-filter-controls"},TR={class:"dropdown"},OR={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},AR={class:"filter-btn-value"},IR={class:"dropdown-menu","aria-labelledby":"dropdownSort"},PR={class:"form-check dropdown-item"},VR={class:"form-check-input",type:"radio",name:"sort",id:"anonymizeDate",value:"-anonymizeDate"},MR={class:"form-check dropdown-item"},qR={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"repoId"},LR={class:"form-check dropdown-item"},$R={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},UR={class:"form-check dropdown-item"},FR={class:"form-check-input",type:"radio",name:"sort",id:"sortViews",value:"-pageView"},zR={class:"dropdown"},HR={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},BR={key:0,class:"filter-btn-value"},jR={key:1,class:"filter-btn-value"},GR={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},WR={class:"form-check dropdown-item"},KR=["id"],YR=["for"],JR={class:"dashboard-meta"},QR={class:"dashboard-count"},XR={key:0},ZR={key:0},xR={key:1},eT={key:1},tT={key:0,class:"filter-chip"},nT=["onClick","aria-label"],sT={class:"paper-table paper-table-repos w-100",role:"table","aria-label":"Repositories"},oT={class:"cell-anon",role:"cell"},rT={class:"anon-text"},iT=["textContent","href"],aT={class:"anon-sub"},lT={class:"anon-source"},dT=["textContent","href"],uT={key:0},cT=["textContent","href"],pT={key:1},fT=["href"],mT={class:"cell-status",role:"cell"},hT={class:"status-line"},vT=["textContent"],yT={key:0,class:"status-sub"},gT={class:"cell-views num",role:"cell"},bT=["textContent"],wT={class:"cell-expires",role:"cell"},kT={key:0,class:"expires-never"},CT=["textContent"],ET={key:2,class:"expires-past"},ST={key:0},NT={key:3,class:"empty-dash","aria-label":"Not applicable"},_T={class:"cell-actions",role:"cell"},DT={class:"dropdown"},RT=["aria-label"],TT={class:"dropdown-menu dropdown-menu-right"},OT=["href"],AT=["href"],IT={key:0,class:"paper-table-empty"},PT={key:0},VT={key:1},MT={key:2,class:"paper-table-empty-actions"};function Dl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",pR,[n("div",null,[n("div",fR,[t[2]||(t[2]=n("a",{href:"/dashboard"},"My work",-1)),t[3]||(t[3]=y(" \xA0/\xA0 ",-1)),t[4]||(t[4]=n("a",{href:"/conferences"},"Conferences",-1)),t[5]||(t[5]=y(" \xA0/\xA0 ",-1)),n("span",mR,u(e.conference?.conferenceID),1)]),n("div",hR,[n("div",null,[n("h1",{class:"paper-page-title",textContent:u(e.conference?.name)},null,8,vR),e.conference?.url?(l(),d("p",yR,[n("a",{target:"_blank",rel:"noopener",textContent:u(e.conference?.url),href:e.safeUrl(e.conference?.url)},null,8,gR)])):p("v-if",!0)]),n("div",bR,[n("span",{class:T(["status-pill",{"status-pill-ready":e.conference?.status=="ready","status-pill-removed":e.conference?.status=="removed"||e.conference?.status=="expired"}])},[n("span",{class:T(["status-dot","status-"+e.conference?.status]),"aria-hidden":"true"},null,2),n("span",{textContent:u(e.fmt?.statusLabel(e.conference?.status))},null,8,wR)],2),n("a",{class:"btn btn-outline-ink",href:e.safeUrl("/conference/"+e.conference?.conferenceID+"/edit")},[...t[6]||(t[6]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit conference",-1)])],8,kR)])]),n("div",CR,[n("span",null,[t[7]||(t[7]=y("ID ",-1)),n("b",{class:"commit-hash",textContent:u(e.conference?.conferenceID)},null,8,ER)]),n("span",null,[t[8]||(t[8]=y("Review window ",-1)),n("b",null,u(e.fmt?.date(e.conference?.startDate,"mediumDate"))+" \u2013 "+u(e.fmt?.date(e.conference?.endDate,"mediumDate")),1)]),n("span",null,[t[9]||(t[9]=y("Repositories ",-1)),n("b",null,u(e.fmt?.number(e.conference?.repositories?.length)),1)]),n("span",null,[t[10]||(t[10]=y("Plan ",-1)),n("b",{textContent:u(e.conference?.plan?.name||e.conference?.plan?.planID||"Free")},null,8,SR)]),e.conference?.price?(l(),d("span",NR,[t[11]||(t[11]=y("Cost so far ",-1)),n("b",null,u(e.fmt?.number(e.conference?.price,2))+" \u20AC",1)])):p("v-if",!0)]),t[32]||(t[32]=n("div",{class:"paper-section-eyebrow"},"Repositories",-1)),D((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter repositories","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=ue(o=>e.submitForm(o,()=>{o.preventDefault()}),["prevent"]))},[n("div",_R,[D(n("input",DR,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),n("div",RR,[n("div",TR,[n("button",OR,[t[12]||(t[12]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",AR,u({"-anonymizeDate":"Anonymize date",repoId:"ID","-status":"Status","-pageView":"Views"}[e.orderBy]||"Custom"),1)]),n("div",IR,[t[17]||(t[17]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",PR,[D(n("input",VR,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[13]||(t[13]=n("label",{class:"form-check-label",for:"anonymizeDate"},"Anonymize date",-1))]),n("div",MR,[D(n("input",qR,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[14]||(t[14]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",LR,[D(n("input",$R,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",UR,[D(n("input",FR,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[16]||(t[16]=n("label",{class:"form-check-label",for:"sortViews"},"Views",-1))])])]),n("div",zR,[n("button",HR,[t[18]||(t[18]=n("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",BR,"All")):p("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?p("v-if",!0):(l(),d("span",jR,u((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),n("div",GR,[t[19]||(t[19]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(Y,null,ie(e.statusLabels,(o,i,a)=>(l(),d("div",WR,[D(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,KR),[[s,{state:e.viewState,set:c=>{e.filters.status[i]=c},value:e.filters?.status[i],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+i},u(o),9,YR)]))),256))])])])],32)),[[r,e.viewState]]),n("div",JR,[n("span",QR,[e.filteredRepositories?.length===e.conference?.repositories?.length?(l(),d("span",XR,[y(u(e.fmt?.number(e.conference?.repositories?.length))+" repositor",1),e.conference?.repositories?.length===1?(l(),d("span",ZR,"y")):p("v-if",!0),e.conference?.repositories?.length!==1?(l(),d("span",xR,"ies")):p("v-if",!0)])):p("v-if",!0),e.filteredRepositories?.length!==e.conference?.repositories?.length?(l(),d("span",eT,u(e.fmt?.number(e.filteredRepositories?.length))+" of "+u(e.fmt?.number(e.conference?.repositories?.length))+" shown",1)):p("v-if",!0)]),(l(!0),d(Y,null,ie(e.filters?.status,(o,i,a)=>(l(),d(Y,null,[o===!1?(l(),d("span",tT,[y(" Hiding "+u(e.statusLabels[i])+" ",1),n("button",{type:"button",class:"filter-chip-close",onClick:c=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,nT)])):p("v-if",!0)],64))),256))]),n("div",sT,[t[31]||(t[31]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Repository"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Views"),n("div",{role:"columnheader"},"Expires"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(Y,null,ie(e.filteredRepositories,(o,i)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":o?.status=="expired"||o?.status=="removed","repo-error":o?.status=="error"}]),role:"row",key:o?.repoId},[n("div",oT,[t[22]||(t[22]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",rT,[n("a",{class:"repo-name",textContent:u(o?.repoId),href:e.safeUrl("/r/"+o?.repoId+"/")},null,8,iT),n("div",aT,[n("span",lT,[n("a",{target:"_blank",rel:"noopener",textContent:u(o?.source?.fullName),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/")},null,8,dT),o?.options?.update&&o?.source?.branch?(l(),d("span",uT,[t[20]||(t[20]=y(" \xB7 ",-1)),n("a",{target:"_blank",rel:"noopener",textContent:u(o?.source?.branch),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.branch)},null,8,cT)])):p("v-if",!0),o?.source?.commit?(l(),d("span",pT,[t[21]||(t[21]=y(" \xB7 ",-1)),n("a",{class:"commit-hash",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.commit)},"@"+u(o?.source?.commit?.substring(0,8)),9,fT)])):p("v-if",!0)])])])]),n("div",mT,[n("div",hT,[n("span",{class:T(["status-dot","status-"+(o?.status=="error"?"error":o?.status=="ready"?"ready":o?.status=="expired"||o?.status=="removed"?o?.status:"progress")]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:u(e.fmt?.statusLabel(o?.status))},null,8,vT)]),o?.anonymizeDate?(l(),d("div",yT,"anonymized "+u(e.fmt?.humanTime(o?.anonymizeDate)),1)):p("v-if",!0)]),n("div",gT,[t[23]||(t[23]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),t[24]||(t[24]=y()),n("span",{textContent:u(e.fmt?.number(o?.pageView))},null,8,bT)]),n("div",wT,[t[26]||(t[26]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),o?.status=="ready"&&(o?.options?.expirationMode==="never"||!o?.options?.expirationDate)?(l(),d("span",kT,"Never")):p("v-if",!0),o?.status=="ready"&&o?.options?.expirationMode!=="never"&&o?.options?.expirationDate?(l(),d("span",{key:1,textContent:u(e.fmt?.humanTime(o?.options?.expirationDate))},null,8,CT)):p("v-if",!0),o?.status=="expired"?(l(),d("span",ET,[t[25]||(t[25]=y("Expired",-1)),o?.options?.expirationDate?(l(),d("span",ST,u(e.fmt?.humanTime(o?.options?.expirationDate)),1)):p("v-if",!0)])):p("v-if",!0),o?.status!="ready"&&o?.status!="expired"?(l(),d("span",NT,"\u2014")):p("v-if",!0)]),n("div",_T,[n("div",DT,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+o?.repoId},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,RT),n("div",TT,[n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+o?.repoId+"/")},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View ",-1)])],8,OT),n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+o?.repoId)},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit ",-1)])],8,AT)])])])],2))),128)),e.filteredRepositories?.length==0?(l(),d("div",IT,[t[30]||(t[30]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.conference?.repositories?.length?p("v-if",!0):(l(),d("span",PT,"No repository has been submitted to this conference yet.")),e.conference?.repositories?.length?(l(),d("span",VT,"Nothing matches the current filters.")):p("v-if",!0),e.conference?.repositories?.length?(l(),d("div",MT,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=o=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")])):p("v-if",!0)])):p("v-if",!0)])])])}var qT={class:"container page paper-page conferences-page"},LT={class:"row"},$T={class:"w-100"},UT={class:"search-wrap"},FT={type:"search",id:"search",class:"form-control","aria-label":"Search conferences",placeholder:"Search by name or ID\u2026",autocomplete:"off"},zT={class:"dashboard-filter-controls"},HT={class:"dropdown"},BT={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},jT={class:"filter-btn-value"},GT={class:"dropdown-menu","aria-labelledby":"dropdownSort"},WT={class:"form-check dropdown-item"},KT={class:"form-check-input",type:"radio",name:"sort",id:"sortName",value:"name"},YT={class:"form-check dropdown-item"},JT={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"conferenceID"},QT={class:"form-check dropdown-item"},XT={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},ZT={class:"dropdown"},xT={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},e4={key:0,class:"filter-btn-value"},t4={key:1,class:"filter-btn-value"},n4={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},s4={class:"form-check dropdown-item"},o4=["id"],r4=["for"],i4={key:1,class:"dashboard-meta"},a4={class:"dashboard-count"},l4={key:0},d4={key:0},u4={key:1},c4={key:0,class:"filter-chip"},p4=["onClick","aria-label"],f4={key:0,class:"conference-feedback",role:"alert"},m4={key:1,class:"conference-feedback",role:"status"},h4={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},v4={class:"cell-anon",role:"cell"},y4={class:"anon-text"},g4=["textContent","href"],b4={class:"anon-sub"},w4={class:"anon-source"},k4=["textContent"],C4={key:0},E4=["textContent","href"],S4={class:"cell-status",role:"cell"},N4={class:"status-line"},_4=["textContent"],D4={class:"cell-views num",role:"cell"},R4=["textContent"],T4={class:"cell-expires",role:"cell"},O4={key:0},A4={key:1,class:"empty-dash","aria-label":"No review window"},I4={class:"cell-actions",role:"cell"},P4={class:"dropdown"},V4=["disabled","aria-label"],M4={class:"dropdown-menu dropdown-menu-right"},q4=["href"],L4=["href"],$4={key:0},U4=["onClick"],F4={key:0,class:"paper-table-empty"},z4={key:1},H4={class:"paper-table-empty-actions"};function Rl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",qT,[n("div",LT,[n("div",$T,[t[10]||(t[10]=fe('
My work \xA0/\xA0 Conferences

Your conferences

Group anonymizations by venue, give chairs a shared dashboard, and set one expiry for every submission.

New conference
',2)),e.conferences?.length>0?D((l(),d("form",{key:0,class:"w-100 dashboard-filter-row","aria-label":"Filter conferences","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=ue(o=>e.submitForm(o,()=>{o.preventDefault()}),["prevent"]))},[n("div",UT,[D(n("input",FT,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),n("div",zT,[n("div",HT,[n("button",BT,[t[3]||(t[3]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",jT,u({name:"Name",conferenceID:"ID","-status":"Status"}[e.orderBy]||"Custom"),1)]),n("div",GT,[t[7]||(t[7]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",WT,[D(n("input",KT,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=n("label",{class:"form-check-label",for:"sortName"},"Name",-1))]),n("div",YT,[D(n("input",JT,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[5]||(t[5]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",QT,[D(n("input",XT,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[6]||(t[6]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))])])]),n("div",ZT,[n("button",xT,[t[8]||(t[8]=n("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",e4,"All")):p("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?p("v-if",!0):(l(),d("span",t4,u((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),n("div",n4,[t[9]||(t[9]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(Y,null,ie(e.statusLabels,(o,i,a)=>(l(),d("div",s4,[D(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,o4),[[s,{state:e.viewState,set:c=>{e.filters.status[i]=c},value:e.filters?.status[i],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+i},u(o),9,r4)]))),256))])])])],32)),[[r,e.viewState]]):p("v-if",!0),e.conferences?.length>0?(l(),d("div",i4,[n("span",a4,[e.filteredConferences?.length===e.conferences?.length?(l(),d("span",l4,[y(u(e.fmt?.number(e.conferences?.length))+" conference",1),e.conferences?.length!==1?(l(),d("span",d4,"s")):p("v-if",!0)])):p("v-if",!0),e.filteredConferences?.length!==e.conferences?.length?(l(),d("span",u4,u(e.fmt?.number(e.filteredConferences?.length))+" of "+u(e.fmt?.number(e.conferences?.length))+" shown",1)):p("v-if",!0)]),(l(!0),d(Y,null,ie(e.filters?.status,(o,i,a)=>(l(),d(Y,null,[o===!1?(l(),d("span",c4,[y(" Hiding "+u(e.statusLabels[i])+" ",1),n("button",{type:"button",class:"filter-chip-close",onClick:c=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,p4)])):p("v-if",!0)],64))),256))])):p("v-if",!0)]),e.error?(l(),d("div",f4,[n("span",null,u(e.error),1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=o=>e.loadConferences())},"Retry")])):p("v-if",!0),e.loading?(l(),d("div",m4,"Loading conferences\u2026")):p("v-if",!0),n("div",h4,[t[25]||(t[25]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Conference"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Repos"),n("div",{role:"columnheader"},"Review window"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(Y,null,ie(e.filteredConferences,(o,i)=>(l(),d("div",{class:T(["paper-table-row row-clickable",{"repo-inactive":o?.status=="expired"||o?.status=="removed"}]),role:"row",key:o?.conferenceID},[n("div",v4,[t[13]||(t[13]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",y4,[n("a",{class:"repo-name",textContent:u(o?.name),href:e.safeUrl("/conference/"+o?.conferenceID)},null,8,g4),n("div",b4,[n("span",w4,[t[12]||(t[12]=y("ID ",-1)),n("span",{class:"commit-hash",textContent:u(o?.conferenceID)},null,8,k4),o?.url?(l(),d("span",C4,[t[11]||(t[11]=y(" \xB7 ",-1)),n("a",{target:"_blank",rel:"noopener",textContent:u(e.fmt?.limitTo(o?.url,60)),href:e.safeUrl(o?.url)},null,8,E4)])):p("v-if",!0)])])])]),n("div",S4,[n("div",N4,[n("span",{class:T(["status-dot","status-"+o?.status]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:u(e.fmt?.statusLabel(o?.status))},null,8,_4)])]),n("div",D4,[t[14]||(t[14]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),t[15]||(t[15]=y()),n("span",{textContent:u(e.fmt?.number(o?.nbRepositories||0))},null,8,R4)]),n("div",T4,[t[16]||(t[16]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),o?.startDate?(l(),d("span",O4,u(e.fmt?.date(o?.startDate,"mediumDate"))+" \u2013 "+u(e.fmt?.date(o?.endDate,"mediumDate")),1)):p("v-if",!0),o?.startDate?p("v-if",!0):(l(),d("span",A4,"\u2014"))]),n("div",I4,[n("div",P4,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:o?.removing,"aria-label":"Actions for "+o?.name},[...t[17]||(t[17]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,V4),n("div",M4,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/")},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View ",-1)])],8,q4),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/edit")},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit ",-1)])],8,L4),o?.status!="removed"?(l(),d("div",$4,[t[21]||(t[21]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeConference(o)},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove ",-1)])],8,U4)])):p("v-if",!0)])])])],2))),128)),!e.loading&&!e.error&&e.filteredConferences?.length==0?(l(),d("div",F4,[t[24]||(t[24]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.conferences?.length==0?(l(),d(Y,{key:0},[t[22]||(t[22]=n("strong",{class:"empty-title"},"No conferences yet",-1)),t[23]||(t[23]=n("span",null,"Create one to group submissions for a venue, share a dashboard with chairs, and set a single expiry date.",-1))],64)):p("v-if",!0),e.conferences?.length>0?(l(),d("span",z4,"Nothing matches the current filters.")):p("v-if",!0),n("div",H4,[p("v-if",!0),e.conferences?.length>0?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[2]||(t[2]=o=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")):p("v-if",!0)])])):p("v-if",!0)])])])}var B4={class:"container page dashboard-page paper-page"},j4={class:"row"},G4={class:"w-100"},W4={class:"dashboard-heading"},K4={class:"dashboard-heading-actions"},Y4=["open"],J4=["aria-expanded"],Q4=["stroke-dasharray"],X4={key:1,d:"M7 12c0-4 4-4 5 0s5 4 5 0-4-4-5 0-5 4-5 0",class:"quota-ring-unlimited"},Z4={key:0,class:"quota-summary-value"},x4={key:0},eO={class:"quota-panel",id:"dashboard-usage"},tO={class:"quota-panel-heading"},nO={key:1,class:"quota-loading",role:"status"},sO={class:"search-wrap"},oO={type:"search",id:"search",class:"form-control","aria-label":"Search anonymizations",placeholder:"Search projects\u2026",autocomplete:"off"},rO=["aria-expanded"],iO={class:"btn-group",role:"group","aria-label":"Type"},aO=["aria-pressed"],lO=["aria-pressed"],dO=["aria-pressed"],uO=["aria-pressed"],cO={class:"dropdown"},pO={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},fO={class:"filter-btn-value"},mO={class:"sr-only"},hO={class:"dropdown-menu","aria-labelledby":"dropdownSort"},vO={class:"form-check dropdown-item"},yO=["onClick","checked","id"],gO=["for"],bO={class:"dropdown"},wO={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},kO={key:0,class:"filter-btn-value"},CO={key:1,class:"filter-btn-value"},EO={key:2,class:"filter-btn-value"},SO={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},NO={class:"form-check dropdown-item"},_O=["id"],DO=["for"],RO={key:0,class:"dashboard-meta"},TO={key:0,class:"dashboard-view-tabs",role:"group","aria-label":"Project view"},OO=["aria-pressed"],AO=["aria-pressed","aria-label"],IO={class:"dashboard-count"},PO={key:0},VO={key:0},MO={key:1},qO={class:"dashboard-active-filters"},LO=["onClick","aria-label","title"],$O=["aria-busy"],UO={class:"paper-table-head",role:"row"},FO=["aria-sort"],zO=["aria-sort"],HO=["aria-sort"],BO=["aria-sort"],jO={key:0,class:"paper-table-row paper-table-skeleton",role:"row","aria-hidden":"true"},GO=["onClick"],WO={class:"cell-anon",role:"cell"},KO=["aria-label","title"],YO={class:"project-type-svg","aria-hidden":"true"},JO=["href"],QO={class:"anon-text"},XO={class:"anon-title"},ZO=["title","textContent","href"],xO=["textContent"],eA={key:2,class:"type-badge type-coauthor",title:"You are a co-author on this anonymization"},tA={class:"anon-sub"},nA=["title"],sA=["title"],oA=["title"],rA=["textContent"],iA={class:"dashboard-row-meta",role:"presentation"},aA={class:"cell-status",role:"cell"},lA={class:"status-line"},dA=["textContent"],uA=["textContent","title"],cA=["title"],pA=["href"],fA=["onClick"],mA={key:4,class:"status-sub status-sub-date"},hA=["aria-label"],vA={class:"cell-expires",role:"cell"},yA={key:0,class:"expires-never"},gA=["textContent"],bA={key:2,class:"expires-past"},wA={key:3,class:"expires-past"},kA={key:4,class:"empty-dash","aria-label":"Not applicable"},CA={class:"cell-actions",role:"cell"},EA=["onClick","disabled","title","aria-label"],SA={class:"copy-url-text"},NA={class:"project-type-svg","aria-hidden":"true"},_A=["href"],DA=["onClick","data-project-actions","aria-controls","aria-expanded"],RA=["href","aria-label"],TA=["href","title","aria-label"],OA={key:4,class:"dropdown"},AA=["data-project-actions","aria-label"],IA={class:"dropdown-menu dropdown-menu-right"},PA=["onClick","aria-controls","aria-expanded"],VA=["href"],MA=["href"],qA=["onClick","disabled"],LA=["href"],$A=["onClick"],UA=["onClick"],FA=["onClick"],zA={key:5},HA=["onClick"],BA={key:1,class:"project-details-row",role:"row"},jA=["id","onKeydown"],GA={class:"project-details-heading"},WA=["onClick"],KA={class:"project-details-list"},YA={key:0},JA={key:1},QA={key:0},XA={key:2},ZA={key:0,class:"project-progress-help"},xA=["href"],e3=["onSubmit"],t3=["for"],n3=["id"],s3={class:"project-name-controls"},o3=["id","aria-describedby","disabled"],r3=["disabled"],i3={key:0,class:"project-name-error",role:"alert"},a3={key:1,role:"status"},l3={key:0,class:"paper-table-empty"},d3={key:0},u3={key:1},c3={class:"paper-table-empty-actions"},p3={key:1,href:"/anonymize",class:"btn btn-ink"},f3={key:0,class:"dashboard-pagination"},m3={key:0,role:"alert"},h3=["disabled"];function Tl(e,t){let s=Ge("quota-usage"),r=Ee("field"),o=Ee("form");return l(),d("div",B4,[n("div",j4,[n("div",G4,[n("div",W4,[t[29]||(t[29]=n("div",null,[n("h1",{class:"paper-page-title"},"My work"),n("p",{class:"paper-page-lede"},"Manage your anonymous links.")],-1)),n("div",K4,[n("details",{class:"dashboard-quota",open:e.quotaExpanded,onToggle:t[1]||(t[1]=i=>e.quotaExpanded=i.target.open),onKeydown:t[2]||(t[2]=yt(ue(i=>e.closeQuota(),["prevent","stop"]),["esc"]))},[n("summary",{"aria-controls":"dashboard-usage","aria-expanded":e.quotaExpanded,style:Te(e.quota&&!e.quota.repository.unlimited?{"--quota-pct":e.quota.repository.percent+"%"}:null)},[(l(),d("svg",{class:T(["quota-summary-ring",e.quota?"quota-"+e.quota.repository.level:""]),viewBox:"0 0 24 24","aria-hidden":"true"},[t[22]||(t[22]=n("circle",{class:"quota-ring-track",cx:"12",cy:"12",r:"9"},null,-1)),e.quota&&!e.quota.repository.unlimited?(l(),d("circle",{key:0,class:"quota-ring-fill",cx:"12",cy:"12",r:"9",pathLength:"100","stroke-dasharray":e.quota.repository.percent+" 100"},null,8,Q4)):p("v-if",!0),e.quota?.repository.unlimited?(l(),d("path",X4)):p("v-if",!0)],2)),t[24]||(t[24]=n("span",{class:"quota-summary-label"},"Usage",-1)),e.quota?(l(),d("span",Z4,[y(u(e.fmt.number(e.quota.repository.used)),1),e.quota.repository.unlimited?p("v-if",!0):(l(),d("span",x4," / "+u(e.fmt.number(e.quota.repository.total)),1)),t[23]||(t[23]=y(" repos",-1))])):p("v-if",!0),t[25]||(t[25]=n("svg",{class:"project-type-svg quota-summary-chevron","aria-hidden":"true"},[n("use",{href:"#project-icon-chevron"})],-1))],12,J4),n("div",eO,[n("div",tO,[t[27]||(t[27]=n("h2",null,"Account usage",-1)),n("button",{type:"button",class:"project-close","aria-label":"Close usage",onClick:t[0]||(t[0]=i=>e.closeQuota())},[...t[26]||(t[26]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),e.quota?(l(),Ut(s,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):(l(),d("p",nO,"Loading usage\u2026"))])],40,Y4),t[28]||(t[28]=fe('New anonymization',1))])]),p(" Search + filters "),D((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter anonymizations","accept-charset":"UTF-8",onSubmit:t[9]||(t[9]=ue(i=>e.submitForm(i,()=>{i.preventDefault()}),["prevent"]))},[n("div",sO,[D(n("input",oO,null,512),[[r,{state:e.viewState,set:i=>{e.search=i},value:e.search,form:null,options:{}}]])]),n("button",{class:"btn dashboard-filters-toggle",type:"button","aria-expanded":e.filtersExpanded,"aria-controls":"dashboard-filter-controls",onClick:t[3]||(t[3]=i=>e.filtersExpanded=!e.filtersExpanded)},[...t[30]||(t[30]=[y("Filters",-1),n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})],-1)])],8,rO),n("div",{id:"dashboard-filter-controls",class:T(["dashboard-filter-controls",{expanded:e.filtersExpanded}])},[n("div",iO,[n("button",{type:"button",class:T(["btn",{"btn-primary":e.typeFilter==="all"}]),onClick:t[4]||(t[4]=i=>e.typeFilter="all"),"aria-pressed":e.typeFilter==="all"},"All",10,aO),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="repo"}]),title:"Repositories",onClick:t[5]||(t[5]=i=>e.typeFilter="repo"),"aria-pressed":e.typeFilter==="repo"},[...t[31]||(t[31]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("span",{class:"type-filter-label"},"Repos",-1)])],10,lO),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="pr"}]),title:"Pull requests",onClick:t[6]||(t[6]=i=>e.typeFilter="pr"),"aria-pressed":e.typeFilter==="pr"},[...t[32]||(t[32]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-pr"})],-1),n("span",{class:"type-filter-label"},"PRs",-1)])],10,dO),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="gist"}]),title:"Gists",onClick:t[7]||(t[7]=i=>e.typeFilter="gist"),"aria-pressed":e.typeFilter==="gist"},[...t[33]||(t[33]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1),n("span",{class:"type-filter-label"},"Gists",-1)])],10,uO)]),n("div",{id:"dashboard-extra-filters",class:T(["dashboard-extra-filters",{expanded:e.filtersExpanded}])},[n("div",cO,[n("button",pO,[t[35]||(t[35]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",fO,u(e.sortLabel()),1),(l(),d("svg",{class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[34]||(t[34]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)),n("span",mO,u(e.sortDesc()?"descending":"ascending"),1)]),n("div",hO,[t[36]||(t[36]=n("h6",{class:"dropdown-header"},"Order by",-1)),(l(!0),d(Y,null,ie(e.sortFields,(i,a,c)=>(l(),d("div",vO,[n("input",{class:"form-check-input",type:"radio",name:"sort",onClick:f=>e.setSort(a,i.defaultDesc),checked:e.isSortedBy(a),id:"sort-"+c},null,8,yO),n("label",{class:"form-check-label",for:"sort-"+c},u(i?.label),9,gO)]))),256)),t[37]||(t[37]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item",onClick:t[8]||(t[8]=i=>e.toggleSortDirection())},u(e.sortDesc()?"Switch to ascending":"Switch to descending"),1)])]),n("div",bO,[n("button",wO,[t[38]||(t[38]=n("span",{class:"filter-btn-label"},"Status",-1)),e.hasHiddenStatus()?p("v-if",!0):(l(),d("span",kO,"All")),e.hiddenStatusCount()===1&&e.filters?.status?.removed===!1?(l(),d("span",CO,"Active")):p("v-if",!0),e.hasHiddenStatus()&&!(e.hiddenStatusCount()===1&&e.filters?.status?.removed===!1)?(l(),d("span",EO,u(e.hiddenStatusCount()===1?"Hiding "+(e.statusKeyLabels[Object.keys(e.filters?.status||{}).find(i=>e.filters.status[i]===!1)]||"").toLowerCase():e.hiddenStatusCount()+" hidden"),1)):p("v-if",!0)]),n("div",SO,[t[39]||(t[39]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(Y,null,ie(e.statusKeyLabels,(i,a,c)=>(l(),d("div",NO,[D(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+a},null,8,_O),[[r,{state:e.viewState,set:f=>{e.filters.status[a]=f},value:e.filters?.status[a],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+a},u(i),9,DO)]))),256))])])],2)],2)],32)),[[o,e.viewState]]),p(" Result count + active filter chips "),e.loading?p("v-if",!0):(l(),d("div",RO,[e.attentionCount()>0||e.projectView==="attention"?(l(),d("div",TO,[n("button",{type:"button","aria-pressed":e.projectView==="all",onClick:t[10]||(t[10]=i=>e.setProjectView("all")),"aria-label":"All projects"},[...t[40]||(t[40]=[n("span",{class:"dashboard-view-long"},"All projects",-1),n("span",{class:"dashboard-view-short","aria-hidden":"true"},"All",-1)])],8,OO),e.attentionCount()>0||e.projectView==="attention"?(l(),d("button",{key:0,type:"button","aria-pressed":e.projectView==="attention",onClick:t[11]||(t[11]=i=>e.setProjectView("attention")),"aria-label":"Needs attention "+e.attentionCount()},[t[41]||(t[41]=n("span",{class:"dashboard-attention-prefix"},"Needs ",-1)),t[42]||(t[42]=n("span",null,"attention",-1)),t[43]||(t[43]=y()),n("span",{class:T(["attention-count",{"has-attention":e.attentionCount()>0}])},u(e.attentionCount()),3)],8,AO)):p("v-if",!0)])):p("v-if",!0),n("span",IO,[(e.dashboardTotals?.filtered??e.filteredItems?.length)===(e.dashboardTotals?.total??e.items?.length)?(l(),d("span",PO,[y(u(e.fmt?.number(e.dashboardTotals?.total??e.items?.length))+" project",1),(e.dashboardTotals?.total??e.items?.length)!==1?(l(),d("span",VO,"s")):p("v-if",!0)])):(l(),d("span",MO,[y(u(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" shown \xB7 ",1),n("button",{type:"button",class:"btn-link-inline hidden-toggle",onClick:t[12]||(t[12]=i=>e.clearFilters())},"Show "+u(e.fmt?.number((e.dashboardTotals?.total??e.items?.length)-(e.dashboardTotals?.filtered??e.filteredItems?.length)))+" removed",1)]))]),n("div",qO,[(l(!0),d(Y,null,ie(e.filters?.status,(i,a,c)=>(l(),d(Y,null,[i===!1&&!(a==="removed"&&e.hiddenStatusCount()===1)?(l(),d("button",{key:0,type:"button",class:"filter-chip",onClick:f=>e.filters.status[a]=!0,"aria-label":"Show "+e.statusKeyLabels[a]+" again",title:"Show "+e.statusKeyLabels[a]+" again"},[y("Hiding "+u((e.statusKeyLabels[a]||"").toLowerCase()),1),t[44]||(t[44]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))],8,LO)):p("v-if",!0)],64))),256)),e.typeFilter!=="all"?(l(),d("button",{key:0,type:"button",class:"filter-chip",onClick:t[13]||(t[13]=i=>e.typeFilter="all"),"aria-label":"Show all project types"},[y(u(e.typeFilter==="repo"?"Repositories":e.typeFilter==="pr"?"Pull requests":"Gists"),1),t[45]||(t[45]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))])):p("v-if",!0),e.showClearFilters()?(l(),d("button",{key:1,type:"button",class:"btn-link-inline",onClick:t[14]||(t[14]=i=>e.clearFilters())},"Clear filters")):p("v-if",!0)])]))]),p(" Table "),n("div",{class:"paper-table paper-table-dashboard",role:"table","aria-label":"Anonymizations","aria-busy":e.loading},[n("div",UO,[n("div",{role:"columnheader","aria-sort":e.isSortedBy("_label")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("_label")}]),onClick:t[15]||(t[15]=i=>e.setSort("_label"))},[t[47]||(t[47]=y(" Project ",-1)),e.isSortedBy("_label")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[46]||(t[46]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,FO),n("div",{role:"columnheader","aria-sort":e.isSortedBy("status")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("status")}]),onClick:t[16]||(t[16]=i=>e.setSort("status"))},[t[49]||(t[49]=y(" Status ",-1)),e.isSortedBy("status")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[48]||(t[48]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,zO),n("div",{role:"columnheader",class:"num","aria-sort":e.isSortedBy("pageView")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("pageView")}]),onClick:t[17]||(t[17]=i=>e.setSort("pageView"))},[t[51]||(t[51]=y(" Views ",-1)),e.isSortedBy("pageView")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[50]||(t[50]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,HO),n("div",{role:"columnheader","aria-sort":e.isSortedBy("options.expirationDate")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("options.expirationDate")}]),onClick:t[18]||(t[18]=i=>e.setSort("options.expirationDate"))},[t[53]||(t[53]=y(" Expires ",-1)),e.isSortedBy("options.expirationDate")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[52]||(t[52]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,BO),t[54]||(t[54]=n("div",{role:"columnheader",class:"col-link"},"Link",-1))]),p(" Loading skeleton: keeps the layout stable while the three lists load "),(l(),d(Y,null,ie([1,2,3,4],(i,a)=>(l(),d(Y,null,[e.loading?(l(),d("div",jO,[...t[55]||(t[55]=[n("div",{class:"cell-anon",role:"cell"},[n("span",{class:"skeleton skeleton-badge"}),n("div",{class:"anon-text"},[n("span",{class:"skeleton skeleton-line",style:{width:"38%"}}),n("span",{class:"skeleton skeleton-line skeleton-line-sm",style:{width:"56%"}})])],-1),n("div",{class:"cell-status",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"60%"}})],-1),n("div",{class:"cell-views num",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"40%"}})],-1),n("div",{class:"cell-expires",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"55%"}})],-1),n("div",{class:"cell-actions",role:"cell"},null,-1)])])):p("v-if",!0)],64))),64)),(l(!0),d(Y,null,ie(e.filteredItems,(i,a)=>(l(),d(Y,{key:i?._type+":"+(i?._id||a)},[e.loading?p("v-if",!0):(l(),d("div",{key:0,class:T(["paper-table-row",{"repo-inactive":i?._statusKey=="expired"||i?._statusKey=="removed","repo-error":i?.status=="error","row-clickable":!!i?._viewUrl}]),role:"row",onClick:c=>e.openItem(i,c)},[n("div",WO,[n("span",{class:"project-type-icon",role:"img","aria-label":i?._type==="repo"?"Repository":i?._type==="pr"?"Pull request":"Gist",title:i?._type==="repo"?"Repository":i?._type==="pr"?"Pull request":"Gist"},[(l(),d("svg",YO,[n("use",{href:"#project-type-"+i._type},null,8,JO)]))],8,KO),n("div",QO,[n("div",XO,[i?._viewUrl?(l(),d("a",{key:0,class:"repo-name",title:i._label,textContent:u(i?._label),href:e.safeUrl(i?._viewUrl)},null,8,ZO)):p("v-if",!0),i?._viewUrl?p("v-if",!0):(l(),d("span",{key:1,class:"repo-name repo-name-static",textContent:u(i?._label)},null,8,xO)),i?.role==="coauthor"?(l(),d("span",eA,"Co-author")):p("v-if",!0)]),n("div",tA,[i?._id?(l(),d("code",{key:0,class:"anonymous-id",title:i._id},u(i._id),9,nA)):p("v-if",!0),i?._type==="repo"&&i?.source?.commit?(l(),d("span",{key:1,class:"commit-hash",title:i.source.commit},u(i.source.commit.substring(0,8)),9,sA)):p("v-if",!0),i?.conference?(l(),d("span",{key:2,class:"cell-conf conf-tag",title:i?.conference},[t[56]||(t[56]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),t[57]||(t[57]=y()),n("span",{textContent:u(i?.conference)},null,8,rA)],8,oA)):p("v-if",!0)])])]),n("div",iA,[n("div",aA,[n("div",lA,[n("span",{class:T(["status-dot","status-"+i?._statusKey]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:u(e.fmt?.statusLabel(i?.status))},null,8,dA)]),i?.status=="error"&&i?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:u(e.fmt?.statusMsg(i?.statusMessage)),title:i?.statusMessage},null,8,uA)):p("v-if",!0),i?._stale?(l(),d("div",{key:1,class:"status-sub status-sub-warn",title:"Last activity "+e.fmt?.humanTime(i?.anonymizeDate||i?.lastView)}," Last activity "+u(e.fmt?.humanTime(i?.anonymizeDate||i?.lastView))+" \xB7 may be stuck ",9,cA)):p("v-if",!0),i.status==="error"&&i._editUrl?(l(),d("a",{key:2,class:"project-attention-action",href:e.safeUrl(i._editUrl)},"Fix source",8,pA)):p("v-if",!0),i._stale||i._broken?(l(),d("button",{key:3,type:"button",class:"project-attention-action",onClick:ue(c=>e.showProjectDetails(i),["stop"])},u(i._broken?"Review details":"Check progress"),9,fA)):p("v-if",!0),i?.status!="error"&&!i?._stale&&i?.anonymizeDate?(l(),d("div",mA," anonymized "+u(e.fmt?.humanTime(i?.anonymizeDate)),1)):p("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","aria-label":e.fmt.number(i.pageView)+" views"},[t[58]||(t[58]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),n("span",null,u(e.fmt.number(i.pageView)),1)],8,hA),n("div",vA,[t[59]||(t[59]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),i?._expiry?.kind==="never"?(l(),d("span",yA,"Never")):p("v-if",!0),i?._expiry?.kind==="date"?(l(),d("span",{key:1,textContent:u((e.fmt?.humanTime(i?._expiry?.date)||"").replace(/^on /,""))},null,8,gA)):p("v-if",!0),i?._expiry?.kind==="expired"&&i?._expiry?.date?(l(),d("span",bA,"Expired "+u(e.fmt?.humanTime(i?._expiry?.date)),1)):p("v-if",!0),i?._expiry?.kind==="expired"&&!i?._expiry?.date?(l(),d("span",wA,"Expired")):p("v-if",!0),i?._expiry?.kind==="none"?(l(),d("span",kA,"\u2014")):p("v-if",!0)])]),n("div",CA,[i._viewUrl?(l(),d("button",{key:0,type:"button",class:"copy-url",onClick:ue(c=>e.copyLink(i),["stop"]),disabled:!!e.copyingId,title:"Copy anonymous link: "+i._viewUrl,"aria-label":"Copy anonymous link for "+i._label},[n("span",SA,u(e.copyingId===i._type+":"+i._id?"Copied":i._viewUrl.replace(/^https?:\/\/[^/]+/,"").replace(/\/$/,"")),1),(l(),d("svg",NA,[n("use",{href:e.copyingId===i._type+":"+i._id?"#ui-icon-check":"#project-icon-copy"},null,8,_A)]))],8,EA)):p("v-if",!0),i._broken?(l(),d("button",{key:1,type:"button",class:"project-details-button",onClick:ue(c=>e.showProjectDetails(i),["stop"]),"data-project-actions":encodeURIComponent(i._type+":"+i._id),"aria-controls":e.projectDetailsId(i),"aria-expanded":e.selectedProject===i},"Details",8,DA)):p("v-if",!0),i._viewUrl?(l(),d("a",{key:2,class:"row-edit row-open",href:e.safeUrl(i._viewUrl),target:"_blank",rel:"noopener",title:"Open what reviewers see","aria-label":"Open anonymous page for "+i._label},[...t[60]||(t[60]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,RA)):p("v-if",!0),i?._editUrl&&!i?._broken?(l(),d("a",{key:3,class:"row-edit",href:e.safeUrl(i._editUrl),title:"Edit "+i._name,"aria-label":"Edit "+i._name},[...t[61]||(t[61]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1)])],8,TA)):p("v-if",!0),i?._broken?p("v-if",!0):(l(),d("div",OA,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","data-project-actions":encodeURIComponent(i._type+":"+i._id),"aria-label":"Actions for "+i?._name},[...t[62]||(t[62]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,AA),n("div",IA,[n("button",{type:"button",class:"dropdown-item",onClick:c=>e.showProjectDetails(i),"aria-controls":e.projectDetailsId(i),"aria-expanded":e.selectedProject===i},"Project details & name",8,PA),n("a",{class:"dropdown-item",href:e.safeUrl(i?._viewUrl)}," View ",8,VA),i?._type==="repo"&&i?.options?.page&&i?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+i?.repoId+"/")}," View page ",8,MA)):p("v-if",!0),i?._viewUrl?(l(),d("button",{key:1,type:"button",class:"dropdown-item",onClick:c=>e.copyLink(i),disabled:!!e.copyingId}," Copy anonymous link ",8,qA)):p("v-if",!0),n("a",{class:"dropdown-item",href:e.safeUrl(i?._editUrl)}," Edit ",8,LA),i?.status=="ready"||i?.status=="error"?(l(),d("button",{key:2,type:"button",class:"dropdown-item",onClick:c=>e.refreshItem(i)}," Force update ",8,$A)):p("v-if",!0),i?.status=="removed"?(l(),d("button",{key:3,type:"button",class:"dropdown-item",onClick:c=>e.refreshItem(i)}," Enable ",8,UA)):p("v-if",!0),i?.status=="expired"?(l(),d("button",{key:4,type:"button",class:"dropdown-item",onClick:c=>e.extendItem(i)}," Extend 6 months ",8,FA)):p("v-if",!0),(i?.status=="ready"||i?.status=="expired"||i?.status=="error")&&i?.role!=="coauthor"?(l(),d("div",zA,[t[63]||(t[63]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:c=>e.removeItem(i)}," Remove ",8,HA)])):p("v-if",!0)])]))])],10,GO)),!e.loading&&e.selectedProject===i?(l(),d("div",BA,[n("div",{class:"project-details",role:"cell","aria-colspan":"5",id:e.projectDetailsId(i),tabindex:"-1",onKeydown:yt(ue(c=>e.closeProjectDetails(i),["stop"]),["esc"])},[n("div",GA,[t[65]||(t[65]=n("h2",null,"Project details",-1)),n("button",{type:"button",class:"project-close",onClick:c=>e.closeProjectDetails(i),"aria-label":"Close project details"},[...t[64]||(t[64]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,WA)]),n("dl",KA,[n("div",null,[t[66]||(t[66]=n("dt",null,"Source",-1)),n("dd",null,u(i._source||"Not available"),1)]),n("div",null,[t[67]||(t[67]=n("dt",null,"Anonymous ID",-1)),n("dd",null,[n("code",null,u(i._id||"Missing identifier"),1)])]),i.source?.commit?(l(),d("div",YA,[t[68]||(t[68]=n("dt",null,"Commit",-1)),n("dd",null,[n("code",null,u(i.source.commit),1)])])):p("v-if",!0),i.conference?(l(),d("div",JA,[t[69]||(t[69]=n("dt",null,"Conference",-1)),n("dd",null,u(i.conference),1)])):p("v-if",!0),n("div",null,[t[70]||(t[70]=n("dt",null,"Status",-1)),n("dd",null,[y(u(e.fmt.statusLabel(i.status)),1),i.statusMessage?(l(),d("span",QA," \xB7 "+u(e.fmt.statusMsg(i.statusMessage)),1)):p("v-if",!0)])]),i.anonymizeDate?(l(),d("div",XA,[t[71]||(t[71]=n("dt",null,"Last anonymized",-1)),n("dd",null,u(e.fmt.humanTime(i.anonymizeDate)),1)])):p("v-if",!0)]),i._stale?(l(),d("p",ZA,"This download has not progressed recently. Check the source access and selected branch before retrying.")):p("v-if",!0),i._editUrl?(l(),d("a",{key:1,class:"project-attention-action",href:e.safeUrl(i._editUrl)},u(e.needsAttention(i)?"Check source settings":"Edit anonymization settings"),9,xA)):p("v-if",!0),i._id?(l(),d("form",{key:2,class:"project-name-form",onSubmit:ue(c=>e.saveProjectName(i),["prevent"])},[n("label",{for:"project-name-"+i._type+"-"+i._id},"Project name",8,t3),n("p",{id:"project-name-help-"+i._type+"-"+i._id},"Only you see this name. Leave it blank to use the default.",8,n3),n("div",s3,[D(n("input",{class:"form-control",type:"text",id:"project-name-"+i._type+"-"+i._id,"aria-describedby":"project-name-help-"+i._type+"-"+i._id,maxlength:"100","onUpdate:modelValue":t[19]||(t[19]=c=>e.projectName=c),disabled:e.nameSaving},null,8,o3),[[ps,e.projectName]]),n("button",{class:"btn btn-ink",type:"submit",disabled:e.nameSaving},u(e.nameSaving?"Saving\u2026":"Save name"),9,r3)]),e.nameError?(l(),d("p",i3,u(e.nameError),1)):p("v-if",!0),e.nameMessage?(l(),d("p",a3,u(e.nameMessage),1)):p("v-if",!0)],40,e3)):p("v-if",!0)],40,jA)])):p("v-if",!0)],64))),128)),!e.loading&&e.filteredItems?.length==0?(l(),d("div",l3,[t[73]||(t[73]=n("svg",{class:"project-type-svg project-empty-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.hasProjects()?p("v-if",!0):(l(),d("span",d3,"You have no anonymizations yet.")),e.hasProjects()?(l(),d("span",u3,"Nothing matches the current filters.")):p("v-if",!0),n("div",c3,[e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[20]||(t[20]=i=>e.clearFilters())},"Clear filters")):p("v-if",!0),e.hasProjects()?p("v-if",!0):(l(),d("a",p3,[...t[72]||(t[72]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),y(" New anonymization",-1)])]))])])):p("v-if",!0)],8,$O)]),e.dashboardCursor||e.dashboardError?(l(),d("div",f3,[e.dashboardError?(l(),d("p",m3,u(e.dashboardError),1)):p("v-if",!0),e.dashboardCursor?(l(),d("button",{key:1,type:"button",class:"btn",onClick:t[21]||(t[21]=i=>e.loadMoreProjects()),disabled:e.loadingMore},u(e.loadingMore?"Loading\u2026":"Load more projects"),9,h3)):p("v-if",!0)])):p("v-if",!0)])}var v3={class:"viewer-bar"},y3={class:"vb-left"},g3=["aria-label","title"],b3={class:"vb-right"},w3=["title"],k3={class:"vb-help"},C3=["aria-expanded"],E3={key:0,class:"acct-menu vb-help-menu",role:"menu"},S3=["aria-label","title"],N3={class:"ui-icon","aria-hidden":"true"},_3=["href"],D3={key:1,class:"acct"},R3=["aria-label","aria-expanded"],T3=["src"],O3={key:1,class:"acct-initial"},A3={key:0,class:"acct-menu",role:"menu"},I3={class:"acct-menu-head"},P3={key:2,class:"vb-signin",href:"/signin",target:"_self"},V3=["aria-label"],M3={class:"ui-icon","aria-hidden":"true"},q3=["href"],L3=["textContent"],$3={class:"leftCol-head"},U3={class:"leftCol-search"},F3={class:"tree-search-box"},z3=["href"],H3={type:"text",class:"tree-search-input",placeholder:"Search files","aria-label":"Search files"},B3=["title","href"],j3={class:"leftCol-body"},G3={key:0,class:"paper-inline-warning",role:"alert"},W3={key:1,class:"paper-inline-warning",role:"alert"},K3={class:"explorer-main"},Y3={class:"breadcrumb paths","aria-label":"Path"},J3={class:"breadcrumb-item breadcrumb-root"},Q3=["href","title","textContent"],X3=["aria-current","textContent"],Z3=["aria-label","title"],x3={class:"ui-icon","aria-hidden":"true"},eI=["href"],tI={class:"status-bar-actions"},nI=["href"],sI={class:"d-none d-md-inline"},oI={class:"ui-icon","aria-hidden":"true"},rI=["href"],iI={class:"d-none d-md-inline"},aI=["href"],lI={class:"explorer-content"};function Ol(e,t){let s=Ge("tree"),r=Ge("partial-view"),o=Ee("field");return l(),d("div",{class:T(["explorer-page",{"files-hidden":e.sidebarHidden}]),style:Te({"--sidebar-w":e.sidebarWidth+"px"})},[n("header",v3,[n("div",y3,[t[14]||(t[14]=n("a",{class:"vb-logo",href:"/"},[y("Anonymous "),n("em",null,"GitHub")],-1)),n("button",{type:"button",class:"vb-icon vb-sidebar","aria-label":e.sidebarHidden?"Show file tree":"Hide file tree",title:e.sidebarHidden?"Show file tree":"Hide file tree",onClick:t[0]||(t[0]=i=>e.sidebarHidden=!e.sidebarHidden)},[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1)])],8,g3)]),n("div",b3,[e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("span",{key:0,class:"vb-snapshot",title:e.options?.anonymizedAt&&!e.options?.publishedAt?"Older repositories have no recorded publication date. The source commit date does not establish when files became available here.":(e.options?.sourceCommitDate?"Source commit ":e.options?.anonymizedAt?"Anonymized ":"Updated ")+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+(e.options?.publishedAt?" \xB7 snapshot ready "+e.fmt?.date(e.options.publishedAt):"")},[t[15]||(t[15]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[16]||(t[16]=n("span",null,"Snapshot",-1)),t[17]||(t[17]=n("span",{class:"vb-dot","aria-hidden":"true"},"\xB7",-1)),n("span",null,u(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)],8,w3)):p("v-if",!0),t[25]||(t[25]=n("a",{class:"vb-support",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Support Anonymous GitHub \u2014 help keep it free for researchers"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})]),n("span",null,"Support")],-1)),n("div",k3,[n("button",{type:"button",class:"vb-help-btn","aria-haspopup":"true","aria-expanded":e.helpOpen?"true":"false",onClick:t[1]||(t[1]=ue(i=>e.helpOpen=!e.helpOpen,["stop"]))},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),n("span",null,"Help",-1)])],8,C3),e.helpOpen?(l(),d("div",E3,[...t[19]||(t[19]=[n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),n("span",null,[y("FAQ"),n("small",null,"How anonymization works")])],-1),n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),n("span",null,[y("Report a bug"),n("small",null,"About this service, not the paper")])],-1)])])):p("v-if",!0)]),n("button",{type:"button",class:"vb-icon","aria-label":e.isDarkMode?"Switch to light mode":"Switch to dark mode",title:e.isDarkMode?"Light mode":"Dark mode",onClick:t[2]||(t[2]=i=>e.darkMode(!e.isDarkMode))},[(l(),d("svg",N3,[n("use",{href:e.isDarkMode?"#ui-icon-sun":"#ui-icon-moon"},null,8,_3)]))],8,S3),e.user?(l(),d("div",D3,[n("button",{type:"button",class:"acct-chip","aria-haspopup":"true","aria-label":"Account: "+e.user?.username,"aria-expanded":e.accountOpen?"true":"false",onClick:t[3]||(t[3]=ue(i=>e.accountOpen=!e.accountOpen,["stop"]))},[e.user?.photo?(l(),d("img",{key:0,src:e.safeUrl(e.user.photo),alt:"",width:"26",height:"26"},null,8,T3)):(l(),d("span",O3,u((e.user?.username||"?").charAt(0).toUpperCase()),1))],8,R3),e.accountOpen?(l(),d("div",A3,[n("div",I3,[t[20]||(t[20]=y("Signed in as ",-1)),n("b",null,"@"+u(e.user?.username),1)]),t[21]||(t[21]=n("a",{role:"menuitem",href:"/dashboard"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})]),y("My work")],-1)),t[22]||(t[22]=n("a",{role:"menuitem",href:"/profile"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})]),y("Settings")],-1)),t[23]||(t[23]=n("a",{role:"menuitem",href:"/api/user/logout",target:"_self"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-logout"})]),y("Sign out")],-1))])):p("v-if",!0)])):(l(),d("a",P3,[...t[24]||(t[24]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1),y("Sign in",-1)])]))])]),D(n("button",{class:"sidebar-toggle",onClick:t[4]||(t[4]=i=>e.sidebarCollapsed=!e.sidebarCollapsed),"aria-label":e.sidebarCollapsed?"Show files":"Hide files"},[(l(),d("svg",M3,[n("use",{href:e.sidebarCollapsed?"#ui-icon-folder":"#project-icon-close"},null,8,q3)])),n("span",{textContent:u(e.sidebarCollapsed?"Files":"Close")},null,8,L3)],8,V3),[[Q,e.files?.length]]),D(n("div",{class:T(["leftCol",{collapsed:e.sidebarCollapsed}])},[n("div",$3,[t[27]||(t[27]=n("span",{class:"leftCol-eyebrow"},"Files",-1)),n("button",{class:"leftCol-close","aria-label":"Close files",onClick:t[5]||(t[5]=i=>e.sidebarCollapsed=!0)},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),n("div",U3,[n("div",F3,[(l(),d("svg",{class:T(["ui-icon tree-search-icon",{"fa-spin":e.fileSearchLoading}]),"aria-hidden":"true"},[n("use",{href:e.fileSearchLoading?"#ui-icon-spinner":"#ui-icon-search"},null,8,z3)],2)),D(n("input",H3,null,512),[[o,{state:e.viewState,set:i=>{e.fileSearchQuery=i},value:e.fileSearchQuery,form:null,options:{debounce:300},change:()=>{e.onFileSearchChange()}}]]),D(n("kbd",{class:"tree-search-kbd"},u(e.isMac?"\u2318":"Ctrl+")+"K",513),[[Q,!e.fileSearchQuery]]),D(n("button",{class:"tree-search-clear","aria-label":"Clear search",onClick:t[6]||(t[6]=i=>{e.fileSearchQuery="",e.onFileSearchChange()})},"\xD7",512),[[Q,e.fileSearchQuery]])]),e.options?.download?(l(),d("a",{key:0,target:"_self",class:"search-zip","aria-label":"Download repository as ZIP",title:"Download the repository (snapshot "+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+") as ZIP",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-zip"})],-1)])],8,B3)):p("v-if",!0)]),n("div",j3,[e.options?.truncatedFolders?.length>0?(l(),d("div",G3,[t[29]||(t[29]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fmt?.translate("WARNINGS.repo_truncated")),1)])):p("v-if",!0),e.options?.hasSubmodules?(l(),d("div",W3,[t[30]||(t[30]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fmt?.translate("WARNINGS.submodules_not_included")),1)])):p("v-if",!0),Oe(s,{class:"files",file:e.files,"search-query":e.fileSearchQuery,"search-results":e.fileSearchResults,page:e.viewState},null,8,["file","search-query","search-results","page"])])],2),[[Q,e.files?.length]]),D(n("div",{class:"leftCol-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file tree",title:"Drag to resize",onPointerdown:t[7]||(t[7]=i=>e.startSidebarResize(i))},null,544),[[Q,e.files?.length&&!e.sidebarHidden]]),D(n("div",{class:"leftCol-backdrop",onClick:t[8]||(t[8]=i=>e.sidebarCollapsed=!0)},null,512),[[Q,e.files?.length&&!e.sidebarCollapsed]]),n("div",K3,[n("div",{class:T(["status-bar",{"is-redundant":["code","text","html"].includes(e.type)&&e.content!=null&&!(e.options?.isAdmin||e.options?.isOwner||e.options?.hasWebsite)}])},[D(n("button",{type:"button",class:"btn btn-sm status-files-btn","aria-label":"Show files",title:"Show files",onClick:t[9]||(t[9]=i=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-folder"})],-1),n("span",null,"Files",-1)])],512),[[Q,e.files?.length]]),n("ol",Y3,[n("li",J3,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:u(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,Q3)]),(l(!0),d(Y,null,ie(e.paths,(i,a)=>(l(),d("li",{class:"breadcrumb-item","aria-current":a===e.paths.length-1?"page":null,textContent:u(i)},null,8,X3))),256))]),D(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy path",title:e.pathCopied?"Path copied":"Copy path",onClick:t[10]||(t[10]=i=>e.copyPath())},[(l(),d("svg",x3,[n("use",{href:e.pathCopied?"#ui-icon-check":"#project-icon-copy"},null,8,eI)]))],8,Z3),[[Q,e.filePath]]),n("div",tI,[e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,nI)):p("v-if",!0),e.type=="html-doc"&&!e.showSource?(l(),d("button",{key:1,class:T(["btn btn-sm",{"btn-active":e.allowScripts}]),"aria-label":"Allow this document to run JavaScript",title:"Scripts in this file are blocked by default. Enable them only if you trust the repository \u2014 the document stays isolated from your session either way.",onClick:t[11]||(t[11]=i=>e.toggleAllowScripts())},[t[33]||(t[33]=n("i",{class:"fab fa-js"},null,-1)),n("span",sI,u(e.allowScripts?"JS on":"JS off"),1)],2)):p("v-if",!0),e.type=="html-doc"?(l(),d("button",{key:2,class:"btn btn-sm","aria-label":"Toggle between the rendered document and its source",title:"Toggle between the rendered document and its source",onClick:t[12]||(t[12]=i=>e.toggleSource())},[(l(),d("svg",oI,[n("use",{href:e.showSource?"#project-icon-eye":"#ui-icon-code"},null,8,rI)])),n("span",iI,u(e.showSource?"Rendered":"Source"),1)])):p("v-if",!0),e.options?.hasWebsite?(l(),d("a",{key:3,target:"_self",class:"btn btn-sm","aria-label":"Website",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),n("span",{class:"d-none d-md-inline"}," Website",-1)])],8,aI)):p("v-if",!0)])],2),n("div",lI,[Oe(r,{name:"partials/pageView.htm",state:e.viewState},null,8,["state"])])])],6)}var dI={class:"paper-faq"},uI={class:"paper-faq-body"},cI={class:"paper-faq-toc"};function Al(e,t){let s=Ee("paper-scrollspy");return l(),d("div",dI,[t[2]||(t[2]=fe('
Help

Answers to the questions that come up most.

Can\u2019t find your answer? Open an issue on GitHub.

',1)),n("div",uI,[D((l(),d("aside",cI,[...t[0]||(t[0]=[fe('
Contents
',2)])])),[[s]]),t[1]||(t[1]=n("section",{class:"faq-section","aria-label":"FAQs"},[n("div",null,[p(" General "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y("General ")]),n("div",{class:"panel-group",id:"faq-general",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingWhatIs"},[n("h3",{class:"panel-title"},[n("a",{role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#whatIs","aria-expanded":"true","aria-controls":"whatIs"}," What is Anonymous GitHub? ")])]),n("div",{id:"whatIs",class:"panel-collapse collapse show",role:"tabpanel","aria-labelledby":"headingWhatIs"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub is a free, open-source tool that anonymizes GitHub repositories and pull requests for double-anonymous (double-blind) peer review. It replaces identifying information \u2014 such as the repository owner, organization name, and custom terms \u2014 so that reviewers cannot determine the identity of the authors through the code repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingHowWork"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#howWork","aria-expanded":"false","aria-controls":"howWork"}," How does Anonymous GitHub work? ")])]),n("div",{id:"howWork",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingHowWork"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub either downloads the complete repository and anonymizes the content, or proxies requests to GitHub on the fly. In both cases, the original and anonymized versions of files are cached on the server. The system automatically detects and replaces the repository owner, organization name, and repository name. You can also specify additional custom terms to anonymize using one-per-line regex patterns. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingScope"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#scope","aria-expanded":"false","aria-controls":"scope"}," What is the scope of anonymization? ")])]),n("div",{id:"scope",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingScope"},[n("div",{class:"panel-body p-3"},[n("p",null," In double-anonymous peer review, the boundary of anonymization is the paper plus its online appendix \u2014 not the entire internet. Searching for any part of the paper or the online appendix can be considered a deliberate attempt to break anonymity. Anonymous GitHub anonymizes the repository owner, organization, repository name, file and directory names, and file contents across all text-based file types. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCost"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#cost","aria-expanded":"false","aria-controls":"cost"}," How much does it cost? ")])]),n("div",{id:"cost",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCost"},[n("div",{class:"panel-body p-3"},[n("p",null,[y(" Anonymous GitHub is completely free to use. However, the server costs hundreds of dollars per year to maintain. If you find the service useful, a small donation would be greatly appreciated. You can support the project by "),n("a",{href:"https://github.com/sponsors/tdurieux/",target:"_blank"},"sponsoring on GitHub"),y(", donating through "),n("a",{href:"https://ko-fi.com/tdurieux",target:"_blank"},"Ko-fi"),y(', or by clicking the "Support me" button on the site. ')])])])])]),p(" Features "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})]),y("Features ")]),n("div",{class:"panel-group",id:"faq-features",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingFormats"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#formats","aria-expanded":"false","aria-controls":"formats"}," Which file formats are supported? ")])]),n("div",{id:"formats",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFormats"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub can display and render a wide variety of file types: "),n("ul",null,[n("li",null,[n("strong",null,"Text and source code"),y(" \u2014 displayed with syntax highlighting")]),n("li",null,[n("strong",null,"Markdown"),y(" \u2014 rendered as formatted HTML")]),n("li",null,[n("strong",null,"Images"),y(" (PNG, JPG, SVG, etc.) \u2014 displayed inline")]),n("li",null,[n("strong",null,"PDFs"),y(" \u2014 rendered directly in the browser")]),n("li",null,[n("strong",null,"Jupyter Notebooks"),y(" \u2014 rendered with code cells and outputs")])]),n("p",null," Only text-based files are anonymized. Anonymous GitHub analyzes the content of each file to determine whether it is textual or binary. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPR"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#pullRequests","aria-expanded":"false","aria-controls":"pullRequests"}," Can I anonymize pull requests? ")])]),n("div",{id:"pullRequests",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPR"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. In addition to full repositories, Anonymous GitHub supports anonymizing individual pull requests. Simply paste the URL of a GitHub pull request when creating a new anonymized repository, and the system will automatically detect that it is a pull request and anonymize it accordingly. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingConference"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#conference","aria-expanded":"false","aria-controls":"conference"}," What is the Conference ID feature? ")])]),n("div",{id:"conference",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConference"},[n("div",{class:"panel-body p-3"},[n("p",null," When creating an anonymized repository, you can associate it with a Conference ID. This allows conferences to define default anonymization settings (such as expiration dates) that are automatically applied to repositories submitted under that conference. If your conference provides a Conference ID, enter it during the anonymization setup. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingExpiration"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#expiration","aria-expanded":"false","aria-controls":"expiration"}," What happens when an anonymized repository expires? ")])]),n("div",{id:"expiration",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingExpiration"},[n("div",{class:"panel-body p-3"},[n("p",null," You can configure one of three expiration strategies when creating your anonymized repository: "),n("ul",null,[n("li",null,[n("strong",null,"Never expire"),y(" \u2014 the anonymized repository remains accessible indefinitely.")]),n("li",null,[n("strong",null,"Redirect to GitHub"),y(" \u2014 after expiration, visitors are redirected to the original GitHub repository.")]),n("li",null,[n("strong",null,"Remove content"),y(" \u2014 after expiration, the anonymized content is deleted from the server.")])])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDownload"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#download","aria-expanded":"false","aria-controls":"download"}," Can I download an anonymized repository? ")])]),n("div",{id:"download",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDownload"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymized repositories can be downloaded as a ZIP file. This is useful if reviewers want to build or test the code locally. The downloaded archive contains the fully anonymized version of the repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingUpdates"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#updates","aria-expanded":"false","aria-controls":"updates"}," Are updates to the original repository reflected in the anonymized version? ")])]),n("div",{id:"updates",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingUpdates"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. The anonymized repository tracks the source on GitHub: when you push new commits to the original repository, the anonymized view picks up those changes (cached files are refreshed against GitHub). This means you can keep iterating on the code while reviewers have the link, and you do not need to recreate the anonymized repository every time you update the source. "),n("p",null," A few practical implications worth keeping in mind: "),n("ul",null,[n("li",null," You can safely create the anonymized repository early in the writing process \u2014 later commits will be visible to reviewers without any additional action. "),n("li",null," If you rename files, add new identifiers, or introduce new contributor names after creation, revisit the anonymization options (custom terms, file filters) to make sure the new content is still properly anonymized. "),n("li",null," If the original repository is made private or deleted, the anonymized repository will no longer be able to fetch updated content. ")])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCLI"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#cli","aria-expanded":"false","aria-controls":"cli"}," Is there a command-line tool? ")])]),n("div",{id:"cli",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCLI"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymous GitHub provides a CLI tool that lets you anonymize repositories locally, generating an anonymized ZIP file on your machine. Install it via npm: "),n("pre",{style:{"background-color":"var(--hover-bg-color)",padding:"12px","border-radius":"4px","margin-top":"8px",color:"var(--color)"}},[n("code",null,`npm install -g @tdurieux/anonymous_github -anonymous_github`)])])])])]),p(" Limitations "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})]),y("Limitations ")]),n("div",{class:"panel-group",id:"faq-limitations",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingLimitation"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-limitations",href:"#limitation","aria-expanded":"false","aria-controls":"limitation"}," What are the limitations of Anonymous GitHub? ")])]),n("div",{id:"limitation",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingLimitation"},[n("div",{class:"panel-body p-3"},[n("ul",null,[n("li",null," Anonymous GitHub only anonymizes text-based files. Binary files (compiled executables, archives, etc.) are served as-is without anonymization. "),n("li",null," Files larger than 8 MB are not supported. "),n("li",null," Static site generators (such as Jekyll) used with GitHub Pages are not fully supported, although Markdown files are converted to HTML. "),n("li",null," The anonymization of terms within source code may change the behavior of the program (e.g., if a replaced term appears in a string literal or identifier). ")])])])])]),p(" Privacy & Security "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),y("Privacy & Security ")]),n("div",{class:"panel-group",id:"faq-privacy",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingData"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#data","aria-expanded":"false","aria-controls":"data"}," How is my data handled? ")])]),n("div",{id:"data",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingData"},[n("div",{class:"panel-body p-3"},[n("p",null," Data stored on Anonymous GitHub is never shared or used for any purpose beyond providing the anonymization service. When a repository is removed or expires, only its configuration is retained \u2014 this makes it easy to restore the repository if needed and ensures that no future repository reuses the same ID. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPermissions"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#permissions","aria-expanded":"false","aria-controls":"permissions"}," Why does GitHub say Anonymous GitHub asks for write access? ")])]),n("div",{id:"permissions",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPermissions"},[n("div",{class:"panel-body p-3"},[n("p",null,[y("The GitHub App has read-only access to the repositories you choose. You can change repository access on your "),n("a",{href:"/connections"},"GitHub connections"),y(" page.")]),n("p",null,"Legacy GitHub OAuth includes write access to private repositories because GitHub's OAuth scopes do not offer a read-only option for them. Existing OAuth anonymizations and gists can still use this connection."),n("p",null,"Anonymous GitHub reads repository content. It never pushes, modifies, or deletes files on GitHub.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingViewer"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#viewer","aria-expanded":"false","aria-controls":"viewer"}," Can repository owners see who viewed their anonymized repository? ")])]),n("div",{id:"viewer",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingViewer"},[n("div",{class:"panel-body p-3"},[n("p",null," No. Only the total number of views is tracked as an incremental counter. It is not possible for the repository owner or for Anonymous GitHub to identify individual viewers. Reviewer anonymity is fully preserved. ")])])])]),p(" Self-Hosting "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-storage"})]),y("Self-Hosting ")]),n("div",{class:"panel-group",id:"faq-hosting",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDeploy"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-hosting",href:"#deploy","aria-expanded":"false","aria-controls":"deploy"}," Can I deploy my own instance? ")])]),n("div",{id:"deploy",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDeploy"},[n("div",{class:"panel-body p-3"},[n("p",null,[y(" Yes. Anonymous GitHub is fully open source (GPL-3.0) and supports Docker-based deployment. You will need to configure a GitHub OAuth app and provide a GitHub token. Detailed setup instructions are available on the "),n("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),y(". ")]),n("p",null," The basic steps are: "),n("ol",null,[n("li",null,"Clone the repository and install dependencies"),n("li",null,[y("Create a "),n("code",null,".env"),y(" file with your GitHub token, OAuth client ID, and client secret")]),n("li",null,[y("Run "),n("code",null,"docker-compose up -d")])])])])])]),n("div",{class:"text-center mt-5 mb-5 p-4",style:{"background-color":"var(--hover-bg-color)","border-radius":"8px"}},[n("p",{class:"mb-2",style:{"font-size":"1.1rem"}}," Still have questions? "),n("p",{class:"text-muted mb-0"},[y(" Open an issue on the "),n("a",{href:"https://github.com/tdurieux/anonymous_github/issues",target:"_blank"},"GitHub repository"),y(" and we'll be happy to help. ")])])])],-1))])])}var pI={class:"pr-page"},fI={class:"container paper-page pr-page-inner"},mI={class:"pr-header"},hI={class:"pr-title-row"},vI={class:"paper-page-title pr-title"},yI=["textContent"],gI={key:1,class:"text-muted"},bI=["href"],wI={class:"pr-header-meta"},kI={key:0,class:"pr-meta-item"},CI=["textContent"],EI={key:1,class:"pr-meta-item"},SI=["textContent"],NI={key:2,class:"pr-meta-item"},_I=["textContent"],DI={key:0,class:"paper-tabs",role:"tablist"},RI=["aria-selected","tabindex"],TI=["textContent"],OI=["aria-selected","tabindex"],AI=["textContent"],II={class:"paper-tab-content"},PI={key:0,role:"tabpanel",id:"gist-files-panel","aria-labelledby":"gist-files-tab"},VI={class:"pr-comments"},MI={class:"pr-comment"},qI={class:"pr-comment-head"},LI=["textContent"],$I={key:0,class:"pr-comment-date"},UI={key:0,class:"paper-table-empty"},FI={key:1,role:"tabpanel",id:"gist-comments-panel","aria-labelledby":"gist-comments-tab"},zI={class:"pr-comments"},HI={class:"pr-comment"},BI={class:"pr-comment-head"},jI={key:0,class:"pr-comment-author"},GI=["textContent"],WI=["textContent"],KI={key:0,class:"pr-comment-body"},YI={key:0,class:"paper-table-empty"};function Il(e,t){let s=Ge("gist-file"),r=Ge("markdown");return l(),d("div",pI,[n("div",fI,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),n("span",{class:"here"},"Gist")],-1)),n("header",mI,[n("div",hI,[n("h1",vI,[e.details?.description?(l(),d("span",{key:0,textContent:u(e.details?.description)},null,8,yI)):p("v-if",!0),e.details?.description?p("v-if",!0):(l(),d("span",gI,"Untitled gist"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/gist-anonymize/"+e.gistId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,bI)):p("v-if",!0)]),n("div",wI,[n("span",{class:T(["paper-pill",{good:e.details?.isPublic,warn:!e.details?.isPublic}])},u(e.details?.isPublic?"Public":"Secret"),3),e.details?.ownerLogin?(l(),d("span",kI,[t[5]||(t[5]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[6]||(t[6]=y(" @",-1)),n("span",{textContent:u(e.details?.ownerLogin)},null,8,CI)])):p("v-if",!0),e.details?.updatedDate?(l(),d("span",EI,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=y()),n("span",{textContent:u(e.fmt?.date(e.details?.updatedDate))},null,8,SI)])):p("v-if",!0),e.details?.anonymizeDate?(l(),d("span",NI,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=y(" Anonymized ",-1)),n("span",{textContent:u(e.fmt?.date(e.details?.anonymizeDate))},null,8,_I)])):p("v-if",!0)])]),e.details?.files&&e.details?.files?.length||e.details?.comments&&e.details?.comments?.length?(l(),d("nav",DI,[e.details?.files?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="files"}]),type:"button",role:"tab",id:"gist-files-tab","aria-selected":e.tabState?.active==="files","aria-controls":"gist-files-panel",tabindex:e.tabState?.active==="files"?0:-1,onKeydown:t[0]||(t[0]=o=>e.previewTabKeydown(o)),onClick:t[1]||(t[1]=o=>e.tabState.active="files")},[t[11]||(t[11]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.files?.length,{0:"No files",one:"1 file",other:"{} files"}))},null,8,TI)],42,RI)):p("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"gist-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"gist-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=o=>e.previewTabKeydown(o)),onClick:t[3]||(t[3]=o=>e.tabState.active="comments")},[t[12]||(t[12]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,AI)],42,OI)):p("v-if",!0)])):p("v-if",!0),n("div",II,[e.details?.files&&e.tabState?.active=="files"?(l(),d("div",PI,[n("ul",VI,[(l(!0),d(Y,null,ie(e.details?.files,(o,i)=>(l(),d("li",MI,[n("div",qI,[n("strong",{textContent:u(o?.filename)},null,8,LI),o?.language?(l(),d("span",$I,u(o?.language),1)):p("v-if",!0)]),Oe(s,{file:o},null,8,["file"])]))),256)),e.details?.files?.length?p("v-if",!0):(l(),d("li",UI,[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1),n("span",null,"No files in this gist.",-1)])]))])])):p("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",FI,[n("ul",zI,[(l(!0),d(Y,null,ie(e.details?.comments,(o,i)=>(l(),d("li",HI,[n("div",BI,[o?.author?(l(),d("span",jI,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=y(" @",-1)),n("span",{textContent:u(o?.author)},null,8,GI)])):p("v-if",!0),o?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(o?.updatedDate))},null,8,WI)):p("v-if",!0)]),o?.body?(l(),d("div",KI,[Oe(r,{content:o?.body},null,8,["content"])])):p("v-if",!0)]))),256)),e.details?.comments?.length?p("v-if",!0):(l(),d("li",YI,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this gist.",-1)])]))])])):p("v-if",!0)])])])}var JI={key:0,class:"nav-heart-m",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener","aria-label":"Support Anonymous GitHub",title:"Support Anonymous GitHub"},QI={key:1,class:"nav-signin-m",href:"/signin",target:"_self"},XI={class:"collapse navbar-collapse",id:"navbarSupportedContent"},ZI={class:"navbar-nav mr-auto smooth-scroll"},xI={key:0,class:"nav-item nav-home-item"},e5={key:1,class:"nav-item"},t5={key:2,class:"nav-item"},n5={key:3,class:"nav-item"},s5={class:"nav-item"},o5={key:4,class:"nav-item"},r5={class:"navbar-nav"},i5={key:0,class:"nav-item"},a5={key:1,class:"nav-item"},l5={key:2,class:"nav-item nav-signin-item"},d5={key:3,class:"nav-item dropdown user-chip-wrap"},u5={class:"nav-link user-chip dropdown-toggle",href:"#",id:"navbarDropdownMenuLink",role:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},c5=["src"],p5={class:"user-chip-name"},f5={class:"dropdown-menu dropdown-menu-right user-menu","aria-labelledby":"navbarDropdownMenuLink"},m5={class:"dropdown-header"},h5=["innerHTML"];function Pl(e,t){return l(),d(Y,null,[n("nav",{class:T(["navbar navbar-expand-lg",{"navbar-dark":e.isDarkMode}])},[t[14]||(t[14]=fe('Anonymous GitHubSupport',2)),/^\/(r|w|pr|gist)\//.test(e.path||"")?p("v-if",!0):(l(),d("a",JI,[...t[2]||(t[2]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1)])])),!e.user&&!/^\/(r|w|pr|gist)\//.test(e.path||"")?(l(),d("a",QI,"Sign in")):p("v-if",!0),t[15]||(t[15]=n("button",{class:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"navbar-toggler-icon"})],-1)),n("div",XI,[n("ul",ZI,[e.user?p("v-if",!0):(l(),d("li",xI,[n("a",{class:T(["nav-link",{active:e.path=="/"}]),href:"/"}," Home ",2)])),e.user?(l(),d("li",e5,[n("a",{class:T(["nav-link",{active:e.path=="/dashboard"}]),href:"/dashboard"},[...t[3]||(t[3]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})],-1),y(" My work ",-1)])],2)])):p("v-if",!0),e.user?(l(),d("li",t5,[n("a",{class:T(["nav-link",{active:e.path=="/anonymize"||e.path=="/pull-request-anonymize"}]),href:"/anonymize"},[...t[4]||(t[4]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize ",-1)])],2)])):p("v-if",!0),e.user?(l(),d("li",n5,[n("a",{class:T(["nav-link",{active:e.path=="/conferences"||e.path?.startsWith("/conference/")}]),href:"/conferences"},[...t[5]||(t[5]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1),y(" Conferences ",-1)])],2)])):p("v-if",!0),n("li",s5,[n("a",{class:T(["nav-link",{active:e.path=="/faq"}]),href:"/faq"},[...t[6]||(t[6]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),y("FAQ",-1)])],2)]),e.user&&e.user?.isAdmin?(l(),d("li",o5,[n("a",{class:T(["nav-link",{active:e.path?.indexOf("/admin")===0}]),href:"/admin/"},[...t[7]||(t[7]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})],-1),y(" Admin ",-1)])],2)])):p("v-if",!0)]),n("ul",r5,[t[12]||(t[12]=n("li",{class:"nav-item d-lg-none"},[n("a",{class:"nav-link nav-icon",target:"_blank",href:"https://github.com/tdurieux/anonymous_github/",title:"Anonymous GitHub source code","aria-label":"Anonymous GitHub source code on GitHub",rel:"noopener","data-offset":"30"},[n("i",{class:"fab fa-github","aria-hidden":"true"})])],-1)),p(` "Report a bug" is about this service. Reviewers who land on an +jane.smith@example.org`},null,2),[[o,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"anonymize",options:{debounce:250}}]]),n("small",vS,[t[68]||(t[68]=y("One term per line (regex allowed). Replaced by ",-1)),n("code",null,u(e.site_options?.ANONYMIZATION_MASK)+"-[N]",1),t[69]||(t[69]=y(", or use ",-1)),t[70]||(t[70]=n("code",null,"term=>replacement",-1)),t[71]||(t[71]=y(" to pick your own (e.g. ",-1)),t[72]||(t[72]=n("code",null,"Anonymous=>ABC",-1)),t[73]||(t[73]=y(").",-1))]),D(n("div",yS,"Regex characters detected. Escape them if unintentional.",512),[[Q,e.termsRegexWarning]]),D(n("div",gS,"Terms are in an invalid format.",512),[[Q,e.anonymize?.terms?.errors?.format]])])],512),[[Q,e.detectedType]]),D(n("section",bS,[t[96]||(t[96]=n("div",{class:"paper-section-eyebrow"},"Display",-1)),D(n("div",null,[n("div",wS,[D(n("input",kS,null,512),[[o,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"anonymize",options:{}}]]),t[76]||(t[76]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1))]),n("div",CS,[D(n("input",ES,null,512),[[o,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"anonymize",options:{}}]]),t[77]||(t[77]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[78]||(t[78]=n("small",{class:"form-text text-muted"},"Images are served unchanged and may contain names or affiliations.",-1))]),n("div",SS,[D(n("input",NS,null,512),[[o,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"anonymize",options:{}}]]),t[79]||(t[79]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[80]||(t[80]=n("small",{class:"form-text text-muted"},[y("PDF contents and metadata are served unchanged. "),n("a",{href:"/faq#formats"},"About supported formats")],-1))]),n("div",_S,[D(n("input",DS,null,512),[[o,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"anonymize",options:{}}]]),t[81]||(t[81]=n("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))]),n("div",RS,[D(n("input",{class:"form-check-input",type:"checkbox",id:"page",name:"page",disabled:!e.details?.hasPage||e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch},null,8,TS),[[o,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"anonymize",options:{}}]]),t[82]||(t[82]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),e.details?.hasPage?p("v-if",!0):(l(),d("small",OS,u(e.fmt?.translate("WARNINGS.page_not_enabled_on_repo")),1)),e.details?.hasPage&&e.details?.pageSource?.branch&&e.source?.branch&&e.details.pageSource.branch!==e.source.branch?(l(),d("small",AS,u(e.fmt?.translate("WARNINGS.page_branch_mismatch",{pageBranch:e.details?.pageSource?.branch,selectedBranch:e.source?.branch})),1)):p("v-if",!0)])],512),[[Q,e.detectedType==="repo"]]),D(n("div",null,[n("div",IS,[D(n("input",PS,null,512),[[o,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[83]||(t[83]=n("label",{class:"form-check-label",for:"title-gist"},"Gist description",-1))]),n("div",VS,[D(n("input",MS,null,512),[[o,{state:e.viewState,set:a=>{e.options.content=a},value:e.options?.content,form:"anonymize",options:{}}]]),t[84]||(t[84]=n("label",{class:"form-check-label",for:"content-gist"},"File contents",-1))]),n("div",qS,[D(n("input",LS,null,512),[[o,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[85]||(t[85]=n("label",{class:"form-check-label",for:"comments-gist"},"Comments",-1))]),n("div",$S,[D(n("input",US,null,512),[[o,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[86]||(t[86]=n("label",{class:"form-check-label",for:"username-gist"},"Usernames",-1))]),n("div",FS,[D(n("input",zS,null,512),[[o,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[87]||(t[87]=n("label",{class:"form-check-label",for:"date-gist"},"Dates",-1))]),n("div",HS,[D(n("input",BS,null,512),[[o,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[88]||(t[88]=n("label",{class:"form-check-label",for:"origin-gist"},"Source gist ID",-1))])],512),[[Q,e.detectedType==="gist"]]),D(n("div",null,[n("div",jS,[D(n("input",GS,null,512),[[o,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[89]||(t[89]=n("label",{class:"form-check-label",for:"title"},"PR title",-1))]),n("div",WS,[D(n("input",KS,null,512),[[o,{state:e.viewState,set:a=>{e.options.body=a},value:e.options?.body,form:"anonymize",options:{}}]]),t[90]||(t[90]=n("label",{class:"form-check-label",for:"body"},"PR body",-1))]),n("div",YS,[D(n("input",JS,null,512),[[o,{state:e.viewState,set:a=>{e.options.diff=a},value:e.options?.diff,form:"anonymize",options:{}}]]),t[91]||(t[91]=n("label",{class:"form-check-label",for:"diff"},"Diff",-1))]),n("div",QS,[D(n("input",XS,null,512),[[o,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[92]||(t[92]=n("label",{class:"form-check-label",for:"comments"},"Comments",-1))]),n("div",ZS,[D(n("input",xS,null,512),[[o,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[93]||(t[93]=n("label",{class:"form-check-label",for:"username"},"Usernames",-1))]),n("div",eN,[D(n("input",tN,null,512),[[o,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[94]||(t[94]=n("label",{class:"form-check-label",for:"date"},"Dates",-1))]),n("div",nN,[D(n("input",sN,null,512),[[o,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[95]||(t[95]=n("label",{class:"form-check-label",for:"origin"},"Project name",-1))])],512),[[Q,e.detectedType==="pr"]])],512),[[Q,e.detectedType]]),D(n("section",oN,[t[100]||(t[100]=n("div",{class:"paper-section-eyebrow"},"Expiration",-1)),n("div",rN,[n("div",iN,[t[98]||(t[98]=n("label",{class:"paper-field-label",for:"expiration"},"Strategy",-1)),D((l(),d("select",aN,[...t[97]||(t[97]=[n("option",{value:"redirect"},"Redirect to GitHub when expired",-1),n("option",{value:"remove",selected:""},"Remove when expired",-1)])])),[[o,{state:e.viewState,set:a=>{e.options.expirationMode=a},value:e.options?.expirationMode,form:"anonymize",options:{}}]])]),n("div",lN,[t[99]||(t[99]=n("label",{class:"paper-field-label",for:"expirationDate"},"Expiration date",-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.expirationDate?.invalid}]),type:"date",name:"expirationDate",id:"expirationDate",required:"",min:e.minExpirationDate,max:e.maxExpirationDate},null,10,dN),[[o,{state:e.viewState,set:a=>{e.options.expirationDate=a},value:e.options?.expirationDate,form:"anonymize",options:{}}]]),D(n("div",uN,"Pick a date in the future.",512),[[Q,e.anonymize?.expirationDate?.errors?.min]]),D(n("div",{class:"invalid-feedback"},"Pick a date on or before "+u(e.fmt?.date(e.maxExpirationDate))+".",513),[[Q,e.anonymize?.expirationDate?.errors?.max]]),D(n("div",cN,"Enter a valid expiration date.",512),[[Q,e.anonymize?.expirationDate?.errors?.required||e.anonymize?.expirationDate?.errors?.date]])])]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", the content will be removed.",513),[[Q,e.options?.expirationMode=="remove"&&e.options?.expirationDate]]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", visitors will be redirected to GitHub.",513),[[Q,e.options?.expirationMode=="redirect"&&e.options?.expirationDate]])],512),[[Q,e.detectedType]]),D(n("section",pN,[t[104]||(t[104]=n("div",{class:"paper-section-eyebrow"},"Co-authors",-1)),t[105]||(t[105]=n("p",{class:"form-text text-muted",style:{"margin-bottom":"8px"}}," Co-authors can view and edit these settings. They cannot delete the anonymization or manage co-authors. ",-1)),D(n("div",fN,[t[101]||(t[101]=n("label",{class:"paper-field-label",for:"coauthorSearch"},"Add a GitHub user",-1)),n("div",mN,[D(n("input",hN,null,512),[[o,{state:e.viewState,set:a=>{e.coauthorSearch=a},value:e.coauthorSearch,form:"anonymize",options:{debounce:300},change:()=>{e.searchCoauthors()}}]]),D(n("div",vN,[(l(!0),d(K,null,re(e.coauthorResults,(a,c)=>(l(),d("a",{href:"#",class:"dropdown-item d-flex align-items-center",onClick:de(f=>e.addCoauthor(a,f),["prevent"])},[n("img",{alt:"",style:{width:"22px",height:"22px","border-radius":"50%","margin-right":"8px"},src:e.safeUrl(a?.photo)},null,8,gN),n("span",{textContent:u(a?.username)},null,8,bN)],8,yN))),256))],512),[[Q,e.coauthorResults?.length>0]])]),D(n("small",{class:"form-text text-muted",textContent:u(e.coauthorError)},null,8,wN),[[Q,e.coauthorError]])],512),[[Q,e.role==="owner"||e.role==="admin"]]),n("div",kN,[(l(!0),d(K,null,re(e.coauthors,(a,c)=>(l(),d("div",CN,[a?.photo?(l(),d("img",{key:0,alt:"",style:{width:"24px",height:"24px","border-radius":"50%"},src:e.safeUrl(a?.photo)},null,8,EN)):p("v-if",!0),n("a",{target:"_blank",textContent:u(a?.username),href:e.safeUrl("https://github.com/"+a?.username)},null,8,SN),t[103]||(t[103]=n("span",{class:"type-badge type-coauthor"},"Co-author",-1)),D(n("button",{type:"button",class:"btn btn-sm btn-icon",style:{"margin-left":"auto"},title:"Remove co-author",onClick:f=>e.removeCoauthor(a),"aria-label":"Remove co-author"},[...t[102]||(t[102]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,NN),[[Q,e.role==="owner"||e.role==="admin"]])]))),256)),D(n("div",_N," No co-authors yet. ",512),[[Q,!e.coauthors||e.coauthors?.length===0]])])],512),[[Q,e.isUpdate&&e.detectedType==="repo"]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:u(e.error)},null,8,DN)):p("v-if",!0),n("button",{type:"button",class:"btn btn-outline-ink mobile-preview-jump",onClick:t[15]||(t[15]=a=>e.selectMobilePane("preview"))},[...t[106]||(t[106]=[y("Review preview ",-1),n("span",{"aria-hidden":"true"},"\u2192",-1)])]),D(n("div",RN,[e.draftRestored?(l(),d("div",TN,[t[107]||(t[107]=y("Your unsaved draft was restored. ",-1)),n("button",{type:"button",class:"draft-discard",onClick:t[16]||(t[16]=a=>e.discardDraft())},"Discard draft")])):e.unsavedChanges?(l(),d("div",ON,[y(u(e.draftSaved?"Draft saved \xB7":"Unsaved changes \xB7")+" ",1),n("button",{type:"button",class:"draft-discard",onClick:t[17]||(t[17]=a=>e.discardDraft())},u(e.isUpdate?"Restore saved":"Discard"),1)])):p("v-if",!0),e.detectedType==="repo"&&!e.isUpdate?(l(),d("button",{key:2,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[18]||(t[18]=de(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[108]||(t[108]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize Repository ",-1)])],8,AN)):p("v-if",!0),e.detectedType==="repo"&&e.isUpdate?(l(),d("button",{key:3,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[19]||(t[19]=de(a=>e.submitForm(a,()=>{e.anonymizeRepo(a)}),["prevent"]))},[...t[109]||(t[109]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update Repository ",-1)])],8,IN)):p("v-if",!0),e.detectedType==="pr"&&!e.isUpdate?(l(),d("button",{key:4,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[20]||(t[20]=de(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[110]||(t[110]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize Pull Request ",-1)])],8,PN)):p("v-if",!0),e.detectedType==="pr"&&e.isUpdate?(l(),d("button",{key:5,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[21]||(t[21]=de(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))},[...t[111]||(t[111]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update Pull Request ",-1)])],8,VN)):p("v-if",!0),e.detectedType==="gist"&&!e.isUpdate?(l(),d("button",{key:6,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[22]||(t[22]=de(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[112]||(t[112]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize Gist ",-1)])],8,MN)):p("v-if",!0),e.detectedType==="gist"&&e.isUpdate?(l(),d("button",{key:7,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[23]||(t[23]=de(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))},[...t[113]||(t[113]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update Gist ",-1)])],8,qN)):p("v-if",!0)],512),[[Q,e.detectedType]])])),[[i,e.viewState]])],8,mE),p(" Preview column (right) "),e.detectedType==="repo"?(l(),d("div",{key:0,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col"},[n("div",$N,[t[114]||(t[114]=n("span",{class:"paper-eyebrow"},"Live preview",-1)),n("span",UN,u(e.previewStatus!=="ready"?"README preview":String(e.terms||"").trim()?"README with redactions applied":"No terms yet. Add some to see them redacted here."),1)]),e.sourceLoading&&e.previewStatus==="idle"?(l(),d("div",FN,"Loading source\u2026")):p("v-if",!0),e.previewStatus==="loading"?(l(),d("div",zN,"Updating the anonymized preview\u2026")):p("v-if",!0),e.previewStatus==="error"?(l(),d("div",HN,[t[115]||(t[115]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("button",{class:"btn btn-outline-ink",type:"button",onClick:t[24]||(t[24]=a=>e.retryPreview())},"Retry preview")])):p("v-if",!0),!e.sourceLoading&&!e.readme&&e.previewStatus==="idle"?(l(),d("div",BN,"No README is available to preview. Review the published files before sharing.")):p("v-if",!0),e.previewStatus==="ready"?(l(),d("div",{key:4,class:"anonymize-preview-body markdown-body body",innerHTML:e.sanitize(e.html_readme)},null,8,jN)):p("v-if",!0)],8,LN)):p("v-if",!0),e.detectedType==="gist"&&e.details?(l(),d("div",{key:1,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col"},[n("div",WN,[t[116]||(t[116]=n("span",{class:"paper-eyebrow"},"Live preview",-1)),n("span",KN,u(e.previewStatus==="ready"?"Gist with redactions applied":"Gist preview"),1)]),e.sourceLoading&&e.previewStatus==="idle"?(l(),d("div",YN,"Loading source\u2026")):p("v-if",!0),e.previewStatus==="loading"?(l(),d("div",JN,"Updating the anonymized preview\u2026")):p("v-if",!0),e.previewStatus==="error"?(l(),d("div",QN,[t[117]||(t[117]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("button",{class:"btn btn-outline-ink",type:"button",onClick:t[25]||(t[25]=a=>e.retryPreview())},"Retry preview")])):p("v-if",!0),e.previewStatus==="ready"?(l(),d("div",XN,[n("div",ZN,[n("h2",xN,[e.options?.title?(l(),d("span",e_,u(e.anonymizeGistContent(e.details?.gist?.description)||"Untitled gist"),1)):p("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.gist?.isPublic,"badge-secondary":!e.details?.gist?.isPublic}])},u(e.details?.gist?.isPublic?"public":"secret"),3)]),e.options?.date?(l(),d("small",{key:0,textContent:u(e.fmt?.date(e.details?.gist?.updatedDate))},null,8,t_)):p("v-if",!0)]),e.options?.origin?(l(),d("small",n_,"Gist ID: "+u(e.details?.source?.gistId),1)):p("v-if",!0),e.options?.username&&e.details?.gist?.ownerLogin?(l(),d("small",s_,"By @"+u(e.anonymizeGistContent(e.details?.gist?.ownerLogin)),1)):p("v-if",!0),e.options?.content&&e.previewGistFiles?.length?(l(),d("div",o_,[n("ul",r_,[(l(!0),d(K,null,re(e.previewGistFiles,(a,c)=>(l(),d("li",i_,[n("div",a_,[n("strong",{textContent:u(a?.filename)},null,8,l_),a?.language?(l(),d("span",d_,u(a?.language),1)):p("v-if",!0)]),Oe(s,{file:a,terms:e.terms,options:e.options},null,8,["file","terms","options"])]))),256))])])):p("v-if",!0),e.options?.comments&&e.details?.gist?.comments&&e.details?.gist?.comments?.length?(l(),d("div",u_,[t[120]||(t[120]=n("h3",{class:"paper-section-eyebrow mt-3"},"Comments",-1)),n("ul",c_,[(l(!0),d(K,null,re(e.details?.gist?.comments,(a,c)=>(l(),d("li",p_,[n("div",f_,[e.options?.username?(l(),d("span",m_,[t[118]||(t[118]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[119]||(t[119]=y(" @",-1)),n("span",{textContent:u(e.anonymizeGistContent(a?.author))},null,8,h_)])):p("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(a?.updatedDate))},null,8,v_)):p("v-if",!0)]),e.options?.body?(l(),d("div",y_,[Oe(r,{content:e.anonymizeGistContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0)]))),256))])])):p("v-if",!0)])):p("v-if",!0)],8,GN)):p("v-if",!0),e.detectedType==="pr"&&e.details?(l(),d("div",{key:2,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col"},[n("div",b_,[t[121]||(t[121]=n("span",{class:"paper-eyebrow"},"Live preview",-1)),n("span",w_,u(e.previewStatus==="ready"?"Pull request with redactions applied":"Pull request preview"),1)]),e.sourceLoading&&e.previewStatus==="idle"?(l(),d("div",k_,"Loading source\u2026")):p("v-if",!0),e.previewStatus==="loading"?(l(),d("div",C_,"Updating the anonymized preview\u2026")):p("v-if",!0),e.previewStatus==="error"?(l(),d("div",E_,[t[122]||(t[122]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("button",{class:"btn btn-outline-ink",type:"button",onClick:t[26]||(t[26]=a=>e.retryPreview())},"Retry preview")])):p("v-if",!0),e.previewStatus==="ready"?(l(),d("div",S_,[n("div",N_,[n("h2",__,[e.options?.title?(l(),d("span",D_,u(e.anonymizePrContent(e.details?.pullRequest?.title)),1)):p("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},u(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:u(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,R_)):p("v-if",!0)]),e.options?.origin?(l(),d("small",T_,"Pull Request on "+u(e.details?.pullRequest?.baseRepositoryFullName),1)):p("v-if",!0),e.options?.body?(l(),d("div",O_,[Oe(r,{content:e.anonymizePrContent(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0),e.options?.diff||e.options?.comments?(l(),d("nav",A_,[e.options?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.prTabState?.active=="diff"}]),type:"button",role:"tab",id:"preview-pr-diff-tab","aria-selected":e.prTabState?.active==="diff","aria-controls":"preview-pr-diff-panel",tabindex:e.prTabState?.active==="diff"?0:-1,onKeydown:t[27]||(t[27]=a=>e.previewTabKeydown(a)),onClick:t[28]||(t[28]=a=>e.prTabState.active="diff")},[...t[123]||(t[123]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y(" Diff ",-1)])],42,I_)):p("v-if",!0),e.options?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.prTabState?.active=="comments"}]),type:"button",role:"tab",id:"preview-pr-comments-tab","aria-selected":e.prTabState?.active==="comments","aria-controls":"preview-pr-comments-panel",tabindex:e.prTabState?.active==="comments"?0:-1,onKeydown:t[29]||(t[29]=a=>e.previewTabKeydown(a)),onClick:t[30]||(t[30]=a=>e.prTabState.active="comments")},[t[124]||(t[124]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,V_)],42,P_)):p("v-if",!0)])):p("v-if",!0),!e.options?.diff&&!e.options?.comments?(l(),d("div",M_,"Diff and comments are hidden by your display settings.")):p("v-if",!0),n("div",q_,[e.options?.diff&&e.prTabState?.active=="diff"?(l(),d("div",L_,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.anonymizePrContent(e.details?.pullRequest?.diff)))},null,8,$_)])):p("v-if",!0),e.options?.comments&&e.prTabState?.active=="comments"?(l(),d("div",U_,[n("ul",F_,[(l(!0),d(K,null,re(e.details?.pullRequest?.comments,(a,c)=>(l(),d("li",z_,[n("div",H_,[e.options?.username?(l(),d("span",B_,[t[125]||(t[125]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[126]||(t[126]=y(" @",-1)),n("span",{textContent:u(e.anonymizePrContent(a?.author))},null,8,j_)])):p("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(a?.updatedDate))},null,8,G_)):p("v-if",!0)]),e.options?.body?(l(),d("div",W_,[Oe(r,{content:e.anonymizePrContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0)]))),256))])])):p("v-if",!0)])])):p("v-if",!0)],8,g_)):p("v-if",!0)])],512),[[Q,e.workspaceOpen||e.isUpdate]])],2)}var K_={class:"container-fluid h-100 anonymize-page"},Y_={class:"row h-100 flex-column flex-md-row"},J_={class:"col-md sidePanel shadow overflow-auto anonymize-form-col"},Q_={class:"form-group"},X_={class:"form-group"},Z_={class:"form-check"},x_={class:"form-check-input",type:"checkbox",id:"update",name:"update"},eD={class:"form-group"},tD={class:"form-text text-muted"},nD=["href"],sD={class:"invalid-feedback"},oD={class:"form-text text-muted"},rD={class:"form-group"},iD={id:"idHelp",class:"form-text text-muted"},aD={class:"invalid-feedback"},lD={class:"form-group"},dD={class:"invalid-feedback"},uD={class:"form-group"},cD={class:"form-control",id:"expiration",name:"expiration"},pD={class:"form-group",id:"expiration-date-form"},fD={class:"form-control",type:"date",name:"expirationDate",id:"expirationDate"},mD={class:"accordion mb-3",id:"options"},hD={class:"card"},vD={id:"collapseOne",class:"collapse show","aria-labelledby":"headingOne","data-parent":"#options"},yD={class:"card-body"},gD={class:"form-group mb-0"},bD={class:"form-check"},wD={class:"form-check-input",type:"checkbox",id:"link",name:"link"},kD={class:"form-check"},CD={class:"form-check-input",type:"checkbox",id:"image",name:"image"},ED={class:"form-check"},SD={class:"form-check-input",type:"checkbox",id:"date",name:"date"},ND={class:"form-check"},_D={class:"form-check-input",type:"checkbox",id:"username",name:"username"},DD={class:"form-check"},RD={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},TD={class:"form-check"},OD={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},AD={class:"form-check"},ID={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},PD={class:"form-check"},VD={class:"form-check-input",type:"checkbox",id:"title",name:"title"},MD={class:"form-check"},qD={class:"form-check-input",type:"checkbox",id:"body",name:"body"},LD=["textContent"],$D={class:"anonymize-submit-bar"},UD={key:0,class:"col-md-8 p-2 overflow-auto anonymize-preview-col"},FD={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},zD={class:"pr-title mb-1"},HD={key:0},BD=["textContent"],jD={key:0},GD={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},WD={class:"nav nav-tabs",id:"myTab",role:"tablist"},KD={key:0,class:"nav-item",role:"presentation"},YD={key:1,class:"nav-item",role:"presentation"},JD=["textContent"],QD={class:"tab-content",id:"pills-tabContent"},XD={class:"tab-pane show active",id:"pills-diff",role:"tabpanel","aria-labelledby":"pills-diff-tab"},ZD={key:0,class:"pr-diff shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},xD={style:{"overflow-x":"auto"}},eR=["innerHTML"],tR={key:0,class:"pr-comments list-group"},nR={class:"pr-comment list-group-item"},sR={class:"d-flex w-100 justify-content-between flex-wrap"},oR={key:0,class:"mb-1"},rR=["textContent"],iR={class:"mb-1"};function Nl(e,t){let s=Ge("markdown"),r=Ee("field"),o=Ee("form");return l(),d("div",K_,[n("div",Y_,[n("div",J_,[n("div",{class:T(["p-0 py-2 m-auto",{card:!e.pullRequestUrl,container:e.pullRequestUrl}])},[D((l(),d("form",{class:T(["form needs-validation",{"card-body":!e.pullRequestUrl}]),name:"anonymizeForm",novalidate:""},[t[30]||(t[30]=fe('
Anonymize \xA0/\xA0 Pull request

Anonymize a pull request

Fill in the details \u2014 it only takes a minute.

Source
',4)),p(" pullRequestUrl "),n("div",Q_,[t[2]||(t[2]=n("label",{for:"pullRequestUrl"},"URL of your pull request",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestUrl?.invalid}]),name:"pullRequestUrl",id:"pullRequestUrl",placeholder:"https://github.com/owner/repo/pull/123"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestUrl=i},value:e.pullRequestUrl,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.pullRequestSelected()}}]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestUrl)+" is not accessible. Some organizations are restricting the access to the repositories. ",513),[[Q,e.anonymize?.pullRequestUrl?.errors?.access]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestUrl)+" does not exist or is not accessible ",513),[[Q,e.anonymize?.pullRequestUrl?.errors?.missing]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestUrl)+" is already anonymized ",513),[[Q,e.anonymize?.pullRequestUrl?.errors?.used]])]),D(n("div",null,[n("div",X_,[n("div",Z_,[D(n("input",x_,null,512),[[r,{state:e.viewState,set:i=>{e.options.update=i},value:e.options?.update,form:"anonymizeForm",options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"update"},"Auto update",-1)),t[4]||(t[4]=n("small",{id:"updateHelp",class:"form-text text-muted"},"Automatically update the anonymized pull request with the latest updates. The pull request is updated once per day maximum.",-1))])]),t[26]||(t[26]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})]),y(" Conference ID ")],-1)),p(" Conference "),n("div",eD,[t[5]||(t[5]=n("label",{for:"conference"},[y("Conference ID "),n("span",{class:"text-muted"},"(Optional)")],-1)),D(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[r,{state:e.viewState,set:i=>{e.conference=i},value:e.conference,form:"anonymizeForm",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),D(n("small",tD,[n("a",{target:"_target",href:e.safeUrl(e.conference_data?.url)},u(e.conference_data?.name),9,nD),y(" will expire on "+u(e.fmt?.date(e.conference_data?.endDate))+".",1)],512),[[Q,e.conference_data]]),D(n("div",sD," The conference is not activated. ",512),[[Q,e.anonymize?.conference?.errors?.activated]]),D(n("small",oD," Use the Conference ID that your conference provided you. This will update automatically the anonymization options based on the conference preferences. ",512),[[Q,!e.conference_data]])]),t[27]||(t[27]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),y(" Anonymization Options ")],-1)),p(" Pull Request ID "),n("div",rD,[t[6]||(t[6]=n("label",{for:"pullRequestId"},"Anonymized pull request id",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId"},null,2),[[r,{state:e.viewState,set:i=>{e.pullRequestId=i},value:e.pullRequestId,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",iD,"Id used in the url: https://anonymous.4open.science/r/"+u(e.pullRequestId),1),D(n("div",aD," Repository id can only contain letters and numbers ",512),[[Q,e.anonymize?.pullRequestId?.errors?.format]]),D(n("div",{class:"invalid-feedback"},u(e.pullRequestId)+" is already used ",513),[[Q,e.anonymize?.pullRequestId?.errors?.used]])]),p(" Terms "),n("div",lD,[t[7]||(t[7]=n("label",{for:"terms"},"Terms to anonymize",-1)),D(n("textarea",{class:T(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"3"},null,2),[[r,{state:e.viewState,set:i=>{e.terms=i},value:e.terms,form:"anonymizeForm",options:{debounce:250}}]]),t[8]||(t[8]=n("small",{id:"termsHelp",class:"form-text text-muted"},"One term per line. Each term will be replaced by XXX.",-1)),D(n("div",dD," Terms are in an invalid format ",512),[[Q,e.anonymize?.terms?.errors?.format]])]),n("div",uD,[t[10]||(t[10]=n("label",{for:"expiration"},"Expiration strategy",-1)),D((l(),d("select",cD,[...t[9]||(t[9]=[n("option",{value:"never",selected:""},"Never expire",-1),n("option",{value:"redirect"}," Redirect to GitHub when expired ",-1),n("option",{value:"remove"},"Remove when expired",-1)])])),[[r,{state:e.viewState,set:i=>{e.options.expirationMode=i},value:e.options?.expirationMode,form:"anonymizeForm",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},"Define the expiration strategy for the anonymized repository.",-1))]),D(n("div",pD,[t[12]||(t[12]=n("label",{for:"expirationDate"},"Expiration date of the anonymized repository",-1)),D(n("input",fD,null,512),[[r,{state:e.viewState,set:i=>{e.options.expirationDate=i},value:e.options?.expirationDate,form:"anonymizeForm",options:{}}]]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", the repository will be removed and the visitor will not be able to see the content of the repository.",513),[[Q,e.options?.expirationMode=="remove"]]),D(n("small",{class:"form-text text-muted"},"After "+u(e.fmt?.date(e.options?.expirationDate))+", the visitors of the anonymized repository will be redirected to "+u(e.pullRequestUrl)+".",513),[[Q,e.options?.expirationMode=="redirect"]])],512),[[Q,e.options?.expirationMode!="never"]]),n("div",mD,[n("div",hD,[t[25]||(t[25]=fe('

',1)),n("div",vD,[n("div",yD,[n("div",gD,[n("div",bD,[D(n("input",wD,null,512),[[r,{state:e.viewState,set:i=>{e.options.link=i},value:e.options?.link,form:"anonymizeForm",options:{}}]]),t[13]||(t[13]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Keep or remove all the links.",-1))]),n("div",kD,[D(n("input",CD,null,512),[[r,{state:e.viewState,set:i=>{e.options.image=i},value:e.options?.image,form:"anonymizeForm",options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"Images are not anonymized",-1))]),n("div",ED,[D(n("input",SD,null,512),[[r,{state:e.viewState,set:i=>{e.options.date=i},value:e.options?.date,form:"anonymizeForm",options:{}}]]),t[17]||(t[17]=n("label",{class:"form-check-label",for:"date"},"Display dates",-1)),t[18]||(t[18]=n("small",{class:"form-text text-muted"},"Display the date of the Pull Request and the date of the comments.",-1))]),n("div",ND,[D(n("input",_D,null,512),[[r,{state:e.viewState,set:i=>{e.options.username=i},value:e.options?.username,form:"anonymizeForm",options:{}}]]),t[19]||(t[19]=n("label",{class:"form-check-label",for:"username"},"Display username",-1))]),n("div",DD,[D(n("input",RD,null,512),[[r,{state:e.viewState,set:i=>{e.options.comments=i},value:e.options?.comments,form:"anonymizeForm",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"comments"},"Display comments",-1))]),n("div",TD,[D(n("input",OD,null,512),[[r,{state:e.viewState,set:i=>{e.options.diff=i},value:e.options?.diff,form:"anonymizeForm",options:{}}]]),t[21]||(t[21]=n("label",{class:"form-check-label",for:"diff"},"Display diff",-1))]),n("div",AD,[D(n("input",ID,null,512),[[r,{state:e.viewState,set:i=>{e.options.origin=i},value:e.options?.origin,form:"anonymizeForm",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"origin"},"Display the project name",-1))]),n("div",PD,[D(n("input",VD,null,512),[[r,{state:e.viewState,set:i=>{e.options.title=i},value:e.options?.title,form:"anonymizeForm",options:{}}]]),t[23]||(t[23]=n("label",{class:"form-check-label",for:"title"},"Display the PR title",-1))]),n("div",MD,[D(n("input",qD,null,512),[[r,{state:e.viewState,set:i=>{e.options.body=i},value:e.options?.body,form:"anonymizeForm",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"body"},"Display the PR body and comment bodies",-1))])])])])])])],512),[[Q,e.pullRequestUrl]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:u(e.error)},null,8,LD)):p("v-if",!0),D(n("div",$D,[e.isUpdate?p("v-if",!0):(l(),d("button",{key:0,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[0]||(t[0]=de(i=>e.submitForm(i,()=>{e.anonymizePullRequest(i)}),["prevent"]))},[...t[28]||(t[28]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize ",-1)])])),e.isUpdate?(l(),d("button",{key:1,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[1]||(t[1]=de(i=>e.submitForm(i,()=>{e.updatePullRequest(i)}),["prevent"]))},[...t[29]||(t[29]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),y(" Update ",-1)])])):p("v-if",!0)],512),[[Q,e.pullRequestUrl]])],2)),[[o,e.viewState]])],2)]),e.details?(l(),d("div",UD,[n("div",FD,[n("h2",zD,[e.options?.title?(l(),d("span",HD,u(e.anonymize(e.details?.pullRequest?.title)),1)):p("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},u(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:u(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,BD)):p("v-if",!0)]),e.options?.origin?(l(),d("small",jD,"Pull Request on "+u(e.details?.pullRequest?.baseRepositoryFullName),1)):p("v-if",!0),e.options?.body?(l(),d("div",GD,[Oe(s,{content:e.anonymize(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):p("v-if",!0),n("ul",WD,[e.options?.diff?(l(),d("li",KD,[...t[31]||(t[31]=[n("button",{class:"nav-link active",id:"pills-diff-tab","data-toggle":"pill","data-target":"#pills-diff",type:"button",role:"tab","aria-controls":"pills-diff","aria-selected":"true"}," Diff ",-1)])])):p("v-if",!0),e.options?.comments?(l(),d("li",YD,[n("button",{class:T(["nav-link",{active:!e.options?.diff}]),id:"pills-comments-tab","data-toggle":"pill","data-target":"#pills-comments",type:"button",role:"tab","aria-controls":"pills-comments","aria-selected":"false"},[n("span",{textContent:u(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comment",one:"One Comment",other:"{} Comments"}))},null,8,JD)],2)])):p("v-if",!0)]),n("div",QD,[n("div",XD,[e.options?.diff?(l(),d("div",ZD,[n("pre",xD,[n("code",{innerHTML:e.sanitize(e.fmt?.diff(e.anonymize(e.details?.pullRequest?.diff)))},null,8,eR)])])):p("v-if",!0)]),n("div",{class:T(["tab-pane",{"show active":!e.options?.diff}]),id:"pills-comments",role:"tabpanel","aria-labelledby":"pills-comments-tab"},[e.options?.comments?(l(),d("ul",tR,[(l(!0),d(K,null,re(e.details?.pullRequest?.comments,(i,a)=>(l(),d("li",nR,[n("div",sR,[e.options?.username?(l(),d("h5",oR," @"+u(e.anonymize(i?.author)),1)):p("v-if",!0),e.options?.date?(l(),d("small",{key:1,textContent:u(e.fmt?.date(i?.updatedDate))},null,8,rR)):p("v-if",!0)]),n("p",iR,[e.options?.body?(l(),Ut(s,{key:0,class:"pr-comment-body",content:e.anonymize(i?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])):p("v-if",!0)])]))),256))])):p("v-if",!0)],2)])])):p("v-if",!0)])])}var aR={class:"container paper-page claim-page"},lR={class:"paper-settings-main claim-form"},dR={class:"form-group"},uR={class:"invalid-feedback"},cR={class:"form-group"};function _l(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",aR,[t[6]||(t[6]=fe('
My work \xA0/\xA0 Claim

Claim an anonymization

Take ownership of an existing anonymized repository so it appears on your dashboard.

',3)),n("div",lR,[t[5]||(t[5]=n("p",{class:"paper-section-copy"},"Use this when an anonymization was created by a co-author or from another account. You must have access to the GitHub repository it was made from.",-1)),D((l(),d("form",{class:"form needs-validation",name:"claimForm",novalidate:"",onSubmit:t[0]||(t[0]=de(o=>e.submitForm(o,()=>{e.claim()}),["prevent"]))},[n("div",dR,[t[1]||(t[1]=n("label",{class:"paper-field-label",for:"repoUrl"},"GitHub repository URL",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoUrl?.invalid&&(e.claimForm?.repoUrl?.touched||e.claimForm?.submitted)}]),name:"repoUrl",id:"repoUrl",placeholder:"https://github.com/owner/repository",required:""},null,2),[[s,{state:e.viewState,set:o=>{e.repoUrl=o},value:e.repoUrl,form:"claimForm",options:{}}]]),D(n("div",uR," No anonymization matches this repository and ID. Check both values and that you can access the repository on GitHub. ",512),[[Q,e.claimForm?.repoUrl?.errors?.not_found]])]),n("div",cR,[t[2]||(t[2]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoId?.invalid&&(e.claimForm?.repoId?.touched||e.claimForm?.submitted)}]),name:"repoId",id:"repoId",placeholder:"e.g. anonymous_github-72DE",required:""},null,2),[[s,{state:e.viewState,set:o=>{e.repoId=o},value:e.repoId,form:"claimForm",options:{}}]]),t[3]||(t[3]=n("small",{id:"idHelp",class:"form-text text-muted"},[y("The ID is the last part of the anonymized URL: "),n("code",null,"anonymous.4open.science/r/"),y(".")],-1))]),t[4]||(t[4]=n("button",{id:"submit",type:"submit",class:"btn btn-ink"}," Claim anonymization ",-1))],32)),[[r,e.viewState]])])])}var pR={class:"container page paper-page conference-page"},fR={class:"paper-crumbs"},mR={class:"here"},hR={class:"d-flex align-items-end flex-wrap",style:{gap:"12px","justify-content":"space-between"}},vR=["textContent"],yR={key:0,class:"paper-page-lede"},gR=["textContent","href"],bR={class:"d-flex align-items-center flex-wrap",style:{gap:"10px"}},wR=["textContent"],kR=["href"],CR={class:"paper-meta-rule"},ER=["textContent"],SR=["textContent"],NR={key:0},_R={class:"search-wrap"},DR={type:"search",id:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search by ID or source repository\u2026",autocomplete:"off"},RR={class:"dashboard-filter-controls"},TR={class:"dropdown"},OR={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},AR={class:"filter-btn-value"},IR={class:"dropdown-menu","aria-labelledby":"dropdownSort"},PR={class:"form-check dropdown-item"},VR={class:"form-check-input",type:"radio",name:"sort",id:"anonymizeDate",value:"-anonymizeDate"},MR={class:"form-check dropdown-item"},qR={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"repoId"},LR={class:"form-check dropdown-item"},$R={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},UR={class:"form-check dropdown-item"},FR={class:"form-check-input",type:"radio",name:"sort",id:"sortViews",value:"-pageView"},zR={class:"dropdown"},HR={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},BR={key:0,class:"filter-btn-value"},jR={key:1,class:"filter-btn-value"},GR={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},WR={class:"form-check dropdown-item"},KR=["id"],YR=["for"],JR={class:"dashboard-meta"},QR={class:"dashboard-count"},XR={key:0},ZR={key:0},xR={key:1},eT={key:1},tT={key:0,class:"filter-chip"},nT=["onClick","aria-label"],sT={class:"paper-table paper-table-repos w-100",role:"table","aria-label":"Repositories"},oT={class:"cell-anon",role:"cell"},rT={class:"anon-text"},iT=["textContent","href"],aT={class:"anon-sub"},lT={class:"anon-source"},dT=["textContent","href"],uT={key:0},cT=["textContent","href"],pT={key:1},fT=["href"],mT={class:"cell-status",role:"cell"},hT={class:"status-line"},vT=["textContent"],yT={key:0,class:"status-sub"},gT={class:"cell-views num",role:"cell"},bT=["textContent"],wT={class:"cell-expires",role:"cell"},kT={key:0,class:"expires-never"},CT=["textContent"],ET={key:2,class:"expires-past"},ST={key:0},NT={key:3,class:"empty-dash","aria-label":"Not applicable"},_T={class:"cell-actions",role:"cell"},DT={class:"dropdown"},RT=["aria-label"],TT={class:"dropdown-menu dropdown-menu-right"},OT=["href"],AT=["href"],IT={key:0,class:"paper-table-empty"},PT={key:0},VT={key:1},MT={key:2,class:"paper-table-empty-actions"};function Dl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",pR,[n("div",null,[n("div",fR,[t[2]||(t[2]=n("a",{href:"/dashboard"},"My work",-1)),t[3]||(t[3]=y(" \xA0/\xA0 ",-1)),t[4]||(t[4]=n("a",{href:"/conferences"},"Conferences",-1)),t[5]||(t[5]=y(" \xA0/\xA0 ",-1)),n("span",mR,u(e.conference?.conferenceID),1)]),n("div",hR,[n("div",null,[n("h1",{class:"paper-page-title",textContent:u(e.conference?.name)},null,8,vR),e.conference?.url?(l(),d("p",yR,[n("a",{target:"_blank",rel:"noopener",textContent:u(e.conference?.url),href:e.safeUrl(e.conference?.url)},null,8,gR)])):p("v-if",!0)]),n("div",bR,[n("span",{class:T(["status-pill",{"status-pill-ready":e.conference?.status=="ready","status-pill-removed":e.conference?.status=="removed"||e.conference?.status=="expired"}])},[n("span",{class:T(["status-dot","status-"+e.conference?.status]),"aria-hidden":"true"},null,2),n("span",{textContent:u(e.fmt?.statusLabel(e.conference?.status))},null,8,wR)],2),n("a",{class:"btn btn-outline-ink",href:e.safeUrl("/conference/"+e.conference?.conferenceID+"/edit")},[...t[6]||(t[6]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit conference",-1)])],8,kR)])]),n("div",CR,[n("span",null,[t[7]||(t[7]=y("ID ",-1)),n("b",{class:"commit-hash",textContent:u(e.conference?.conferenceID)},null,8,ER)]),n("span",null,[t[8]||(t[8]=y("Review window ",-1)),n("b",null,u(e.fmt?.date(e.conference?.startDate,"mediumDate"))+" \u2013 "+u(e.fmt?.date(e.conference?.endDate,"mediumDate")),1)]),n("span",null,[t[9]||(t[9]=y("Repositories ",-1)),n("b",null,u(e.fmt?.number(e.conference?.repositories?.length)),1)]),n("span",null,[t[10]||(t[10]=y("Plan ",-1)),n("b",{textContent:u(e.conference?.plan?.name||e.conference?.plan?.planID||"Free")},null,8,SR)]),e.conference?.price?(l(),d("span",NR,[t[11]||(t[11]=y("Cost so far ",-1)),n("b",null,u(e.fmt?.number(e.conference?.price,2))+" \u20AC",1)])):p("v-if",!0)]),t[32]||(t[32]=n("div",{class:"paper-section-eyebrow"},"Repositories",-1)),D((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter repositories","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=de(o=>e.submitForm(o,()=>{o.preventDefault()}),["prevent"]))},[n("div",_R,[D(n("input",DR,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),n("div",RR,[n("div",TR,[n("button",OR,[t[12]||(t[12]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",AR,u({"-anonymizeDate":"Anonymize date",repoId:"ID","-status":"Status","-pageView":"Views"}[e.orderBy]||"Custom"),1)]),n("div",IR,[t[17]||(t[17]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",PR,[D(n("input",VR,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[13]||(t[13]=n("label",{class:"form-check-label",for:"anonymizeDate"},"Anonymize date",-1))]),n("div",MR,[D(n("input",qR,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[14]||(t[14]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",LR,[D(n("input",$R,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",UR,[D(n("input",FR,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[16]||(t[16]=n("label",{class:"form-check-label",for:"sortViews"},"Views",-1))])])]),n("div",zR,[n("button",HR,[t[18]||(t[18]=n("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",BR,"All")):p("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?p("v-if",!0):(l(),d("span",jR,u((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),n("div",GR,[t[19]||(t[19]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(K,null,re(e.statusLabels,(o,i,a)=>(l(),d("div",WR,[D(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,KR),[[s,{state:e.viewState,set:c=>{e.filters.status[i]=c},value:e.filters?.status[i],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+i},u(o),9,YR)]))),256))])])])],32)),[[r,e.viewState]]),n("div",JR,[n("span",QR,[e.filteredRepositories?.length===e.conference?.repositories?.length?(l(),d("span",XR,[y(u(e.fmt?.number(e.conference?.repositories?.length))+" repositor",1),e.conference?.repositories?.length===1?(l(),d("span",ZR,"y")):p("v-if",!0),e.conference?.repositories?.length!==1?(l(),d("span",xR,"ies")):p("v-if",!0)])):p("v-if",!0),e.filteredRepositories?.length!==e.conference?.repositories?.length?(l(),d("span",eT,u(e.fmt?.number(e.filteredRepositories?.length))+" of "+u(e.fmt?.number(e.conference?.repositories?.length))+" shown",1)):p("v-if",!0)]),(l(!0),d(K,null,re(e.filters?.status,(o,i,a)=>(l(),d(K,null,[o===!1?(l(),d("span",tT,[y(" Hiding "+u(e.statusLabels[i])+" ",1),n("button",{type:"button",class:"filter-chip-close",onClick:c=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,nT)])):p("v-if",!0)],64))),256))]),n("div",sT,[t[31]||(t[31]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Repository"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Views"),n("div",{role:"columnheader"},"Expires"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(K,null,re(e.filteredRepositories,(o,i)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":o?.status=="expired"||o?.status=="removed","repo-error":o?.status=="error"}]),role:"row",key:o?.repoId},[n("div",oT,[t[22]||(t[22]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",rT,[n("a",{class:"repo-name",textContent:u(o?.repoId),href:e.safeUrl("/r/"+o?.repoId+"/")},null,8,iT),n("div",aT,[n("span",lT,[n("a",{target:"_blank",rel:"noopener",textContent:u(o?.source?.fullName),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/")},null,8,dT),o?.options?.update&&o?.source?.branch?(l(),d("span",uT,[t[20]||(t[20]=y(" \xB7 ",-1)),n("a",{target:"_blank",rel:"noopener",textContent:u(o?.source?.branch),href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.branch)},null,8,cT)])):p("v-if",!0),o?.source?.commit?(l(),d("span",pT,[t[21]||(t[21]=y(" \xB7 ",-1)),n("a",{class:"commit-hash",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+o?.source?.fullName+"/tree/"+o?.source?.commit)},"@"+u(o?.source?.commit?.substring(0,8)),9,fT)])):p("v-if",!0)])])])]),n("div",mT,[n("div",hT,[n("span",{class:T(["status-dot","status-"+(o?.status=="error"?"error":o?.status=="ready"?"ready":o?.status=="expired"||o?.status=="removed"?o?.status:"progress")]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:u(e.fmt?.statusLabel(o?.status))},null,8,vT)]),o?.anonymizeDate?(l(),d("div",yT,"anonymized "+u(e.fmt?.humanTime(o?.anonymizeDate)),1)):p("v-if",!0)]),n("div",gT,[t[23]||(t[23]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),t[24]||(t[24]=y()),n("span",{textContent:u(e.fmt?.number(o?.pageView))},null,8,bT)]),n("div",wT,[t[26]||(t[26]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),o?.status=="ready"&&(o?.options?.expirationMode==="never"||!o?.options?.expirationDate)?(l(),d("span",kT,"Never")):p("v-if",!0),o?.status=="ready"&&o?.options?.expirationMode!=="never"&&o?.options?.expirationDate?(l(),d("span",{key:1,textContent:u(e.fmt?.humanTime(o?.options?.expirationDate))},null,8,CT)):p("v-if",!0),o?.status=="expired"?(l(),d("span",ET,[t[25]||(t[25]=y("Expired",-1)),o?.options?.expirationDate?(l(),d("span",ST,u(e.fmt?.humanTime(o?.options?.expirationDate)),1)):p("v-if",!0)])):p("v-if",!0),o?.status!="ready"&&o?.status!="expired"?(l(),d("span",NT,"\u2014")):p("v-if",!0)]),n("div",_T,[n("div",DT,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+o?.repoId},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,RT),n("div",TT,[n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+o?.repoId+"/")},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View ",-1)])],8,OT),n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+o?.repoId)},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit ",-1)])],8,AT)])])])],2))),128)),e.filteredRepositories?.length==0?(l(),d("div",IT,[t[30]||(t[30]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.conference?.repositories?.length?p("v-if",!0):(l(),d("span",PT,"No repository has been submitted to this conference yet.")),e.conference?.repositories?.length?(l(),d("span",VT,"Nothing matches the current filters.")):p("v-if",!0),e.conference?.repositories?.length?(l(),d("div",MT,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=o=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")])):p("v-if",!0)])):p("v-if",!0)])])])}var qT={class:"container page paper-page conferences-page"},LT={class:"row"},$T={class:"w-100"},UT={class:"search-wrap"},FT={type:"search",id:"search",class:"form-control","aria-label":"Search conferences",placeholder:"Search by name or ID\u2026",autocomplete:"off"},zT={class:"dashboard-filter-controls"},HT={class:"dropdown"},BT={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},jT={class:"filter-btn-value"},GT={class:"dropdown-menu","aria-labelledby":"dropdownSort"},WT={class:"form-check dropdown-item"},KT={class:"form-check-input",type:"radio",name:"sort",id:"sortName",value:"name"},YT={class:"form-check dropdown-item"},JT={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"conferenceID"},QT={class:"form-check dropdown-item"},XT={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},ZT={class:"dropdown"},xT={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},e4={key:0,class:"filter-btn-value"},t4={key:1,class:"filter-btn-value"},n4={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},s4={class:"form-check dropdown-item"},o4=["id"],r4=["for"],i4={key:1,class:"dashboard-meta"},a4={class:"dashboard-count"},l4={key:0},d4={key:0},u4={key:1},c4={key:0,class:"filter-chip"},p4=["onClick","aria-label"],f4={key:0,class:"conference-feedback",role:"alert"},m4={key:1,class:"conference-feedback",role:"status"},h4={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},v4={class:"cell-anon",role:"cell"},y4={class:"anon-text"},g4=["textContent","href"],b4={class:"anon-sub"},w4={class:"anon-source"},k4=["textContent"],C4={key:0},E4=["textContent","href"],S4={class:"cell-status",role:"cell"},N4={class:"status-line"},_4=["textContent"],D4={class:"cell-views num",role:"cell"},R4=["textContent"],T4={class:"cell-expires",role:"cell"},O4={key:0},A4={key:1,class:"empty-dash","aria-label":"No review window"},I4={class:"cell-actions",role:"cell"},P4={class:"dropdown"},V4=["disabled","aria-label"],M4={class:"dropdown-menu dropdown-menu-right"},q4=["href"],L4=["href"],$4={key:0},U4=["onClick"],F4={key:0,class:"paper-table-empty"},z4={key:1},H4={class:"paper-table-empty-actions"};function Rl(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",qT,[n("div",LT,[n("div",$T,[t[10]||(t[10]=fe('
My work \xA0/\xA0 Conferences

Your conferences

Group anonymizations by venue, give chairs a shared dashboard, and set one expiry for every submission.

New conference
',2)),e.conferences?.length>0?D((l(),d("form",{key:0,class:"w-100 dashboard-filter-row","aria-label":"Filter conferences","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=de(o=>e.submitForm(o,()=>{o.preventDefault()}),["prevent"]))},[n("div",UT,[D(n("input",FT,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),n("div",zT,[n("div",HT,[n("button",BT,[t[3]||(t[3]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",jT,u({name:"Name",conferenceID:"ID","-status":"Status"}[e.orderBy]||"Custom"),1)]),n("div",GT,[t[7]||(t[7]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",WT,[D(n("input",KT,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=n("label",{class:"form-check-label",for:"sortName"},"Name",-1))]),n("div",YT,[D(n("input",JT,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[5]||(t[5]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",QT,[D(n("input",XT,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[6]||(t[6]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))])])]),n("div",ZT,[n("button",xT,[t[8]||(t[8]=n("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",e4,"All")):p("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?p("v-if",!0):(l(),d("span",t4,u((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),n("div",n4,[t[9]||(t[9]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(K,null,re(e.statusLabels,(o,i,a)=>(l(),d("div",s4,[D(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+i},null,8,o4),[[s,{state:e.viewState,set:c=>{e.filters.status[i]=c},value:e.filters?.status[i],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+i},u(o),9,r4)]))),256))])])])],32)),[[r,e.viewState]]):p("v-if",!0),e.conferences?.length>0?(l(),d("div",i4,[n("span",a4,[e.filteredConferences?.length===e.conferences?.length?(l(),d("span",l4,[y(u(e.fmt?.number(e.conferences?.length))+" conference",1),e.conferences?.length!==1?(l(),d("span",d4,"s")):p("v-if",!0)])):p("v-if",!0),e.filteredConferences?.length!==e.conferences?.length?(l(),d("span",u4,u(e.fmt?.number(e.filteredConferences?.length))+" of "+u(e.fmt?.number(e.conferences?.length))+" shown",1)):p("v-if",!0)]),(l(!0),d(K,null,re(e.filters?.status,(o,i,a)=>(l(),d(K,null,[o===!1?(l(),d("span",c4,[y(" Hiding "+u(e.statusLabels[i])+" ",1),n("button",{type:"button",class:"filter-chip-close",onClick:c=>{e.filters.status[i]=!0},"aria-label":"Show "+e.statusLabels[i]+" again"},"\xD7",8,p4)])):p("v-if",!0)],64))),256))])):p("v-if",!0)]),e.error?(l(),d("div",f4,[n("span",null,u(e.error),1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=o=>e.loadConferences())},"Retry")])):p("v-if",!0),e.loading?(l(),d("div",m4,"Loading conferences\u2026")):p("v-if",!0),n("div",h4,[t[25]||(t[25]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Conference"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Repos"),n("div",{role:"columnheader"},"Review window"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(K,null,re(e.filteredConferences,(o,i)=>(l(),d("div",{class:T(["paper-table-row row-clickable",{"repo-inactive":o?.status=="expired"||o?.status=="removed"}]),role:"row",key:o?.conferenceID},[n("div",v4,[t[13]||(t[13]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",y4,[n("a",{class:"repo-name",textContent:u(o?.name),href:e.safeUrl("/conference/"+o?.conferenceID)},null,8,g4),n("div",b4,[n("span",w4,[t[12]||(t[12]=y("ID ",-1)),n("span",{class:"commit-hash",textContent:u(o?.conferenceID)},null,8,k4),o?.url?(l(),d("span",C4,[t[11]||(t[11]=y(" \xB7 ",-1)),n("a",{target:"_blank",rel:"noopener",textContent:u(e.fmt?.limitTo(o?.url,60)),href:e.safeUrl(o?.url)},null,8,E4)])):p("v-if",!0)])])])]),n("div",S4,[n("div",N4,[n("span",{class:T(["status-dot","status-"+o?.status]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:u(e.fmt?.statusLabel(o?.status))},null,8,_4)])]),n("div",D4,[t[14]||(t[14]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),t[15]||(t[15]=y()),n("span",{textContent:u(e.fmt?.number(o?.nbRepositories||0))},null,8,R4)]),n("div",T4,[t[16]||(t[16]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),o?.startDate?(l(),d("span",O4,u(e.fmt?.date(o?.startDate,"mediumDate"))+" \u2013 "+u(e.fmt?.date(o?.endDate,"mediumDate")),1)):p("v-if",!0),o?.startDate?p("v-if",!0):(l(),d("span",A4,"\u2014"))]),n("div",I4,[n("div",P4,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:o?.removing,"aria-label":"Actions for "+o?.name},[...t[17]||(t[17]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,V4),n("div",M4,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/")},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View ",-1)])],8,q4),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+o?.conferenceID+"/edit")},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit ",-1)])],8,L4),o?.status!="removed"?(l(),d("div",$4,[t[21]||(t[21]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeConference(o)},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove ",-1)])],8,U4)])):p("v-if",!0)])])])],2))),128)),!e.loading&&!e.error&&e.filteredConferences?.length==0?(l(),d("div",F4,[t[24]||(t[24]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.conferences?.length==0?(l(),d(K,{key:0},[t[22]||(t[22]=n("strong",{class:"empty-title"},"No conferences yet",-1)),t[23]||(t[23]=n("span",null,"Create one to group submissions for a venue, share a dashboard with chairs, and set a single expiry date.",-1))],64)):p("v-if",!0),e.conferences?.length>0?(l(),d("span",z4,"Nothing matches the current filters.")):p("v-if",!0),n("div",H4,[p("v-if",!0),e.conferences?.length>0?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[2]||(t[2]=o=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")):p("v-if",!0)])])):p("v-if",!0)])])])}var B4={class:"container page dashboard-page paper-page"},j4={class:"row"},G4={class:"w-100"},W4={class:"dashboard-heading"},K4={class:"dashboard-heading-actions"},Y4=["open"],J4=["aria-expanded"],Q4=["stroke-dasharray"],X4={key:1,d:"M7 12c0-4 4-4 5 0s5 4 5 0-4-4-5 0-5 4-5 0",class:"quota-ring-unlimited"},Z4={key:0,class:"quota-summary-value"},x4={key:0},eO={class:"quota-panel",id:"dashboard-usage"},tO={class:"quota-panel-heading"},nO={key:1,class:"quota-loading",role:"status"},sO={class:"search-wrap"},oO={type:"search",id:"search",class:"form-control","aria-label":"Search anonymizations",placeholder:"Search projects\u2026",autocomplete:"off"},rO=["aria-expanded"],iO={class:"btn-group",role:"group","aria-label":"Type"},aO=["aria-pressed"],lO=["aria-pressed"],dO=["aria-pressed"],uO=["aria-pressed"],cO={class:"dropdown"},pO={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},fO={class:"filter-btn-value"},mO={class:"sr-only"},hO={class:"dropdown-menu","aria-labelledby":"dropdownSort"},vO={class:"form-check dropdown-item"},yO=["onClick","checked","id"],gO=["for"],bO={class:"dropdown"},wO={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},kO={key:0,class:"filter-btn-value"},CO={key:1,class:"filter-btn-value"},EO={key:2,class:"filter-btn-value"},SO={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},NO={class:"form-check dropdown-item"},_O=["id"],DO=["for"],RO={key:0,class:"dashboard-meta"},TO={key:0,class:"dashboard-view-tabs",role:"group","aria-label":"Project view"},OO=["aria-pressed"],AO=["aria-pressed","aria-label"],IO={class:"dashboard-count"},PO={key:0},VO={key:0},MO={key:1},qO={class:"dashboard-active-filters"},LO=["onClick","aria-label","title"],$O=["aria-busy"],UO={class:"paper-table-head",role:"row"},FO=["aria-sort"],zO=["aria-sort"],HO=["aria-sort"],BO=["aria-sort"],jO={key:0,class:"paper-table-row paper-table-skeleton",role:"row","aria-hidden":"true"},GO=["onClick"],WO={class:"cell-anon",role:"cell"},KO=["aria-label","title"],YO={class:"project-type-svg","aria-hidden":"true"},JO=["href"],QO={class:"anon-text"},XO={class:"anon-title"},ZO=["title","textContent","href"],xO=["textContent"],eA={key:2,class:"type-badge type-coauthor",title:"You are a co-author on this anonymization"},tA={class:"anon-sub"},nA=["title"],sA=["title"],oA=["title"],rA=["textContent"],iA={class:"dashboard-row-meta",role:"presentation"},aA={class:"cell-status",role:"cell"},lA={class:"status-line"},dA=["textContent"],uA=["textContent","title"],cA=["title"],pA=["href"],fA=["onClick"],mA={key:4,class:"status-sub status-sub-date"},hA=["aria-label"],vA={class:"cell-expires",role:"cell"},yA={key:0,class:"expires-never"},gA=["textContent"],bA={key:2,class:"expires-past"},wA={key:3,class:"expires-past"},kA={key:4,class:"empty-dash","aria-label":"Not applicable"},CA={class:"cell-actions",role:"cell"},EA=["onClick","disabled","title","aria-label"],SA={class:"copy-url-text"},NA={class:"project-type-svg","aria-hidden":"true"},_A=["href"],DA=["onClick","data-project-actions","aria-controls","aria-expanded"],RA=["href","aria-label"],TA=["href","title","aria-label"],OA={key:4,class:"dropdown"},AA=["data-project-actions","aria-label"],IA={class:"dropdown-menu dropdown-menu-right"},PA=["onClick","aria-controls","aria-expanded"],VA=["href"],MA=["href"],qA=["onClick","disabled"],LA=["href"],$A=["onClick"],UA=["onClick"],FA=["onClick"],zA={key:5},HA=["onClick"],BA={key:1,class:"project-details-row",role:"row"},jA=["id","onKeydown"],GA={class:"project-details-heading"},WA=["onClick"],KA={class:"project-details-list"},YA={key:0},JA={key:1},QA={key:0},XA={key:2},ZA={key:0,class:"project-progress-help"},xA=["href"],e3=["onSubmit"],t3=["for"],n3=["id"],s3={class:"project-name-controls"},o3=["id","aria-describedby","disabled"],r3=["disabled"],i3={key:0,class:"project-name-error",role:"alert"},a3={key:1,role:"status"},l3={key:0,class:"paper-table-empty"},d3={key:0},u3={key:1},c3={class:"paper-table-empty-actions"},p3={key:1,href:"/anonymize",class:"btn btn-ink"},f3={key:0,class:"dashboard-pagination"},m3={key:0,role:"alert"},h3=["disabled"];function Tl(e,t){let s=Ge("quota-usage"),r=Ee("field"),o=Ee("form");return l(),d("div",B4,[n("div",j4,[n("div",G4,[n("div",W4,[t[29]||(t[29]=n("div",null,[n("h1",{class:"paper-page-title"},"My work"),n("p",{class:"paper-page-lede"},"Manage your anonymous links.")],-1)),n("div",K4,[n("details",{class:"dashboard-quota",open:e.quotaExpanded,onToggle:t[1]||(t[1]=i=>e.quotaExpanded=i.target.open),onKeydown:t[2]||(t[2]=yt(de(i=>e.closeQuota(),["prevent","stop"]),["esc"]))},[n("summary",{"aria-controls":"dashboard-usage","aria-expanded":e.quotaExpanded,style:Te(e.quota&&!e.quota.repository.unlimited?{"--quota-pct":e.quota.repository.percent+"%"}:null)},[(l(),d("svg",{class:T(["quota-summary-ring",e.quota?"quota-"+e.quota.repository.level:""]),viewBox:"0 0 24 24","aria-hidden":"true"},[t[22]||(t[22]=n("circle",{class:"quota-ring-track",cx:"12",cy:"12",r:"9"},null,-1)),e.quota&&!e.quota.repository.unlimited?(l(),d("circle",{key:0,class:"quota-ring-fill",cx:"12",cy:"12",r:"9",pathLength:"100","stroke-dasharray":e.quota.repository.percent+" 100"},null,8,Q4)):p("v-if",!0),e.quota?.repository.unlimited?(l(),d("path",X4)):p("v-if",!0)],2)),t[24]||(t[24]=n("span",{class:"quota-summary-label"},"Usage",-1)),e.quota?(l(),d("span",Z4,[y(u(e.fmt.number(e.quota.repository.used)),1),e.quota.repository.unlimited?p("v-if",!0):(l(),d("span",x4," / "+u(e.fmt.number(e.quota.repository.total)),1)),t[23]||(t[23]=y(" repos",-1))])):p("v-if",!0),t[25]||(t[25]=n("svg",{class:"project-type-svg quota-summary-chevron","aria-hidden":"true"},[n("use",{href:"#project-icon-chevron"})],-1))],12,J4),n("div",eO,[n("div",tO,[t[27]||(t[27]=n("h2",null,"Account usage",-1)),n("button",{type:"button",class:"project-close","aria-label":"Close usage",onClick:t[0]||(t[0]=i=>e.closeQuota())},[...t[26]||(t[26]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),e.quota?(l(),Ut(s,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):(l(),d("p",nO,"Loading usage\u2026"))])],40,Y4),t[28]||(t[28]=fe('New anonymization',1))])]),p(" Search + filters "),D((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter anonymizations","accept-charset":"UTF-8",onSubmit:t[9]||(t[9]=de(i=>e.submitForm(i,()=>{i.preventDefault()}),["prevent"]))},[n("div",sO,[D(n("input",oO,null,512),[[r,{state:e.viewState,set:i=>{e.search=i},value:e.search,form:null,options:{}}]])]),n("button",{class:"btn dashboard-filters-toggle",type:"button","aria-expanded":e.filtersExpanded,"aria-controls":"dashboard-filter-controls",onClick:t[3]||(t[3]=i=>e.filtersExpanded=!e.filtersExpanded)},[...t[30]||(t[30]=[y("Filters",-1),n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})],-1)])],8,rO),n("div",{id:"dashboard-filter-controls",class:T(["dashboard-filter-controls",{expanded:e.filtersExpanded}])},[n("div",iO,[n("button",{type:"button",class:T(["btn",{"btn-primary":e.typeFilter==="all"}]),onClick:t[4]||(t[4]=i=>e.typeFilter="all"),"aria-pressed":e.typeFilter==="all"},"All",10,aO),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="repo"}]),title:"Repositories",onClick:t[5]||(t[5]=i=>e.typeFilter="repo"),"aria-pressed":e.typeFilter==="repo"},[...t[31]||(t[31]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("span",{class:"type-filter-label"},"Repos",-1)])],10,lO),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="pr"}]),title:"Pull requests",onClick:t[6]||(t[6]=i=>e.typeFilter="pr"),"aria-pressed":e.typeFilter==="pr"},[...t[32]||(t[32]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-pr"})],-1),n("span",{class:"type-filter-label"},"PRs",-1)])],10,dO),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="gist"}]),title:"Gists",onClick:t[7]||(t[7]=i=>e.typeFilter="gist"),"aria-pressed":e.typeFilter==="gist"},[...t[33]||(t[33]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1),n("span",{class:"type-filter-label"},"Gists",-1)])],10,uO)]),n("div",{id:"dashboard-extra-filters",class:T(["dashboard-extra-filters",{expanded:e.filtersExpanded}])},[n("div",cO,[n("button",pO,[t[35]||(t[35]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",fO,u(e.sortLabel()),1),(l(),d("svg",{class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[34]||(t[34]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)),n("span",mO,u(e.sortDesc()?"descending":"ascending"),1)]),n("div",hO,[t[36]||(t[36]=n("h6",{class:"dropdown-header"},"Order by",-1)),(l(!0),d(K,null,re(e.sortFields,(i,a,c)=>(l(),d("div",vO,[n("input",{class:"form-check-input",type:"radio",name:"sort",onClick:f=>e.setSort(a,i.defaultDesc),checked:e.isSortedBy(a),id:"sort-"+c},null,8,yO),n("label",{class:"form-check-label",for:"sort-"+c},u(i?.label),9,gO)]))),256)),t[37]||(t[37]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item",onClick:t[8]||(t[8]=i=>e.toggleSortDirection())},u(e.sortDesc()?"Switch to ascending":"Switch to descending"),1)])]),n("div",bO,[n("button",wO,[t[38]||(t[38]=n("span",{class:"filter-btn-label"},"Status",-1)),e.hasHiddenStatus()?p("v-if",!0):(l(),d("span",kO,"All")),e.hiddenStatusCount()===1&&e.filters?.status?.removed===!1?(l(),d("span",CO,"Active")):p("v-if",!0),e.hasHiddenStatus()&&!(e.hiddenStatusCount()===1&&e.filters?.status?.removed===!1)?(l(),d("span",EO,u(e.hiddenStatusCount()===1?"Hiding "+(e.statusKeyLabels[Object.keys(e.filters?.status||{}).find(i=>e.filters.status[i]===!1)]||"").toLowerCase():e.hiddenStatusCount()+" hidden"),1)):p("v-if",!0)]),n("div",SO,[t[39]||(t[39]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(K,null,re(e.statusKeyLabels,(i,a,c)=>(l(),d("div",NO,[D(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+a},null,8,_O),[[r,{state:e.viewState,set:f=>{e.filters.status[a]=f},value:e.filters?.status[a],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+a},u(i),9,DO)]))),256))])])],2)],2)],32)),[[o,e.viewState]]),p(" Result count + active filter chips "),e.loading?p("v-if",!0):(l(),d("div",RO,[e.attentionCount()>0||e.projectView==="attention"?(l(),d("div",TO,[n("button",{type:"button","aria-pressed":e.projectView==="all",onClick:t[10]||(t[10]=i=>e.setProjectView("all")),"aria-label":"All projects"},[...t[40]||(t[40]=[n("span",{class:"dashboard-view-long"},"All projects",-1),n("span",{class:"dashboard-view-short","aria-hidden":"true"},"All",-1)])],8,OO),e.attentionCount()>0||e.projectView==="attention"?(l(),d("button",{key:0,type:"button","aria-pressed":e.projectView==="attention",onClick:t[11]||(t[11]=i=>e.setProjectView("attention")),"aria-label":"Needs attention "+e.attentionCount()},[t[41]||(t[41]=n("span",{class:"dashboard-attention-prefix"},"Needs ",-1)),t[42]||(t[42]=n("span",null,"attention",-1)),t[43]||(t[43]=y()),n("span",{class:T(["attention-count",{"has-attention":e.attentionCount()>0}])},u(e.attentionCount()),3)],8,AO)):p("v-if",!0)])):p("v-if",!0),n("span",IO,[(e.dashboardTotals?.filtered??e.filteredItems?.length)===(e.dashboardTotals?.total??e.items?.length)?(l(),d("span",PO,[y(u(e.fmt?.number(e.dashboardTotals?.total??e.items?.length))+" project",1),(e.dashboardTotals?.total??e.items?.length)!==1?(l(),d("span",VO,"s")):p("v-if",!0)])):(l(),d("span",MO,[y(u(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" shown \xB7 ",1),n("button",{type:"button",class:"btn-link-inline hidden-toggle",onClick:t[12]||(t[12]=i=>e.clearFilters())},"Show "+u(e.fmt?.number((e.dashboardTotals?.total??e.items?.length)-(e.dashboardTotals?.filtered??e.filteredItems?.length)))+" removed",1)]))]),n("div",qO,[(l(!0),d(K,null,re(e.filters?.status,(i,a,c)=>(l(),d(K,null,[i===!1&&!(a==="removed"&&e.hiddenStatusCount()===1)?(l(),d("button",{key:0,type:"button",class:"filter-chip",onClick:f=>e.filters.status[a]=!0,"aria-label":"Show "+e.statusKeyLabels[a]+" again",title:"Show "+e.statusKeyLabels[a]+" again"},[y("Hiding "+u((e.statusKeyLabels[a]||"").toLowerCase()),1),t[44]||(t[44]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))],8,LO)):p("v-if",!0)],64))),256)),e.typeFilter!=="all"?(l(),d("button",{key:0,type:"button",class:"filter-chip",onClick:t[13]||(t[13]=i=>e.typeFilter="all"),"aria-label":"Show all project types"},[y(u(e.typeFilter==="repo"?"Repositories":e.typeFilter==="pr"?"Pull requests":"Gists"),1),t[45]||(t[45]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))])):p("v-if",!0),e.showClearFilters()?(l(),d("button",{key:1,type:"button",class:"btn-link-inline",onClick:t[14]||(t[14]=i=>e.clearFilters())},"Clear filters")):p("v-if",!0)])]))]),p(" Table "),n("div",{class:"paper-table paper-table-dashboard",role:"table","aria-label":"Anonymizations","aria-busy":e.loading},[n("div",UO,[n("div",{role:"columnheader","aria-sort":e.isSortedBy("_label")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("_label")}]),onClick:t[15]||(t[15]=i=>e.setSort("_label"))},[t[47]||(t[47]=y(" Project ",-1)),e.isSortedBy("_label")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[46]||(t[46]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,FO),n("div",{role:"columnheader","aria-sort":e.isSortedBy("status")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("status")}]),onClick:t[16]||(t[16]=i=>e.setSort("status"))},[t[49]||(t[49]=y(" Status ",-1)),e.isSortedBy("status")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[48]||(t[48]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,zO),n("div",{role:"columnheader",class:"num","aria-sort":e.isSortedBy("pageView")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("pageView")}]),onClick:t[17]||(t[17]=i=>e.setSort("pageView"))},[t[51]||(t[51]=y(" Views ",-1)),e.isSortedBy("pageView")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[50]||(t[50]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,HO),n("div",{role:"columnheader","aria-sort":e.isSortedBy("options.expirationDate")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("options.expirationDate")}]),onClick:t[18]||(t[18]=i=>e.setSort("options.expirationDate"))},[t[53]||(t[53]=y(" Expires ",-1)),e.isSortedBy("options.expirationDate")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[52]||(t[52]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):p("v-if",!0)],2)],8,BO),t[54]||(t[54]=n("div",{role:"columnheader",class:"col-link"},"Link",-1))]),p(" Loading skeleton: keeps the layout stable while the three lists load "),(l(),d(K,null,re([1,2,3,4],(i,a)=>(l(),d(K,null,[e.loading?(l(),d("div",jO,[...t[55]||(t[55]=[n("div",{class:"cell-anon",role:"cell"},[n("span",{class:"skeleton skeleton-badge"}),n("div",{class:"anon-text"},[n("span",{class:"skeleton skeleton-line",style:{width:"38%"}}),n("span",{class:"skeleton skeleton-line skeleton-line-sm",style:{width:"56%"}})])],-1),n("div",{class:"cell-status",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"60%"}})],-1),n("div",{class:"cell-views num",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"40%"}})],-1),n("div",{class:"cell-expires",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"55%"}})],-1),n("div",{class:"cell-actions",role:"cell"},null,-1)])])):p("v-if",!0)],64))),64)),(l(!0),d(K,null,re(e.filteredItems,(i,a)=>(l(),d(K,{key:i?._type+":"+(i?._id||a)},[e.loading?p("v-if",!0):(l(),d("div",{key:0,class:T(["paper-table-row",{"repo-inactive":i?._statusKey=="expired"||i?._statusKey=="removed","repo-error":i?.status=="error","row-clickable":!!i?._viewUrl}]),role:"row",onClick:c=>e.openItem(i,c)},[n("div",WO,[n("span",{class:"project-type-icon",role:"img","aria-label":i?._type==="repo"?"Repository":i?._type==="pr"?"Pull request":"Gist",title:i?._type==="repo"?"Repository":i?._type==="pr"?"Pull request":"Gist"},[(l(),d("svg",YO,[n("use",{href:"#project-type-"+i._type},null,8,JO)]))],8,KO),n("div",QO,[n("div",XO,[i?._viewUrl?(l(),d("a",{key:0,class:"repo-name",title:i._label,textContent:u(i?._label),href:e.safeUrl(i?._viewUrl)},null,8,ZO)):p("v-if",!0),i?._viewUrl?p("v-if",!0):(l(),d("span",{key:1,class:"repo-name repo-name-static",textContent:u(i?._label)},null,8,xO)),i?.role==="coauthor"?(l(),d("span",eA,"Co-author")):p("v-if",!0)]),n("div",tA,[i?._id?(l(),d("code",{key:0,class:"anonymous-id",title:i._id},u(i._id),9,nA)):p("v-if",!0),i?._type==="repo"&&i?.source?.commit?(l(),d("span",{key:1,class:"commit-hash",title:i.source.commit},u(i.source.commit.substring(0,8)),9,sA)):p("v-if",!0),i?.conference?(l(),d("span",{key:2,class:"cell-conf conf-tag",title:i?.conference},[t[56]||(t[56]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),t[57]||(t[57]=y()),n("span",{textContent:u(i?.conference)},null,8,rA)],8,oA)):p("v-if",!0)])])]),n("div",iA,[n("div",aA,[n("div",lA,[n("span",{class:T(["status-dot","status-"+i?._statusKey]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:u(e.fmt?.statusLabel(i?.status))},null,8,dA)]),i?.status=="error"&&i?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:u(e.fmt?.statusMsg(i?.statusMessage)),title:i?.statusMessage},null,8,uA)):p("v-if",!0),i?._stale?(l(),d("div",{key:1,class:"status-sub status-sub-warn",title:"Last activity "+e.fmt?.humanTime(i?.anonymizeDate||i?.lastView)}," Last activity "+u(e.fmt?.humanTime(i?.anonymizeDate||i?.lastView))+" \xB7 may be stuck ",9,cA)):p("v-if",!0),i.status==="error"&&i._editUrl?(l(),d("a",{key:2,class:"project-attention-action",href:e.safeUrl(i._editUrl)},"Fix source",8,pA)):p("v-if",!0),i._stale||i._broken?(l(),d("button",{key:3,type:"button",class:"project-attention-action",onClick:de(c=>e.showProjectDetails(i),["stop"])},u(i._broken?"Review details":"Check progress"),9,fA)):p("v-if",!0),i?.status!="error"&&!i?._stale&&i?.anonymizeDate?(l(),d("div",mA," anonymized "+u(e.fmt?.humanTime(i?.anonymizeDate)),1)):p("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","aria-label":e.fmt.number(i.pageView)+" views"},[t[58]||(t[58]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),n("span",null,u(e.fmt.number(i.pageView)),1)],8,hA),n("div",vA,[t[59]||(t[59]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),i?._expiry?.kind==="never"?(l(),d("span",yA,"Never")):p("v-if",!0),i?._expiry?.kind==="date"?(l(),d("span",{key:1,textContent:u((e.fmt?.humanTime(i?._expiry?.date)||"").replace(/^on /,""))},null,8,gA)):p("v-if",!0),i?._expiry?.kind==="expired"&&i?._expiry?.date?(l(),d("span",bA,"Expired "+u(e.fmt?.humanTime(i?._expiry?.date)),1)):p("v-if",!0),i?._expiry?.kind==="expired"&&!i?._expiry?.date?(l(),d("span",wA,"Expired")):p("v-if",!0),i?._expiry?.kind==="none"?(l(),d("span",kA,"\u2014")):p("v-if",!0)])]),n("div",CA,[i._viewUrl?(l(),d("button",{key:0,type:"button",class:"copy-url",onClick:de(c=>e.copyLink(i),["stop"]),disabled:!!e.copyingId,title:"Copy anonymous link: "+i._viewUrl,"aria-label":"Copy anonymous link for "+i._label},[n("span",SA,u(e.copyingId===i._type+":"+i._id?"Copied":i._viewUrl.replace(/^https?:\/\/[^/]+/,"").replace(/\/$/,"")),1),(l(),d("svg",NA,[n("use",{href:e.copyingId===i._type+":"+i._id?"#ui-icon-check":"#project-icon-copy"},null,8,_A)]))],8,EA)):p("v-if",!0),i._broken?(l(),d("button",{key:1,type:"button",class:"project-details-button",onClick:de(c=>e.showProjectDetails(i),["stop"]),"data-project-actions":encodeURIComponent(i._type+":"+i._id),"aria-controls":e.projectDetailsId(i),"aria-expanded":e.selectedProject===i},"Details",8,DA)):p("v-if",!0),i._viewUrl?(l(),d("a",{key:2,class:"row-edit row-open",href:e.safeUrl(i._viewUrl),target:"_blank",rel:"noopener",title:"Open what reviewers see","aria-label":"Open anonymous page for "+i._label},[...t[60]||(t[60]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,RA)):p("v-if",!0),i?._editUrl&&!i?._broken?(l(),d("a",{key:3,class:"row-edit",href:e.safeUrl(i._editUrl),title:"Edit "+i._name,"aria-label":"Edit "+i._name},[...t[61]||(t[61]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1)])],8,TA)):p("v-if",!0),i?._broken?p("v-if",!0):(l(),d("div",OA,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","data-project-actions":encodeURIComponent(i._type+":"+i._id),"aria-label":"Actions for "+i?._name},[...t[62]||(t[62]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,AA),n("div",IA,[n("button",{type:"button",class:"dropdown-item",onClick:c=>e.showProjectDetails(i),"aria-controls":e.projectDetailsId(i),"aria-expanded":e.selectedProject===i},"Project details & name",8,PA),n("a",{class:"dropdown-item",href:e.safeUrl(i?._viewUrl)}," View ",8,VA),i?._type==="repo"&&i?.options?.page&&i?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+i?.repoId+"/")}," View page ",8,MA)):p("v-if",!0),i?._viewUrl?(l(),d("button",{key:1,type:"button",class:"dropdown-item",onClick:c=>e.copyLink(i),disabled:!!e.copyingId}," Copy anonymous link ",8,qA)):p("v-if",!0),n("a",{class:"dropdown-item",href:e.safeUrl(i?._editUrl)}," Edit ",8,LA),i?.status=="ready"||i?.status=="error"?(l(),d("button",{key:2,type:"button",class:"dropdown-item",onClick:c=>e.refreshItem(i)}," Force update ",8,$A)):p("v-if",!0),i?.status=="removed"?(l(),d("button",{key:3,type:"button",class:"dropdown-item",onClick:c=>e.refreshItem(i)}," Enable ",8,UA)):p("v-if",!0),i?.status=="expired"?(l(),d("button",{key:4,type:"button",class:"dropdown-item",onClick:c=>e.extendItem(i)}," Extend 6 months ",8,FA)):p("v-if",!0),(i?.status=="ready"||i?.status=="expired"||i?.status=="error")&&i?.role!=="coauthor"?(l(),d("div",zA,[t[63]||(t[63]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:c=>e.removeItem(i)}," Remove ",8,HA)])):p("v-if",!0)])]))])],10,GO)),!e.loading&&e.selectedProject===i?(l(),d("div",BA,[n("div",{class:"project-details",role:"cell","aria-colspan":"5",id:e.projectDetailsId(i),tabindex:"-1",onKeydown:yt(de(c=>e.closeProjectDetails(i),["stop"]),["esc"])},[n("div",GA,[t[65]||(t[65]=n("h2",null,"Project details",-1)),n("button",{type:"button",class:"project-close",onClick:c=>e.closeProjectDetails(i),"aria-label":"Close project details"},[...t[64]||(t[64]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,WA)]),n("dl",KA,[n("div",null,[t[66]||(t[66]=n("dt",null,"Source",-1)),n("dd",null,u(i._source||"Not available"),1)]),n("div",null,[t[67]||(t[67]=n("dt",null,"Anonymous ID",-1)),n("dd",null,[n("code",null,u(i._id||"Missing identifier"),1)])]),i.source?.commit?(l(),d("div",YA,[t[68]||(t[68]=n("dt",null,"Commit",-1)),n("dd",null,[n("code",null,u(i.source.commit),1)])])):p("v-if",!0),i.conference?(l(),d("div",JA,[t[69]||(t[69]=n("dt",null,"Conference",-1)),n("dd",null,u(i.conference),1)])):p("v-if",!0),n("div",null,[t[70]||(t[70]=n("dt",null,"Status",-1)),n("dd",null,[y(u(e.fmt.statusLabel(i.status)),1),i.statusMessage?(l(),d("span",QA," \xB7 "+u(e.fmt.statusMsg(i.statusMessage)),1)):p("v-if",!0)])]),i.anonymizeDate?(l(),d("div",XA,[t[71]||(t[71]=n("dt",null,"Last anonymized",-1)),n("dd",null,u(e.fmt.humanTime(i.anonymizeDate)),1)])):p("v-if",!0)]),i._stale?(l(),d("p",ZA,"This download has not progressed recently. Check the source access and selected branch before retrying.")):p("v-if",!0),i._editUrl?(l(),d("a",{key:1,class:"project-attention-action",href:e.safeUrl(i._editUrl)},u(e.needsAttention(i)?"Check source settings":"Edit anonymization settings"),9,xA)):p("v-if",!0),i._id?(l(),d("form",{key:2,class:"project-name-form",onSubmit:de(c=>e.saveProjectName(i),["prevent"])},[n("label",{for:"project-name-"+i._type+"-"+i._id},"Project name",8,t3),n("p",{id:"project-name-help-"+i._type+"-"+i._id},"Only you see this name. Leave it blank to use the default.",8,n3),n("div",s3,[D(n("input",{class:"form-control",type:"text",id:"project-name-"+i._type+"-"+i._id,"aria-describedby":"project-name-help-"+i._type+"-"+i._id,maxlength:"100","onUpdate:modelValue":t[19]||(t[19]=c=>e.projectName=c),disabled:e.nameSaving},null,8,o3),[[ps,e.projectName]]),n("button",{class:"btn btn-ink",type:"submit",disabled:e.nameSaving},u(e.nameSaving?"Saving\u2026":"Save name"),9,r3)]),e.nameError?(l(),d("p",i3,u(e.nameError),1)):p("v-if",!0),e.nameMessage?(l(),d("p",a3,u(e.nameMessage),1)):p("v-if",!0)],40,e3)):p("v-if",!0)],40,jA)])):p("v-if",!0)],64))),128)),!e.loading&&e.filteredItems?.length==0?(l(),d("div",l3,[t[73]||(t[73]=n("svg",{class:"project-type-svg project-empty-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.hasProjects()?p("v-if",!0):(l(),d("span",d3,"You have no anonymizations yet.")),e.hasProjects()?(l(),d("span",u3,"Nothing matches the current filters.")):p("v-if",!0),n("div",c3,[e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[20]||(t[20]=i=>e.clearFilters())},"Clear filters")):p("v-if",!0),e.hasProjects()?p("v-if",!0):(l(),d("a",p3,[...t[72]||(t[72]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),y(" New anonymization",-1)])]))])])):p("v-if",!0)],8,$O)]),e.dashboardCursor||e.dashboardError?(l(),d("div",f3,[e.dashboardError?(l(),d("p",m3,u(e.dashboardError),1)):p("v-if",!0),e.dashboardCursor?(l(),d("button",{key:1,type:"button",class:"btn",onClick:t[21]||(t[21]=i=>e.loadMoreProjects()),disabled:e.loadingMore},u(e.loadingMore?"Loading\u2026":"Load more projects"),9,h3)):p("v-if",!0)])):p("v-if",!0)])}var v3={class:"viewer-bar"},y3={class:"vb-left"},g3=["aria-label","title"],b3={class:"vb-right"},w3=["title"],k3={class:"vb-help"},C3=["aria-expanded"],E3={key:0,class:"acct-menu vb-help-menu",role:"menu"},S3=["aria-label","title"],N3={class:"ui-icon","aria-hidden":"true"},_3=["href"],D3={key:1,class:"acct"},R3=["aria-label","aria-expanded"],T3=["src"],O3={key:1,class:"acct-initial"},A3={key:0,class:"acct-menu",role:"menu"},I3={class:"acct-menu-head"},P3={key:2,class:"vb-signin",href:"/signin",target:"_self"},V3=["aria-label"],M3={class:"ui-icon","aria-hidden":"true"},q3=["href"],L3=["textContent"],$3={class:"leftCol-head"},U3={class:"leftCol-search"},F3={class:"tree-search-box"},z3=["href"],H3={type:"text",class:"tree-search-input",placeholder:"Search files","aria-label":"Search files"},B3=["title","href"],j3={class:"leftCol-body"},G3={key:0,class:"paper-inline-warning",role:"alert"},W3={key:1,class:"paper-inline-warning",role:"alert"},K3={class:"explorer-main"},Y3={class:"breadcrumb paths","aria-label":"Path"},J3={class:"breadcrumb-item breadcrumb-root"},Q3=["href","title","textContent"],X3=["aria-current","textContent"],Z3=["aria-label","title"],x3={class:"ui-icon","aria-hidden":"true"},eI=["href"],tI={class:"status-bar-actions"},nI=["href"],sI={class:"d-none d-md-inline"},oI={class:"ui-icon","aria-hidden":"true"},rI=["href"],iI={class:"d-none d-md-inline"},aI=["href"],lI={class:"explorer-content"};function Ol(e,t){let s=Ge("tree"),r=Ge("partial-view"),o=Ee("field");return l(),d("div",{class:T(["explorer-page",{"files-hidden":e.sidebarHidden}]),style:Te({"--sidebar-w":e.sidebarWidth+"px"})},[n("header",v3,[n("div",y3,[t[14]||(t[14]=n("a",{class:"vb-logo",href:"/"},[y("Anonymous "),n("em",null,"GitHub")],-1)),n("button",{type:"button",class:"vb-icon vb-sidebar","aria-label":e.sidebarHidden?"Show file tree":"Hide file tree",title:e.sidebarHidden?"Show file tree":"Hide file tree",onClick:t[0]||(t[0]=i=>e.sidebarHidden=!e.sidebarHidden)},[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1)])],8,g3)]),n("div",b3,[e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("span",{key:0,class:"vb-snapshot",title:e.options?.anonymizedAt&&!e.options?.publishedAt?"Older repositories have no recorded publication date. The source commit date does not establish when files became available here.":(e.options?.sourceCommitDate?"Source commit ":e.options?.anonymizedAt?"Anonymized ":"Updated ")+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+(e.options?.publishedAt?" \xB7 snapshot ready "+e.fmt?.date(e.options.publishedAt):"")},[t[15]||(t[15]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[16]||(t[16]=n("span",null,"Snapshot",-1)),t[17]||(t[17]=n("span",{class:"vb-dot","aria-hidden":"true"},"\xB7",-1)),n("span",null,u(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)],8,w3)):p("v-if",!0),t[25]||(t[25]=n("a",{class:"vb-support",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Support Anonymous GitHub \u2014 help keep it free for researchers"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})]),n("span",null,"Support")],-1)),n("div",k3,[n("button",{type:"button",class:"vb-help-btn","aria-haspopup":"true","aria-expanded":e.helpOpen?"true":"false",onClick:t[1]||(t[1]=de(i=>e.helpOpen=!e.helpOpen,["stop"]))},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),n("span",null,"Help",-1)])],8,C3),e.helpOpen?(l(),d("div",E3,[...t[19]||(t[19]=[n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),n("span",null,[y("FAQ"),n("small",null,"How anonymization works")])],-1),n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),n("span",null,[y("Report a bug"),n("small",null,"About this service, not the paper")])],-1)])])):p("v-if",!0)]),n("button",{type:"button",class:"vb-icon","aria-label":e.isDarkMode?"Switch to light mode":"Switch to dark mode",title:e.isDarkMode?"Light mode":"Dark mode",onClick:t[2]||(t[2]=i=>e.darkMode(!e.isDarkMode))},[(l(),d("svg",N3,[n("use",{href:e.isDarkMode?"#ui-icon-sun":"#ui-icon-moon"},null,8,_3)]))],8,S3),e.user?(l(),d("div",D3,[n("button",{type:"button",class:"acct-chip","aria-haspopup":"true","aria-label":"Account: "+e.user?.username,"aria-expanded":e.accountOpen?"true":"false",onClick:t[3]||(t[3]=de(i=>e.accountOpen=!e.accountOpen,["stop"]))},[e.user?.photo?(l(),d("img",{key:0,src:e.safeUrl(e.user.photo),alt:"",width:"26",height:"26"},null,8,T3)):(l(),d("span",O3,u((e.user?.username||"?").charAt(0).toUpperCase()),1))],8,R3),e.accountOpen?(l(),d("div",A3,[n("div",I3,[t[20]||(t[20]=y("Signed in as ",-1)),n("b",null,"@"+u(e.user?.username),1)]),t[21]||(t[21]=n("a",{role:"menuitem",href:"/dashboard"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})]),y("My work")],-1)),t[22]||(t[22]=n("a",{role:"menuitem",href:"/profile"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})]),y("Settings")],-1)),t[23]||(t[23]=n("a",{role:"menuitem",href:"/api/user/logout",target:"_self"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-logout"})]),y("Sign out")],-1))])):p("v-if",!0)])):(l(),d("a",P3,[...t[24]||(t[24]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1),y("Sign in",-1)])]))])]),D(n("button",{class:"sidebar-toggle",onClick:t[4]||(t[4]=i=>e.sidebarCollapsed=!e.sidebarCollapsed),"aria-label":e.sidebarCollapsed?"Show files":"Hide files"},[(l(),d("svg",M3,[n("use",{href:e.sidebarCollapsed?"#ui-icon-folder":"#project-icon-close"},null,8,q3)])),n("span",{textContent:u(e.sidebarCollapsed?"Files":"Close")},null,8,L3)],8,V3),[[Q,e.files?.length]]),D(n("div",{class:T(["leftCol",{collapsed:e.sidebarCollapsed}])},[n("div",$3,[t[27]||(t[27]=n("span",{class:"leftCol-eyebrow"},"Files",-1)),n("button",{class:"leftCol-close","aria-label":"Close files",onClick:t[5]||(t[5]=i=>e.sidebarCollapsed=!0)},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),n("div",U3,[n("div",F3,[(l(),d("svg",{class:T(["ui-icon tree-search-icon",{"fa-spin":e.fileSearchLoading}]),"aria-hidden":"true"},[n("use",{href:e.fileSearchLoading?"#ui-icon-spinner":"#ui-icon-search"},null,8,z3)],2)),D(n("input",H3,null,512),[[o,{state:e.viewState,set:i=>{e.fileSearchQuery=i},value:e.fileSearchQuery,form:null,options:{debounce:300},change:()=>{e.onFileSearchChange()}}]]),D(n("kbd",{class:"tree-search-kbd"},u(e.isMac?"\u2318":"Ctrl+")+"K",513),[[Q,!e.fileSearchQuery]]),D(n("button",{class:"tree-search-clear","aria-label":"Clear search",onClick:t[6]||(t[6]=i=>{e.fileSearchQuery="",e.onFileSearchChange()})},"\xD7",512),[[Q,e.fileSearchQuery]])]),e.options?.download?(l(),d("a",{key:0,target:"_self",class:"search-zip","aria-label":"Download repository as ZIP",title:"Download the repository (snapshot "+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+") as ZIP",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1)])],8,B3)):p("v-if",!0)]),n("div",j3,[e.options?.truncatedFolders?.length>0?(l(),d("div",G3,[t[29]||(t[29]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fmt?.translate("WARNINGS.repo_truncated")),1)])):p("v-if",!0),e.options?.hasSubmodules?(l(),d("div",W3,[t[30]||(t[30]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),y(" "+u(e.fmt?.translate("WARNINGS.submodules_not_included")),1)])):p("v-if",!0),Oe(s,{class:"files",file:e.files,"search-query":e.fileSearchQuery,"search-results":e.fileSearchResults,page:e.viewState},null,8,["file","search-query","search-results","page"])])],2),[[Q,e.files?.length]]),D(n("div",{class:"leftCol-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file tree",title:"Drag to resize",onPointerdown:t[7]||(t[7]=i=>e.startSidebarResize(i))},null,544),[[Q,e.files?.length&&!e.sidebarHidden]]),D(n("div",{class:"leftCol-backdrop",onClick:t[8]||(t[8]=i=>e.sidebarCollapsed=!0)},null,512),[[Q,e.files?.length&&!e.sidebarCollapsed]]),n("div",K3,[n("div",{class:T(["status-bar",{"is-redundant":["code","text","html"].includes(e.type)&&e.content!=null&&!(e.options?.isAdmin||e.options?.isOwner||e.options?.hasWebsite)}])},[D(n("button",{type:"button",class:"btn btn-sm status-files-btn","aria-label":"Show files",title:"Show files",onClick:t[9]||(t[9]=i=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-folder"})],-1),n("span",null,"Files",-1)])],512),[[Q,e.files?.length]]),n("ol",Y3,[n("li",J3,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:u(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,Q3)]),(l(!0),d(K,null,re(e.paths,(i,a)=>(l(),d("li",{class:"breadcrumb-item","aria-current":a===e.paths.length-1?"page":null,textContent:u(i)},null,8,X3))),256))]),D(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy path",title:e.pathCopied?"Path copied":"Copy path",onClick:t[10]||(t[10]=i=>e.copyPath())},[(l(),d("svg",x3,[n("use",{href:e.pathCopied?"#ui-icon-check":"#project-icon-copy"},null,8,eI)]))],8,Z3),[[Q,e.filePath]]),n("div",tI,[e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,nI)):p("v-if",!0),e.type=="html-doc"&&!e.showSource?(l(),d("button",{key:1,class:T(["btn btn-sm",{"btn-active":e.allowScripts}]),"aria-label":"Allow this document to run JavaScript",title:"Scripts in this file are blocked by default. Enable them only if you trust the repository \u2014 the document stays isolated from your session either way.",onClick:t[11]||(t[11]=i=>e.toggleAllowScripts())},[t[33]||(t[33]=n("i",{class:"fab fa-js"},null,-1)),n("span",sI,u(e.allowScripts?"JS on":"JS off"),1)],2)):p("v-if",!0),e.type=="html-doc"?(l(),d("button",{key:2,class:"btn btn-sm","aria-label":"Toggle between the rendered document and its source",title:"Toggle between the rendered document and its source",onClick:t[12]||(t[12]=i=>e.toggleSource())},[(l(),d("svg",oI,[n("use",{href:e.showSource?"#project-icon-eye":"#ui-icon-code"},null,8,rI)])),n("span",iI,u(e.showSource?"Rendered":"Source"),1)])):p("v-if",!0),e.options?.hasWebsite?(l(),d("a",{key:3,target:"_self",class:"btn btn-sm","aria-label":"Website",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),n("span",{class:"d-none d-md-inline"}," Website",-1)])],8,aI)):p("v-if",!0)])],2),n("div",lI,[Oe(r,{name:"partials/pageView.htm",state:e.viewState},null,8,["state"])])])],6)}var dI={class:"paper-faq"},uI={class:"paper-faq-body"},cI={class:"paper-faq-toc"};function Al(e,t){let s=Ee("paper-scrollspy");return l(),d("div",dI,[t[3]||(t[3]=fe('
Help

Answers to the questions that come up most.

Can\u2019t find your answer? Open an issue on GitHub.

',1)),n("div",uI,[D((l(),d("aside",cI,[...t[0]||(t[0]=[fe('
Contents
',2)])])),[[s]]),t[1]||(t[1]=n("section",{class:"faq-section","aria-label":"FAQs"},[n("div",null,[p(" General "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),y("General ")]),n("div",{class:"panel-group",id:"faq-general",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingWhatIs"},[n("h3",{class:"panel-title"},[n("a",{role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#whatIs","aria-expanded":"true","aria-controls":"whatIs"}," What is Anonymous GitHub? ")])]),n("div",{id:"whatIs",class:"panel-collapse collapse show",role:"tabpanel","aria-labelledby":"headingWhatIs"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub is a free, open-source tool that anonymizes GitHub repositories and pull requests for double-anonymous (double-blind) peer review. It replaces identifying information \u2014 such as the repository owner, organization name, and custom terms \u2014 so that reviewers cannot determine the identity of the authors through the code repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingHowWork"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#howWork","aria-expanded":"false","aria-controls":"howWork"}," How does Anonymous GitHub work? ")])]),n("div",{id:"howWork",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingHowWork"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub either downloads the complete repository and anonymizes the content, or proxies requests to GitHub on the fly. In both cases, the original and anonymized versions of files are cached on the server. The system automatically detects and replaces the repository owner, organization name, and repository name. You can also specify additional custom terms to anonymize using one-per-line regex patterns. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingScope"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#scope","aria-expanded":"false","aria-controls":"scope"}," What is the scope of anonymization? ")])]),n("div",{id:"scope",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingScope"},[n("div",{class:"panel-body p-3"},[n("p",null," In double-anonymous peer review, the boundary of anonymization is the paper plus its online appendix \u2014 not the entire internet. Searching for any part of the paper or the online appendix can be considered a deliberate attempt to break anonymity. Anonymous GitHub anonymizes the repository owner, organization, repository name, file and directory names, and file contents across all text-based file types. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCost"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#cost","aria-expanded":"false","aria-controls":"cost"}," How much does it cost? ")])]),n("div",{id:"cost",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCost"},[n("div",{class:"panel-body p-3"},[n("p",null,[y(" Anonymous GitHub is completely free to use. However, the server costs hundreds of dollars per year to maintain. If you find the service useful, a small donation would be greatly appreciated. You can support the project by "),n("a",{href:"https://github.com/sponsors/tdurieux/",target:"_blank"},"sponsoring on GitHub"),y(", donating through "),n("a",{href:"https://ko-fi.com/tdurieux",target:"_blank"},"Ko-fi"),y(', or by clicking the "Support me" button on the site. ')])])])])]),p(" Features "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})]),y("Features ")]),n("div",{class:"panel-group",id:"faq-features",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingFormats"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#formats","aria-expanded":"false","aria-controls":"formats"}," Which file formats are supported? ")])]),n("div",{id:"formats",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFormats"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub can display and render a wide variety of file types: "),n("ul",null,[n("li",null,[n("strong",null,"Text and source code"),y(" \u2014 displayed with syntax highlighting")]),n("li",null,[n("strong",null,"Markdown"),y(" \u2014 rendered as formatted HTML")]),n("li",null,[n("strong",null,"Images"),y(" (PNG, JPG, SVG, etc.) \u2014 displayed inline")]),n("li",null,[n("strong",null,"PDFs"),y(" \u2014 rendered directly in the browser")]),n("li",null,[n("strong",null,"Jupyter Notebooks"),y(" \u2014 rendered with code cells and outputs")])]),n("p",null," Only text-based files are anonymized. Anonymous GitHub analyzes the content of each file to determine whether it is textual or binary. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPR"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#pullRequests","aria-expanded":"false","aria-controls":"pullRequests"}," Can I anonymize pull requests? ")])]),n("div",{id:"pullRequests",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPR"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. In addition to full repositories, Anonymous GitHub supports anonymizing individual pull requests. Simply paste the URL of a GitHub pull request when creating a new anonymized repository, and the system will automatically detect that it is a pull request and anonymize it accordingly. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingConference"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#conference","aria-expanded":"false","aria-controls":"conference"}," What is the Conference ID feature? ")])]),n("div",{id:"conference",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConference"},[n("div",{class:"panel-body p-3"},[n("p",null," When creating an anonymized repository, you can associate it with a Conference ID. This allows conferences to define default anonymization settings (such as expiration dates) that are automatically applied to repositories submitted under that conference. If your conference provides a Conference ID, enter it during the anonymization setup. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingExpiration"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#expiration","aria-expanded":"false","aria-controls":"expiration"}," What happens when an anonymized repository expires? ")])]),n("div",{id:"expiration",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingExpiration"},[n("div",{class:"panel-body p-3"},[n("p",null," You can configure one of three expiration strategies when creating your anonymized repository: "),n("ul",null,[n("li",null,[n("strong",null,"Never expire"),y(" \u2014 the anonymized repository remains accessible indefinitely.")]),n("li",null,[n("strong",null,"Redirect to GitHub"),y(" \u2014 after expiration, visitors are redirected to the original GitHub repository.")]),n("li",null,[n("strong",null,"Remove content"),y(" \u2014 after expiration, the anonymized content is deleted from the server.")])])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDownload"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#download","aria-expanded":"false","aria-controls":"download"}," Can I download an anonymized repository? ")])]),n("div",{id:"download",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDownload"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymized repositories can be downloaded as a ZIP file. This is useful if reviewers want to build or test the code locally. The downloaded archive contains the fully anonymized version of the repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingUpdates"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#updates","aria-expanded":"false","aria-controls":"updates"}," Are updates to the original repository reflected in the anonymized version? ")])]),n("div",{id:"updates",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingUpdates"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. The anonymized repository tracks the source on GitHub: when you push new commits to the original repository, the anonymized view picks up those changes (cached files are refreshed against GitHub). This means you can keep iterating on the code while reviewers have the link, and you do not need to recreate the anonymized repository every time you update the source. "),n("p",null," A few practical implications worth keeping in mind: "),n("ul",null,[n("li",null," You can safely create the anonymized repository early in the writing process \u2014 later commits will be visible to reviewers without any additional action. "),n("li",null," If you rename files, add new identifiers, or introduce new contributor names after creation, revisit the anonymization options (custom terms, file filters) to make sure the new content is still properly anonymized. "),n("li",null," If the original repository is made private or deleted, the anonymized repository will no longer be able to fetch updated content. ")])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCLI"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#cli","aria-expanded":"false","aria-controls":"cli"}," Is there a command-line tool? ")])]),n("div",{id:"cli",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCLI"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymous GitHub provides a CLI tool that lets you anonymize repositories locally, generating an anonymized ZIP file on your machine. Install it via npm: "),n("pre",{style:{"background-color":"var(--hover-bg-color)",padding:"12px","border-radius":"4px","margin-top":"8px",color:"var(--color)"}},[n("code",null,`npm install -g @tdurieux/anonymous_github +anonymous_github`)])])])])]),p(" Limitations "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})]),y("Limitations ")]),n("div",{class:"panel-group",id:"faq-limitations",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingLimitation"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-limitations",href:"#limitation","aria-expanded":"false","aria-controls":"limitation"}," What are the limitations of Anonymous GitHub? ")])]),n("div",{id:"limitation",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingLimitation"},[n("div",{class:"panel-body p-3"},[n("ul",null,[n("li",null," Anonymous GitHub only anonymizes text-based files. Binary files (compiled executables, archives, etc.) are served as-is without anonymization. "),n("li",null," Files larger than 8 MB are not supported. "),n("li",null," Static site generators (such as Jekyll) used with GitHub Pages are not fully supported, although Markdown files are converted to HTML. "),n("li",null," The anonymization of terms within source code may change the behavior of the program (e.g., if a replaced term appears in a string literal or identifier). ")])])])])]),p(" Privacy & Security "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),y("Privacy & Security ")]),n("div",{class:"panel-group",id:"faq-privacy",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingData"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#data","aria-expanded":"false","aria-controls":"data"}," How is my data handled? ")])]),n("div",{id:"data",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingData"},[n("div",{class:"panel-body p-3"},[n("p",null," Data stored on Anonymous GitHub is never shared or used for any purpose beyond providing the anonymization service. When a repository is removed or expires, only its configuration is retained \u2014 this makes it easy to restore the repository if needed and ensures that no future repository reuses the same ID. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPermissions"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#permissions","aria-expanded":"false","aria-controls":"permissions"}," Why does GitHub say Anonymous GitHub asks for write access? ")])]),n("div",{id:"permissions",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPermissions"},[n("div",{class:"panel-body p-3"},[n("p",null,[y("The GitHub App has read-only access to the repositories you choose. You can change repository access on your "),n("a",{href:"/connections"},"GitHub connections"),y(" page.")]),n("p",null,"Legacy GitHub OAuth includes write access to private repositories because GitHub's OAuth scopes do not offer a read-only option for them. Existing OAuth anonymizations and gists can still use this connection."),n("p",null,"Anonymous GitHub reads repository content. It never pushes, modifies, or deletes files on GitHub.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingViewer"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#viewer","aria-expanded":"false","aria-controls":"viewer"}," Can repository owners see who viewed their anonymized repository? ")])]),n("div",{id:"viewer",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingViewer"},[n("div",{class:"panel-body p-3"},[n("p",null," No. Only the total number of views is tracked as an incremental counter. It is not possible for the repository owner or for Anonymous GitHub to identify individual viewers. Reviewer anonymity is fully preserved. ")])])])]),p(" Self-Hosting "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-storage"})]),y("Self-Hosting ")]),n("div",{class:"panel-group",id:"faq-hosting",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDeploy"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-hosting",href:"#deploy","aria-expanded":"false","aria-controls":"deploy"}," Can I deploy my own instance? ")])]),n("div",{id:"deploy",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDeploy"},[n("div",{class:"panel-body p-3"},[n("p",null,[y(" Yes. Anonymous GitHub is fully open source (GPL-3.0) and supports Docker-based deployment. You will need to configure a GitHub OAuth app and provide a GitHub token. Detailed setup instructions are available on the "),n("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),y(". ")]),n("p",null," The basic steps are: "),n("ol",null,[n("li",null,"Clone the repository and install dependencies"),n("li",null,[y("Create a "),n("code",null,".env"),y(" file with your GitHub token, OAuth client ID, and client secret")]),n("li",null,[y("Run "),n("code",null,"docker-compose up -d")])])])])])]),n("div",{class:"text-center mt-5 mb-5 p-4",style:{"background-color":"var(--hover-bg-color)","border-radius":"8px"}},[n("p",{class:"mb-2",style:{"font-size":"1.1rem"}}," Still have questions? "),n("p",{class:"text-muted mb-0"},[y(" Open an issue on the "),n("a",{href:"https://github.com/tdurieux/anonymous_github/issues",target:"_blank"},"GitHub repository"),y(" and we'll be happy to help. ")])])])],-1)),t[2]||(t[2]=n("aside",{class:"paper-faq-help","aria-label":"More help"},[n("div",{class:"paper-faq-help-card"},[n("strong",null,"Still stuck?"),n("p",null,"Open an issue on GitHub about the service. For a paper's content, contact the conference instead."),n("a",{class:"btn btn-outline-ink btn-sm",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml"},"Open an issue")])],-1))])])}var pI={class:"pr-page"},fI={class:"container paper-page pr-page-inner"},mI={class:"pr-header"},hI={class:"pr-title-row"},vI={class:"paper-page-title pr-title"},yI=["textContent"],gI={key:1,class:"text-muted"},bI=["href"],wI={class:"pr-header-meta"},kI={key:0,class:"pr-meta-item"},CI=["textContent"],EI={key:1,class:"pr-meta-item"},SI=["textContent"],NI={key:2,class:"pr-meta-item"},_I=["textContent"],DI={key:0,class:"paper-tabs",role:"tablist"},RI=["aria-selected","tabindex"],TI=["textContent"],OI=["aria-selected","tabindex"],AI=["textContent"],II={class:"paper-tab-content"},PI={key:0,role:"tabpanel",id:"gist-files-panel","aria-labelledby":"gist-files-tab"},VI={class:"pr-comments"},MI={class:"pr-comment"},qI={class:"pr-comment-head"},LI=["textContent"],$I={key:0,class:"pr-comment-date"},UI={key:0,class:"paper-table-empty"},FI={key:1,role:"tabpanel",id:"gist-comments-panel","aria-labelledby":"gist-comments-tab"},zI={class:"pr-comments"},HI={class:"pr-comment"},BI={class:"pr-comment-head"},jI={key:0,class:"pr-comment-author"},GI=["textContent"],WI=["textContent"],KI={key:0,class:"pr-comment-body"},YI={key:0,class:"paper-table-empty"};function Il(e,t){let s=Ge("gist-file"),r=Ge("markdown");return l(),d("div",pI,[n("div",fI,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),n("span",{class:"here"},"Gist")],-1)),n("header",mI,[n("div",hI,[n("h1",vI,[e.details?.description?(l(),d("span",{key:0,textContent:u(e.details?.description)},null,8,yI)):p("v-if",!0),e.details?.description?p("v-if",!0):(l(),d("span",gI,"Untitled gist"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/gist-anonymize/"+e.gistId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,bI)):p("v-if",!0)]),n("div",wI,[n("span",{class:T(["paper-pill",{good:e.details?.isPublic,warn:!e.details?.isPublic}])},u(e.details?.isPublic?"Public":"Secret"),3),e.details?.ownerLogin?(l(),d("span",kI,[t[5]||(t[5]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[6]||(t[6]=y(" @",-1)),n("span",{textContent:u(e.details?.ownerLogin)},null,8,CI)])):p("v-if",!0),e.details?.updatedDate?(l(),d("span",EI,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=y()),n("span",{textContent:u(e.fmt?.date(e.details?.updatedDate))},null,8,SI)])):p("v-if",!0),e.details?.anonymizeDate?(l(),d("span",NI,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=y(" Anonymized ",-1)),n("span",{textContent:u(e.fmt?.date(e.details?.anonymizeDate))},null,8,_I)])):p("v-if",!0)])]),e.details?.files&&e.details?.files?.length||e.details?.comments&&e.details?.comments?.length?(l(),d("nav",DI,[e.details?.files?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="files"}]),type:"button",role:"tab",id:"gist-files-tab","aria-selected":e.tabState?.active==="files","aria-controls":"gist-files-panel",tabindex:e.tabState?.active==="files"?0:-1,onKeydown:t[0]||(t[0]=o=>e.previewTabKeydown(o)),onClick:t[1]||(t[1]=o=>e.tabState.active="files")},[t[11]||(t[11]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.files?.length,{0:"No files",one:"1 file",other:"{} files"}))},null,8,TI)],42,RI)):p("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"gist-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"gist-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=o=>e.previewTabKeydown(o)),onClick:t[3]||(t[3]=o=>e.tabState.active="comments")},[t[12]||(t[12]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,AI)],42,OI)):p("v-if",!0)])):p("v-if",!0),n("div",II,[e.details?.files&&e.tabState?.active=="files"?(l(),d("div",PI,[n("ul",VI,[(l(!0),d(K,null,re(e.details?.files,(o,i)=>(l(),d("li",MI,[n("div",qI,[n("strong",{textContent:u(o?.filename)},null,8,LI),o?.language?(l(),d("span",$I,u(o?.language),1)):p("v-if",!0)]),Oe(s,{file:o},null,8,["file"])]))),256)),e.details?.files?.length?p("v-if",!0):(l(),d("li",UI,[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1),n("span",null,"No files in this gist.",-1)])]))])])):p("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",FI,[n("ul",zI,[(l(!0),d(K,null,re(e.details?.comments,(o,i)=>(l(),d("li",HI,[n("div",BI,[o?.author?(l(),d("span",jI,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=y(" @",-1)),n("span",{textContent:u(o?.author)},null,8,GI)])):p("v-if",!0),o?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(o?.updatedDate))},null,8,WI)):p("v-if",!0)]),o?.body?(l(),d("div",KI,[Oe(r,{content:o?.body},null,8,["content"])])):p("v-if",!0)]))),256)),e.details?.comments?.length?p("v-if",!0):(l(),d("li",YI,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this gist.",-1)])]))])])):p("v-if",!0)])])])}var JI={key:0,class:"nav-heart-m",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener","aria-label":"Support Anonymous GitHub",title:"Support Anonymous GitHub"},QI={key:1,class:"nav-signin-m",href:"/signin",target:"_self"},XI={class:"collapse navbar-collapse",id:"navbarSupportedContent"},ZI={class:"navbar-nav mr-auto smooth-scroll"},xI={key:0,class:"nav-item nav-home-item"},e5={key:1,class:"nav-item"},t5={key:2,class:"nav-item"},n5={key:3,class:"nav-item"},s5={class:"nav-item"},o5={key:4,class:"nav-item"},r5={class:"navbar-nav"},i5={key:0,class:"nav-item"},a5={key:1,class:"nav-item"},l5={key:2,class:"nav-item nav-signin-item"},d5={key:3,class:"nav-item dropdown user-chip-wrap"},u5={class:"nav-link user-chip dropdown-toggle",href:"#",id:"navbarDropdownMenuLink",role:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},c5=["src"],p5={class:"user-chip-name"},f5={class:"dropdown-menu dropdown-menu-right user-menu","aria-labelledby":"navbarDropdownMenuLink"},m5={class:"dropdown-header"},h5=["innerHTML"];function Pl(e,t){return l(),d(K,null,[n("nav",{class:T(["navbar navbar-expand-lg",{"navbar-dark":e.isDarkMode}])},[t[14]||(t[14]=fe('Anonymous GitHubSupport',2)),/^\/(r|w|pr|gist)\//.test(e.path||"")?p("v-if",!0):(l(),d("a",JI,[...t[2]||(t[2]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1)])])),!e.user&&!/^\/(r|w|pr|gist)\//.test(e.path||"")?(l(),d("a",QI,"Sign in")):p("v-if",!0),t[15]||(t[15]=n("button",{class:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"navbar-toggler-icon"})],-1)),n("div",XI,[n("ul",ZI,[e.user?p("v-if",!0):(l(),d("li",xI,[n("a",{class:T(["nav-link",{active:e.path=="/"}]),href:"/"}," Home ",2)])),e.user?(l(),d("li",e5,[n("a",{class:T(["nav-link",{active:e.path=="/dashboard"}]),href:"/dashboard"},[...t[3]||(t[3]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})],-1),y(" My work ",-1)])],2)])):p("v-if",!0),e.user?(l(),d("li",t5,[n("a",{class:T(["nav-link",{active:e.path=="/anonymize"||e.path=="/pull-request-anonymize"}]),href:"/anonymize"},[...t[4]||(t[4]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),y(" Anonymize ",-1)])],2)])):p("v-if",!0),e.user?(l(),d("li",n5,[n("a",{class:T(["nav-link",{active:e.path=="/conferences"||e.path?.startsWith("/conference/")}]),href:"/conferences"},[...t[5]||(t[5]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1),y(" Conferences ",-1)])],2)])):p("v-if",!0),n("li",s5,[n("a",{class:T(["nav-link",{active:e.path=="/faq"}]),href:"/faq"},[...t[6]||(t[6]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),y("FAQ",-1)])],2)]),e.user&&e.user?.isAdmin?(l(),d("li",o5,[n("a",{class:T(["nav-link",{active:e.path?.indexOf("/admin")===0}]),href:"/admin/"},[...t[7]||(t[7]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})],-1),y(" Admin ",-1)])],2)])):p("v-if",!0)]),n("ul",r5,[t[12]||(t[12]=n("li",{class:"nav-item d-lg-none"},[n("a",{class:"nav-link nav-icon",target:"_blank",href:"https://github.com/tdurieux/anonymous_github/",title:"Anonymous GitHub source code","aria-label":"Anonymous GitHub source code on GitHub",rel:"noopener","data-offset":"30"},[n("i",{class:"fab fa-github","aria-hidden":"true"})])],-1)),p(` "Report a bug" is about this service. Reviewers who land on an anonymized repository often think it is about the paper, so the label names the service and the tooltip says who to contact. `),t[13]||(t[13]=fe('',2)),e.isDarkMode?p("v-if",!0):(l(),d("li",i5,[n("button",{type:"button",class:"nav-link nav-icon",title:"Switch to dark mode","aria-label":"Switch to dark mode",onClick:t[0]||(t[0]=s=>{e.darkMode(!0)})},[...t[8]||(t[8]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-moon"})],-1)])])])),e.isDarkMode?(l(),d("li",a5,[n("button",{type:"button",class:"nav-link nav-icon",title:"Switch to light mode","aria-label":"Switch to light mode",onClick:t[1]||(t[1]=s=>{e.darkMode(!1)})},[...t[9]||(t[9]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sun"})],-1)])])])):p("v-if",!0),e.user?p("v-if",!0):(l(),d("li",l5,[...t[10]||(t[10]=[n("a",{class:"nav-link btn-signin",target:"_self",href:"/signin","data-offset":"30"},[n("i",{class:"fab fa-github mr-1"}),y(" Sign in ")],-1)])])),e.user?(l(),d("li",d5,[n("a",u5,[e.user?.photo?(l(),d("img",{key:0,width:"22",height:"22",class:"rounded-circle",src:e.safeUrl(e.user?.photo)},null,8,c5)):p("v-if",!0),n("span",p5,u(e.user?.username),1)]),n("div",f5,[n("h6",m5,"Signed in as @"+u(e.user?.username),1),t[11]||(t[11]=fe('SettingsDefaults, quotas, accountGitHub connectionsRepository access and OAuthClaim an anonymizationAttach an existing mirror to your accountReport a bugAbout this service, not a paperSource codeSupport the projectSign out',9))])])):p("v-if",!0)])])],2),e.generalMessage?(l(),d("div",{key:0,class:"navbar shadow generalMessage",innerHTML:e.sanitize(e.generalMessage)},null,8,h5)):p("v-if",!0)],64)}var v5={class:"paper-landing"},y5={class:"paper-hero"},g5={class:"paper-hero-copy"},b5={class:"paper-cta-row"},w5={key:0,href:"/signin",target:"_self",class:"btn-hero"},k5={key:1,href:"/anonymize",class:"btn-hero"},C5={class:"paper-stats paper-wrap",id:"metrics","aria-label":"Usage over the last 60 days"},E5={class:"paper-stats-grid"},S5={class:"paper-stat-label"},N5={key:0,class:"paper-stat-delta"},_5={class:"demo paper-wrap","aria-label":"Try redaction"},D5={class:"demo-terms"},R5={class:"demo-panes"},T5={class:"pane"},O5={class:"demo-input-wrap"},A5={class:"pane-body demo-backdrop","aria-hidden":"true"},I5={key:0,class:"demo-match"},P5={class:"pane pane-after"},V5={class:"pane-header"},M5={class:"pane-url"},q5={class:"pane-body demo-output","aria-live":"polite"},L5=["title"],$5={class:"paper-features paper-wrap","aria-label":"Product features"},U5={class:"paper-features-list",role:"tablist","aria-label":"Features","aria-orientation":"vertical"},F5=["onClick","onKeydown","id","aria-controls","aria-selected","tabindex"],z5={class:"paper-eyebrow"},H5={class:"paper-feature-title"},B5={class:"paper-feature-more"},j5={class:"paper-feature-title paper-feature-title-m","aria-hidden":"true"},G5=["href","target"],W5={class:"paper-features-stage"},K5=["id","aria-labelledby"],Y5={class:"paper-frame"},J5={class:"paper-frame-bar","aria-hidden":"true"},Q5={class:"url"},X5=["aria-label"],Z5={key:0,class:"fm-form"},x5={key:1,class:"fm-viewer"},eP={key:2,class:"fm-dash"},tP={class:"paper-footer"},nP={class:"paper-footer-inner"},sP={class:"paper-footer-col"},oP={key:0,href:"/dashboard"},rP={key:1,href:"/conferences"},iP={class:"paper-footer-foot"};function Vl(e,t){return l(),d("div",v5,[p(" Hero: copy on the left, the product on the right "),n("section",y5,[n("div",g5,[t[4]||(t[4]=n("div",{class:"paper-eyebrow"},"For double-blind peer review",-1)),t[5]||(t[5]=n("h1",{class:"hero-title"},[y(" Share the code,"),n("br"),n("span",{class:"accent"},"not the author.")],-1)),t[6]||(t[6]=n("p",{class:"hero-subtitle"}," Anonymous GitHub makes a read-only mirror of your repository, pull request, or gist. It redacts the terms you choose in text files, so reviewers can browse your artifact through an anonymous link. ",-1)),n("div",b5,[e.user?p("v-if",!0):(l(),d("a",w5,[...t[2]||(t[2]=[n("i",{class:"fab fa-github mr-2","aria-hidden":"true"},null,-1),y("Sign in with GitHub ",-1)])])),e.user?(l(),d("a",k5," Anonymize a repository \u2192 ")):p("v-if",!0),t[3]||(t[3]=n("a",{class:"paper-link-arrow",target:"_self",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/"},"See an anonymized repository \u2192",-1))]),t[7]||(t[7]=n("ul",{class:"paper-reassure"},[n("li",null,"Free and open source"),n("li",null,"Read-only GitHub access"),n("li",null,"Expires when you choose")],-1))]),t[8]||(t[8]=n("div",{class:"paper-hero-shot"},[n("div",{class:"paper-frame"},[n("div",{class:"paper-frame-bar","aria-hidden":"true"},[n("span",{class:"dots"},[n("i"),n("i"),n("i")]),n("span",{class:"url"},"anonymous.4open.science/r/paper-7f2a")]),n("div",{class:"hero-mock",role:"img","aria-label":"A reviewer browsing an anonymized repository: the author, affiliation, and email in the README are replaced by anonymous terms"},[n("div",{class:"hero-mock-tree","aria-hidden":"true"},[n("div",{class:"hero-mock-tree-title"},"Files"),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),y("data")]),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),y("experiments")]),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),y("src")]),n("div",{class:"hero-mock-row"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),y("LICENSE")]),n("div",{class:"hero-mock-row is-active"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),y("README.md")]),n("div",{class:"hero-mock-row"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),y("requirements.txt")])]),n("div",{class:"hero-mock-doc","aria-hidden":"true"},[n("div",{class:"hero-mock-doc-bar"},[n("strong",null,"README.md"),n("span",{class:"hero-mock-count"},"3 redacted")]),n("div",{class:"hero-mock-doc-body"},[n("div",{class:"hero-mock-h1"},"DeepLearnUtils"),n("p",null,[y("Developed by "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 1"},[n("i",null,"1")]),y(" at "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 2"},[n("i",null,"2")]),y(".")]),n("p",null,"Utilities for reproducing the paper\u2019s experiments."),n("div",{class:"hero-mock-h2"},"Quick start"),n("pre",null,`pip install -r requirements.txt -python experiments/run.py`),n("p",null,[y("Contact: "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 3"},[n("i",null,"3")])])])])])])],-1))]),p(" Live stats "),n("section",C5,[t[9]||(t[9]=n("div",{class:"paper-stats-meta"},[n("div",{class:"paper-stats-meta-left"},[n("span",{class:"paper-stats-dot","aria-hidden":"true"}),y(" Live \xB7 last 60 days \xB7 updated daily")]),n("div",{class:"paper-stats-meta-right"},"Used by authors at ICSE \xB7 FSE \xB7 OOPSLA")],-1)),n("div",E5,[(l(!0),d(Y,null,ie(e.cards,(s,r)=>(l(),d("div",{class:"paper-stat-card",key:s?.key},[n("div",{class:T(["paper-stat-value",{"is-pending":!e.stat}])},u(e.stat?e.fmt?.bigNum(s?.total):"\u2014"),3),n("div",S5,u(s?.label),1),e.history[s?.key].bars?.length>1?(l(),d("div",N5," +"+u(e.fmt?.number(e.history[s?.key].deltaToday))+" today ",1)):p("v-if",!0)]))),128))])]),p(" Before / after "),t[25]||(t[25]=n("section",{class:"paper-section-head paper-wrap"},[n("div",null,[n("div",{class:"paper-eyebrow"},"Try it"),n("h2",null,[y("The same repository, "),n("em",null,"minus you.")])]),n("p",null," Names, affiliations, emails, and any term you list are replaced across the README, source files, notebooks, and PDF links. Reviewers browse the real thing, not a zip. ")],-1)),n("div",_5,[n("div",D5,[t[10]||(t[10]=n("label",{for:"demo-terms"},[y("Terms to redact "),n("span",null,"comma-separated, try adding your own")],-1)),D(n("input",{id:"demo-terms",type:"text","onUpdate:modelValue":t[0]||(t[0]=s=>e.demoTerms=s),spellcheck:"false",autocomplete:"off"},null,512),[[ps,e.demoTerms]])]),n("div",R5,[n("div",T5,[t[12]||(t[12]=n("div",{class:"pane-header"},[n("span",{class:"pane-label"},"Your repository"),n("span",{class:"pane-url"},"github.com/jane-smith/DeepLearnUtils")],-1)),n("div",O5,[n("div",A5,[(l(!0),d(Y,null,ie(e.demoParts(),(s,r)=>(l(),d(Y,{key:r},[s.redacted?(l(),d("mark",I5,u(s.original),1)):(l(),d(Y,{key:1},[y(u(s.text),1)],64))],64))),128)),t[11]||(t[11]=y("\u200B",-1))]),D(n("textarea",{class:"pane-body demo-input","onUpdate:modelValue":t[1]||(t[1]=s=>e.demoText=s),spellcheck:"false","aria-label":"Sample README to anonymize"},null,512),[[ps,e.demoText]])])]),n("div",P5,[n("div",V5,[t[13]||(t[13]=n("span",{class:"pane-label"},"What reviewers see",-1)),n("span",M5,u(e.demoCount())+" redacted \xB7 anonymous.4open.science/r/paper-7f2a",1)]),n("div",q5,[(l(!0),d(Y,null,ie(e.demoParts(),(s,r)=>(l(),d(Y,{key:r},[s.redacted?(l(),d("span",{key:0,class:"redact-chip",title:"Replaces \u201C"+s.original+"\u201D"},u(s.text),9,L5)):(l(),d(Y,{key:1},[y(u(s.text),1)],64))],64))),128))])])])]),p(" What you get: one screenshot, three tabs "),t[26]||(t[26]=n("section",{class:"paper-section-head paper-wrap",id:"about"},[n("div",null,[n("div",{class:"paper-eyebrow"},"What you get"),n("h2",null,[y("Anonymize, review, "),n("em",null,"manage.")])]),n("p",null," Terms are redacted in text files. Enabled images and PDFs are served unchanged, so review them for identifying content before sharing. Monitor your mirror, update it, or remove it when the review is over. ")],-1)),n("section",$5,[n("div",U5,[(l(!0),d(Y,null,ie(e.features,(s,r)=>(l(),d("div",{class:T(["paper-feature",{"is-on":e.feature===s?.key}]),key:s?.key},[n("button",{type:"button",class:"paper-feature-tab",role:"tab",onClick:o=>e.selectFeature(s.key),onKeydown:o=>e.featureKeydown(o,r),id:"feature-tab-"+s?.key,"aria-controls":"feature-panel-"+s?.key,"aria-selected":e.feature===s?.key,tabindex:e.feature===s?.key?0:-1},[n("span",z5,u(s?.num)+" \xB7 "+u(s?.eyebrow),1),n("span",H5,[y(u(s?.title)+" ",1),n("em",null,u(s?.accent),1)])],40,F5),n("div",B5,[n("span",j5,[y(u(s?.title)+" ",1),n("em",null,u(s?.accent),1)]),n("p",null,u(s?.text),1),n("a",{class:"paper-link-arrow",href:e.safeUrl(e.featureHref(s)),target:e.featureTarget(s)},u(s?.cta)+" \u2192",9,G5)])],2))),128))]),n("div",W5,[(l(!0),d(Y,null,ie(e.features,(s,r)=>D((l(),d("div",{class:"paper-feature-panel",role:"tabpanel",key:s?.key,id:"feature-panel-"+s?.key,"aria-labelledby":"feature-tab-"+s?.key},[n("div",Y5,[n("div",J5,[t[14]||(t[14]=n("span",{class:"dots"},[n("i"),n("i"),n("i")],-1)),n("span",Q5,u(s?.url),1)]),n("div",{class:T(["feat-mock","is-"+s?.key]),role:"img","aria-label":s?.alt},[s?.key==="anonymize"?(l(),d("div",Z5,[...t[15]||(t[15]=[fe('
GitHub repository
github.com/jane-smith/DeepLearnUtils
Terms to redact
Jane SmithMIT CSAILjane.smith@mit.edu+ Add term
Reviewers can see
ImagesPDFsLinksNotebooks
Expires
Mar 31, 2027
Anonymize repository
',6)])])):s?.key==="review"?(l(),d("div",x5,[...t[16]||(t[16]=[fe(`
data
src
train.py
README.md
LICENSE
train.py48 lines \xB7 Python
1# Training loop for DeepLearnUtils
+python experiments/run.py`),n("p",null,[y("Contact: "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 3"},[n("i",null,"3")])])])])])])],-1))]),p(" Live stats "),n("section",C5,[t[9]||(t[9]=n("div",{class:"paper-stats-meta"},[n("div",{class:"paper-stats-meta-left"},[n("span",{class:"paper-stats-dot","aria-hidden":"true"}),y(" Live \xB7 last 60 days \xB7 updated daily")]),n("div",{class:"paper-stats-meta-right"},"Used by authors at ICSE \xB7 FSE \xB7 OOPSLA")],-1)),n("div",E5,[(l(!0),d(K,null,re(e.cards,(s,r)=>(l(),d("div",{class:"paper-stat-card",key:s?.key},[n("div",{class:T(["paper-stat-value",{"is-pending":!e.stat}])},u(e.stat?e.fmt?.bigNum(s?.total):"\u2014"),3),n("div",S5,u(s?.label),1),e.history[s?.key].bars?.length>1?(l(),d("div",N5," +"+u(e.fmt?.number(e.history[s?.key].deltaToday))+" today ",1)):p("v-if",!0)]))),128))])]),p(" Before / after "),t[25]||(t[25]=n("section",{class:"paper-section-head paper-wrap"},[n("div",null,[n("div",{class:"paper-eyebrow"},"Try it"),n("h2",null,[y("The same repository, "),n("em",null,"minus you.")])]),n("p",null," Names, affiliations, emails, and any term you list are replaced across the README, source files, notebooks, and PDF links. Reviewers browse the real thing, not a zip. ")],-1)),n("div",_5,[n("div",D5,[t[10]||(t[10]=n("label",{for:"demo-terms"},[y("Terms to redact "),n("span",null,"comma-separated, try adding your own")],-1)),D(n("input",{id:"demo-terms",type:"text","onUpdate:modelValue":t[0]||(t[0]=s=>e.demoTerms=s),spellcheck:"false",autocomplete:"off"},null,512),[[ps,e.demoTerms]])]),n("div",R5,[n("div",T5,[t[12]||(t[12]=n("div",{class:"pane-header"},[n("span",{class:"pane-label"},"Your repository"),n("span",{class:"pane-url"},"github.com/jane-smith/DeepLearnUtils")],-1)),n("div",O5,[n("div",A5,[(l(!0),d(K,null,re(e.demoParts(),(s,r)=>(l(),d(K,{key:r},[s.redacted?(l(),d("mark",I5,u(s.original),1)):(l(),d(K,{key:1},[y(u(s.text),1)],64))],64))),128)),t[11]||(t[11]=y("\u200B",-1))]),D(n("textarea",{class:"pane-body demo-input","onUpdate:modelValue":t[1]||(t[1]=s=>e.demoText=s),spellcheck:"false","aria-label":"Sample README to anonymize"},null,512),[[ps,e.demoText]])])]),n("div",P5,[n("div",V5,[t[13]||(t[13]=n("span",{class:"pane-label"},"What reviewers see",-1)),n("span",M5,u(e.demoCount())+" redacted \xB7 anonymous.4open.science/r/paper-7f2a",1)]),n("div",q5,[(l(!0),d(K,null,re(e.demoParts(),(s,r)=>(l(),d(K,{key:r},[s.redacted?(l(),d("span",{key:0,class:"redact-chip",title:"Replaces \u201C"+s.original+"\u201D"},u(s.text),9,L5)):(l(),d(K,{key:1},[y(u(s.text),1)],64))],64))),128))])])])]),p(" What you get: one screenshot, three tabs "),t[26]||(t[26]=n("section",{class:"paper-section-head paper-wrap",id:"about"},[n("div",null,[n("div",{class:"paper-eyebrow"},"What you get"),n("h2",null,[y("Anonymize, review, "),n("em",null,"manage.")])]),n("p",null," Terms are redacted in text files. Enabled images and PDFs are served unchanged, so review them for identifying content before sharing. Monitor your mirror, update it, or remove it when the review is over. ")],-1)),n("section",$5,[n("div",U5,[(l(!0),d(K,null,re(e.features,(s,r)=>(l(),d("div",{class:T(["paper-feature",{"is-on":e.feature===s?.key}]),key:s?.key},[n("button",{type:"button",class:"paper-feature-tab",role:"tab",onClick:o=>e.selectFeature(s.key),onKeydown:o=>e.featureKeydown(o,r),id:"feature-tab-"+s?.key,"aria-controls":"feature-panel-"+s?.key,"aria-selected":e.feature===s?.key,tabindex:e.feature===s?.key?0:-1},[n("span",z5,u(s?.num)+" \xB7 "+u(s?.eyebrow),1),n("span",H5,[y(u(s?.title)+" ",1),n("em",null,u(s?.accent),1)])],40,F5),n("div",B5,[n("span",j5,[y(u(s?.title)+" ",1),n("em",null,u(s?.accent),1)]),n("p",null,u(s?.text),1),n("a",{class:"paper-link-arrow",href:e.safeUrl(e.featureHref(s)),target:e.featureTarget(s)},u(s?.cta)+" \u2192",9,G5)])],2))),128))]),n("div",W5,[(l(!0),d(K,null,re(e.features,(s,r)=>D((l(),d("div",{class:"paper-feature-panel",role:"tabpanel",key:s?.key,id:"feature-panel-"+s?.key,"aria-labelledby":"feature-tab-"+s?.key},[n("div",Y5,[n("div",J5,[t[14]||(t[14]=n("span",{class:"dots"},[n("i"),n("i"),n("i")],-1)),n("span",Q5,u(s?.url),1)]),n("div",{class:T(["feat-mock","is-"+s?.key]),role:"img","aria-label":s?.alt},[s?.key==="anonymize"?(l(),d("div",Z5,[...t[15]||(t[15]=[fe('
GitHub repository
github.com/jane-smith/DeepLearnUtils
Terms to redact
Jane SmithMIT CSAILjane.smith@mit.edu+ Add term
Reviewers can see
ImagesPDFsLinksNotebooks
Expires
Mar 31, 2027
Anonymize repository
',6)])])):s?.key==="review"?(l(),d("div",x5,[...t[16]||(t[16]=[fe(`
data
src
train.py
README.md
LICENSE
train.py48 lines \xB7 Python
1# Training loop for DeepLearnUtils
 2# Author: XXXX-1, XXXX-2
 3import torch
 4from utils import load_config
@@ -37,12 +37,12 @@ python experiments/run.py`),n("p",null,[y("Contact: "),n("span",{class:"redact",
 7    model = build_model(config)
 8    for epoch in range(config.epochs):
 9        loss = step(model)
-10        log("epoch %d: %.3f", epoch, loss)
`,2)])])):(l(),d("div",eP,[...t[17]||(t[17]=[fe('
ProjectStatusViewsExpires
DeepLearnUtilspaper-7f2a \xB7 ICSE 2027Ready41Mar 31, 2027
vision-bench#212pull request \xB7 FSE 2027Ready12Never
graph-repairgr-91abUpdating5Jan 5, 2027
JarSiftOOPSLA 2025Expired72Sep 28, 2026
',5)])]))],10,X5)])],8,K5)),[[Q,e.feature===s?.key]])),128))])]),p(" FAQ teaser "),t[27]||(t[27]=fe('
Before you sign in

The questions that come up most.

Read the full FAQ \u2192
What access does GitHub sign-in require?

The GitHub App has read-only access to gists and the repositories you choose. Legacy OAuth uses broader permissions. Anonymous GitHub never writes to your repositories.

Which file formats are supported?

Source code with syntax highlighting, Markdown, Jupyter notebooks, PDFs, images, and GitHub Pages sites. Text files are anonymized; enabled images and PDFs are served unchanged.

What happens when an anonymized repository expires?

You choose: the mirror is removed, or visitors are redirected to the original GitHub repository once the review is over.

',1)),n("footer",tP,[n("div",nP,[t[21]||(t[21]=n("div",{class:"paper-footer-brand"},[n("div",{class:"paper-footer-mark"},[y("Anonymous "),n("em",null,"GitHub")]),n("p",{class:"paper-footer-tag"}," A read-only, identity-stripped mirror of your repository, built for double-anonymous peer review. ")],-1)),n("div",sP,[t[18]||(t[18]=n("div",{class:"paper-footer-head"},"Product",-1)),t[19]||(t[19]=n("a",{href:"/anonymize"},"Anonymize",-1)),e.user?(l(),d("a",oP,"My work")):p("v-if",!0),e.user?(l(),d("a",rP,"Conferences")):p("v-if",!0),t[20]||(t[20]=n("a",{href:"/faq"},"FAQ",-1))]),t[22]||(t[22]=fe('',2))]),t[24]||(t[24]=n("div",{class:"paper-footer-rule"},null,-1)),n("div",iP,[n("span",null,"\xA9 "+u(e.year||2026)+" Anonymous GitHub \xB7 GPL-3.0 licensed",1),t[23]||(t[23]=n("span",{class:"paper-footer-meta"},"Built for reviewers, by researchers.",-1))])])])}var aP={class:"paper-empty"},lP={class:"paper-empty-inner"},dP={key:0,class:"paper-eyebrow"},uP={key:1,class:"paper-eyebrow"},cP={key:2,class:"paper-empty-title"},pP=["textContent"];function Ml(e,t){return l(),d("div",aP,[n("div",lP,[e.error?p("v-if",!0):(l(),d("div",dP,"Working")),e.error?(l(),d("div",uP,"Error")):p("v-if",!0),e.error?p("v-if",!0):(l(),d("h1",cP,[...t[0]||(t[0]=[y(" Loading",-1),n("span",{class:"dot-anim"},"\u2026",-1)])])),e.error?(l(),d("h1",{key:3,class:"paper-empty-title",textContent:u(e.fmt.translate(e.error))},null,8,pP)):p("v-if",!0)])])}var fP={class:"container paper-page paper-settings"},mP={class:"paper-crumbs"},hP={class:"here"},vP={class:"paper-page-title"},yP={class:"paper-settings-body"},gP={class:"paper-settings-toc"},bP={href:"#conf-billing"},wP={class:"form needs-validation paper-settings-main",name:"conference",novalidate:""},kP={id:"conf-basics",class:"paper-settings-section"},CP={class:"form-group"},EP={class:"invalid-feedback"},SP={class:"invalid-feedback"},NP={class:"form-group"},_P={class:"invalid-feedback"},DP={class:"form-group"},RP={class:"invalid-feedback"},TP={class:"invalid-feedback"},OP={id:"conf-window",class:"paper-settings-section"},AP={class:"form-grid-2"},IP={class:"form-group"},PP={class:"invalid-feedback"},VP={class:"invalid-feedback"},MP={class:"form-group"},qP={class:"invalid-feedback"},LP={class:"invalid-feedback"},$P={id:"conf-rendering",class:"paper-settings-section"},UP={class:"form-check"},FP={class:"form-check-input",type:"checkbox",id:"link",name:"link"},zP={class:"form-check"},HP={class:"form-check-input",type:"checkbox",id:"image",name:"image"},BP={class:"form-check"},jP={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},GP={class:"form-check"},WP={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},KP={id:"conf-features",class:"paper-settings-section"},YP={class:"form-check"},JP={class:"form-check-input",type:"checkbox",id:"update",name:"update"},QP={class:"form-check"},XP={class:"form-check-input",type:"checkbox",id:"page",name:"page"},ZP={id:"conf-plan",class:"paper-settings-section"},xP={class:"paper-plan-grid"},eV=["value"],tV=["textContent"],nV={class:"paper-plan-price"},sV=["innerHTML"],oV={key:0,id:"conf-billing",class:"paper-settings-section"},rV={class:"form-group"},iV={class:"form-group"},aV={class:"form-group"},lV={class:"form-group"},dV={class:"form-grid-3"},uV={class:"form-group"},cV={class:"form-group"},pV={class:"form-group"},fV={class:"form-group"},mV={class:"paper-settings-footer"},hV=["textContent"],vV=["textContent"],yV=["disabled"];function ql(e,t){let s=Ee("paper-scrollspy"),r=Ee("field"),o=Ee("form");return l(),d("div",fP,[n("div",mP,[t[1]||(t[1]=n("a",{href:"/dashboard"},"My work",-1)),t[2]||(t[2]=y(" \xA0/\xA0 ",-1)),t[3]||(t[3]=n("a",{href:"/conferences"},"Conferences",-1)),t[4]||(t[4]=y(" \xA0/\xA0 ",-1)),n("span",hP,u(e.editionMode?"Edit":"New"),1)]),n("h1",vP,[y(u(e.editionMode?"Edit":"Create a")+" ",1),t[5]||(t[5]=n("em",null,"conference",-1))]),t[42]||(t[42]=n("p",{class:"paper-page-lede"}," Give chairs access to every anonymization submitted to a venue, and lift author quotas during the review window. ",-1)),n("div",yP,[D((l(),d("aside",gP,[t[7]||(t[7]=n("div",{class:"paper-settings-toc-head"},"On this page",-1)),n("nav",null,[t[6]||(t[6]=fe('BasicsReview windowRendering defaultsFeaturesPlan',5)),D(n("a",bP,"Billing",512),[[Q,e.plan?.pricePerRepo>0]])])])),[[s]]),D((l(),d("form",wP,[n("section",kP,[t[12]||(t[12]=n("div",{class:"paper-section-eyebrow"},"Basics",-1)),n("div",CP,[t[8]||(t[8]=n("label",{class:"paper-field-label",for:"name"},"Conference name",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.name?.invalid&&(e.conference?.name?.touched||e.conference?.submitted)}]),name:"name",id:"name",required:"",placeholder:"e.g. International Conference on Software Engineering"},null,2),[[r,{state:e.viewState,set:i=>{e.options.name=i},value:e.options?.name,form:"conference",options:{}}]]),D(n("div",EP," The name of the conference is invalid. ",512),[[Q,e.conference?.name?.errors?.invalid]]),D(n("div",SP," The name of the conference is required. ",512),[[Q,e.conference?.name?.errors?.required]])]),n("div",NP,[t[9]||(t[9]=n("label",{class:"paper-field-label",for:"url"},"Website",-1)),D(n("input",{type:"url",class:T(["form-control",{"is-invalid":e.conference?.url?.invalid&&(e.conference?.url?.touched||e.conference?.submitted)}]),name:"url",id:"url",placeholder:"https://example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.url=i},value:e.options?.url,form:"conference",options:{}}]]),D(n("div",_P," The url of the conference is invalid. ",512),[[Q,e.conference?.url?.errors?.url]])]),n("div",DP,[t[10]||(t[10]=n("label",{class:"paper-field-label",for:"conferenceID"},"Conference ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.conferenceID?.invalid&&(e.conference?.conferenceID?.touched||e.conference?.submitted)}]),name:"conferenceID",id:"conferenceID",required:"",pattern:"[a-zA-Z0-9\\-_]{3,10}",placeholder:"ICSE26"},null,2),[[r,{state:e.viewState,set:i=>{e.options.conferenceID=i},value:e.options?.conferenceID,form:"conference",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},[y("3\u201310 characters, letters, numbers, "),n("code",null,"-"),y(" and "),n("code",null,"_"),y(". Authors reference this when they anonymize.")],-1)),D(n("div",{class:"invalid-feedback"}," The conference ID '"+u(e.options?.conferenceID)+"' is already used. ",513),[[Q,e.conference?.conferenceID?.errors?.used]]),D(n("div",RP," The conference ID is required. ",512),[[Q,e.conference?.conferenceID?.errors?.required]]),D(n("div",TP," The format of the conference ID is incorrect ([a-zA-Z0-9-_]{3,10}). ",512),[[Q,e.conference?.conferenceID?.errors?.pattern]])])]),n("section",OP,[t[17]||(t[17]=n("div",{class:"paper-section-eyebrow"},"Review window",-1)),n("div",AP,[n("div",IP,[t[13]||(t[13]=n("label",{class:"paper-field-label",for:"startDate"},"Start date",-1)),D(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.startDate?.invalid&&(e.conference?.startDate?.touched||e.conference?.submitted)}]),name:"startDate",id:"startDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.startDate=i},value:e.options?.startDate,form:"conference",options:{}}]]),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Beginning of the review process.",-1)),D(n("div",PP," Start date is required. ",512),[[Q,e.conference?.startDate?.errors?.required]]),D(n("div",VP," Start date must be before end date. ",512),[[Q,e.conference?.startDate?.errors?.invalid]])]),n("div",MP,[t[15]||(t[15]=n("label",{class:"paper-field-label",for:"endDate"},"End date",-1)),D(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.endDate?.invalid&&(e.conference?.endDate?.touched||e.conference?.submitted)}]),name:"endDate",id:"endDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.endDate=i},value:e.options?.endDate,form:"conference",options:{}}]]),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"All repositories expire on this date.",-1)),D(n("div",qP," End date is required. ",512),[[Q,e.conference?.endDate?.errors?.required]]),D(n("div",LP," End date is invalid. ",512),[[Q,e.conference?.endDate?.errors?.invalid]])])])]),n("section",$P,[t[25]||(t[25]=n("div",{class:"paper-section-eyebrow"},"Rendering defaults",-1)),n("div",UP,[D(n("input",FP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.link=i},value:e.options?.options?.link,form:"conference",options:{}}]]),t[18]||(t[18]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[19]||(t[19]=n("small",{class:"form-text text-muted"},"Keep or remove all links from text files.",-1))]),n("div",zP,[D(n("input",HP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.image=i},value:e.options?.options?.image,form:"conference",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[21]||(t[21]=n("small",{class:"form-text text-muted"},"Images are not anonymized.",-1))]),n("div",BP,[D(n("input",jP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.pdf=i},value:e.options?.options?.pdf,form:"conference",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[23]||(t[23]=n("small",{class:"form-text text-muted"},"PDFs are not anonymized.",-1))]),n("div",GP,[D(n("input",WP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.notebook=i},value:e.options?.options?.notebook,form:"conference",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))])]),n("section",KP,[t[30]||(t[30]=n("div",{class:"paper-section-eyebrow"},"Features",-1)),n("div",YP,[D(n("input",JP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.update=i},value:e.options?.options?.update,form:"conference",options:{}}]]),t[26]||(t[26]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[27]||(t[27]=n("small",{class:"form-text text-muted"},"Pull the latest commit automatically (hourly maximum).",-1))]),n("div",QP,[D(n("input",XP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.page=i},value:e.options?.options?.page,form:"conference",options:{}}]]),t[28]||(t[28]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[29]||(t[29]=n("small",{class:"form-text text-muted"},"Enable anonymized GitHub pages.",-1))])]),n("section",ZP,[t[32]||(t[32]=n("div",{class:"paper-section-eyebrow"},"Plan",-1)),t[33]||(t[33]=n("p",{class:"paper-section-copy"},"Billed per repository per month, prorated by the day for as long as a repository stays in the conference.",-1)),n("div",xP,[(l(!0),d(Y,null,ie(e.plans,(i,a)=>(l(),d("label",{class:T(["paper-plan-card",{selected:e.options?.plan?.planID==i?.id}])},[D(n("input",{type:"radio",name:"planPicker",value:i?.id},null,8,eV),[[r,{state:e.viewState,set:c=>{e.options.plan.planID=c},value:e.options?.plan?.planID,form:"conference",options:{}}]]),n("div",{class:"paper-plan-head",textContent:u(i?.name)},null,8,tV),n("div",nV,[y(u(e.fmt?.number(i?.pricePerRepo))+"\u20AC ",1),t[31]||(t[31]=n("span",{class:"paper-plan-per"},"/ repo / month",-1))]),n("div",{class:"paper-plan-desc",innerHTML:e.sanitize(i?.description)},null,8,sV)],2))),256))])]),e.plan?.pricePerRepo>0?(l(),d("section",oV,[t[41]||(t[41]=n("div",{class:"paper-section-eyebrow"},"Billing",-1)),n("div",rV,[t[34]||(t[34]=n("label",{class:"paper-field-label",for:"billing_name"},"Name",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.billing_name?.invalid&&(e.conference?.billing_name?.touched||e.conference?.submitted)}]),name:"billing_name",id:"billing_name",required:"",placeholder:"First & last name"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.name=i},value:e.options?.billing?.name,form:"conference",options:{}}]])]),n("div",iV,[t[35]||(t[35]=n("label",{class:"paper-field-label",for:"email"},"Email",-1)),D(n("input",{type:"email",class:T(["form-control",{"is-invalid":e.conference?.email?.invalid&&(e.conference?.email?.touched||e.conference?.submitted)}]),name:"email",id:"email",required:"",placeholder:"you@example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.email=i},value:e.options?.billing?.email,form:"conference",options:{}}]])]),n("div",aV,[t[36]||(t[36]=n("label",{class:"paper-field-label",for:"inputAddress"},"Address",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress?.invalid&&(e.conference?.inputAddress?.touched||e.conference?.submitted)}]),name:"inputAddress",id:"inputAddress",required:"",placeholder:"1234 Main St"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address=i},value:e.options?.billing?.address,form:"conference",options:{}}]])]),n("div",lV,[D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress2?.invalid&&(e.conference?.inputAddress2?.touched||e.conference?.submitted)}]),name:"inputAddress2",id:"inputAddress2",placeholder:"Apartment, studio, or floor"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address2=i},value:e.options?.billing?.address2,form:"conference",options:{}}]])]),n("div",dV,[n("div",uV,[t[37]||(t[37]=n("label",{class:"paper-field-label",for:"city"},"City",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.city?.invalid&&(e.conference?.city?.touched||e.conference?.submitted)}]),name:"city",id:"city",required:"",placeholder:"City"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.city=i},value:e.options?.billing?.city,form:"conference",options:{}}]])]),n("div",cV,[t[38]||(t[38]=n("label",{class:"paper-field-label",for:"country"},"Country",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.country?.invalid&&(e.conference?.country?.touched||e.conference?.submitted)}]),name:"country",id:"country",required:"",placeholder:"Country"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.country=i},value:e.options?.billing?.country,form:"conference",options:{}}]])]),n("div",pV,[t[39]||(t[39]=n("label",{class:"paper-field-label",for:"zip"},"Zip",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.zip?.invalid&&(e.conference?.zip?.touched||e.conference?.submitted)}]),name:"zip",id:"zip",required:"",placeholder:"Zip"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.zip=i},value:e.options?.billing?.zip,form:"conference",options:{}}]])])]),n("div",fV,[t[40]||(t[40]=n("label",{class:"paper-field-label",for:"vat"},"VAT number",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.vat?.invalid&&(e.conference?.vat?.touched||e.conference?.submitted)}]),name:"vat",id:"vat",placeholder:"VAT Number"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.vat=i},value:e.options?.billing?.vat,form:"conference",options:{}}]])])])):p("v-if",!0),n("div",mV,[e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:u(e.error)},null,8,hV)):p("v-if",!0),e.message?(l(),d("div",{key:1,class:"alert alert-success",role:"alert",textContent:u(e.message)},null,8,vV)):p("v-if",!0),n("button",{id:"send",disabled:e.saving,type:"submit",class:"btn btn-ink",onClick:t[0]||(t[0]=ue(i=>e.submitForm(i,()=>{e.submit(i)}),["prevent"]))},u(e.saving?e.editionMode?"Updating\u2026":"Creating\u2026":e.editionMode?"Update conference":"Create conference"),9,yV)])])),[[o,e.viewState]])])])}var gV={key:0,class:"dir-card","aria-label":"Repository files"},bV=["onClick"],wV={class:"dir-name"},kV=["href"],CV={class:"dir-name"},EV={class:"dir-meta"},SV={class:"file-card-head"},NV={class:"file-card-path"},_V={class:"breadcrumb paths","aria-label":"Path"},DV={class:"breadcrumb-item breadcrumb-root"},RV=["href","title","textContent"],TV=["aria-current"],OV=["aria-label"],AV={class:"mobile-sub"},IV={key:0},PV={key:1},VV={key:2},MV=["aria-label","title"],qV={class:"ui-icon","aria-hidden":"true"},LV=["href"],$V={key:0,class:"file-card-meta"},UV={class:"meta-extra"},FV={class:"meta-redact"},zV={key:1,class:"file-card-meta"},HV={class:"meta-redact"},BV={class:"file-card-actions"},jV={key:0,class:"symbols"},GV=["aria-expanded"],WV={key:0,class:"symbols-menu",role:"menu"},KV={class:"symbols-head"},YV=["onClick"],JV={class:"symbols-name"},QV={class:"symbols-line"},XV=["title"],ZV=["title"],xV=["title"],eM=["aria-pressed"],tM={class:"tb-file",role:"group","aria-label":"File actions"},nM=["title","href"],sM=["aria-label","title"],oM={class:"ui-icon","aria-hidden":"true"},rM=["href"],iM=["href"],aM=["aria-label"],lM={class:"ui-icon","aria-hidden":"true"},dM=["href"],uM={class:"tb-more"},cM=["aria-expanded"],pM={viewBox:"0 0 24 24",class:"ui-icon","aria-hidden":"true",style:{fill:"currentColor",stroke:"none"}},fM={key:0,class:"tb-menu-note"},mM={key:1,class:"tb-menu-sep"},hM=["aria-checked"],vM={key:0,class:"tb-menu-check"},yM={key:5,class:"tb-menu-sep"},gM=["href"],bM=["href"],wM={key:0,class:"file-card-body"},kM={key:1,class:"md-find-bar",role:"search"},CM=["value"],EM={class:"md-find-nav"},SM=["disabled"],NM=["disabled"],_M={class:"md-find-count","aria-live":"polite"},DM=["aria-pressed"],RM={key:2,class:"reading-layout"},TM=["innerHTML"],OM={key:0,class:"readme-toc","aria-label":"On this page"},AM={class:"toc-rail"},IM=["href","onClick"],PM=["src"],VM=["src"],MM={key:6},qM={controls:"controls"},LM=["src"],$M={key:7},UM={key:8,class:"file-error container d-flex h-100"},FM={class:"paper-ratelimit-card m-auto",style:{"max-width":"520px"}},zM={class:"paper-error-msg"},HM={key:9,class:"file-error container d-flex h-100"},BM={class:"viewer-error m-auto",role:"alert","aria-labelledby":"viewer-error-title"},jM={id:"viewer-error-title",class:"paper-empty-title"},GM={class:"paper-error-actions"},WM={key:0,class:"btn btn-outline-ink",href:"/dashboard"},KM={key:10,class:"viewer-loading","aria-busy":"true"},YM={class:"viewer-loading-status",role:"status","aria-live":"polite"},JM={class:"viewer-loading-name"},QM={key:0},XM={class:"viewer-loading-lines","aria-hidden":"true"},ZM={key:11,class:"file-error container d-flex h-100"},xM={key:12,class:"file-error container d-flex h-100"},e8={key:13,class:"file-error container d-flex h-100"},t8={class:"paper-empty-title m-auto"},n8=["href"];function Ll(e,t){let s=Ge("html-doc"),r=Ge("pdfviewer"),o=Ge("notebook"),i=Ee("code-editor");return l(),d(Y,null,[e.sidebarHidden&&e.type=="html"&&e.content!=null&&e.paths?.length===1&&/^readme/i.test(e.paths[0]||"")&&e.files?.length?(l(),d("section",gV,[t[29]||(t[29]=n("header",{class:"dir-card-head"},[n("span",{class:"dir-card-title"},"Files"),n("span",{class:"dir-card-sub"},"Snapshot of the repository at review time")],-1)),n("ul",{class:T(["dir-list",{"is-expanded":e.dirExpanded}])},[(l(!0),d(Y,null,ie(e.rootEntries(),a=>(l(),d("li",{key:a.name},[a.size==null?(l(),d("button",{key:0,type:"button",class:"dir-row",onClick:c=>e.revealFolder(a.name)},[t[26]||(t[26]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})],-1)),n("span",wV,u(a.name),1),t[27]||(t[27]=n("span",{class:"dir-meta"},"Folder",-1))],8,bV)):(l(),d("a",{key:1,class:T(["dir-row",{"is-current":a.name===e.paths[0]}]),href:e.safeUrl("/r/"+e.repoId+"/"+encodeURIComponent(a.name))},[t[28]||(t[28]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})],-1)),n("span",CV,u(a.name),1),n("span",EV,u(e.formatSize(a.size)),1)],10,kV))]))),128))],2),!e.dirExpanded&&e.files.length>8?(l(),d("button",{key:0,type:"button",class:"dir-more",onClick:t[0]||(t[0]=a=>e.dirExpanded=!0)},"Show all "+u(e.files.length)+" items",1)):p("v-if",!0)])):p("v-if",!0),(e.type=="text"||e.type=="code"||e.type=="html"||e.type=="html-doc"&&e.showSource)&&e.content!=null?(l(),d("section",{key:1,class:T(["file-card",{"is-code":e.type!="html","no-wrap":!e.wrapLines}])},[n("header",SV,[n("div",NV,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost card-files-btn",{"is-needed":e.sidebarHidden}]),"aria-label":"Show file tree",title:"Show file tree",onClick:t[1]||(t[1]=a=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1)])],2),n("ol",_V,[n("li",DV,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:u(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,RV)]),(l(!0),d(Y,null,ie(e.paths,(a,c)=>(l(),d("li",{class:"breadcrumb-item","aria-current":c===e.paths.length-1?"page":null},[(l(!0),d(Y,null,ie(e.redactParts(a),(f,g)=>(l(),d(Y,{key:g},[f.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+f.n},[n("i",null,u(f.n),1)],8,OV)):(l(),d(Y,{key:1},[y(u(f.t),1)],64))],64))),128))],8,TV))),256))]),n("span",AV,[n("span",null,u(e.type=="html"?"Markdown":e.languageName||"Text"),1),e.type!="html"&&typeof e.content=="string"?(l(),d("span",IV,u(e.fmt?.number(e.content.split(` -`).length))+" lines",1)):p("v-if",!0),e.type=="html"&&e.fileSize(e.filePath)!=null?(l(),d("span",PV,u(e.formatSize(e.fileSize(e.filePath))),1)):p("v-if",!0),e.redactionCount()?(l(),d("b",VV,u(e.redactionCount())+" redacted",1)):p("v-if",!0)]),D(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy path",title:e.pathCopied?"Path copied":"Copy path",onClick:t[2]||(t[2]=a=>e.copyPath())},[(l(),d("svg",qV,[n("use",{href:e.pathCopied?"#ui-icon-check":"#ui-icon-link"},null,8,LV)]))],8,MV),[[Q,e.filePath]])]),e.type!="html"&&typeof e.content=="string"?(l(),d("span",$V,[e.languageName?(l(),d(Y,{key:0},[y(u(e.languageName),1),t[31]||(t[31]=n("span",{class:"sep"},"\xB7",-1))],64)):p("v-if",!0),y(u(e.fmt?.number(e.content.split(` -`).length))+" lines",1),n("span",UV,[t[32]||(t[32]=n("span",{class:"sep"},"\xB7",-1)),y(u(e.content.length<1024?e.content.length+" B":(e.content.length/1024).toFixed(1)+" KB"),1)]),e.redactionCount()?(l(),d(Y,{key:1},[t[33]||(t[33]=n("span",{class:"sep"},"\xB7",-1)),n("span",FV,u(e.redactionCount())+" redacted",1)],64)):p("v-if",!0)])):p("v-if",!0),e.type=="html"?(l(),d("span",zV,[t[36]||(t[36]=y("Markdown",-1)),e.fileSize(e.filePath)!=null?(l(),d(Y,{key:0},[t[34]||(t[34]=n("span",{class:"sep"},"\xB7",-1)),y(u(e.formatSize(e.fileSize(e.filePath))),1)],64)):p("v-if",!0),e.redactionCount()?(l(),d(Y,{key:1},[t[35]||(t[35]=n("span",{class:"sep"},"\xB7",-1)),n("span",HV,u(e.redactionCount())+" redacted",1)],64)):p("v-if",!0)])):p("v-if",!0),n("div",BV,[e.type!="html"&&e.symbols().length>1?(l(),d("div",jV,[n("button",{type:"button",class:T(["btn btn-sm btn-ghost btn-symbols",{"is-on":e.symbolsOpen}]),"aria-expanded":e.symbolsOpen?"true":"false","aria-haspopup":"true",title:"Symbols in this file",onClick:t[3]||(t[3]=a=>e.symbolsOpen=!e.symbolsOpen)},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-list"})],-1),n("span",{class:"btn-find-label"},"Symbols",-1)])],10,GV),e.symbolsOpen?(l(),d("div",WV,[n("div",KV,u(e.symbols().length)+" "+u(e.symbols().length===1?"symbol":"symbols"),1),(l(!0),d(Y,null,ie(e.symbols(),a=>(l(),d("button",{type:"button",class:"symbols-item",role:"menuitem",key:a.line+a.name,onClick:c=>e.goToSymbol(a.line)},[n("span",{class:T(["symbols-kind","is-"+a.kind])},u(a.kind==="class"?"C":a.kind==="function"?"\u0192":"v"),3),n("span",JV,u(a.name),1),n("span",QV,u(a.line),1)],8,YV))),128))])):p("v-if",!0)])):p("v-if",!0),e.type=="html"?(l(),d("button",{key:1,type:"button",class:T(["btn btn-sm btn-ghost btn-icon-only btn-find btn-md-find",{"is-on":e.mdFindOpen}]),"aria-label":"Find on this page",title:"Find on this page ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[4]||(t[4]=a=>e.toggleMdFind())},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],10,XV)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:2,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-find","aria-label":"Find in file",title:"Find in file ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[5]||(t[5]=a=>e.findInFile())},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],8,ZV)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:3,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-goto","aria-label":"Go to line",title:"Go to line ("+(e.isMac?"\u2318":"Ctrl+")+"G)",onClick:t[6]||(t[6]=a=>e.gotoLine())},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1)])],8,xV)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:4,type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost btn-toggle",{"is-on":e.wrapLines}]),"aria-pressed":e.wrapLines?"true":"false","aria-label":"Wrap long lines",title:"Wrap long lines (Alt+Z)",onClick:t[7]||(t[7]=a=>e.toggleWrap())},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)])],10,eM)):p("v-if",!0),n("div",tM,[n("a",{target:"_self",class:"tb-seg-btn",title:e.type=="html"?"Open the Markdown source":"Open the raw file",href:e.safeUrl(e.url)},"Raw",8,nM),typeof e.content=="string"?(l(),d("button",{key:0,type:"button",class:"tb-seg-btn tb-seg-icon","aria-label":e.contentCopied?"Copied":"Copy file contents",title:e.contentCopied?"Copied":"Copy file contents",onClick:t[8]||(t[8]=a=>e.copyContent())},[(l(),d("svg",oM,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,rM)]))],8,sM)):p("v-if",!0),n("a",{target:"_self",class:"tb-seg-btn tb-seg-icon","aria-label":"Download file",title:"Download file",href:e.safeUrl(e.url+"&download=true")},[...t[42]||(t[42]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1)])],8,iM)]),typeof e.content=="string"?(l(),d("button",{key:5,type:"button",class:"btn btn-sm btn-icon-only btn-ghost tb-copy-m","aria-label":e.contentCopied?"Copied":"Copy file contents",onClick:t[9]||(t[9]=a=>e.copyContent())},[(l(),d("svg",lM,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,dM)]))],8,aM)):p("v-if",!0),n("div",uM,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-more-btn",{"is-on":e.moreOpen}]),"aria-label":"More actions","aria-haspopup":"true","aria-expanded":e.moreOpen?"true":"false",onClick:t[10]||(t[10]=ue(a=>e.moreOpen=!e.moreOpen,["stop"]))},[(l(),d("svg",pM,[...t[43]||(t[43]=[n("circle",{cx:"5",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"12",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"19",cy:"12",r:"1.8"},null,-1)])]))],10,cM),e.moreOpen?(l(),d("div",{key:0,class:"tb-menu",role:"menu",onClick:t[16]||(t[16]=a=>e.moreOpen=!1)},[e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",fM,[t[44]||(t[44]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),y("Snapshot \xB7 "+u(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)])):p("v-if",!0),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",mM)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:2,type:"button",role:"menuitem",onClick:t[11]||(t[11]=a=>e.findInFile())},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1),y("Find in file",-1)])])):p("v-if",!0),e.type!="html"?(l(),d("button",{key:3,type:"button",role:"menuitem",onClick:t[12]||(t[12]=a=>e.gotoLine())},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1),y("Go to line",-1)])])):p("v-if",!0),e.type!="html"?(l(),d("button",{key:4,type:"button",role:"menuitemcheckbox","aria-checked":e.wrapLines?"true":"false",onClick:t[13]||(t[13]=a=>e.toggleWrap())},[t[47]||(t[47]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)),t[48]||(t[48]=y("Wrap lines",-1)),e.wrapLines?(l(),d("span",vM,"\u2713")):p("v-if",!0)],8,hM)):p("v-if",!0),e.type!="html"?(l(),d("div",yM)):p("v-if",!0),e.type!="html"?(l(),d("a",{key:6,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[...t[49]||(t[49]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y("Open raw file",-1)])],8,gM)):p("v-if",!0),typeof e.content=="string"?(l(),d("button",{key:7,type:"button",role:"menuitem",onClick:t[14]||(t[14]=a=>e.copyContent())},[...t[50]||(t[50]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-copy"})],-1),y("Copy contents",-1)])])):p("v-if",!0),n("a",{role:"menuitem",target:"_self",href:e.safeUrl(e.url+"&download=true")},[...t[51]||(t[51]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),y("Download file",-1)])],8,bM),n("button",{type:"button",role:"menuitem",onClick:t[15]||(t[15]=a=>e.copyPath())},[...t[52]||(t[52]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-link"})],-1),y("Copy path",-1)])]),t[53]||(t[53]=n("div",{class:"tb-menu-sep"},null,-1)),t[54]||(t[54]=n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),y("FAQ")],-1)),t[55]||(t[55]=n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),y("Report a bug")],-1))])):p("v-if",!0)])])]),e.type!="html"?D((l(),d("div",wM,null,512)),[[i,{content:e.content,options:e.aceOption}]]):p("v-if",!0),e.type=="html"&&e.mdFindOpen?(l(),d("div",kM,[n("input",{type:"search",class:"md-find-input",placeholder:"Find on this page","aria-label":"Find on this page",value:e.mdFindQuery,onInput:t[17]||(t[17]=a=>{e.mdFindQuery=a.target.value,e.runMdFind()}),onKeydown:[t[18]||(t[18]=yt(ue(a=>a.shiftKey?e.stepMdFind(-1):e.stepMdFind(1),["prevent"]),["enter"])),t[19]||(t[19]=yt(ue(a=>e.toggleMdFind(!1),["prevent"]),["esc"]))]},null,40,CM),n("span",EM,[n("button",{type:"button","aria-label":"Previous match",onClick:t[20]||(t[20]=a=>e.stepMdFind(-1)),disabled:!e.mdFindTotal},[...t[56]||(t[56]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,SM),n("button",{type:"button","aria-label":"Next match",onClick:t[21]||(t[21]=a=>e.stepMdFind(1)),disabled:!e.mdFindTotal},[...t[57]||(t[57]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,NM)]),n("span",_M,u(e.mdFindQuery?e.mdFindTotal?e.mdFindIndex+1+" of "+e.mdFindTotal:"No results":""),1),n("button",{type:"button",class:T(["md-find-opt",{"is-on":e.mdFindCase}]),"aria-pressed":e.mdFindCase?"true":"false",title:"Match case","aria-label":"Match case",onClick:t[22]||(t[22]=a=>{e.mdFindCase=!e.mdFindCase,e.runMdFind()})},"Aa",10,DM),n("button",{type:"button",class:"md-find-close","aria-label":"Close find",onClick:t[23]||(t[23]=a=>e.toggleMdFind(!1))},"\xD7")])):p("v-if",!0),e.type=="html"?(l(),d("div",RM,[n("div",{class:"file-content markdown-body",innerHTML:e.renderReadme(e.sanitize(e.content))},null,8,TM),e.readmeToc().length>=3?(l(),d("aside",OM,[t[58]||(t[58]=n("div",{class:"readme-toc-head"},"On this page",-1)),n("nav",AM,[n("a",{href:"#",class:T(["lvl-2 toc-top",{"is-active":!e.activeHeading}]),onClick:t[24]||(t[24]=ue(a=>e.scrollToHeading(null),["prevent"]))},"Introduction",2),(l(!0),d(Y,null,ie(e.readmeToc(),(a,c)=>(l(),d("a",{key:a.id,href:"#"+a.id,class:T(["lvl-"+a.level,{"is-active":e.activeHeading===a.id}]),onClick:ue(f=>e.scrollToHeading(a.id),["prevent"])},u(a.text),11,IM))),128))])])):p("v-if",!0)])):p("v-if",!0)],2)):p("v-if",!0),e.type=="html-doc"&&!e.showSource&&e.content!=null?(l(),Ut(s,{key:2,content:e.content,"base-url":e.fileBaseUrl,"allow-scripts":e.allowScripts},null,8,["content","base-url","allow-scripts"])):p("v-if",!0),e.type=="image"?(l(),d("img",{key:3,class:"image-content",src:e.safeUrl(e.url)},null,8,PM)):p("v-if",!0),e.type=="media"?(l(),d("iframe",{key:4,class:"h-100 overflow-auto w-100 b-0",src:e.safeUrl(e.url)},null,8,VM)):p("v-if",!0),e.type=="pdf"?(l(),Ut(r,{key:5,src:e.safeUrl(e.url)},null,8,["src"])):p("v-if",!0),e.type=="audio"?(l(),d("div",MM,[n("audio",qM,[n("source",{src:e.safeUrl(e.url)},null,8,LM)])])):p("v-if",!0),e.type=="IPython"?(l(),d("div",$M,[Oe(o,{file:e.url,content:e.content},null,8,["file","content"])])):p("v-if",!0),e.type=="rate_limited"?(l(),d("div",UM,[n("div",FM,[t[61]||(t[61]=fe('
Temporarily paused
GitHub API rate limit reached
',1)),n("p",zM,[t[59]||(t[59]=y("This repository will be available in ",-1)),n("strong",null,u(e.rateLimitCountdown),1),t[60]||(t[60]=y(". The page will reload automatically.",-1))])])])):p("v-if",!0),e.type=="error"?(l(),d("div",HM,[n("section",BM,[n("h1",jM,u(e.fmt.translate(e.isSourceAccessError()?"VIEWER_ERRORS.access_title":"VIEWER_ERRORS.title")),1),n("p",null,u(e.fmt.translate("ERRORS."+e.content)),1),e.isSourceAccessError()?(l(),d(Y,{key:0},[n("p",null,u(e.fmt.translate("VIEWER_ERRORS.reader_help")),1),n("p",null,u(e.fmt.translate("VIEWER_ERRORS.owner_help")),1)],64)):p("v-if",!0),n("div",GM,[n("button",{type:"button",class:"btn btn-primary",onClick:t[25]||(t[25]=a=>e.retryContent())},u(e.fmt.translate("VIEWER_ERRORS.retry")),1),e.isSourceAccessError()?(l(),d("a",WM,u(e.fmt.translate("VIEWER_ERRORS.dashboard")),1)):p("v-if",!0)])])])):p("v-if",!0),e.type=="loading"&&!e.error?(l(),d("section",KM,[n("div",YM,[n("strong",null,u(e.fmt.translate(e.fileReceivedBytes?"VIEWER_LOADING.receiving":"VIEWER_LOADING.loading")),1),n("span",JM,u(e.filePath),1),e.fileLoadingSlow?(l(),d("p",QM,u(e.fmt.translate("VIEWER_LOADING.slow")),1)):p("v-if",!0)]),n("div",XM,[(l(),d(Y,null,ie(10,a=>n("span",{key:a})),64))])])):p("v-if",!0),e.type=="empty"?(l(),d("div",ZM,[...t[62]||(t[62]=[n("h1",{class:"paper-empty-title m-auto"},[y("Empty "),n("em",null,"repository"),y(".")],-1)])])):p("v-if",!0),e.content==null&&!["empty","loading","error","rate_limited"].includes(e.type)?(l(),d("div",xM,[...t[63]||(t[63]=[n("h1",{class:"paper-empty-title m-auto"},[y("Empty "),n("em",null,"file"),y(".")],-1)])])):p("v-if",!0),e.type=="binary"?(l(),d("div",e8,[n("h1",t8,[t[64]||(t[64]=y("Unsupported ",-1)),t[65]||(t[65]=n("em",null,"binary file",-1)),t[66]||(t[66]=y(". You can ",-1)),n("a",{target:"_blank",href:e.safeUrl(e.url+"&download=true")},"download it",8,n8),t[67]||(t[67]=y(".",-1))])])):p("v-if",!0)],64)}var s8={class:"container page dashboard-page paper-page"},o8={class:"row"},r8={class:"w-100"},i8={class:"w-100","aria-label":"Pull Requests","accept-charset":"UTF-8"},a8={class:"d-flex flex-column flex-md-row align-items-md-center",style:{gap:"8px"}},l8={class:"flex-grow-1"},d8={type:"search",id:"search",class:"form-control","aria-label":"Find a pull request...",placeholder:"Find a pull request...",autocomplete:"off"},u8={class:"d-flex flex-wrap",style:{gap:"6px"}},c8={class:"dropdown"},p8={class:"dropdown-menu","aria-labelledby":"dropdownSort"},f8={class:"form-check dropdown-item"},m8={class:"form-check-input",type:"radio",name:"sort",id:"sortFullName",value:"fullName"},h8={class:"form-check dropdown-item"},v8={class:"form-check-input",type:"radio",name:"sort",id:"sortAnonymizeDate",value:"-anonymizeDate"},y8={class:"form-check dropdown-item"},g8={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},b8={class:"form-check dropdown-item"},w8={class:"form-check-input",type:"radio",name:"sort",id:"sortLastView",value:"-lastView"},k8={class:"form-check dropdown-item"},C8={class:"form-check-input",type:"radio",name:"sort",id:"sortPageView",value:"-pageView"},E8={class:"dropdown"},S8={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},N8={class:"form-check dropdown-item"},_8={class:"form-check-input",type:"checkbox",name:"sort",id:"statusReady",value:"ready"},D8={class:"form-check dropdown-item"},R8={class:"form-check-input",type:"checkbox",name:"sort",id:"statusExpired",value:"expired"},T8={class:"form-check dropdown-item"},O8={class:"form-check-input",type:"checkbox",name:"sort",id:"statusRemoved",value:"removed"},A8={class:"d-flex flex-wrap mt-2",style:{gap:"6px"}},I8={class:"filter-chip"},P8=["onClick"],V8={class:"repo-list w-100"},M8={class:"repo-list-item-content"},q8={class:"repo-list-item-main"},L8={class:"repo-list-item-header"},$8=["textContent","href"],U8=["textContent"],F8=["textContent"],z8={class:"repo-source"},H8=["href"],B8={class:"repo-date"},j8={class:"repo-meta"},G8={key:0,title:"Conference"},W8=["title"],K8=["title"],Y8=["title"],J8={key:1},Q8={class:"repo-list-item-actions"},X8={class:"dropdown"},Z8={class:"dropdown-menu dropdown-menu-right"},x8=["href"],eq=["onClick"],tq=["onClick"],nq=["onClick"],sq=["href"],oq={key:0,class:"repo-list-empty"};function $l(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",s8,[n("div",o8,[n("div",r8,[t[12]||(t[12]=fe('
My work \xA0/\xA0 Pull requests

Anonymized pull requests

Track PR mirrors you\u2019ve created and their reviewer traffic.

',2)),p(" Search + filters row "),D((l(),d("form",i8,[n("div",a8,[n("div",l8,[D(n("input",d8,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),n("div",u8,[n("div",c8,[t[6]||(t[6]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Sort ",-1)),n("div",p8,[t[5]||(t[5]=n("h6",{class:"dropdown-header"},"Select order",-1)),n("div",f8,[D(n("input",m8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[0]||(t[0]=n("label",{class:"form-check-label",for:"sortFullName"},"Pull Request",-1))]),n("div",h8,[D(n("input",v8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[1]||(t[1]=n("label",{class:"form-check-label",for:"sortAnonymizeDate"},"Anonymize Date",-1))]),n("div",y8,[D(n("input",g8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[2]||(t[2]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",b8,[D(n("input",w8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"sortLastView"},"Last View",-1))]),n("div",k8,[D(n("input",C8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=n("label",{class:"form-check-label",for:"sortPageView"},"Page View",-1))])])]),n("div",E8,[t[11]||(t[11]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Status ",-1)),n("div",S8,[t[10]||(t[10]=n("h6",{class:"dropdown-header"},"Select status",-1)),n("div",N8,[D(n("input",_8,null,512),[[s,{state:e.viewState,set:o=>{e.filters.status.ready=o},value:e.filters?.status?.ready,form:null,options:{}}]]),t[7]||(t[7]=n("label",{class:"form-check-label",for:"statusReady"},"Ready",-1))]),n("div",D8,[D(n("input",R8,null,512),[[s,{state:e.viewState,set:o=>{e.filters.status.expired=o},value:e.filters?.status?.expired,form:null,options:{}}]]),t[8]||(t[8]=n("label",{class:"form-check-label",for:"statusExpired"},"Expired",-1))]),n("div",T8,[D(n("input",O8,null,512),[[s,{state:e.viewState,set:o=>{e.filters.status.removed=o},value:e.filters?.status?.removed,form:null,options:{}}]]),t[9]||(t[9]=n("label",{class:"form-check-label",for:"statusRemoved"},"Removed",-1))])])])])])])),[[r,e.viewState]]),p(" Active filter chips "),D(n("div",A8,[(l(!0),d(Y,null,ie(e.filters?.status,(o,i,a)=>D((l(),d("span",I8,[y(u(e.fmt?.title(i))+" ",1),n("button",{type:"button",class:"filter-chip-close","aria-label":"Remove filter",onClick:c=>{e.filters.status[i]=!0}}," \xD7 ",8,P8)],512)),[[Q,!o]])),256))],512),[[Q,e.filters?.status?.ready===!1||e.filters?.status?.expired===!1||e.filters?.status?.removed===!1]])]),p(" Pull request list "),n("ul",V8,[(l(!0),d(Y,null,ie(e.filteredPullRequests,(o,i)=>(l(),d("li",{class:T(["repo-list-item",{"repo-inactive":o?.status=="expired"||o?.status=="removed"||o?.status=="error"}])},[n("div",M8,[n("div",q8,[n("div",L8,[n("a",{class:"repo-name",textContent:u(o?.pullRequestId),href:e.safeUrl("/pr/"+o?.pullRequestId)},null,8,$8),n("span",{class:T(["status-badge",{"status-removed":o?.status=="removed"||o?.status=="expired"||o?.status=="removing"||o?.status=="expiring","status-preparing":o?.status=="preparing"||o?.status=="download","status-ready":o?.status=="ready","status-error":o?.status=="error"}])},[n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,U8),o?.status=="error"?(l(),d("span",{key:0,textContent:u(": "+o?.statusMessage)},null,8,F8)):p("v-if",!0)],2)]),n("div",z8,[n("span",null,[t[13]||(t[13]=n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)),n("a",{href:e.safeUrl("https://github.com/"+o?.source?.repositoryFullName+"/pull/"+o?.source?.pullRequestId)},u(o?.source?.repositoryFullName)+"#"+u(o?.source?.pullRequestId),9,H8)]),n("span",{class:T(["status-badge",{"status-ready":o?.merged,"status-removed":o?.state=="open","status-error":o?.state=="closed"&&!o?.merged}]),style:{"font-size":"10px"}},u(e.fmt?.title(o?.merged?"merged":o?.state)),3),n("span",B8,"anonymized "+u(e.fmt?.humanTime(o?.anonymizeDate)),1)])]),n("div",j8,[o?.conference?(l(),d("span",G8,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),y(" "+u(o?.conference),1)])):p("v-if",!0),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Terms: "+o?.options?.terms?.join(", ")},[t[15]||(t[15]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),y(" "+u(e.fmt?.number(o?.options?.terms?.length)),1)],8,W8),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Views: "+e.fmt?.number(o?.pageView)},[t[16]||(t[16]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),y(" "+u(e.fmt?.number(o?.pageView)),1)],8,K8),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Last view: "+e.fmt?.date(o?.lastView)},[t[17]||(t[17]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-calendar"})],-1)),y(" "+u(e.fmt?.humanTime(o?.lastView)),1)],8,Y8),o?.options?.expirationMode!="never"&&o?.status=="ready"?(l(),d("span",J8,[t[18]||(t[18]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),y(" Expire: "+u(e.fmt?.humanTime(o?.options?.expirationDate)),1)])):p("v-if",!0)])]),n("div",Q8,[n("div",X8,[t[24]||(t[24]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Actions ",-1)),n("div",Z8,[n("a",{class:"dropdown-item",href:e.safeUrl("/pull-request-anonymize/"+o?.pullRequestId)},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit ",-1)])],8,x8),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updatePullRequest(o),["prevent"])},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force update ",-1)])],8,eq),[[Q,o?.status=="ready"||o?.status=="error"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updatePullRequest(o),["prevent"])},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Enable ",-1)])],8,tq),[[Q,o?.status=="removed"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.removePullRequest(o),["prevent"])},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove ",-1)])],8,nq),[[Q,o?.status=="ready"]]),n("a",{class:"dropdown-item",href:e.safeUrl("/pr/"+o?.pullRequestId+"/")},[...t[23]||(t[23]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View PR ",-1)])],8,sq)])])])],2))),256)),e.filteredPullRequests?.length==0?(l(),d("li",oq,[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No pull requests to display.",-1)])])):p("v-if",!0)])])])}var rq={class:"container paper-page paper-settings"},iq={class:"paper-settings-body"},aq={class:"paper-settings-toc"},lq={class:"paper-settings-main"},dq={id:"settings-quota",class:"paper-settings-section"},uq={key:1,class:"quota-row","aria-hidden":"true"},cq={class:"quota-item"},pq={id:"settings-terms",class:"paper-settings-section"},fq={class:"form-group"},mq={class:"form-control",id:"terms",name:"terms",rows:"4",placeholder:`Jane Smith +10 log("epoch %d: %.3f", epoch, loss)
`,2)])])):(l(),d("div",eP,[...t[17]||(t[17]=[fe('
ProjectStatusViewsExpires
DeepLearnUtilspaper-7f2a \xB7 ICSE 2027Ready41Mar 31, 2027
vision-bench#212pull request \xB7 FSE 2027Ready12Never
graph-repairgr-91abUpdating5Jan 5, 2027
JarSiftOOPSLA 2025Expired72Sep 28, 2026
',5)])]))],10,X5)])],8,K5)),[[Q,e.feature===s?.key]])),128))])]),p(" FAQ teaser "),t[27]||(t[27]=fe('
Before you sign in

The questions that come up most.

Read the full FAQ \u2192
What access does GitHub sign-in require?

The GitHub App has read-only access to gists and the repositories you choose. Legacy OAuth uses broader permissions. Anonymous GitHub never writes to your repositories.

Which file formats are supported?

Source code with syntax highlighting, Markdown, Jupyter notebooks, PDFs, images, and GitHub Pages sites. Text files are anonymized; enabled images and PDFs are served unchanged.

What happens when an anonymized repository expires?

You choose: the mirror is removed, or visitors are redirected to the original GitHub repository once the review is over.

',1)),n("footer",tP,[n("div",nP,[t[21]||(t[21]=n("div",{class:"paper-footer-brand"},[n("div",{class:"paper-footer-mark"},[y("Anonymous "),n("em",null,"GitHub")]),n("p",{class:"paper-footer-tag"}," A read-only, identity-stripped mirror of your repository, built for double-anonymous peer review. ")],-1)),n("div",sP,[t[18]||(t[18]=n("div",{class:"paper-footer-head"},"Product",-1)),t[19]||(t[19]=n("a",{href:"/anonymize"},"Anonymize",-1)),e.user?(l(),d("a",oP,"My work")):p("v-if",!0),e.user?(l(),d("a",rP,"Conferences")):p("v-if",!0),t[20]||(t[20]=n("a",{href:"/faq"},"FAQ",-1))]),t[22]||(t[22]=fe('',2))]),t[24]||(t[24]=n("div",{class:"paper-footer-rule"},null,-1)),n("div",iP,[n("span",null,"\xA9 "+u(e.year||2026)+" Anonymous GitHub \xB7 GPL-3.0 licensed",1),t[23]||(t[23]=n("span",{class:"paper-footer-meta"},"Built for reviewers, by researchers.",-1))])])])}var aP={class:"paper-empty"},lP={class:"paper-empty-inner"},dP={key:0,class:"paper-eyebrow"},uP={key:1,class:"paper-eyebrow"},cP={key:2,class:"paper-empty-title"},pP=["textContent"];function Ml(e,t){return l(),d("div",aP,[n("div",lP,[e.error?p("v-if",!0):(l(),d("div",dP,"Working")),e.error?(l(),d("div",uP,"Error")):p("v-if",!0),e.error?p("v-if",!0):(l(),d("h1",cP,[...t[0]||(t[0]=[y(" Loading",-1),n("span",{class:"dot-anim"},"\u2026",-1)])])),e.error?(l(),d("h1",{key:3,class:"paper-empty-title",textContent:u(e.fmt.translate(e.error))},null,8,pP)):p("v-if",!0)])])}var fP={class:"container paper-page paper-settings"},mP={class:"paper-crumbs"},hP={class:"here"},vP={class:"paper-page-title"},yP={class:"paper-settings-body"},gP={class:"paper-settings-toc"},bP={href:"#conf-billing"},wP={class:"form needs-validation paper-settings-main",name:"conference",novalidate:""},kP={id:"conf-basics",class:"paper-settings-section"},CP={class:"form-group"},EP={class:"invalid-feedback"},SP={class:"invalid-feedback"},NP={class:"form-group"},_P={class:"invalid-feedback"},DP={class:"form-group"},RP={class:"invalid-feedback"},TP={class:"invalid-feedback"},OP={id:"conf-window",class:"paper-settings-section"},AP={class:"form-grid-2"},IP={class:"form-group"},PP={class:"invalid-feedback"},VP={class:"invalid-feedback"},MP={class:"form-group"},qP={class:"invalid-feedback"},LP={class:"invalid-feedback"},$P={id:"conf-rendering",class:"paper-settings-section"},UP={class:"form-check"},FP={class:"form-check-input",type:"checkbox",id:"link",name:"link"},zP={class:"form-check"},HP={class:"form-check-input",type:"checkbox",id:"image",name:"image"},BP={class:"form-check"},jP={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},GP={class:"form-check"},WP={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},KP={id:"conf-features",class:"paper-settings-section"},YP={class:"form-check"},JP={class:"form-check-input",type:"checkbox",id:"update",name:"update"},QP={class:"form-check"},XP={class:"form-check-input",type:"checkbox",id:"page",name:"page"},ZP={id:"conf-plan",class:"paper-settings-section"},xP={class:"paper-plan-grid"},eV=["value"],tV=["textContent"],nV={class:"paper-plan-price"},sV=["innerHTML"],oV={key:0,id:"conf-billing",class:"paper-settings-section"},rV={class:"form-group"},iV={class:"form-group"},aV={class:"form-group"},lV={class:"form-group"},dV={class:"form-grid-3"},uV={class:"form-group"},cV={class:"form-group"},pV={class:"form-group"},fV={class:"form-group"},mV={class:"paper-settings-footer"},hV=["textContent"],vV=["textContent"],yV=["disabled"];function ql(e,t){let s=Ee("paper-scrollspy"),r=Ee("field"),o=Ee("form");return l(),d("div",fP,[n("div",mP,[t[1]||(t[1]=n("a",{href:"/dashboard"},"My work",-1)),t[2]||(t[2]=y(" \xA0/\xA0 ",-1)),t[3]||(t[3]=n("a",{href:"/conferences"},"Conferences",-1)),t[4]||(t[4]=y(" \xA0/\xA0 ",-1)),n("span",hP,u(e.editionMode?"Edit":"New"),1)]),n("h1",vP,[y(u(e.editionMode?"Edit":"Create a")+" ",1),t[5]||(t[5]=n("em",null,"conference",-1))]),t[42]||(t[42]=n("p",{class:"paper-page-lede"}," Give chairs access to every anonymization submitted to a venue, and lift author quotas during the review window. ",-1)),n("div",yP,[D((l(),d("aside",gP,[t[7]||(t[7]=n("div",{class:"paper-settings-toc-head"},"On this page",-1)),n("nav",null,[t[6]||(t[6]=fe('BasicsReview windowRendering defaultsFeaturesPlan',5)),D(n("a",bP,"Billing",512),[[Q,e.plan?.pricePerRepo>0]])])])),[[s]]),D((l(),d("form",wP,[n("section",kP,[t[12]||(t[12]=n("div",{class:"paper-section-eyebrow"},"Basics",-1)),n("div",CP,[t[8]||(t[8]=n("label",{class:"paper-field-label",for:"name"},"Conference name",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.name?.invalid&&(e.conference?.name?.touched||e.conference?.submitted)}]),name:"name",id:"name",required:"",placeholder:"e.g. International Conference on Software Engineering"},null,2),[[r,{state:e.viewState,set:i=>{e.options.name=i},value:e.options?.name,form:"conference",options:{}}]]),D(n("div",EP," The name of the conference is invalid. ",512),[[Q,e.conference?.name?.errors?.invalid]]),D(n("div",SP," The name of the conference is required. ",512),[[Q,e.conference?.name?.errors?.required]])]),n("div",NP,[t[9]||(t[9]=n("label",{class:"paper-field-label",for:"url"},"Website",-1)),D(n("input",{type:"url",class:T(["form-control",{"is-invalid":e.conference?.url?.invalid&&(e.conference?.url?.touched||e.conference?.submitted)}]),name:"url",id:"url",placeholder:"https://example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.url=i},value:e.options?.url,form:"conference",options:{}}]]),D(n("div",_P," The url of the conference is invalid. ",512),[[Q,e.conference?.url?.errors?.url]])]),n("div",DP,[t[10]||(t[10]=n("label",{class:"paper-field-label",for:"conferenceID"},"Conference ID",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.conferenceID?.invalid&&(e.conference?.conferenceID?.touched||e.conference?.submitted)}]),name:"conferenceID",id:"conferenceID",required:"",pattern:"[a-zA-Z0-9\\-_]{3,10}",placeholder:"ICSE26"},null,2),[[r,{state:e.viewState,set:i=>{e.options.conferenceID=i},value:e.options?.conferenceID,form:"conference",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},[y("3\u201310 characters, letters, numbers, "),n("code",null,"-"),y(" and "),n("code",null,"_"),y(". Authors reference this when they anonymize.")],-1)),D(n("div",{class:"invalid-feedback"}," The conference ID '"+u(e.options?.conferenceID)+"' is already used. ",513),[[Q,e.conference?.conferenceID?.errors?.used]]),D(n("div",RP," The conference ID is required. ",512),[[Q,e.conference?.conferenceID?.errors?.required]]),D(n("div",TP," The format of the conference ID is incorrect ([a-zA-Z0-9-_]{3,10}). ",512),[[Q,e.conference?.conferenceID?.errors?.pattern]])])]),n("section",OP,[t[17]||(t[17]=n("div",{class:"paper-section-eyebrow"},"Review window",-1)),n("div",AP,[n("div",IP,[t[13]||(t[13]=n("label",{class:"paper-field-label",for:"startDate"},"Start date",-1)),D(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.startDate?.invalid&&(e.conference?.startDate?.touched||e.conference?.submitted)}]),name:"startDate",id:"startDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.startDate=i},value:e.options?.startDate,form:"conference",options:{}}]]),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Beginning of the review process.",-1)),D(n("div",PP," Start date is required. ",512),[[Q,e.conference?.startDate?.errors?.required]]),D(n("div",VP," Start date must be before end date. ",512),[[Q,e.conference?.startDate?.errors?.invalid]])]),n("div",MP,[t[15]||(t[15]=n("label",{class:"paper-field-label",for:"endDate"},"End date",-1)),D(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.endDate?.invalid&&(e.conference?.endDate?.touched||e.conference?.submitted)}]),name:"endDate",id:"endDate",required:""},null,2),[[r,{state:e.viewState,set:i=>{e.options.endDate=i},value:e.options?.endDate,form:"conference",options:{}}]]),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"All repositories expire on this date.",-1)),D(n("div",qP," End date is required. ",512),[[Q,e.conference?.endDate?.errors?.required]]),D(n("div",LP," End date is invalid. ",512),[[Q,e.conference?.endDate?.errors?.invalid]])])])]),n("section",$P,[t[25]||(t[25]=n("div",{class:"paper-section-eyebrow"},"Rendering defaults",-1)),n("div",UP,[D(n("input",FP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.link=i},value:e.options?.options?.link,form:"conference",options:{}}]]),t[18]||(t[18]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[19]||(t[19]=n("small",{class:"form-text text-muted"},"Keep or remove all links from text files.",-1))]),n("div",zP,[D(n("input",HP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.image=i},value:e.options?.options?.image,form:"conference",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[21]||(t[21]=n("small",{class:"form-text text-muted"},"Images are not anonymized.",-1))]),n("div",BP,[D(n("input",jP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.pdf=i},value:e.options?.options?.pdf,form:"conference",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[23]||(t[23]=n("small",{class:"form-text text-muted"},"PDFs are not anonymized.",-1))]),n("div",GP,[D(n("input",WP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.notebook=i},value:e.options?.options?.notebook,form:"conference",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"notebook"},"Display Notebooks",-1))])]),n("section",KP,[t[30]||(t[30]=n("div",{class:"paper-section-eyebrow"},"Features",-1)),n("div",YP,[D(n("input",JP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.update=i},value:e.options?.options?.update,form:"conference",options:{}}]]),t[26]||(t[26]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[27]||(t[27]=n("small",{class:"form-text text-muted"},"Pull the latest commit automatically (hourly maximum).",-1))]),n("div",QP,[D(n("input",XP,null,512),[[r,{state:e.viewState,set:i=>{e.options.options.page=i},value:e.options?.options?.page,form:"conference",options:{}}]]),t[28]||(t[28]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[29]||(t[29]=n("small",{class:"form-text text-muted"},"Enable anonymized GitHub pages.",-1))])]),n("section",ZP,[t[32]||(t[32]=n("div",{class:"paper-section-eyebrow"},"Plan",-1)),t[33]||(t[33]=n("p",{class:"paper-section-copy"},"Billed per repository per month, prorated by the day for as long as a repository stays in the conference.",-1)),n("div",xP,[(l(!0),d(K,null,re(e.plans,(i,a)=>(l(),d("label",{class:T(["paper-plan-card",{selected:e.options?.plan?.planID==i?.id}])},[D(n("input",{type:"radio",name:"planPicker",value:i?.id},null,8,eV),[[r,{state:e.viewState,set:c=>{e.options.plan.planID=c},value:e.options?.plan?.planID,form:"conference",options:{}}]]),n("div",{class:"paper-plan-head",textContent:u(i?.name)},null,8,tV),n("div",nV,[y(u(e.fmt?.number(i?.pricePerRepo))+"\u20AC ",1),t[31]||(t[31]=n("span",{class:"paper-plan-per"},"/ repo / month",-1))]),n("div",{class:"paper-plan-desc",innerHTML:e.sanitize(i?.description)},null,8,sV)],2))),256))])]),e.plan?.pricePerRepo>0?(l(),d("section",oV,[t[41]||(t[41]=n("div",{class:"paper-section-eyebrow"},"Billing",-1)),n("div",rV,[t[34]||(t[34]=n("label",{class:"paper-field-label",for:"billing_name"},"Name",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.billing_name?.invalid&&(e.conference?.billing_name?.touched||e.conference?.submitted)}]),name:"billing_name",id:"billing_name",required:"",placeholder:"First & last name"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.name=i},value:e.options?.billing?.name,form:"conference",options:{}}]])]),n("div",iV,[t[35]||(t[35]=n("label",{class:"paper-field-label",for:"email"},"Email",-1)),D(n("input",{type:"email",class:T(["form-control",{"is-invalid":e.conference?.email?.invalid&&(e.conference?.email?.touched||e.conference?.submitted)}]),name:"email",id:"email",required:"",placeholder:"you@example.org"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.email=i},value:e.options?.billing?.email,form:"conference",options:{}}]])]),n("div",aV,[t[36]||(t[36]=n("label",{class:"paper-field-label",for:"inputAddress"},"Address",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress?.invalid&&(e.conference?.inputAddress?.touched||e.conference?.submitted)}]),name:"inputAddress",id:"inputAddress",required:"",placeholder:"1234 Main St"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address=i},value:e.options?.billing?.address,form:"conference",options:{}}]])]),n("div",lV,[D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress2?.invalid&&(e.conference?.inputAddress2?.touched||e.conference?.submitted)}]),name:"inputAddress2",id:"inputAddress2",placeholder:"Apartment, studio, or floor"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.address2=i},value:e.options?.billing?.address2,form:"conference",options:{}}]])]),n("div",dV,[n("div",uV,[t[37]||(t[37]=n("label",{class:"paper-field-label",for:"city"},"City",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.city?.invalid&&(e.conference?.city?.touched||e.conference?.submitted)}]),name:"city",id:"city",required:"",placeholder:"City"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.city=i},value:e.options?.billing?.city,form:"conference",options:{}}]])]),n("div",cV,[t[38]||(t[38]=n("label",{class:"paper-field-label",for:"country"},"Country",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.country?.invalid&&(e.conference?.country?.touched||e.conference?.submitted)}]),name:"country",id:"country",required:"",placeholder:"Country"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.country=i},value:e.options?.billing?.country,form:"conference",options:{}}]])]),n("div",pV,[t[39]||(t[39]=n("label",{class:"paper-field-label",for:"zip"},"Zip",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.zip?.invalid&&(e.conference?.zip?.touched||e.conference?.submitted)}]),name:"zip",id:"zip",required:"",placeholder:"Zip"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.zip=i},value:e.options?.billing?.zip,form:"conference",options:{}}]])])]),n("div",fV,[t[40]||(t[40]=n("label",{class:"paper-field-label",for:"vat"},"VAT number",-1)),D(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.vat?.invalid&&(e.conference?.vat?.touched||e.conference?.submitted)}]),name:"vat",id:"vat",placeholder:"VAT Number"},null,2),[[r,{state:e.viewState,set:i=>{e.options.billing.vat=i},value:e.options?.billing?.vat,form:"conference",options:{}}]])])])):p("v-if",!0),n("div",mV,[e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:u(e.error)},null,8,hV)):p("v-if",!0),e.message?(l(),d("div",{key:1,class:"alert alert-success",role:"alert",textContent:u(e.message)},null,8,vV)):p("v-if",!0),n("button",{id:"send",disabled:e.saving,type:"submit",class:"btn btn-ink",onClick:t[0]||(t[0]=de(i=>e.submitForm(i,()=>{e.submit(i)}),["prevent"]))},u(e.saving?e.editionMode?"Updating\u2026":"Creating\u2026":e.editionMode?"Update conference":"Create conference"),9,yV)])])),[[o,e.viewState]])])])}var gV={key:0,class:"dir-card","aria-label":"Repository files"},bV=["onClick"],wV={class:"dir-name"},kV=["href"],CV={class:"dir-name"},EV={class:"dir-meta"},SV={class:"file-card-head"},NV={class:"file-card-path"},_V={class:"breadcrumb paths","aria-label":"Path"},DV={class:"breadcrumb-item breadcrumb-root"},RV=["href","title","textContent"],TV=["aria-current"],OV=["aria-label"],AV={class:"mobile-sub"},IV={key:0},PV={key:1},VV={key:2},MV=["aria-label","title"],qV={class:"ui-icon","aria-hidden":"true"},LV=["href"],$V={key:0,class:"file-card-meta"},UV={class:"meta-extra"},FV={class:"meta-redact"},zV={key:1,class:"file-card-meta"},HV={class:"meta-redact"},BV={class:"file-card-actions"},jV={key:0,class:"symbols"},GV=["aria-expanded"],WV={key:0,class:"symbols-menu",role:"menu"},KV={class:"symbols-head"},YV=["onClick"],JV={class:"symbols-name"},QV={class:"symbols-line"},XV=["title"],ZV=["title"],xV=["title"],eM=["aria-pressed"],tM={class:"tb-file",role:"group","aria-label":"File actions"},nM=["title","href"],sM=["aria-label","title"],oM={class:"ui-icon","aria-hidden":"true"},rM=["href"],iM=["href"],aM=["aria-label"],lM={class:"ui-icon","aria-hidden":"true"},dM=["href"],uM={class:"tb-more"},cM=["aria-expanded"],pM={viewBox:"0 0 24 24",class:"ui-icon","aria-hidden":"true",style:{fill:"currentColor",stroke:"none"}},fM={key:0,class:"tb-menu-note"},mM={key:1,class:"tb-menu-sep"},hM=["aria-checked"],vM={key:0,class:"tb-menu-check"},yM={key:5,class:"tb-menu-sep"},gM=["href"],bM=["href"],wM={key:0,class:"file-card-body"},kM={key:1,class:"md-find-bar",role:"search"},CM=["value"],EM={class:"md-find-nav"},SM=["disabled"],NM=["disabled"],_M={class:"md-find-count","aria-live":"polite"},DM=["aria-pressed"],RM={key:2,class:"reading-layout"},TM=["innerHTML"],OM={key:0,class:"readme-toc","aria-label":"On this page"},AM={class:"toc-rail"},IM=["href","onClick"],PM=["src"],VM=["src"],MM={key:6},qM={controls:"controls"},LM=["src"],$M={key:7},UM={key:8,class:"file-error container d-flex h-100"},FM={class:"paper-ratelimit-card m-auto",style:{"max-width":"520px"}},zM={class:"paper-error-msg"},HM={key:9,class:"file-error container d-flex h-100"},BM={class:"viewer-error m-auto",role:"alert","aria-labelledby":"viewer-error-title"},jM={id:"viewer-error-title",class:"paper-empty-title"},GM={class:"paper-error-actions"},WM={key:0,class:"btn btn-outline-ink",href:"/dashboard"},KM={key:10,class:"viewer-loading","aria-busy":"true"},YM={class:"viewer-loading-status",role:"status","aria-live":"polite"},JM={class:"viewer-loading-name"},QM={key:0},XM={class:"viewer-loading-lines","aria-hidden":"true"},ZM={key:11,class:"file-error container d-flex h-100"},xM={key:12,class:"file-error container d-flex h-100"},e8={key:13,class:"file-error container d-flex h-100"},t8={class:"paper-empty-title m-auto"},n8=["href"];function Ll(e,t){let s=Ge("html-doc"),r=Ge("pdfviewer"),o=Ge("notebook"),i=Ee("code-editor");return l(),d(K,null,[e.sidebarHidden&&e.type=="html"&&e.content!=null&&e.paths?.length===1&&/^readme/i.test(e.paths[0]||"")&&e.files?.length?(l(),d("section",gV,[t[29]||(t[29]=n("header",{class:"dir-card-head"},[n("span",{class:"dir-card-title"},"Files"),n("span",{class:"dir-card-sub"},"Snapshot of the repository at review time")],-1)),n("ul",{class:T(["dir-list",{"is-expanded":e.dirExpanded}])},[(l(!0),d(K,null,re(e.rootEntries(),a=>(l(),d("li",{key:a.name},[a.size==null?(l(),d("button",{key:0,type:"button",class:"dir-row",onClick:c=>e.revealFolder(a.name)},[t[26]||(t[26]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})],-1)),n("span",wV,u(a.name),1),t[27]||(t[27]=n("span",{class:"dir-meta"},"Folder",-1))],8,bV)):(l(),d("a",{key:1,class:T(["dir-row",{"is-current":a.name===e.paths[0]}]),href:e.safeUrl("/r/"+e.repoId+"/"+encodeURIComponent(a.name))},[t[28]||(t[28]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})],-1)),n("span",CV,u(a.name),1),n("span",EV,u(e.formatSize(a.size)),1)],10,kV))]))),128))],2),!e.dirExpanded&&e.files.length>8?(l(),d("button",{key:0,type:"button",class:"dir-more",onClick:t[0]||(t[0]=a=>e.dirExpanded=!0)},"Show all "+u(e.files.length)+" items",1)):p("v-if",!0)])):p("v-if",!0),(e.type=="text"||e.type=="code"||e.type=="html"||e.type=="html-doc"&&e.showSource)&&e.content!=null?(l(),d("section",{key:1,class:T(["file-card",{"is-code":e.type!="html","no-wrap":!e.wrapLines}])},[n("header",SV,[n("div",NV,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost card-files-btn",{"is-needed":e.sidebarHidden}]),"aria-label":"Show file tree",title:"Show file tree",onClick:t[1]||(t[1]=a=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1)])],2),n("ol",_V,[n("li",DV,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:u(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,RV)]),(l(!0),d(K,null,re(e.paths,(a,c)=>(l(),d("li",{class:"breadcrumb-item","aria-current":c===e.paths.length-1?"page":null},[(l(!0),d(K,null,re(e.redactParts(a),(f,g)=>(l(),d(K,{key:g},[f.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+f.n},[n("i",null,u(f.n),1)],8,OV)):(l(),d(K,{key:1},[y(u(f.t),1)],64))],64))),128))],8,TV))),256))]),n("span",AV,[n("span",null,u(e.type=="html"?"Markdown":e.languageName||"Text"),1),e.type!="html"&&typeof e.content=="string"?(l(),d("span",IV,u(e.fmt?.number(e.content.split(` +`).length))+" lines",1)):p("v-if",!0),e.type=="html"&&e.fileSize(e.filePath)!=null?(l(),d("span",PV,u(e.formatSize(e.fileSize(e.filePath))),1)):p("v-if",!0),e.redactionCount()?(l(),d("b",VV,u(e.redactionCount())+" redacted",1)):p("v-if",!0)]),D(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy path",title:e.pathCopied?"Path copied":"Copy path",onClick:t[2]||(t[2]=a=>e.copyPath())},[(l(),d("svg",qV,[n("use",{href:e.pathCopied?"#ui-icon-check":"#ui-icon-link"},null,8,LV)]))],8,MV),[[Q,e.filePath]])]),e.type!="html"&&typeof e.content=="string"?(l(),d("span",$V,[e.languageName?(l(),d(K,{key:0},[y(u(e.languageName),1),t[31]||(t[31]=n("span",{class:"sep"},"\xB7",-1))],64)):p("v-if",!0),y(u(e.fmt?.number(e.content.split(` +`).length))+" lines",1),n("span",UV,[t[32]||(t[32]=n("span",{class:"sep"},"\xB7",-1)),y(u(e.content.length<1024?e.content.length+" B":(e.content.length/1024).toFixed(1)+" KB"),1)]),e.redactionCount()?(l(),d(K,{key:1},[t[33]||(t[33]=n("span",{class:"sep"},"\xB7",-1)),n("span",FV,u(e.redactionCount())+" redacted",1)],64)):p("v-if",!0)])):p("v-if",!0),e.type=="html"?(l(),d("span",zV,[t[36]||(t[36]=y("Markdown",-1)),e.fileSize(e.filePath)!=null?(l(),d(K,{key:0},[t[34]||(t[34]=n("span",{class:"sep"},"\xB7",-1)),y(u(e.formatSize(e.fileSize(e.filePath))),1)],64)):p("v-if",!0),e.redactionCount()?(l(),d(K,{key:1},[t[35]||(t[35]=n("span",{class:"sep"},"\xB7",-1)),n("span",HV,u(e.redactionCount())+" redacted",1)],64)):p("v-if",!0)])):p("v-if",!0),n("div",BV,[e.type!="html"&&e.symbols().length>1?(l(),d("div",jV,[n("button",{type:"button",class:T(["btn btn-sm btn-ghost btn-symbols",{"is-on":e.symbolsOpen}]),"aria-expanded":e.symbolsOpen?"true":"false","aria-haspopup":"true",title:"Symbols in this file",onClick:t[3]||(t[3]=a=>e.symbolsOpen=!e.symbolsOpen)},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-list"})],-1),n("span",{class:"btn-find-label"},"Symbols",-1)])],10,GV),e.symbolsOpen?(l(),d("div",WV,[n("div",KV,u(e.symbols().length)+" "+u(e.symbols().length===1?"symbol":"symbols"),1),(l(!0),d(K,null,re(e.symbols(),a=>(l(),d("button",{type:"button",class:"symbols-item",role:"menuitem",key:a.line+a.name,onClick:c=>e.goToSymbol(a.line)},[n("span",{class:T(["symbols-kind","is-"+a.kind])},u(a.kind==="class"?"C":a.kind==="function"?"\u0192":"v"),3),n("span",JV,u(a.name),1),n("span",QV,u(a.line),1)],8,YV))),128))])):p("v-if",!0)])):p("v-if",!0),e.type=="html"?(l(),d("button",{key:1,type:"button",class:T(["btn btn-sm btn-ghost btn-icon-only btn-find btn-md-find",{"is-on":e.mdFindOpen}]),"aria-label":"Find on this page",title:"Find on this page ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[4]||(t[4]=a=>e.toggleMdFind())},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],10,XV)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:2,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-find","aria-label":"Find in file",title:"Find in file ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[5]||(t[5]=a=>e.findInFile())},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],8,ZV)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:3,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-goto","aria-label":"Go to line",title:"Go to line ("+(e.isMac?"\u2318":"Ctrl+")+"G)",onClick:t[6]||(t[6]=a=>e.gotoLine())},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1)])],8,xV)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:4,type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost btn-toggle",{"is-on":e.wrapLines}]),"aria-pressed":e.wrapLines?"true":"false","aria-label":"Wrap long lines",title:"Wrap long lines (Alt+Z)",onClick:t[7]||(t[7]=a=>e.toggleWrap())},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)])],10,eM)):p("v-if",!0),n("div",tM,[n("a",{target:"_self",class:"tb-seg-btn",title:e.type=="html"?"Open the Markdown source":"Open the raw file",href:e.safeUrl(e.url)},"Raw",8,nM),typeof e.content=="string"?(l(),d("button",{key:0,type:"button",class:"tb-seg-btn tb-seg-icon","aria-label":e.contentCopied?"Copied":"Copy file contents",title:e.contentCopied?"Copied":"Copy file contents",onClick:t[8]||(t[8]=a=>e.copyContent())},[(l(),d("svg",oM,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,rM)]))],8,sM)):p("v-if",!0),n("a",{target:"_self",class:"tb-seg-btn tb-seg-icon","aria-label":"Download file",title:"Download file",href:e.safeUrl(e.url+"&download=true")},[...t[42]||(t[42]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1)])],8,iM)]),typeof e.content=="string"?(l(),d("button",{key:5,type:"button",class:"btn btn-sm btn-icon-only btn-ghost tb-copy-m","aria-label":e.contentCopied?"Copied":"Copy file contents",onClick:t[9]||(t[9]=a=>e.copyContent())},[(l(),d("svg",lM,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,dM)]))],8,aM)):p("v-if",!0),n("div",uM,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-more-btn",{"is-on":e.moreOpen}]),"aria-label":"More actions","aria-haspopup":"true","aria-expanded":e.moreOpen?"true":"false",onClick:t[10]||(t[10]=de(a=>e.moreOpen=!e.moreOpen,["stop"]))},[(l(),d("svg",pM,[...t[43]||(t[43]=[n("circle",{cx:"5",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"12",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"19",cy:"12",r:"1.8"},null,-1)])]))],10,cM),e.moreOpen?(l(),d("div",{key:0,class:"tb-menu",role:"menu",onClick:t[16]||(t[16]=a=>e.moreOpen=!1)},[e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",fM,[t[44]||(t[44]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),y("Snapshot \xB7 "+u(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)])):p("v-if",!0),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",mM)):p("v-if",!0),e.type!="html"?(l(),d("button",{key:2,type:"button",role:"menuitem",onClick:t[11]||(t[11]=a=>e.findInFile())},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1),y("Find in file",-1)])])):p("v-if",!0),e.type!="html"?(l(),d("button",{key:3,type:"button",role:"menuitem",onClick:t[12]||(t[12]=a=>e.gotoLine())},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1),y("Go to line",-1)])])):p("v-if",!0),e.type!="html"?(l(),d("button",{key:4,type:"button",role:"menuitemcheckbox","aria-checked":e.wrapLines?"true":"false",onClick:t[13]||(t[13]=a=>e.toggleWrap())},[t[47]||(t[47]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)),t[48]||(t[48]=y("Wrap lines",-1)),e.wrapLines?(l(),d("span",vM,"\u2713")):p("v-if",!0)],8,hM)):p("v-if",!0),e.type!="html"?(l(),d("div",yM)):p("v-if",!0),e.type!="html"?(l(),d("a",{key:6,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[...t[49]||(t[49]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y("Open raw file",-1)])],8,gM)):p("v-if",!0),typeof e.content=="string"?(l(),d("button",{key:7,type:"button",role:"menuitem",onClick:t[14]||(t[14]=a=>e.copyContent())},[...t[50]||(t[50]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-copy"})],-1),y("Copy contents",-1)])])):p("v-if",!0),n("a",{role:"menuitem",target:"_self",href:e.safeUrl(e.url+"&download=true")},[...t[51]||(t[51]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),y("Download file",-1)])],8,bM),n("button",{type:"button",role:"menuitem",onClick:t[15]||(t[15]=a=>e.copyPath())},[...t[52]||(t[52]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-link"})],-1),y("Copy path",-1)])]),t[53]||(t[53]=n("div",{class:"tb-menu-sep"},null,-1)),t[54]||(t[54]=n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),y("FAQ")],-1)),t[55]||(t[55]=n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),y("Report a bug")],-1))])):p("v-if",!0)])])]),e.type!="html"?D((l(),d("div",wM,null,512)),[[i,{content:e.content,options:e.aceOption}]]):p("v-if",!0),e.type=="html"&&e.mdFindOpen?(l(),d("div",kM,[n("input",{type:"search",class:"md-find-input",placeholder:"Find on this page","aria-label":"Find on this page",value:e.mdFindQuery,onInput:t[17]||(t[17]=a=>{e.mdFindQuery=a.target.value,e.runMdFind()}),onKeydown:[t[18]||(t[18]=yt(de(a=>a.shiftKey?e.stepMdFind(-1):e.stepMdFind(1),["prevent"]),["enter"])),t[19]||(t[19]=yt(de(a=>e.toggleMdFind(!1),["prevent"]),["esc"]))]},null,40,CM),n("span",EM,[n("button",{type:"button","aria-label":"Previous match",onClick:t[20]||(t[20]=a=>e.stepMdFind(-1)),disabled:!e.mdFindTotal},[...t[56]||(t[56]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,SM),n("button",{type:"button","aria-label":"Next match",onClick:t[21]||(t[21]=a=>e.stepMdFind(1)),disabled:!e.mdFindTotal},[...t[57]||(t[57]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,NM)]),n("span",_M,u(e.mdFindQuery?e.mdFindTotal?e.mdFindIndex+1+" of "+e.mdFindTotal:"No results":""),1),n("button",{type:"button",class:T(["md-find-opt",{"is-on":e.mdFindCase}]),"aria-pressed":e.mdFindCase?"true":"false",title:"Match case","aria-label":"Match case",onClick:t[22]||(t[22]=a=>{e.mdFindCase=!e.mdFindCase,e.runMdFind()})},"Aa",10,DM),n("button",{type:"button",class:"md-find-close","aria-label":"Close find",onClick:t[23]||(t[23]=a=>e.toggleMdFind(!1))},"\xD7")])):p("v-if",!0),e.type=="html"?(l(),d("div",RM,[n("div",{class:"file-content markdown-body",innerHTML:e.renderReadme(e.sanitize(e.content))},null,8,TM),e.readmeToc().length>=3?(l(),d("aside",OM,[t[58]||(t[58]=n("div",{class:"readme-toc-head"},"On this page",-1)),n("nav",AM,[n("a",{href:"#",class:T(["lvl-2 toc-top",{"is-active":!e.activeHeading}]),onClick:t[24]||(t[24]=de(a=>e.scrollToHeading(null),["prevent"]))},"Introduction",2),(l(!0),d(K,null,re(e.readmeToc(),(a,c)=>(l(),d("a",{key:a.id,href:"#"+a.id,class:T(["lvl-"+a.level,{"is-active":e.activeHeading===a.id}]),onClick:de(f=>e.scrollToHeading(a.id),["prevent"])},u(a.text),11,IM))),128))])])):p("v-if",!0)])):p("v-if",!0)],2)):p("v-if",!0),e.type=="html-doc"&&!e.showSource&&e.content!=null?(l(),Ut(s,{key:2,content:e.content,"base-url":e.fileBaseUrl,"allow-scripts":e.allowScripts},null,8,["content","base-url","allow-scripts"])):p("v-if",!0),e.type=="image"?(l(),d("img",{key:3,class:"image-content",src:e.safeUrl(e.url)},null,8,PM)):p("v-if",!0),e.type=="media"?(l(),d("iframe",{key:4,class:"h-100 overflow-auto w-100 b-0",src:e.safeUrl(e.url)},null,8,VM)):p("v-if",!0),e.type=="pdf"?(l(),Ut(r,{key:5,src:e.safeUrl(e.url)},null,8,["src"])):p("v-if",!0),e.type=="audio"?(l(),d("div",MM,[n("audio",qM,[n("source",{src:e.safeUrl(e.url)},null,8,LM)])])):p("v-if",!0),e.type=="IPython"?(l(),d("div",$M,[Oe(o,{file:e.url,content:e.content},null,8,["file","content"])])):p("v-if",!0),e.type=="rate_limited"?(l(),d("div",UM,[n("div",FM,[t[61]||(t[61]=fe('
Temporarily paused
GitHub API rate limit reached
',1)),n("p",zM,[t[59]||(t[59]=y("This repository will be available in ",-1)),n("strong",null,u(e.rateLimitCountdown),1),t[60]||(t[60]=y(". The page will reload automatically.",-1))])])])):p("v-if",!0),e.type=="error"?(l(),d("div",HM,[n("section",BM,[n("h1",jM,u(e.fmt.translate(e.isSourceAccessError()?"VIEWER_ERRORS.access_title":"VIEWER_ERRORS.title")),1),n("p",null,u(e.fmt.translate("ERRORS."+e.content)),1),e.isSourceAccessError()?(l(),d(K,{key:0},[n("p",null,u(e.fmt.translate("VIEWER_ERRORS.reader_help")),1),n("p",null,u(e.fmt.translate("VIEWER_ERRORS.owner_help")),1)],64)):p("v-if",!0),n("div",GM,[n("button",{type:"button",class:"btn btn-primary",onClick:t[25]||(t[25]=a=>e.retryContent())},u(e.fmt.translate("VIEWER_ERRORS.retry")),1),e.isSourceAccessError()?(l(),d("a",WM,u(e.fmt.translate("VIEWER_ERRORS.dashboard")),1)):p("v-if",!0)])])])):p("v-if",!0),e.type=="loading"&&!e.error?(l(),d("section",KM,[n("div",YM,[n("strong",null,u(e.fmt.translate(e.fileReceivedBytes?"VIEWER_LOADING.receiving":"VIEWER_LOADING.loading")),1),n("span",JM,u(e.filePath),1),e.fileLoadingSlow?(l(),d("p",QM,u(e.fmt.translate("VIEWER_LOADING.slow")),1)):p("v-if",!0)]),n("div",XM,[(l(),d(K,null,re(10,a=>n("span",{key:a})),64))])])):p("v-if",!0),e.type=="empty"?(l(),d("div",ZM,[...t[62]||(t[62]=[n("h1",{class:"paper-empty-title m-auto"},[y("Empty "),n("em",null,"repository"),y(".")],-1)])])):p("v-if",!0),e.content==null&&!["empty","loading","error","rate_limited"].includes(e.type)?(l(),d("div",xM,[...t[63]||(t[63]=[n("h1",{class:"paper-empty-title m-auto"},[y("Empty "),n("em",null,"file"),y(".")],-1)])])):p("v-if",!0),e.type=="binary"?(l(),d("div",e8,[n("h1",t8,[t[64]||(t[64]=y("Unsupported ",-1)),t[65]||(t[65]=n("em",null,"binary file",-1)),t[66]||(t[66]=y(". You can ",-1)),n("a",{target:"_blank",href:e.safeUrl(e.url+"&download=true")},"download it",8,n8),t[67]||(t[67]=y(".",-1))])])):p("v-if",!0)],64)}var s8={class:"container page dashboard-page paper-page"},o8={class:"row"},r8={class:"w-100"},i8={class:"w-100","aria-label":"Pull Requests","accept-charset":"UTF-8"},a8={class:"d-flex flex-column flex-md-row align-items-md-center",style:{gap:"8px"}},l8={class:"flex-grow-1"},d8={type:"search",id:"search",class:"form-control","aria-label":"Find a pull request...",placeholder:"Find a pull request...",autocomplete:"off"},u8={class:"d-flex flex-wrap",style:{gap:"6px"}},c8={class:"dropdown"},p8={class:"dropdown-menu","aria-labelledby":"dropdownSort"},f8={class:"form-check dropdown-item"},m8={class:"form-check-input",type:"radio",name:"sort",id:"sortFullName",value:"fullName"},h8={class:"form-check dropdown-item"},v8={class:"form-check-input",type:"radio",name:"sort",id:"sortAnonymizeDate",value:"-anonymizeDate"},y8={class:"form-check dropdown-item"},g8={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},b8={class:"form-check dropdown-item"},w8={class:"form-check-input",type:"radio",name:"sort",id:"sortLastView",value:"-lastView"},k8={class:"form-check dropdown-item"},C8={class:"form-check-input",type:"radio",name:"sort",id:"sortPageView",value:"-pageView"},E8={class:"dropdown"},S8={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},N8={class:"form-check dropdown-item"},_8={class:"form-check-input",type:"checkbox",name:"sort",id:"statusReady",value:"ready"},D8={class:"form-check dropdown-item"},R8={class:"form-check-input",type:"checkbox",name:"sort",id:"statusExpired",value:"expired"},T8={class:"form-check dropdown-item"},O8={class:"form-check-input",type:"checkbox",name:"sort",id:"statusRemoved",value:"removed"},A8={class:"d-flex flex-wrap mt-2",style:{gap:"6px"}},I8={class:"filter-chip"},P8=["onClick"],V8={class:"repo-list w-100"},M8={class:"repo-list-item-content"},q8={class:"repo-list-item-main"},L8={class:"repo-list-item-header"},$8=["textContent","href"],U8=["textContent"],F8=["textContent"],z8={class:"repo-source"},H8=["href"],B8={class:"repo-date"},j8={class:"repo-meta"},G8={key:0,title:"Conference"},W8=["title"],K8=["title"],Y8=["title"],J8={key:1},Q8={class:"repo-list-item-actions"},X8={class:"dropdown"},Z8={class:"dropdown-menu dropdown-menu-right"},x8=["href"],eq=["onClick"],tq=["onClick"],nq=["onClick"],sq=["href"],oq={key:0,class:"repo-list-empty"};function $l(e,t){let s=Ee("field"),r=Ee("form");return l(),d("div",s8,[n("div",o8,[n("div",r8,[t[12]||(t[12]=fe('
My work \xA0/\xA0 Pull requests

Anonymized pull requests

Track PR mirrors you\u2019ve created and their reviewer traffic.

',2)),p(" Search + filters row "),D((l(),d("form",i8,[n("div",a8,[n("div",l8,[D(n("input",d8,null,512),[[s,{state:e.viewState,set:o=>{e.search=o},value:e.search,form:null,options:{}}]])]),n("div",u8,[n("div",c8,[t[6]||(t[6]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Sort ",-1)),n("div",p8,[t[5]||(t[5]=n("h6",{class:"dropdown-header"},"Select order",-1)),n("div",f8,[D(n("input",m8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[0]||(t[0]=n("label",{class:"form-check-label",for:"sortFullName"},"Pull Request",-1))]),n("div",h8,[D(n("input",v8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[1]||(t[1]=n("label",{class:"form-check-label",for:"sortAnonymizeDate"},"Anonymize Date",-1))]),n("div",y8,[D(n("input",g8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[2]||(t[2]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",b8,[D(n("input",w8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"sortLastView"},"Last View",-1))]),n("div",k8,[D(n("input",C8,null,512),[[s,{state:e.viewState,set:o=>{e.orderBy=o},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=n("label",{class:"form-check-label",for:"sortPageView"},"Page View",-1))])])]),n("div",E8,[t[11]||(t[11]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Status ",-1)),n("div",S8,[t[10]||(t[10]=n("h6",{class:"dropdown-header"},"Select status",-1)),n("div",N8,[D(n("input",_8,null,512),[[s,{state:e.viewState,set:o=>{e.filters.status.ready=o},value:e.filters?.status?.ready,form:null,options:{}}]]),t[7]||(t[7]=n("label",{class:"form-check-label",for:"statusReady"},"Ready",-1))]),n("div",D8,[D(n("input",R8,null,512),[[s,{state:e.viewState,set:o=>{e.filters.status.expired=o},value:e.filters?.status?.expired,form:null,options:{}}]]),t[8]||(t[8]=n("label",{class:"form-check-label",for:"statusExpired"},"Expired",-1))]),n("div",T8,[D(n("input",O8,null,512),[[s,{state:e.viewState,set:o=>{e.filters.status.removed=o},value:e.filters?.status?.removed,form:null,options:{}}]]),t[9]||(t[9]=n("label",{class:"form-check-label",for:"statusRemoved"},"Removed",-1))])])])])])])),[[r,e.viewState]]),p(" Active filter chips "),D(n("div",A8,[(l(!0),d(K,null,re(e.filters?.status,(o,i,a)=>D((l(),d("span",I8,[y(u(e.fmt?.title(i))+" ",1),n("button",{type:"button",class:"filter-chip-close","aria-label":"Remove filter",onClick:c=>{e.filters.status[i]=!0}}," \xD7 ",8,P8)],512)),[[Q,!o]])),256))],512),[[Q,e.filters?.status?.ready===!1||e.filters?.status?.expired===!1||e.filters?.status?.removed===!1]])]),p(" Pull request list "),n("ul",V8,[(l(!0),d(K,null,re(e.filteredPullRequests,(o,i)=>(l(),d("li",{class:T(["repo-list-item",{"repo-inactive":o?.status=="expired"||o?.status=="removed"||o?.status=="error"}])},[n("div",M8,[n("div",q8,[n("div",L8,[n("a",{class:"repo-name",textContent:u(o?.pullRequestId),href:e.safeUrl("/pr/"+o?.pullRequestId)},null,8,$8),n("span",{class:T(["status-badge",{"status-removed":o?.status=="removed"||o?.status=="expired"||o?.status=="removing"||o?.status=="expiring","status-preparing":o?.status=="preparing"||o?.status=="download","status-ready":o?.status=="ready","status-error":o?.status=="error"}])},[n("span",{textContent:u(e.fmt?.title(o?.status))},null,8,U8),o?.status=="error"?(l(),d("span",{key:0,textContent:u(": "+o?.statusMessage)},null,8,F8)):p("v-if",!0)],2)]),n("div",z8,[n("span",null,[t[13]||(t[13]=n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)),n("a",{href:e.safeUrl("https://github.com/"+o?.source?.repositoryFullName+"/pull/"+o?.source?.pullRequestId)},u(o?.source?.repositoryFullName)+"#"+u(o?.source?.pullRequestId),9,H8)]),n("span",{class:T(["status-badge",{"status-ready":o?.merged,"status-removed":o?.state=="open","status-error":o?.state=="closed"&&!o?.merged}]),style:{"font-size":"10px"}},u(e.fmt?.title(o?.merged?"merged":o?.state)),3),n("span",B8,"anonymized "+u(e.fmt?.humanTime(o?.anonymizeDate)),1)])]),n("div",j8,[o?.conference?(l(),d("span",G8,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),y(" "+u(o?.conference),1)])):p("v-if",!0),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Terms: "+o?.options?.terms?.join(", ")},[t[15]||(t[15]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),y(" "+u(e.fmt?.number(o?.options?.terms?.length)),1)],8,W8),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Views: "+e.fmt?.number(o?.pageView)},[t[16]||(t[16]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),y(" "+u(e.fmt?.number(o?.pageView)),1)],8,K8),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Last view: "+e.fmt?.date(o?.lastView)},[t[17]||(t[17]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-calendar"})],-1)),y(" "+u(e.fmt?.humanTime(o?.lastView)),1)],8,Y8),o?.options?.expirationMode!="never"&&o?.status=="ready"?(l(),d("span",J8,[t[18]||(t[18]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),y(" Expire: "+u(e.fmt?.humanTime(o?.options?.expirationDate)),1)])):p("v-if",!0)])]),n("div",Q8,[n("div",X8,[t[24]||(t[24]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Actions ",-1)),n("div",Z8,[n("a",{class:"dropdown-item",href:e.safeUrl("/pull-request-anonymize/"+o?.pullRequestId)},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit ",-1)])],8,x8),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updatePullRequest(o),["prevent"])},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),y(" Force update ",-1)])],8,eq),[[Q,o?.status=="ready"||o?.status=="error"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updatePullRequest(o),["prevent"])},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),y(" Enable ",-1)])],8,tq),[[Q,o?.status=="removed"]]),D(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.removePullRequest(o),["prevent"])},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),y(" Remove ",-1)])],8,nq),[[Q,o?.status=="ready"]]),n("a",{class:"dropdown-item",href:e.safeUrl("/pr/"+o?.pullRequestId+"/")},[...t[23]||(t[23]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" View PR ",-1)])],8,sq)])])])],2))),256)),e.filteredPullRequests?.length==0?(l(),d("li",oq,[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No pull requests to display.",-1)])])):p("v-if",!0)])])])}var rq={class:"container paper-page paper-settings"},iq={class:"paper-settings-body"},aq={class:"paper-settings-toc"},lq={class:"paper-settings-main"},dq={id:"settings-quota",class:"paper-settings-section"},uq={key:1,class:"quota-row","aria-hidden":"true"},cq={class:"quota-item"},pq={id:"settings-terms",class:"paper-settings-section"},fq={class:"form-group"},mq={class:"form-control",id:"terms",name:"terms",rows:"4",placeholder:`Jane Smith MIT CSAIL -jane.smith@example.org`},hq={id:"termsHelp",class:"form-text text-muted"},vq={class:"invalid-feedback"},yq={id:"settings-display",class:"paper-settings-section"},gq={class:"form-group paper-check-list"},bq={class:"form-check"},wq={class:"form-check-input",type:"checkbox",id:"link",name:"link"},kq={class:"form-check"},Cq={class:"form-check-input",type:"checkbox",id:"image",name:"image"},Eq={class:"form-check"},Sq={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},Nq={class:"form-check"},_q={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},Dq={id:"settings-features",class:"paper-settings-section"},Rq={class:"form-group paper-check-list"},Tq={class:"form-check"},Oq={class:"form-check-input",type:"checkbox",id:"page",name:"page"},Aq={class:"form-check"},Iq={class:"form-check-input",type:"checkbox",id:"loc",name:"loc"},Pq={class:"form-check"},Vq={class:"form-check-input",type:"checkbox",id:"update",name:"update"},Mq={class:"form-group"},qq={class:"form-control",id:"mode",name:"mode"},Lq={class:"form-text text-muted"},$q={id:"settings-expiration",class:"paper-settings-section"},Uq={class:"form-group"},Fq={class:"form-control",id:"expiration",name:"expiration"},zq={key:0,class:"draft-status",role:"status"},Hq={key:1,class:"draft-status"},Bq={class:"paper-settings-footer"},jq={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},Gq=["textContent"],Wq={class:"paper-settings-actions"},Kq=["disabled"],Yq={key:0,class:"ui-icon mr-1","aria-hidden":"true"},Jq={id:"settings-account",class:"paper-settings-section"},Qq={class:"paper-account-card"},Xq=["src"],Zq={class:"paper-account-identity"},xq={class:"paper-account-name"},e6={class:"paper-danger-zone"},t6={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},n6=["textContent"],s6=["disabled"];function Ul(e,t){let s=Ge("quota-usage"),r=Ee("paper-scrollspy"),o=Ee("field"),i=Ee("form");return l(),d("div",rq,[t[52]||(t[52]=fe('
My work \xA0/\xA0 Settings

Your settings

Defaults applied to every new anonymization, your quotas, and your account.

',3)),n("div",iq,[D((l(),d("aside",aq,[...t[4]||(t[4]=[fe('
On this page
',2)])])),[[r]]),n("div",lq,[p(" Account usage shares the dashboard component. "),n("section",dq,[t[6]||(t[6]=n("div",{class:"paper-section-eyebrow"},"Quota",-1)),t[7]||(t[7]=n("p",{class:"paper-section-copy"},"What you are using across all your anonymizations. Conferences can lift these limits during a review window.",-1)),e.quota?(l(),Ut(s,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):p("v-if",!0),e.quota?p("v-if",!0):(l(),d("div",uq,[(l(),d(Y,null,ie([1,2,3],(a,c)=>n("div",cq,[...t[5]||(t[5]=[n("div",{class:"quota-header"},[n("span",{class:"skeleton skeleton-line",style:{width:"40%"}}),n("span",{class:"skeleton skeleton-line",style:{width:"25%"}})],-1),n("div",{class:"quota-track"},null,-1)])])),64))]))]),D((l(),d("form",{class:"form needs-validation",name:"defaultsForm",novalidate:"",onSubmit:t[2]||(t[2]=ue(a=>e.submitForm(a,()=>{e.saveDefault(a)}),["prevent"]))},[n("section",pq,[t[13]||(t[13]=n("div",{class:"paper-section-eyebrow"},"Terms to redact",-1)),t[14]||(t[14]=n("p",{class:"paper-section-copy"},"Pre-filled in every new anonymization. You can still edit the list per anonymization.",-1)),n("div",fq,[t[12]||(t[12]=n("label",{class:"paper-field-label",for:"terms"},"Default terms",-1)),D(n("textarea",mq,null,512),[[o,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"defaultsForm",options:{debounce:250}}]]),n("small",hq,[t[8]||(t[8]=y(" One term per line (regex allowed). Each match is replaced by ",-1)),n("code",null,u(e.site_options?.ANONYMIZATION_MASK||"XXX")+"-[N]",1),t[9]||(t[9]=y(", or use ",-1)),t[10]||(t[10]=n("code",null,"term=>replacement",-1)),t[11]||(t[11]=y(" to pick your own. ",-1))]),D(n("div",vq," Terms are in an invalid format ",512),[[Q,e.defaultsForm?.terms?.errors?.format]])])]),n("section",yq,[t[23]||(t[23]=n("div",{class:"paper-section-eyebrow"},"Display",-1)),t[24]||(t[24]=n("p",{class:"paper-section-copy"},"What reviewers can see inside an anonymized repository.",-1)),n("div",gq,[n("div",bq,[D(n("input",wq,null,512),[[o,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"defaultsForm",options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"Unchecked, every link in text files is removed.",-1))]),n("div",kq,[D(n("input",Cq,null,512),[[o,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"defaultsForm",options:{}}]]),t[17]||(t[17]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[18]||(t[18]=n("small",{class:"form-text text-muted"},"Images are shown as is. They are not anonymized.",-1))]),n("div",Eq,[D(n("input",Sq,null,512),[[o,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"defaultsForm",options:{}}]]),t[19]||(t[19]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[20]||(t[20]=n("small",{class:"form-text text-muted"},"PDFs are shown as is. They are not anonymized.",-1))]),n("div",Nq,[D(n("input",_q,null,512),[[o,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"defaultsForm",options:{}}]]),t[21]||(t[21]=n("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1)),t[22]||(t[22]=n("small",{class:"form-text text-muted"},"Render Jupyter notebooks instead of raw JSON.",-1))])])]),n("section",Dq,[t[33]||(t[33]=n("div",{class:"paper-section-eyebrow"},"Features",-1)),n("div",Rq,[n("div",Tq,[D(n("input",Oq,null,512),[[o,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"defaultsForm",options:{}}]]),t[25]||(t[25]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[26]||(t[26]=n("small",{class:"form-text text-muted"},"Serve an anonymized copy of the repository's GitHub Pages site. Only pages built from the anonymized branch are supported.",-1))]),n("div",Aq,[D(n("input",Iq,null,512),[[o,{state:e.viewState,set:a=>{e.options.loc=a},value:e.options?.loc,form:"defaultsForm",options:{}}]]),t[27]||(t[27]=n("label",{class:"form-check-label",for:"loc"},"Lines of code",-1)),t[28]||(t[28]=n("small",{class:"form-text text-muted"},"Show the line count of the repository in the explorer.",-1))]),n("div",Pq,[D(n("input",Vq,null,512),[[o,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"defaultsForm",options:{}}]]),t[29]||(t[29]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[30]||(t[30]=n("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))])]),n("div",Mq,[t[32]||(t[32]=n("label",{class:"paper-field-label",for:"mode"},"Fetch mode",-1)),D((l(),d("select",qq,[...t[31]||(t[31]=[n("option",{value:"GitHubStream",selected:""},"Stream from GitHub on demand",-1),n("option",{value:"GitHubDownload"},"Download to Anonymous GitHub",-1)])])),[[o,{state:e.viewState,set:a=>{e.options.mode=a},value:e.options?.mode,form:"defaultsForm",options:{}}]]),n("small",Lq," Download is faster for reviewers and enables every feature. Streaming is the only option above "+u(e.fmt?.humanFileSize(e.site_options?.MAX_REPO_SIZE*1024))+". ",1)])]),n("section",$q,[t[37]||(t[37]=n("div",{class:"paper-section-eyebrow"},"Expiration",-1)),n("div",Uq,[t[35]||(t[35]=n("label",{class:"paper-field-label",for:"expiration"},"When an anonymization expires",-1)),D((l(),d("select",Fq,[...t[34]||(t[34]=[n("option",{value:"redirect"},"Redirect visitors to the GitHub repository",-1),n("option",{value:"remove",selected:""},"Remove the anonymized repository",-1)])])),[[o,{state:e.viewState,set:a=>{e.options.expirationMode=a},value:e.options?.expirationMode,form:"defaultsForm",options:{}}]]),t[36]||(t[36]=n("small",{class:"form-text text-muted"}," The expiration date itself is chosen per anonymization. Redirecting reveals the source repository, so pick it only once the review is over. ",-1))])]),e.draftRestored?(l(),d("div",zq,[t[38]||(t[38]=y("Your unsaved draft was restored. ",-1)),n("button",{type:"button",class:"draft-discard",onClick:t[0]||(t[0]=a=>e.discardDraft())},"Discard draft")])):e.unsavedChanges?(l(),d("div",Hq,[y(u(e.draftSaved?"Draft saved in this tab for 30 minutes.":"Unsaved changes. Keep this tab open until you save.")+" ",1),n("button",{type:"button",class:"draft-discard",onClick:t[1]||(t[1]=a=>e.discardDraft())},u(e.isUpdate?"Restore saved settings":"Discard changes"),1)])):p("v-if",!0),n("div",Bq,[e.error?(l(),d("div",jq,[t[39]||(t[39]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),t[40]||(t[40]=y()),n("span",{textContent:u(e.error)},null,8,Gq)])):p("v-if",!0),n("div",Wq,[n("button",{id:"save",type:"submit",class:"btn btn-ink",disabled:e.saving},[e.message?(l(),d("svg",Yq,[...t[41]||(t[41]=[n("use",{href:"#ui-icon-check"},null,-1)])])):p("v-if",!0),y(u(e.saving?"Saving\u2026":e.message?"Saved":"Save defaults"),1)],8,Kq),t[42]||(t[42]=n("span",{class:"paper-settings-hint"},"Applies to new anonymizations only. Existing ones keep their settings.",-1))])])],32)),[[i,e.viewState]]),n("section",Jq,[t[50]||(t[50]=n("div",{class:"paper-section-eyebrow"},"Account",-1)),n("div",Qq,[e.user?.photo?(l(),d("img",{key:0,width:"40",height:"40",class:"rounded-circle",alt:"",src:e.safeUrl(e.user?.photo)},null,8,Xq)):p("v-if",!0),n("div",Zq,[n("div",xq,"@"+u(e.user?.username),1),t[43]||(t[43]=n("div",{class:"paper-account-meta"},"Signed in with GitHub. Anonymous GitHub only reads your repositories.",-1))]),t[44]||(t[44]=n("a",{class:"btn btn-outline-ink",href:"/api/user/logout",target:"_self"},"Sign out",-1))]),t[51]||(t[51]=n("a",{class:"paper-settings-connection-link",href:"/connections"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",null,[y("GitHub connections"),n("small",null,"Manage repository access and legacy OAuth.")]),n("span",{"aria-hidden":"true"},"\u2192")],-1)),n("div",e6,[t[48]||(t[48]=n("div",{class:"paper-danger-head"},"Delete account",-1)),t[49]||(t[49]=n("p",{class:"paper-danger-copy"}," Removes all your anonymized repositories, gists, and pull requests, revokes the application's access to your GitHub account, and erases your personal data (username, email, access tokens). This cannot be undone. ",-1)),e.deleteError?(l(),d("div",t6,[t[45]||(t[45]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),t[46]||(t[46]=y()),n("span",{textContent:u(e.deleteError)},null,8,n6)])):p("v-if",!0),n("button",{type:"button",class:"btn btn-outline-danger",onClick:t[3]||(t[3]=a=>e.deleteAccount()),disabled:e.deletingAccount},[t[47]||(t[47]=n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)),y(u(e.deletingAccount?"Deleting\u2026":"Delete my account"),1)],8,s6)])])])])])}var o6={class:"pr-page"},r6={class:"container paper-page pr-page-inner"},i6={class:"pr-header"},a6={class:"pr-title-row"},l6={class:"paper-page-title pr-title"},d6=["textContent"],u6={key:1,class:"text-muted"},c6=["href"],p6={class:"pr-header-meta"},f6={key:0,class:"pr-meta-item"},m6=["textContent"],h6={key:1,class:"pr-meta-item"},v6=["textContent"],y6={key:2,class:"pr-meta-item"},g6=["textContent"],b6={key:0,class:"pr-body-card"},w6={key:1,class:"paper-tabs",role:"tablist"},k6=["aria-selected","tabindex"],C6=["aria-selected","tabindex"],E6=["textContent"],S6={class:"paper-tab-content"},N6={key:0,role:"tabpanel",id:"pr-diff-panel","aria-labelledby":"pr-diff-tab"},_6=["innerHTML"],D6={key:1,role:"tabpanel",id:"pr-comments-panel","aria-labelledby":"pr-comments-tab"},R6={class:"pr-comments"},T6={class:"pr-comment"},O6={class:"pr-comment-head"},A6={key:0,class:"pr-comment-author"},I6=["textContent"],P6=["textContent"],V6={key:0,class:"pr-comment-body"},M6={key:0,class:"paper-table-empty"};function Fl(e,t){let s=Ge("markdown");return l(),d("div",o6,[n("div",r6,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),n("span",{class:"here"},"Pull request")],-1)),n("header",i6,[n("div",a6,[n("h1",l6,[e.details?.title?(l(),d("span",{key:0,textContent:u(e.details?.title)},null,8,d6)):p("v-if",!0),e.details?.title?p("v-if",!0):(l(),d("span",u6,"Untitled pull request"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/pull-request-anonymize/"+e.pullRequestId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,c6)):p("v-if",!0)]),n("div",p6,[n("span",{class:T(["paper-pill",{good:e.details?.merged,warn:e.details?.state=="open",bad:e.details?.state=="closed"&&!e.details?.merged}])},[n("span",{class:T(["status-dot",{"status-ready":e.details?.merged,"status-error":e.details?.state=="closed"&&!e.details?.merged}])},null,2),y(" "+u(e.details?.merged?"Merged":e.fmt.title(e.details?.state)),1)],2),e.details?.baseRepositoryFullName?(l(),d("span",f6,[t[5]||(t[5]=n("i",{class:"fab fa-github"},null,-1)),t[6]||(t[6]=y()),n("span",{textContent:u(e.details?.baseRepositoryFullName)},null,8,m6)])):p("v-if",!0),e.details?.updatedDate?(l(),d("span",h6,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=y()),n("span",{textContent:u(e.fmt?.date(e.details?.updatedDate))},null,8,v6)])):p("v-if",!0),e.details?.anonymizeDate?(l(),d("span",y6,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=y(" Anonymized ",-1)),n("span",{textContent:u(e.fmt?.date(e.details?.anonymizeDate))},null,8,g6)])):p("v-if",!0)])]),e.details?.body?(l(),d("section",b6,[t[11]||(t[11]=n("div",{class:"paper-section-eyebrow"},"Description",-1)),Oe(s,{content:e.details?.body},null,8,["content"])])):p("v-if",!0),e.details?.diff||e.details?.comments?(l(),d("nav",w6,[e.details?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="diff"}]),type:"button",role:"tab",id:"pr-diff-tab","aria-selected":e.tabState?.active==="diff","aria-controls":"pr-diff-panel",tabindex:e.tabState?.active==="diff"?0:-1,onKeydown:t[0]||(t[0]=r=>e.previewTabKeydown(r)),onClick:t[1]||(t[1]=r=>e.tabState.active="diff")},[...t[12]||(t[12]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y(" Diff ",-1)])],42,k6)):p("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"pr-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"pr-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=r=>e.previewTabKeydown(r)),onClick:t[3]||(t[3]=r=>e.tabState.active="comments")},[t[13]||(t[13]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,E6)],42,C6)):p("v-if",!0)])):p("v-if",!0),n("div",S6,[e.details?.diff&&e.tabState?.active=="diff"?(l(),d("div",N6,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.details?.diff))},null,8,_6)])):p("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",D6,[n("ul",R6,[(l(!0),d(Y,null,ie(e.details?.comments,(r,o)=>(l(),d("li",T6,[n("div",O6,[r?.author?(l(),d("span",A6,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=y(" @",-1)),n("span",{textContent:u(r?.author)},null,8,I6)])):p("v-if",!0),r?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(r?.updatedDate))},null,8,P6)):p("v-if",!0)]),r?.body?(l(),d("div",V6,[Oe(s,{content:r?.body},null,8,["content"])])):p("v-if",!0)]))),256)),e.details?.comments?.length?p("v-if",!0):(l(),d("li",M6,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this pull request.",-1)])]))])])):p("v-if",!0)])])])}var q6={class:"container paper-page status-page"},L6={class:"d-flex align-items-end justify-content-between flex-wrap",style:{gap:"12px"}},$6={class:"paper-page-title"},U6=["textContent"],F6={key:1},z6={class:"paper-settings-section"},H6={key:0,class:"paper-ratelimit-card",role:"status"},B6={class:"paper-error-msg"},j6=["aria-valuenow"],G6={class:"paper-progress-label"},W6=["textContent"],K6={key:0},Y6=["textContent"],J6={class:"paper-progress-pct"},Q6={key:2,class:"paper-error-card",role:"alert"},X6={key:0,class:"paper-error-msg"},Z6={key:1,class:"paper-error-msg"},x6={class:"paper-error-actions"},eL=["href"],tL={class:"paper-detail-grid"},nL={class:"detail-value"},sL=["href"],oL={key:0,class:"detail-label"},rL={key:1,class:"detail-value"},iL=["href"],aL={key:3,class:"anonymize-submit-bar"},lL=["href"],dL=["href"];function zl(e,t){return l(),d("div",q6,[t[15]||(t[15]=n("div",{class:"paper-crumbs"},[y("Anonymization \xA0/\xA0 "),n("span",{class:"here"},"Status")],-1)),n("div",L6,[n("div",null,[n("h1",$6,[t[0]||(t[0]=y("Status of ",-1)),n("em",null,u(e.repoId),1)]),t[1]||(t[1]=n("p",{class:"paper-page-lede"},"Track progress as your anonymization is prepared.",-1))]),n("span",{class:T(["status-pill",{"status-pill-ready":e.repo?.status=="ready","status-pill-error":e.repo?.status=="error","status-pill-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-pill-ratelimit":e.rateLimitResetAt}])},[n("span",{class:T(["status-dot",{"status-ready":e.repo?.status=="ready","status-error":e.repo?.status=="error","status-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-ratelimit":e.rateLimitResetAt}])},null,2),e.rateLimitResetAt?p("v-if",!0):(l(),d("span",{key:0,textContent:u(e.fmt?.title(e.repo?.status))},null,8,U6)),e.rateLimitResetAt?(l(),d("span",F6,"Rate limited")):p("v-if",!0)],2)]),n("section",z6,[t[13]||(t[13]=n("div",{class:"paper-section-eyebrow"},"Progress",-1)),t[14]||(t[14]=n("p",{class:"paper-section-copy"},[y(" The repository will take a few minutes to get ready, depending on its size. Visit the "),n("a",{href:"/faq"},"FAQ"),y(" for more information. ")],-1)),e.rateLimitResetAt?(l(),d("div",H6,[t[4]||(t[4]=fe('
Temporarily paused
GitHub API rate limit reached
',1)),n("p",B6,[t[2]||(t[2]=y("Anonymization will resume automatically in ",-1)),n("strong",null,u(e.rateLimitCountdown),1),t[3]||(t[3]=y(". No action needed \u2014 the job is queued and will continue where it left off.",-1))])])):p("v-if",!0),e.repo?.status!="error"&&!e.rateLimitResetAt?(l(),d("div",{key:1,class:T(["paper-progress",{"paper-progress-ready":e.repo?.status=="ready"}]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.progress},[n("div",{class:"paper-progress-bar",style:Te("width: "+e.progress+"%;")},null,4),n("div",G6,[n("span",{textContent:u(e.fmt?.title(e.repo?.status))},null,8,W6),e.repo?.statusMessage?(l(),d("span",K6,[t[5]||(t[5]=y("\xA0\xB7\xA0",-1)),n("span",{textContent:u(e.repo?.statusMessage)},null,8,Y6)])):p("v-if",!0),n("span",J6,u(e.progress||0)+"%",1)])],10,j6)):p("v-if",!0),e.repo?.status=="error"&&!e.rateLimitResetAt?(l(),d("div",Q6,[t[8]||(t[8]=fe('
Anonymization failed
Something went wrong while preparing this repository.
',1)),e.repo?.statusMessage?(l(),d("p",X6,u(e.fmt?.translate("ERRORS."+e.repo?.statusMessage)),1)):p("v-if",!0),e.repo?.statusMessage?p("v-if",!0):(l(),d("p",Z6,"No additional details were reported. The most common causes are private repositories, missing branches, and rate limits.")),t[9]||(t[9]=n("ul",{class:"paper-error-hints"},[n("li",null,"Make sure the source URL points to a repository or pull request you can access."),n("li",null,"Check that the chosen branch and commit still exist on GitHub."),n("li",null,"If you just signed in, the access token may need a moment to propagate \u2014 try again.")],-1)),n("div",x6,[n("a",{class:"btn btn-ink",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[6]||(t[6]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit anonymization",-1)])],8,eL),t[7]||(t[7]=fe(' Read the FAQ Report a bug in Anonymous GitHub',2))])])):p("v-if",!0),n("div",tL,[t[10]||(t[10]=n("div",{class:"detail-label"},"Repository",-1)),n("div",nL,[n("a",{target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},"/r/"+u(e.repoId)+"/",9,sL)]),e.repo?.options?.page?(l(),d("div",oL,"GitHub Page")):p("v-if",!0),e.repo?.options?.page?(l(),d("div",rL,[n("a",{target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},"/w/"+u(e.repoId)+"/",9,iL)])):p("v-if",!0)]),e.repo?.status=="ready"?(l(),d("div",aL,[n("a",{class:"btn btn-ink",target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},[...t[11]||(t[11]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" Go to anonymized repository ",-1)])],8,lL),e.repo?.options?.page?(l(),d("a",{key:0,class:"btn",target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[12]||(t[12]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),y(" Go to anonymized GitHub page ",-1)])],8,dL)):p("v-if",!0)])):p("v-if",!0)]),t[16]||(t[16]=fe('
Support Anonymous GitHub

A small team keeps this running. If it helps you, please consider contributing back \u2014 in code, ideas, or coffee.

',1))])}var ao={"partials/connections.htm":ml,"partials/signin.htm":hl,"partials/404.htm":vl,"partials/admin/conferences.htm":yl,"partials/admin/errors.htm":gl,"partials/admin/overview.htm":bl,"partials/admin/queues.htm":wl,"partials/admin/repositories.htm":kl,"partials/admin/user.htm":Cl,"partials/admin/users.htm":El,"partials/anonymize.htm":Sl,"partials/anonymizePullRequest.htm":Nl,"partials/claim.htm":_l,"partials/conference.htm":Dl,"partials/conferences.htm":Rl,"partials/dashboard.htm":Tl,"partials/explorer.htm":Ol,"partials/faq.htm":Al,"partials/gist.htm":Il,"partials/header.htm":Pl,"partials/home.htm":Vl,"partials/loading.htm":Ml,"partials/newConference.htm":ql,"partials/pageView.htm":Ll,"partials/pr-dashboard.htm":$l,"partials/profile.htm":Ul,"partials/pullRequest.htm":Fl,"partials/status.htm":zl};var uL={class:"ui-icon-definitions","aria-hidden":"true",focusable:"false"};function Hl(e,t){return l(),d("svg",uL,[...t[0]||(t[0]=[fe('',1)])])}function Bl(e,t){e==="partials/explorer.htm"&&(t.sidebarCollapsed=window.matchMedia?.("(max-width: 767px)").matches||!1,t.sidebarHidden=!1,t.dirExpanded=!1,t.moreOpen=!1,t.mdFindOpen=!1,t.mdFindQuery="",t.mdFindTotal=0,t.mdFindIndex=0,t.mdFindCase=!1,t.accountOpen=!1,t.helpOpen=!1,t.sidebarWidth=Math.min(520,Math.max(220,Number(localStorage.getItem("sidebarWidth"))||280)),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px"),t.startSidebarResize=o=>{o.preventDefault();let i=o.clientX,a=t.sidebarWidth,c=g=>{t.sidebarWidth=Math.min(520,Math.max(220,a+g.clientX-i)),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px")},f=()=>{window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",f),document.body.classList.remove("is-resizing"),localStorage.setItem("sidebarWidth",String(t.sidebarWidth))};document.body.classList.add("is-resizing"),window.addEventListener("pointermove",c),window.addEventListener("pointerup",f)}),e==="partials/anonymize.htm"&&(t.prTabState={active:t.options.diff?"diff":"comments"},t.watchGroup(["options.diff","options.comments"],()=>{t.options[t.prTabState.active]||(t.prTabState.active=t.options.diff?"diff":t.options.comments?"comments":null)})),e==="partials/gist.htm"&&(t.tabState={active:t.details?.files?"files":"comments"}),["partials/conferences.htm","partials/conference.htm"].includes(e)&&(t.statusLabels={ready:"Ready",expired:"Expired",removed:"Removed"});let r={"partials/dashboard.htm":["filteredItems",()=>t.items,"itemFilter"],"partials/conferences.htm":["filteredConferences",()=>t.conferences,"conferenceFilter"],"partials/conference.htm":["filteredRepositories",()=>t.conference?.repositories,"repoFiler"],"partials/admin/repositories.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/user.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/users.htm":["filteredUsers",()=>t.users,"userFiler"],"partials/admin/conferences.htm":["filteredConferences",()=>t.conferences]}[e];if(r){let o=nt(()=>t.fmt.orderBy(t.fmt.filter(r[1](),t[r[2]]),t.orderBy));Object.defineProperty(t,r[0],{configurable:!0,get:()=>o.value})}}function jl(e=(...t)=>fetch(...t)){async function t(r,o,i,a={}){let c=new URL(o,window.location.href);for(let[b,k]of Object.entries(a.params||{}))if(k!=null)for(let m of Array.isArray(k)?k:[k])c.searchParams.append(b,typeof m=="object"?JSON.stringify(m):m);let f=new AbortController,g;a.timeout?.then?a.timeout.then(()=>f.abort()):a.timeout&&(g=setTimeout(()=>f.abort(),a.timeout));try{let b={Accept:"application/json, text/plain, */*",...a.headers},k=document.cookie.match(/(?:^|;\s*)XSRF-TOKEN=([^;]*)/);k&&c.origin===window.location.origin&&(b["X-XSRF-TOKEN"]=decodeURIComponent(k[1]));let m;i!==void 0&&(i instanceof FormData?m=i:(b["Content-Type"]||(b["Content-Type"]="application/json;charset=utf-8"),m=JSON.stringify(i)));let C=await e(c.href,{method:r,headers:b,body:m,credentials:"same-origin",signal:f.signal}),A;if(a.onDownloadProgress&&C.ok&&C.body?.getReader&&typeof TextDecoder<"u"){let N=C.body.getReader(),R=new TextDecoder,V=[],H=0;try{for(;;){let{value:q,done:z}=await N.read();if(z)break;V.push(R.decode(q,{stream:!0})),H+=q.byteLength,a.onDownloadProgress(H)}V.push(R.decode()),A=V.join("")}finally{N.releaseLock()}}else A=await C.text();let h=A;if(a.transformResponse)h=a.transformResponse(A);else if(A&&(/json/i.test(C.headers.get("content-type")||"")||/^[\[{]/.test(A.trim())))try{h=JSON.parse(A)}catch{}let E={data:h,status:C.status,headers:N=>C.headers.get(N)};if(!C.ok)throw E;return E}catch(b){throw b.name==="AbortError"?{status:-1,data:null}:b}finally{clearTimeout(g)}}let s={};for(let r of["get","delete","head"])s[r]=(o,i)=>t(r.toUpperCase(),o,void 0,i);for(let r of["post","put","patch"])s[r]=(o,i,a)=>t(r.toUpperCase(),o,i,a);return s}var Gl={resolve:e=>Promise.resolve(e),reject:e=>Promise.reject(e),all:e=>Promise.all(e),defer(){let e,t;return{promise:new Promise((r,o)=>{e=r,t=o}),resolve:e,reject:t}}};var Wl=function(e){function t(s){return s=s||{used:0,total:0},s.unlimited=!s.total,s.percent=s.unlimited?0:Math.min(100,s.used*100/s.total),s.level=s.unlimited?"unlimited":s.percent>=95?"danger":s.percent>=80?"warn":"ok",s}return{decorate:t,load:function(){return e.get("/api/user/quota").then(s=>{let r=s.data||{};return r.storage=t(r.storage),r.file=t(r.file),r.repository=t(r.repository),r})}}};var pr={};cd(pr,{bigNum:()=>pL,date:()=>EL,diff:()=>yL,filter:()=>kL,humanFileSize:()=>cL,humanTime:()=>fL,limitTo:()=>wL,number:()=>gL,orderBy:()=>CL,plural:()=>SL,statusLabel:()=>hL,statusMsg:()=>vL,title:()=>mL,uppercase:()=>bL});var cL=e=>window.humanFileSize(e),pL=(function(){return function(t){let s=Number(t)||0,r=Math.abs(s);return r<1e3?String(s):r<1e4?(s/1e3).toFixed(1).replace(/\.0$/,"")+"k":r<1e6?Math.round(s/1e3)+"k":r<1e7?(s/1e6).toFixed(1).replace(/\.0$/,"")+"M":Math.round(s/1e6)+"M"}})(),fL=(function(){return function(t){if(!t)return"never";var s=null;t instanceof Date&&(s=t,t=Math.round((Date.now()-t)/1e3)),(typeof t=="string"||typeof t=="number")&&(s=new Date(t),t=Math.round((Date.now()-s)/1e3));var r=t<0?"from now":"ago";if(Math.abs(t)>7200*24)return(s&&!isNaN(s)?s:new Date(Date.now()-t*1e3)).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"});t=Math.abs(t);for(var o=[t/60/60/24/365,t/60/60/24/30,t/60/60/24/7,t/60/60/24,t/60/60,t/60,t],i=["year","month","week","day","hour","minute","second"],a=0;a1&&(f+="s"),c>=1)return c+" "+f+" "+r}return"0 seconds "+r}})(),mL=(function(){return function(e){if(!e)return e;e=e.toLowerCase();var t=e.split(" "),s=t.map(function(r){return r.charAt(0).toUpperCase()+r.substring(1,r.length)});return s.join(" ")}})(),hL=(function(){var e={ready:"Ready",error:"Error",expired:"Expired",expiring:"Expiring",removed:"Removed",removing:"Removing",queue:"Queued",download:"Downloading",downloaded:"Downloaded",preparing:"Preparing",anonymizing:"Anonymizing"};return function(t){if(!t)return"";if(e[t])return e[t];var s=String(t).replace(/[_-]+/g," ").toLowerCase();return s.charAt(0).toUpperCase()+s.slice(1)}})(),vL=(function(){var e={branch_not_found:"Branch not found on GitHub",repo_not_found:"Repository not found on GitHub",repository_not_found:"Repository not found on GitHub",repo_not_accessible:"Repository is not accessible with your token",pr_not_found:"Pull request not found on GitHub",gist_not_found:"Gist not found on GitHub",commit_not_found:"Commit not found on GitHub",repo_too_big:"Repository exceeds the size limit",quota_exceeded:"Storage quota exceeded",incomplete_record:"Incomplete record: missing identifier"};return function(t){if(!t)return t;var s=t.match(/^rate_limited:(\d+)$/);if(s){var r=Math.max(0,Math.ceil((parseInt(s[1],10)-Date.now())/1e3));if(r<=0)return"Rate limited \u2014 resuming soon";var o=Math.floor(r/60),i=r%60;return"Rate limited \u2014 retrying in "+(o>0?o+"m "+i+"s":i+"s")}if(e[t])return e[t];if(/^[a-z0-9]+(_[a-z0-9]+)+$/.test(t)){var a=t.replace(/_/g," ");return a.charAt(0).toUpperCase()+a.slice(1)}return t}})(),yL=(function(e){let t=r=>r.replace(/&/g,"&").replace(//g,">");function s(r,o){if(!o)return;let i=o.newPath&&o.newPath!=="/dev/null"?o.newPath:o.oldPath||"",a=o.oldPath==="/dev/null"?"added":o.newPath==="/dev/null"?"deleted":o.oldPath&&o.newPath&&o.oldPath!==o.newPath?"renamed":"modified";if(r.push('
'),r.push('
'+t(i)+''+a+"
"),o.lines.length){r.push('');for(let c of o.lines)r.push('");r.push("
'+(c.oldNo||"")+''+(c.newNo||"")+''+(c.kind==="add"?"+":c.kind==="remove"?"-":c.kind==="hunk"?"@":"")+''+t(c.text)+"
")}r.push("
")}return function(r){if(!r)return r;let o=[],i=null,a=0,c=0,f=()=>(i||(i={oldPath:"",newPath:"",lines:[]}),i),g=()=>{i&&(i.lines.length||i.oldPath||i.newPath)&&(s(o,i),i=null)},b=r.split(` -`);for(let k=0;ke});function gL(e,t){return e==null?"":Number(e).toLocaleString(void 0,t==null?{}:{minimumFractionDigits:t,maximumFractionDigits:t})}function bL(e){return String(e??"").toUpperCase()}function wL(e,t,s=0){return(e||[]).slice(s,s+t)}function kL(e,t){return Array.isArray(e)?typeof t=="function"?e.filter(t):e:[]}function CL(e,t){if(!t)return e||[];let s=Array.isArray(t)?t:[t];return[...e||[]].sort((r,o)=>{for(let i of s){let a=i[0]==="-"?-1:1;i=i.replace(/^[+-]/,"");let c=i.split(".").reduce((g,b)=>g?.[b],r),f=i.split(".").reduce((g,b)=>g?.[b],o);if(typeof c=="string"&&(c=c.toLowerCase()),typeof f=="string"&&(f=f.toLowerCase()),c!==f)return(c==null?-1:f==null?1:cr[o])}function SL(e,t){return(t?.[e]??t?.[e===1?"one":"other"]??"").replace(/\{\}/g,e??0)}var Kl={name:"htmlDoc",props:["content","baseUrl","allowScripts"],setup(e){let t=et(null);return $t(()=>{let r=[t.value][0];r.classList.add("html-doc");function o(){r.innerHTML="";let i=e.content;if(typeof i!="string")return;let a=document.createElement("iframe");a.className="html-doc-frame",a.setAttribute("title","Rendered HTML document");let c=["allow-popups","allow-popups-to-escape-sandbox"];e.allowScripts&&c.push("allow-scripts","allow-forms","allow-modals"),a.setAttribute("sandbox",c.join(" ")),a.setAttribute("referrerpolicy","no-referrer"),r.appendChild(a);let f="";e.baseUrl&&(f=''),a.srcdoc=f+i}He(()=>e.content,o,{immediate:!0}),He(()=>e.baseUrl,o,{immediate:!0}),He(()=>e.allowScripts,o,{immediate:!0})}),()=>De("html-doc",{ref:t})}};var Yl={name:"pdfviewer",props:["src"],setup(e){let t=et(null);return $t(()=>{let s=[t.value],r=400,o=[.5,.75,1,1.25,1.5,2,3],i=1e3,a=s[0];a.classList.add("pdf-viewer");let c=null,f=[],g=!1,b=null,k=1,m=1,C=0,A=0,h=612/792,E=0,N=null,R=new Map,V=0;function H(v){let w=R.get(v);w&&(w.cancelled=!0,w.task?.cancel?.(),R.delete(v));let O=v.querySelector("canvas");O&&(O.width=0,O.height=0),v.innerHTML="",delete v.dataset.state}let q=document.createElement("div");q.className="pdf-toolbar";let z=document.createElement("div");z.className="pdf-pages",z.tabIndex=0,z.setAttribute("aria-label","PDF pages"),a.appendChild(q),a.appendChild(z);function Z(v,w,O){let P=document.createElement("button");return P.type="button",P.className="pdf-toolbar-btn",P.title=w,P.setAttribute("aria-label",w),P.innerHTML='',P.addEventListener("click",O),P}let ae=Z("fa-chevron-up","Previous page",function(){L(m-1)}),_=Z("fa-chevron-down","Next page",function(){L(m+1)}),j=document.createElement("input");j.type="text",j.className="pdf-toolbar-page",j.setAttribute("aria-label","Page number"),j.title="Page number \u2014 type a page and press Enter",j.addEventListener("keydown",function(v){v.key==="Enter"&&(L(parseInt(j.value,10)),j.blur())}),j.addEventListener("blur",function(){j.value=String(m)});let ne=document.createElement("span");ne.className="pdf-toolbar-count";let le=Z("fa-search-minus","Zoom out",function(){S(o[Math.max(0,Se()-1)])}),Ce=Z("fa-search-plus","Zoom in",function(){S(o[Math.min(o.length-1,Se()+1)])}),ce=document.createElement("button");ce.type="button",ce.className="pdf-toolbar-btn pdf-toolbar-zoom",ce.title="Reset zoom to fit the width",ce.setAttribute("aria-label","Reset zoom to fit the width"),ce.addEventListener("click",function(){S(1)}),q.appendChild(ae),q.appendChild(_);let ve=document.createElement("span");ve.className="pdf-toolbar-group",ve.appendChild(j),ve.appendChild(ne),q.appendChild(ve);let _e=document.createElement("span");_e.className="pdf-toolbar-group pdf-toolbar-right",_e.appendChild(le),_e.appendChild(ce),_e.appendChild(Ce),q.appendChild(_e);function Se(){let v=0;for(let w=0;w=v,ce.textContent=Math.round(k*100)+"%",le.disabled=Se()===0,Ce.disabled=Se()===o.length-1}function Ue(v){let w=f[v-1];w&&(z.scrollTop+=w.getBoundingClientRect().top-z.getBoundingClientRect().top)}function L(v){if(!c||isNaN(v))return;let w=Math.min(Math.max(1,v),c.numPages);f[w-1]&&(Ue(w),m=w,C=w,A=Date.now()+800,ye(),re())}function X(){if(!f.length||Date.now(){}),N=null),b&&(clearTimeout(b),b=null),c&&(c.destroy(),c=null),f=[],m=1,z.innerHTML="",ye()}function se(){z.innerHTML="";let v=document.createElement("div");v.className="pdf-viewer-error",v.textContent="This PDF could not be displayed.",z.appendChild(v)}function me(){let v=Math.max(120,z.clientWidth-24);return Math.round(Math.min(v,i)*k)}function he(v,w,O){let P=window.devicePixelRatio||1,M=v.getViewport({scale:1}),W=parseFloat(w.style.width);if(!W)return;let F=v.getViewport({scale:W/M.width*P}),K=document.createElement("canvas");return K.width=Math.floor(F.width),K.height=Math.floor(F.height),K.style.width=W+"px",K.style.height=Math.floor(F.height/P)+"px",w.innerHTML="",w.appendChild(K),w.style.height=K.style.height,O.task=v.render({canvasContext:K.getContext("2d"),viewport:F}),O.task.promise}function re(){if(!c)return;let v=E,w=z.getBoundingClientRect(),O=w.top-r,P=w.top+z.clientHeight+r,M=f.map((F,K)=>({slot:F,i:K,rect:F.getBoundingClientRect()})).filter(F=>F.rect.top<=P&&F.rect.bottom>=O).sort((F,K)=>Math.abs(F.rect.top-w.top)-Math.abs(K.rect.top-w.top)).slice(0,6),W=new Set(M.map(F=>F.slot));for(let F of R.keys())W.has(F)||H(F);for(let{slot:F,i:K}of M){if(F.dataset.state||V>=2)continue;let ee={cancelled:!1,task:null};R.set(F,ee),V++,F.dataset.state="rendering";let G;c.getPage(K+1).then(de=>{if(G=de,!(ee.cancelled||v!==E))return he(G,F,ee)}).then(()=>{ee.cancelled||v!==E||(F.dataset.state="done",C&&Date.now(){!ee.cancelled&&v===E&&(F.dataset.state="failed")}).finally(()=>{V--,G?.cleanup?.(),c&&re()})}}function U(){g||(g=!0,window.requestAnimationFrame(function(){g=!1,X(),re()}))}function te(){let v=!1;function w(){v||(v=!0,re())}window.requestAnimationFrame(w),window.setTimeout(w,50)}function x(){E++,f.forEach(H);let v=me();f.forEach(function(w){delete w.dataset.state,w.innerHTML="",w.style.width=v+"px",w.style.height=Math.round(v/h)+"px"}),re()}function S(v){if(!c||!f.length||v===k)return;let w=m;k=v,ye(),x(),L(w)}function I(){c&&(b&&clearTimeout(b),b=setTimeout(function(){b=null,c&&f.length&&x()},250))}function B(v){if(J(),!v)return;let w=E;N=pdfjsLib.getDocument({url:v,isEvalSupported:!1,standardFontDataUrl:"/script/external/pdf-standard-fonts/",cMapUrl:"/script/external/pdf-cmaps/",cMapPacked:!0}),N.promise.then(function(O){if(w!==E){O.destroy();return}return c=O,c.getPage(1).then(function(P){if(w!==E)return;let M=P.getViewport({scale:1});M.width&&M.height&&(h=M.width/M.height);let W=me();for(let F=1;F<=c.numPages;F++){let K=document.createElement("div");K.className="pdf-viewer-page",K.style.width=W+"px",K.style.height=Math.round(W/h)+"px",z.appendChild(K),f.push(K)}ye(),te()})}).catch(function(){w===E&&se()})}z.addEventListener("scroll",U,{passive:!0}),$(window).on("resize",I),ye(),He(()=>e.src,B,{immediate:!0}),dn(function(){z.removeEventListener("scroll",U),$(window).off("resize",I),J()})}),()=>De("pdfviewer",{ref:t})}};var NL={key:0,class:"quota-row quota-usage"},_L={class:"quota-header"},DL={class:"quota-label"},RL={class:"project-type-svg","aria-hidden":"true"},TL=["href"],OL={key:0,class:"quota-percent"},AL={key:1,class:"quota-unlimited-tag"},IL={class:"quota-value"},PL={key:0},VL=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],ML={key:1,class:"quota-remaining"},qL={key:2,class:"quota-remaining quota-limit"};function Jl(e,t){return e.quota?(l(),d("div",NL,[(l(),d(Y,null,ie([{key:"repository",label:"Repositories",kind:"count",icon:"project-type-repo"},{key:"storage",label:"Storage",kind:"bytes",icon:"project-icon-storage"},{key:"file",label:"Files",kind:"count",icon:"project-icon-file"}],s=>n("div",{class:T(["quota-item","quota-"+e.quota[s.key].level]),key:s.key},[n("div",_L,[n("span",DL,[(l(),d("svg",RL,[n("use",{href:"#"+s.icon},null,8,TL)])),y(u(s.label),1)]),e.quota[s.key].unlimited?p("v-if",!0):(l(),d("span",OL,u(e.quota[s.key].percent>0&&e.quota[s.key].percent<1?"<1":e.fmt.number(e.quota[s.key].percent,0))+"% used",1)),e.quota[s.key].unlimited?(l(),d("span",AL,"Unlimited")):p("v-if",!0)]),n("div",IL,[n("strong",null,u(e.formatAmount(e.quota[s.key].used,s.kind)),1),e.quota[s.key].unlimited?p("v-if",!0):(l(),d("span",PL," / "+u(e.formatAmount(e.quota[s.key].total,s.kind)),1))]),e.quota[s.key].unlimited?p("v-if",!0):(l(),d("div",{key:0,class:T(["quota-track","quota-"+e.quota[s.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":s.label+" quota","aria-valuenow":Math.min(e.quota[s.key].used,e.quota[s.key].total),"aria-valuemax":e.quota[s.key].total,"aria-valuetext":e.fmt.number(e.quota[s.key].percent,0)+"% used"},[e.quota[s?.key].unlimited?p("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:Te({width:e.quota[s.key].percent+"%"})},null,4))],10,VL)),!e.quota[s.key].unlimited&&e.quota[s.key].used=e.quota[s.key].total?(l(),d("p",qL,u(e.quota[s.key].used>e.quota[s.key].total?"Limit exceeded":"Limit reached"),1)):p("v-if",!0)],2)),64))])):p("v-if",!0)}var LL={props:["quota","fmt"],setup(e){return{formatAmount:(t,s)=>s==="bytes"?e.fmt.humanFileSize(t).replace(/([a-zA-Z]+)$/," $1"):e.fmt.number(t)}},render:Jl},$L=new Set(ge),Xl={props:["content","terms","options"],setup(e){let t=et(null),s=()=>{t.value.innerHTML=renderMD(e.content||"",window.location.pathname+"/../")};return $t(()=>{s(),He(()=>[e.content,e.terms,e.options],s,{deep:!0})}),()=>De("markdown",{ref:t})}},UL={props:["file","terms","options"],setup(e){let t=et(null),s=()=>Ze(()=>t.value?.querySelectorAll("pre code").forEach(r=>window.Prism?.highlightElement(r)));return $t(s),He(()=>[e.file?.content,e.terms,e.options],s,{deep:!0}),()=>{let r=e.file||{},o=(r.filename||"").split(".").pop().toLowerCase();if(["md","markdown"].includes(o)||r.language==="Markdown")return De("gist-file",{ref:t},De(Xl,{content:r.content,terms:e.terms,options:e.options}));let i={js:"javascript",jsx:"javascript",ts:"javascript",typescript:"javascript",py:"python",html:"markup",xml:"markup",svg:"markup",sh:"bash"},a=(r.language||o||"none").toLowerCase();return De("gist-file",{ref:t},De("pre",{class:"line-numbers"},De("code",{class:"language-"+(i[a]||a),key:r.content},r.content||"")))}}},FL={props:["file","content"],setup(e){let t=et(null),s=0,r,o=async()=>{let i=++s;r?.abort(),r=new AbortController;try{let a=e.content?JSON.parse(e.content):await fetch(e.file?.download_url||e.file,{signal:r.signal}).then(c=>{if(!c.ok)throw Error("Notebook request failed");return c.json()});if(await en("notebook"),i!==s)return;t.value.innerHTML=DOMPurify.sanitize(nb.parse(a).render()),t.value.querySelectorAll("pre code").forEach(c=>window.Prism?.highlightElement(c))}catch(a){i===s&&a.name!=="AbortError"&&(t.value.textContent="Unable to render the notebook.")}};return $t(()=>{o(),He(()=>[e.file,e.content],o)}),dn(()=>{s++,r?.abort()}),()=>De("notebook",{ref:t})}},zL={props:["stats"],setup(e){return()=>{let t=Object.entries(e.stats||{}).filter(([,r])=>r.code),s=t.reduce((r,[,o])=>r+o.code,0);return De("loc",t.map(([r,o])=>De("div",{class:"lang",title:`${r}: ${o.code.toLocaleString()} lines`,style:{width:o.code*100/s+"%",background:langColors[r]}})))}}},Zl={Markdown:Xl,GistFile:UL,Notebook:FL,Loc:zL,HtmlDoc:Kl,QuotaUsage:LL,Pdfviewer:gi(async()=>(await en("pdf"),pdfjsLib.GlobalWorkerOptions.workerSrc="/script/external/pdf.worker.js",Yl))},xl={async mounted(e,{value:t}){e._editorValue=t;try{if(await hs(),e._editorDisposed)return;let s=e._editorValue,r=ace.edit(e);e._editor=r,r.setValue(String(s.content??""),-1),Ql(e,s.options),e._editorCleanup=s.options?.onLoad?.(r)}catch(s){e._editorDisposed||(e.textContent=s.message)}},updated(e,{value:t}){e._editorValue=t,e._editor&&(e._editor.getValue()!==String(t.content??"")&&e._editor.setValue(String(t.content??""),-1),Ql(e,t.options))},beforeUnmount(e){e._editorDisposed=!0,e._editorCleanup?.(),e._editor?.destroy()}};function Ql(e,t={}){let s=$L.has(t.mode)?t.mode:"text";e._editor.session.setMode("ace/mode/"+s),t.theme&&e._editor.setTheme("ace/theme/"+t.theme),e._editor.setReadOnly(t.readOnly!==!1)}var ed={mounted(e){if(!window.IntersectionObserver)return;let t=[...e.querySelectorAll('a[href^="#"]')],s=new Set,r=new IntersectionObserver(o=>{o.forEach(a=>a.isIntersecting?s.add(a.target.id):s.delete(a.target.id));let i=t.find(a=>s.has(a.hash.slice(1)));i&&t.forEach(a=>a.classList.toggle("active",a===i))},{rootMargin:"-20% 0px -60% 0px",threshold:0});Ze(()=>{t.forEach(o=>{let i=document.getElementById(o.hash.slice(1));i&&r.observe(i)}),t[0]&&!t.some(o=>o.classList.contains("active"))&&t[0].classList.add("active")}),e._observer=r},beforeUnmount(e){e._observer?.disconnect()}};function HL(e){let t=[],s=0,r=/\bXXXX-(\d+)\b/g,o;for(;o=r.exec(e);)o.index>s&&t.push(e.slice(s,o.index)),t.push(De("span",{class:"redact-slot",role:"img","aria-label":"Redacted term "+o[1]},[De("i",null,o[1])])),s=o.index+o[0].length;return t.length?(s=1024&&rjL(e.file)),a=()=>"/"+(Array.isArray(t.params.path)?t.params.path.join("/"):t.params.path||"");He(()=>[t.params.repoId,t.params.path],()=>{let m="";a().split("/").filter(Boolean).forEach(C=>{m+="/"+C,r[m]=!0})},{immediate:!0});let c=nt(()=>{if(!e.searchQuery||!e.searchResults)return null;let m=new Set,C=new Set;return e.searchResults.forEach(A=>{m.add(A.path?`${A.path}/${A.name}`:A.name);let h="";(A.path||"").split("/").filter(Boolean).forEach(E=>{h=h?h+"/"+E:E,C.add(h)})}),{files:m,folders:C}}),f=()=>[...s.value.querySelectorAll("li > a")],g=m=>{s.value.querySelector(".tree-focused")?.classList.remove("tree-focused"),m&&(o=m.dataset.path,m.classList.add("tree-focused"),m.scrollIntoView?.({block:"nearest"}),s.value.focus())};function b(m){let C=f(),A=s.value.querySelector(".tree-focused")||C[0],h=C.indexOf(A);if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(m.key)||(m.preventDefault(),m.key==="ArrowDown"&&g(C[(h+1)%C.length]),m.key==="ArrowUp"&&g(C[(h-1+C.length)%C.length]),!A))return;let E=A.closest("li");m.key==="ArrowRight"&&E.classList.contains("folder")&&(E.classList.contains("open")?g(E.querySelector(":scope > ul > li > a")):A.click()),m.key==="ArrowLeft"&&(E.classList.contains("folder")&&E.classList.contains("open")?A.click():g(E.parentElement.closest("li.folder")?.querySelector(":scope > a"))),m.key==="Enter"&&A.click()}function k(m,C=""){let A=[...m].sort((h,E)=>+!!E.children-+!!h.children||h.name.localeCompare(E.name));return De("ul",A.flatMap(h=>{let E=h,N=E.name,R=(C+"/"+N).slice(1);if(c.value&&!c.value.files.has(R)&&!c.value.folders.has(R))return[];for(;E.children?.length===1;)E=E.children[0],N+="/"+E.name;let V=C+"/"+N,H=!!E.children,q=c.value?r[V]!==!1:!!r[V],z=H&&e.page?.options?.truncatedFolders?.includes(V.slice(1)),Z=De("span",{class:H?"tree-icon-folder":"far fa-file tree-icon-file","aria-hidden":"true"},H?De("svg",{viewBox:"0 0 14 12",focusable:"false"},De("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})):null),ae=De("span",{class:"tree-name",title:N.replace(/\bXXXX-(\d+)\b/g,"[redacted term $1]")},HL(N)),_=ne=>{g(ne.currentTarget),H&&(ne.preventDefault(),r[V]=!q,r[V]&&!E.children.length&&e.page.getFiles(V.slice(1)),Ze(()=>g(f().find(le=>le.dataset.path===o))))},j=De("a",{"data-path":V,href:H?void 0:`/r/${encodeURIComponent(t.params.repoId)}${encodePathForUrl(V)}`,class:{"tree-focused":o===V},onClick:_},[H?De("span",{class:"tree-toggle"}):De("span",{class:"tree-spacer"}),Z,ae,z?De("span",{class:"truncated-warning",title:e.page.fmt.translate("WARNINGS.folder_truncated")},De("i",{class:"fas fa-exclamation-triangle"})):null]);return De("li",{key:V,class:{file:!0,folder:H,open:q,active:a()===V,truncated:z},title:H?"":`Size: ${BL(E.size||0)}`},[j,H&&q?k(E.children,V):null])}))}return()=>De("tree",{ref:s,tabindex:0,onKeydown:b},e.file?.length?c.value?.files.size===0?De("div",{class:"tree-search-empty"},"No files found"):k(i.value):"Empty repository")}};function sd(){return ze({errors:{},dirty:!1,touched:!1,submitted:!1,get invalid(){return Object.values(this.errors).some(Boolean)},setValidity(e,t){this.errors[e]=!t},setDirty(){this.dirty=!0}})}function od(e,t){if(!e[t]){let s=sd();Object.defineProperty(s,"invalid",{get(){return Object.values(s.errors).some(Boolean)||Object.keys(s).some(r=>r!=="invalid"&&s[r]&&typeof s[r]=="object"&&s[r].invalid)}}),e[t]=s}return e[t]}var rd={beforeMount(e,{value:t}){e._formState=od(t,e.name),e.addEventListener("submit",s=>s.preventDefault())}};function GL(e){return e instanceof Date?isNaN(e)?"":`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:e||""}function nd(e){let t=e._field.binding.value;e.type==="checkbox"?e.checked=!!t:e.type==="radio"?e.checked=t==(e._value??e.value):e._field.timer||(e.value=e.type==="date"?GL(t):t??""),fr(e)}function fr(e){let t=e._field.validation;if(!t)return;let s=e.validity;for(let[r,o]of Object.entries({required:s.valueMissing,pattern:s.patternMismatch,min:s.rangeUnderflow,max:s.rangeOverflow,date:s.badInput,email:s.typeMismatch&&e.type==="email",url:s.typeMismatch&&e.type==="url"}))t.setValidity(r,e.disabled||!o)}var id={beforeMount(e,{value:t}){var a;let s=t.form&&od(t.state,t.form),r=s&&e.name?s[a=e.name]||(s[a]=sd()):null;e._field={binding:t,validation:r,timer:null};let o=()=>{clearTimeout(e._field.timer),e._field.timer=null;let c=e._field.binding,f=e.type==="checkbox"?e.checked:e._value??e.value;if(!(e.type==="radio"&&!e.checked)){if((e.type==="number"||e.type==="range")&&(f=e.value===""?null:Number(e.value)),e.type==="date"&&(f=e.value?new Date(e.value+"T00:00:00"):null),r){r.setDirty();for(let g of Object.keys(r.errors))r.setValidity(g,!0)}c.set(f),fr(e),c.change?.()}};e._field.commit=o;let i=c=>{let f=e._field.binding.options?.debounce||0,g=typeof f=="number"?f:f[c.type]??f.default??0;clearTimeout(e._field.timer),g?e._field.timer=setTimeout(o,g):o()};e.addEventListener(e.tagName==="SELECT"||["checkbox","radio","date"].includes(e.type)?"change":"input",i),e.addEventListener("blur",()=>{r&&(r.touched=!0),e._field.timer&&o()})},mounted:nd,updated(e,{value:t}){e._field.binding=t,nd(e)},beforeUnmount(e){clearTimeout(e._field.timer);let{binding:t,validation:s}=e._field,r=t.form&&t.state[t.form];r&&r[e.name]===s&&delete r[e.name]}};function ad(e,t){let s=e.target.closest("form");if(s?._formState&&(s._formState.submitted=!0),s?.querySelectorAll("input, select, textarea").forEach(r=>{r._field?.timer&&r._field.commit(),r._field&&fr(r)}),s&&!s.checkValidity()){let r=s.querySelector(":invalid");r?.scrollIntoView?.({block:"center"}),r?.focus(),s.reportValidity();return}return t()}var ld=Symbol("session"),WL=/^\/(w|api|github)(\/|$)/;function dd(e,t={}){let s=e?.split(".").reduce((r,o)=>r?.[o],ro);return String(s??e??"").replace(/{{\s*([^}]+?)\s*}}/g,(r,o)=>t[o]??"")}var KL={...pr,translate:dd};function YL(e){if(e==null||e==="")return e;try{let t=new URL(e,window.location.href);return["http:","https:","mailto:","tel:","blob:"].includes(t.protocol)?e:void 0}catch{return}}function JL(e="#app",t={}){!t.history&&window.location.pathname==="/"&&/^#!\/r\/[^/?#]+/.test(window.location.hash)&&window.history.replaceState(window.history.state,"",window.location.hash.slice(2));let s=new Map,r=jl(t.fetch),o,i;function a(){let g=ut(),b={url(m){return m===void 0?i.currentRoute.value.fullPath:(i.push(m),b)},path(){return i.currentRoute.value.path},search(){return i.currentRoute.value.query}},k=new Proxy({},{get(m,C){let A=i.currentRoute.value.params[C];return Array.isArray(A)?A.join("/"):A}});return{http:r,...g,location:b,params:k,window,promises:Gl,html:{trustAsHtml:m=>m},translate:(m,C)=>Promise.resolve(dd(m,C)),quotaService:Wl(r)}}function c(g){return{name:g.template,setup(){let b=ar(dt(ld),s);g.setup(b,a()),Bl(g.template,b);let k=[];return()=>ao[g.template](b,k)}}}i=ja({history:t.history||za(),routes:fl.map(g=>g.redirect?g:{path:g.path,component:c(g),meta:{title:g.title,preserveExplorer:g.preserveExplorer}})});let f=la({setup(){o=ar(null,s),o.fmt=KL,o.window=window,o.Math=Math,o.sanitize=m=>DOMPurify.sanitize(m??""),o.submitForm=ad,o.safeUrl=YL;let g=a();Ka(o,g.http,g.location,g.timeout),ln(ld,o),He(()=>o.title,m=>{document.title=m||"Anonymous GitHub"});let b=[],k=m=>{let C=m.target.closest?.("a[href]");if(m.defaultPrevented||m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey||!C||C.hasAttribute("download")||C.target&&C.target!=="_self"||C.dataset.toggle||C.getAttribute("href").startsWith("#"))return;let h=new URL(C.href,window.location.href);h.origin!==window.location.origin||WL.test(h.pathname)||(m.preventDefault(),i.push(h.pathname+h.search+h.hash),$("#navbarSupportedContent.show").collapse("hide"))};return document.addEventListener("click",k),dn(()=>document.removeEventListener("click",k)),()=>[Hl(o,[]),/^\/(r|repository)\//.test(o.path||"")?null:De("header",{class:["app-header",{"is-contained":o.path==="/"||o.path==="/faq"}]},ao["partials/header.htm"](o,b)),De("main",{class:"app-view align-items-stretch w-100"},De(ir,null,{default:({Component:m,route:C})=>m?De(m,{key:C.meta.preserveExplorer?C.matched[0]?.path:C.path}):null})),De("div",{class:"position-fixed p-3",style:{zIndex:999999999,right:0,bottom:0}},o.toasts.map((m,C)=>De("div",{class:"toast show",role:"alert","aria-live":"assertive","aria-atomic":"true",key:C},[De("div",{class:"toast-header"},[De("strong",{class:"mr-auto"},m.title),De("button",{type:"button",class:"ml-2 mb-1 close","aria-label":"Close",onClick:()=>o.removeToast(m)},"\xD7")]),De("div",{class:"toast-body"},m.body)])))]}});for(let[g,b]of Object.entries(Zl))f.component(g,b);return f.component("Tree",td),f.component("PartialView",{props:["name","state"],setup(g){let b=[];return()=>ao[g.name](g.state,b)}}),f.directive("field",id),f.directive("form",rd),f.directive("code-editor",xl),f.directive("paper-scrollspy",ed),f.use(i),i.beforeEach(async g=>{o?.emit("routeLeave"),/^\/(r|repository|anonymize|pull-request-anonymize|gist-anonymize|pr|gist)(\/|$)/.test(g.path)&&await en("markdown"),/^\/(r|repository)\//.test(g.path)&&await en("org")}),i.afterEach(g=>{if(!o)return;o.title=g.meta.title,o.emit("routeChange",{title:g.meta.title}),o.emit("routeUpdate",{title:g.meta.title});let b=document.querySelector(".app-view");!g.meta.preserveExplorer&&b&&(b.scrollTop=0)}),f.mount(e),{app:f,router:i,state:o}}document.querySelector("#app")&&(window.anonymousApp=JL());})(); +jane.smith@example.org`},hq={id:"termsHelp",class:"form-text text-muted"},vq={class:"invalid-feedback"},yq={id:"settings-display",class:"paper-settings-section"},gq={class:"form-group paper-check-list"},bq={class:"form-check"},wq={class:"form-check-input",type:"checkbox",id:"link",name:"link"},kq={class:"form-check"},Cq={class:"form-check-input",type:"checkbox",id:"image",name:"image"},Eq={class:"form-check"},Sq={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},Nq={class:"form-check"},_q={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},Dq={id:"settings-features",class:"paper-settings-section"},Rq={class:"form-group paper-check-list"},Tq={class:"form-check"},Oq={class:"form-check-input",type:"checkbox",id:"page",name:"page"},Aq={class:"form-check"},Iq={class:"form-check-input",type:"checkbox",id:"loc",name:"loc"},Pq={class:"form-check"},Vq={class:"form-check-input",type:"checkbox",id:"update",name:"update"},Mq={class:"form-group"},qq={class:"form-control",id:"mode",name:"mode"},Lq={class:"form-text text-muted"},$q={id:"settings-expiration",class:"paper-settings-section"},Uq={class:"form-group"},Fq={class:"form-control",id:"expiration",name:"expiration"},zq={key:0,class:"draft-status",role:"status"},Hq={key:1,class:"draft-status"},Bq={class:"paper-settings-footer"},jq={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},Gq=["textContent"],Wq={class:"paper-settings-actions"},Kq=["disabled"],Yq={key:0,class:"ui-icon mr-1","aria-hidden":"true"},Jq={id:"settings-account",class:"paper-settings-section"},Qq={class:"paper-account-card"},Xq=["src"],Zq={class:"paper-account-identity"},xq={class:"paper-account-name"},e6={class:"paper-danger-zone"},t6={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},n6=["textContent"],s6=["disabled"];function Ul(e,t){let s=Ge("quota-usage"),r=Ee("paper-scrollspy"),o=Ee("field"),i=Ee("form");return l(),d("div",rq,[t[52]||(t[52]=fe('
My work \xA0/\xA0 Settings

Your settings

Defaults applied to every new anonymization, your quotas, and your account.

',3)),n("div",iq,[D((l(),d("aside",aq,[...t[4]||(t[4]=[fe('
On this page
',2)])])),[[r]]),n("div",lq,[p(" Account usage shares the dashboard component. "),n("section",dq,[t[6]||(t[6]=n("div",{class:"paper-section-eyebrow"},"Quota",-1)),t[7]||(t[7]=n("p",{class:"paper-section-copy"},"What you are using across all your anonymizations. Conferences can lift these limits during a review window.",-1)),e.quota?(l(),Ut(s,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):p("v-if",!0),e.quota?p("v-if",!0):(l(),d("div",uq,[(l(),d(K,null,re([1,2,3],(a,c)=>n("div",cq,[...t[5]||(t[5]=[n("div",{class:"quota-header"},[n("span",{class:"skeleton skeleton-line",style:{width:"40%"}}),n("span",{class:"skeleton skeleton-line",style:{width:"25%"}})],-1),n("div",{class:"quota-track"},null,-1)])])),64))]))]),D((l(),d("form",{class:"form needs-validation",name:"defaultsForm",novalidate:"",onSubmit:t[2]||(t[2]=de(a=>e.submitForm(a,()=>{e.saveDefault(a)}),["prevent"]))},[n("section",pq,[t[13]||(t[13]=n("div",{class:"paper-section-eyebrow"},"Terms to redact",-1)),t[14]||(t[14]=n("p",{class:"paper-section-copy"},"Pre-filled in every new anonymization. You can still edit the list per anonymization.",-1)),n("div",fq,[t[12]||(t[12]=n("label",{class:"paper-field-label",for:"terms"},"Default terms",-1)),D(n("textarea",mq,null,512),[[o,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"defaultsForm",options:{debounce:250}}]]),n("small",hq,[t[8]||(t[8]=y(" One term per line (regex allowed). Each match is replaced by ",-1)),n("code",null,u(e.site_options?.ANONYMIZATION_MASK||"XXX")+"-[N]",1),t[9]||(t[9]=y(", or use ",-1)),t[10]||(t[10]=n("code",null,"term=>replacement",-1)),t[11]||(t[11]=y(" to pick your own. ",-1))]),D(n("div",vq," Terms are in an invalid format ",512),[[Q,e.defaultsForm?.terms?.errors?.format]])])]),n("section",yq,[t[23]||(t[23]=n("div",{class:"paper-section-eyebrow"},"Display",-1)),t[24]||(t[24]=n("p",{class:"paper-section-copy"},"What reviewers can see inside an anonymized repository.",-1)),n("div",gq,[n("div",bq,[D(n("input",wq,null,512),[[o,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"defaultsForm",options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"Unchecked, every link in text files is removed.",-1))]),n("div",kq,[D(n("input",Cq,null,512),[[o,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"defaultsForm",options:{}}]]),t[17]||(t[17]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[18]||(t[18]=n("small",{class:"form-text text-muted"},"Images are shown as is. They are not anonymized.",-1))]),n("div",Eq,[D(n("input",Sq,null,512),[[o,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"defaultsForm",options:{}}]]),t[19]||(t[19]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[20]||(t[20]=n("small",{class:"form-text text-muted"},"PDFs are shown as is. They are not anonymized.",-1))]),n("div",Nq,[D(n("input",_q,null,512),[[o,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"defaultsForm",options:{}}]]),t[21]||(t[21]=n("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1)),t[22]||(t[22]=n("small",{class:"form-text text-muted"},"Render Jupyter notebooks instead of raw JSON.",-1))])])]),n("section",Dq,[t[33]||(t[33]=n("div",{class:"paper-section-eyebrow"},"Features",-1)),n("div",Rq,[n("div",Tq,[D(n("input",Oq,null,512),[[o,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"defaultsForm",options:{}}]]),t[25]||(t[25]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[26]||(t[26]=n("small",{class:"form-text text-muted"},"Serve an anonymized copy of the repository's GitHub Pages site. Only pages built from the anonymized branch are supported.",-1))]),n("div",Aq,[D(n("input",Iq,null,512),[[o,{state:e.viewState,set:a=>{e.options.loc=a},value:e.options?.loc,form:"defaultsForm",options:{}}]]),t[27]||(t[27]=n("label",{class:"form-check-label",for:"loc"},"Lines of code",-1)),t[28]||(t[28]=n("small",{class:"form-text text-muted"},"Show the line count of the repository in the explorer.",-1))]),n("div",Pq,[D(n("input",Vq,null,512),[[o,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"defaultsForm",options:{}}]]),t[29]||(t[29]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[30]||(t[30]=n("small",{class:"form-text text-muted"},"Follow the branch and pull the latest commit automatically, at most once an hour.",-1))])]),n("div",Mq,[t[32]||(t[32]=n("label",{class:"paper-field-label",for:"mode"},"Fetch mode",-1)),D((l(),d("select",qq,[...t[31]||(t[31]=[n("option",{value:"GitHubStream",selected:""},"Stream from GitHub on demand",-1),n("option",{value:"GitHubDownload"},"Download to Anonymous GitHub",-1)])])),[[o,{state:e.viewState,set:a=>{e.options.mode=a},value:e.options?.mode,form:"defaultsForm",options:{}}]]),n("small",Lq," Download is faster for reviewers and enables every feature. Streaming is the only option above "+u(e.fmt?.humanFileSize(e.site_options?.MAX_REPO_SIZE*1024))+". ",1)])]),n("section",$q,[t[37]||(t[37]=n("div",{class:"paper-section-eyebrow"},"Expiration",-1)),n("div",Uq,[t[35]||(t[35]=n("label",{class:"paper-field-label",for:"expiration"},"When an anonymization expires",-1)),D((l(),d("select",Fq,[...t[34]||(t[34]=[n("option",{value:"redirect"},"Redirect visitors to the GitHub repository",-1),n("option",{value:"remove",selected:""},"Remove the anonymized repository",-1)])])),[[o,{state:e.viewState,set:a=>{e.options.expirationMode=a},value:e.options?.expirationMode,form:"defaultsForm",options:{}}]]),t[36]||(t[36]=n("small",{class:"form-text text-muted"}," The expiration date itself is chosen per anonymization. Redirecting reveals the source repository, so pick it only once the review is over. ",-1))])]),e.draftRestored?(l(),d("div",zq,[t[38]||(t[38]=y("Your unsaved draft was restored. ",-1)),n("button",{type:"button",class:"draft-discard",onClick:t[0]||(t[0]=a=>e.discardDraft())},"Discard draft")])):e.unsavedChanges?(l(),d("div",Hq,[y(u(e.draftSaved?"Draft saved in this tab for 30 minutes.":"Unsaved changes. Keep this tab open until you save.")+" ",1),n("button",{type:"button",class:"draft-discard",onClick:t[1]||(t[1]=a=>e.discardDraft())},u(e.isUpdate?"Restore saved settings":"Discard changes"),1)])):p("v-if",!0),n("div",Bq,[e.error?(l(),d("div",jq,[t[39]||(t[39]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),t[40]||(t[40]=y()),n("span",{textContent:u(e.error)},null,8,Gq)])):p("v-if",!0),n("div",Wq,[n("button",{id:"save",type:"submit",class:"btn btn-ink",disabled:e.saving},[e.message?(l(),d("svg",Yq,[...t[41]||(t[41]=[n("use",{href:"#ui-icon-check"},null,-1)])])):p("v-if",!0),y(u(e.saving?"Saving\u2026":e.message?"Saved":"Save defaults"),1)],8,Kq),t[42]||(t[42]=n("span",{class:"paper-settings-hint"},"Applies to new anonymizations only. Existing ones keep their settings.",-1))])])],32)),[[i,e.viewState]]),n("section",Jq,[t[50]||(t[50]=n("div",{class:"paper-section-eyebrow"},"Account",-1)),n("div",Qq,[e.user?.photo?(l(),d("img",{key:0,width:"40",height:"40",class:"rounded-circle",alt:"",src:e.safeUrl(e.user?.photo)},null,8,Xq)):p("v-if",!0),n("div",Zq,[n("div",xq,"@"+u(e.user?.username),1),t[43]||(t[43]=n("div",{class:"paper-account-meta"},"Signed in with GitHub. Anonymous GitHub only reads your repositories.",-1))]),t[44]||(t[44]=n("a",{class:"btn btn-outline-ink",href:"/api/user/logout",target:"_self"},"Sign out",-1))]),t[51]||(t[51]=n("a",{class:"paper-settings-connection-link",href:"/connections"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",null,[y("GitHub connections"),n("small",null,"Manage repository access and legacy OAuth.")]),n("span",{"aria-hidden":"true"},"\u2192")],-1)),n("div",e6,[t[48]||(t[48]=n("div",{class:"paper-danger-head"},"Delete account",-1)),t[49]||(t[49]=n("p",{class:"paper-danger-copy"}," Removes all your anonymized repositories, gists, and pull requests, revokes the application's access to your GitHub account, and erases your personal data (username, email, access tokens). This cannot be undone. ",-1)),e.deleteError?(l(),d("div",t6,[t[45]||(t[45]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),t[46]||(t[46]=y()),n("span",{textContent:u(e.deleteError)},null,8,n6)])):p("v-if",!0),n("button",{type:"button",class:"btn btn-outline-danger",onClick:t[3]||(t[3]=a=>e.deleteAccount()),disabled:e.deletingAccount},[t[47]||(t[47]=n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)),y(u(e.deletingAccount?"Deleting\u2026":"Delete my account"),1)],8,s6)])])])])])}var o6={class:"pr-page"},r6={class:"container paper-page pr-page-inner"},i6={class:"pr-header"},a6={class:"pr-title-row"},l6={class:"paper-page-title pr-title"},d6=["textContent"],u6={key:1,class:"text-muted"},c6=["href"],p6={class:"pr-header-meta"},f6={key:0,class:"pr-meta-item"},m6=["textContent"],h6={key:1,class:"pr-meta-item"},v6=["textContent"],y6={key:2,class:"pr-meta-item"},g6=["textContent"],b6={key:0,class:"pr-body-card"},w6={key:1,class:"paper-tabs",role:"tablist"},k6=["aria-selected","tabindex"],C6=["aria-selected","tabindex"],E6=["textContent"],S6={class:"paper-tab-content"},N6={key:0,role:"tabpanel",id:"pr-diff-panel","aria-labelledby":"pr-diff-tab"},_6=["innerHTML"],D6={key:1,role:"tabpanel",id:"pr-comments-panel","aria-labelledby":"pr-comments-tab"},R6={class:"pr-comments"},T6={class:"pr-comment"},O6={class:"pr-comment-head"},A6={key:0,class:"pr-comment-author"},I6=["textContent"],P6=["textContent"],V6={key:0,class:"pr-comment-body"},M6={key:0,class:"paper-table-empty"};function Fl(e,t){let s=Ge("markdown");return l(),d("div",o6,[n("div",r6,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),y(" \xA0/\xA0 "),n("span",{class:"here"},"Pull request")],-1)),n("header",i6,[n("div",a6,[n("h1",l6,[e.details?.title?(l(),d("span",{key:0,textContent:u(e.details?.title)},null,8,d6)):p("v-if",!0),e.details?.title?p("v-if",!0):(l(),d("span",u6,"Untitled pull request"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/pull-request-anonymize/"+e.pullRequestId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,c6)):p("v-if",!0)]),n("div",p6,[n("span",{class:T(["paper-pill",{good:e.details?.merged,warn:e.details?.state=="open",bad:e.details?.state=="closed"&&!e.details?.merged}])},[n("span",{class:T(["status-dot",{"status-ready":e.details?.merged,"status-error":e.details?.state=="closed"&&!e.details?.merged}])},null,2),y(" "+u(e.details?.merged?"Merged":e.fmt.title(e.details?.state)),1)],2),e.details?.baseRepositoryFullName?(l(),d("span",f6,[t[5]||(t[5]=n("i",{class:"fab fa-github"},null,-1)),t[6]||(t[6]=y()),n("span",{textContent:u(e.details?.baseRepositoryFullName)},null,8,m6)])):p("v-if",!0),e.details?.updatedDate?(l(),d("span",h6,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=y()),n("span",{textContent:u(e.fmt?.date(e.details?.updatedDate))},null,8,v6)])):p("v-if",!0),e.details?.anonymizeDate?(l(),d("span",y6,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=y(" Anonymized ",-1)),n("span",{textContent:u(e.fmt?.date(e.details?.anonymizeDate))},null,8,g6)])):p("v-if",!0)])]),e.details?.body?(l(),d("section",b6,[t[11]||(t[11]=n("div",{class:"paper-section-eyebrow"},"Description",-1)),Oe(s,{content:e.details?.body},null,8,["content"])])):p("v-if",!0),e.details?.diff||e.details?.comments?(l(),d("nav",w6,[e.details?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="diff"}]),type:"button",role:"tab",id:"pr-diff-tab","aria-selected":e.tabState?.active==="diff","aria-controls":"pr-diff-panel",tabindex:e.tabState?.active==="diff"?0:-1,onKeydown:t[0]||(t[0]=r=>e.previewTabKeydown(r)),onClick:t[1]||(t[1]=r=>e.tabState.active="diff")},[...t[12]||(t[12]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),y(" Diff ",-1)])],42,k6)):p("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"pr-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"pr-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=r=>e.previewTabKeydown(r)),onClick:t[3]||(t[3]=r=>e.tabState.active="comments")},[t[13]||(t[13]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:u(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,E6)],42,C6)):p("v-if",!0)])):p("v-if",!0),n("div",S6,[e.details?.diff&&e.tabState?.active=="diff"?(l(),d("div",N6,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.details?.diff))},null,8,_6)])):p("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",D6,[n("ul",R6,[(l(!0),d(K,null,re(e.details?.comments,(r,o)=>(l(),d("li",T6,[n("div",O6,[r?.author?(l(),d("span",A6,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=y(" @",-1)),n("span",{textContent:u(r?.author)},null,8,I6)])):p("v-if",!0),r?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:u(e.fmt?.date(r?.updatedDate))},null,8,P6)):p("v-if",!0)]),r?.body?(l(),d("div",V6,[Oe(s,{content:r?.body},null,8,["content"])])):p("v-if",!0)]))),256)),e.details?.comments?.length?p("v-if",!0):(l(),d("li",M6,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this pull request.",-1)])]))])])):p("v-if",!0)])])])}var q6={class:"container paper-page status-page"},L6={class:"d-flex align-items-end justify-content-between flex-wrap",style:{gap:"12px"}},$6={class:"paper-page-title"},U6=["textContent"],F6={key:1},z6={class:"paper-settings-section"},H6={key:0,class:"paper-ratelimit-card",role:"status"},B6={class:"paper-error-msg"},j6=["aria-valuenow"],G6={class:"paper-progress-label"},W6=["textContent"],K6={key:0},Y6=["textContent"],J6={class:"paper-progress-pct"},Q6={key:2,class:"paper-error-card",role:"alert"},X6={key:0,class:"paper-error-msg"},Z6={key:1,class:"paper-error-msg"},x6={class:"paper-error-actions"},eL=["href"],tL={class:"paper-detail-grid"},nL={class:"detail-value"},sL=["href"],oL={key:0,class:"detail-label"},rL={key:1,class:"detail-value"},iL=["href"],aL={key:3,class:"anonymize-submit-bar"},lL=["href"],dL=["href"];function zl(e,t){return l(),d("div",q6,[t[15]||(t[15]=n("div",{class:"paper-crumbs"},[y("Anonymization \xA0/\xA0 "),n("span",{class:"here"},"Status")],-1)),n("div",L6,[n("div",null,[n("h1",$6,[t[0]||(t[0]=y("Status of ",-1)),n("em",null,u(e.repoId),1)]),t[1]||(t[1]=n("p",{class:"paper-page-lede"},"Track progress as your anonymization is prepared.",-1))]),n("span",{class:T(["status-pill",{"status-pill-ready":e.repo?.status=="ready","status-pill-error":e.repo?.status=="error","status-pill-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-pill-ratelimit":e.rateLimitResetAt}])},[n("span",{class:T(["status-dot",{"status-ready":e.repo?.status=="ready","status-error":e.repo?.status=="error","status-removed":e.repo?.status=="removed"||e.repo?.status=="expired","status-ratelimit":e.rateLimitResetAt}])},null,2),e.rateLimitResetAt?p("v-if",!0):(l(),d("span",{key:0,textContent:u(e.fmt?.title(e.repo?.status))},null,8,U6)),e.rateLimitResetAt?(l(),d("span",F6,"Rate limited")):p("v-if",!0)],2)]),n("section",z6,[t[13]||(t[13]=n("div",{class:"paper-section-eyebrow"},"Progress",-1)),t[14]||(t[14]=n("p",{class:"paper-section-copy"},[y(" The repository will take a few minutes to get ready, depending on its size. Visit the "),n("a",{href:"/faq"},"FAQ"),y(" for more information. ")],-1)),e.rateLimitResetAt?(l(),d("div",H6,[t[4]||(t[4]=fe('
Temporarily paused
GitHub API rate limit reached
',1)),n("p",B6,[t[2]||(t[2]=y("Anonymization will resume automatically in ",-1)),n("strong",null,u(e.rateLimitCountdown),1),t[3]||(t[3]=y(". No action needed \u2014 the job is queued and will continue where it left off.",-1))])])):p("v-if",!0),e.repo?.status!="error"&&!e.rateLimitResetAt?(l(),d("div",{key:1,class:T(["paper-progress",{"paper-progress-ready":e.repo?.status=="ready"}]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.progress},[n("div",{class:"paper-progress-bar",style:Te("width: "+e.progress+"%;")},null,4),n("div",G6,[n("span",{textContent:u(e.fmt?.title(e.repo?.status))},null,8,W6),e.repo?.statusMessage?(l(),d("span",K6,[t[5]||(t[5]=y("\xA0\xB7\xA0",-1)),n("span",{textContent:u(e.repo?.statusMessage)},null,8,Y6)])):p("v-if",!0),n("span",J6,u(e.progress||0)+"%",1)])],10,j6)):p("v-if",!0),e.repo?.status=="error"&&!e.rateLimitResetAt?(l(),d("div",Q6,[t[8]||(t[8]=fe('
Anonymization failed
Something went wrong while preparing this repository.
',1)),e.repo?.statusMessage?(l(),d("p",X6,u(e.fmt?.translate("ERRORS."+e.repo?.statusMessage)),1)):p("v-if",!0),e.repo?.statusMessage?p("v-if",!0):(l(),d("p",Z6,"No additional details were reported. The most common causes are private repositories, missing branches, and rate limits.")),t[9]||(t[9]=n("ul",{class:"paper-error-hints"},[n("li",null,"Make sure the source URL points to a repository or pull request you can access."),n("li",null,"Check that the chosen branch and commit still exist on GitHub."),n("li",null,"If you just signed in, the access token may need a moment to propagate \u2014 try again.")],-1)),n("div",x6,[n("a",{class:"btn btn-ink",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[6]||(t[6]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),y(" Edit anonymization",-1)])],8,eL),t[7]||(t[7]=fe(' Read the FAQ Report a bug in Anonymous GitHub',2))])])):p("v-if",!0),n("div",tL,[t[10]||(t[10]=n("div",{class:"detail-label"},"Repository",-1)),n("div",nL,[n("a",{target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},"/r/"+u(e.repoId)+"/",9,sL)]),e.repo?.options?.page?(l(),d("div",oL,"GitHub Page")):p("v-if",!0),e.repo?.options?.page?(l(),d("div",rL,[n("a",{target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},"/w/"+u(e.repoId)+"/",9,iL)])):p("v-if",!0)]),e.repo?.status=="ready"?(l(),d("div",aL,[n("a",{class:"btn btn-ink",target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},[...t[11]||(t[11]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),y(" Go to anonymized repository ",-1)])],8,lL),e.repo?.options?.page?(l(),d("a",{key:0,class:"btn",target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[12]||(t[12]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),y(" Go to anonymized GitHub page ",-1)])],8,dL)):p("v-if",!0)])):p("v-if",!0)]),t[16]||(t[16]=fe('
Support Anonymous GitHub

A small team keeps this running. If it helps you, please consider contributing back \u2014 in code, ideas, or coffee.

',1))])}var ao={"partials/connections.htm":ml,"partials/signin.htm":hl,"partials/404.htm":vl,"partials/admin/conferences.htm":yl,"partials/admin/errors.htm":gl,"partials/admin/overview.htm":bl,"partials/admin/queues.htm":wl,"partials/admin/repositories.htm":kl,"partials/admin/user.htm":Cl,"partials/admin/users.htm":El,"partials/anonymize.htm":Sl,"partials/anonymizePullRequest.htm":Nl,"partials/claim.htm":_l,"partials/conference.htm":Dl,"partials/conferences.htm":Rl,"partials/dashboard.htm":Tl,"partials/explorer.htm":Ol,"partials/faq.htm":Al,"partials/gist.htm":Il,"partials/header.htm":Pl,"partials/home.htm":Vl,"partials/loading.htm":Ml,"partials/newConference.htm":ql,"partials/pageView.htm":Ll,"partials/pr-dashboard.htm":$l,"partials/profile.htm":Ul,"partials/pullRequest.htm":Fl,"partials/status.htm":zl};var uL={class:"ui-icon-definitions","aria-hidden":"true",focusable:"false"};function Hl(e,t){return l(),d("svg",uL,[...t[0]||(t[0]=[fe('',1)])])}function Bl(e,t){e==="partials/explorer.htm"&&(t.sidebarCollapsed=window.matchMedia?.("(max-width: 767px)").matches||!1,t.sidebarHidden=!1,t.dirExpanded=!1,t.moreOpen=!1,t.mdFindOpen=!1,t.mdFindQuery="",t.mdFindTotal=0,t.mdFindIndex=0,t.mdFindCase=!1,t.accountOpen=!1,t.helpOpen=!1,t.sidebarWidth=Math.min(520,Math.max(220,Number(localStorage.getItem("sidebarWidth"))||280)),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px"),t.startSidebarResize=o=>{o.preventDefault();let i=o.clientX,a=t.sidebarWidth,c=g=>{t.sidebarWidth=Math.min(520,Math.max(220,a+g.clientX-i)),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px")},f=()=>{window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",f),document.body.classList.remove("is-resizing"),localStorage.setItem("sidebarWidth",String(t.sidebarWidth))};document.body.classList.add("is-resizing"),window.addEventListener("pointermove",c),window.addEventListener("pointerup",f)}),e==="partials/anonymize.htm"&&(t.prTabState={active:t.options.diff?"diff":"comments"},t.watchGroup(["options.diff","options.comments"],()=>{t.options[t.prTabState.active]||(t.prTabState.active=t.options.diff?"diff":t.options.comments?"comments":null)})),e==="partials/gist.htm"&&(t.tabState={active:t.details?.files?"files":"comments"}),["partials/conferences.htm","partials/conference.htm"].includes(e)&&(t.statusLabels={ready:"Ready",expired:"Expired",removed:"Removed"});let r={"partials/dashboard.htm":["filteredItems",()=>t.items,"itemFilter"],"partials/conferences.htm":["filteredConferences",()=>t.conferences,"conferenceFilter"],"partials/conference.htm":["filteredRepositories",()=>t.conference?.repositories,"repoFiler"],"partials/admin/repositories.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/user.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/users.htm":["filteredUsers",()=>t.users,"userFiler"],"partials/admin/conferences.htm":["filteredConferences",()=>t.conferences]}[e];if(r){let o=nt(()=>t.fmt.orderBy(t.fmt.filter(r[1](),t[r[2]]),t.orderBy));Object.defineProperty(t,r[0],{configurable:!0,get:()=>o.value})}}function jl(e=(...t)=>fetch(...t)){async function t(r,o,i,a={}){let c=new URL(o,window.location.href);for(let[b,k]of Object.entries(a.params||{}))if(k!=null)for(let m of Array.isArray(k)?k:[k])c.searchParams.append(b,typeof m=="object"?JSON.stringify(m):m);let f=new AbortController,g;a.timeout?.then?a.timeout.then(()=>f.abort()):a.timeout&&(g=setTimeout(()=>f.abort(),a.timeout));try{let b={Accept:"application/json, text/plain, */*",...a.headers},k=document.cookie.match(/(?:^|;\s*)XSRF-TOKEN=([^;]*)/);k&&c.origin===window.location.origin&&(b["X-XSRF-TOKEN"]=decodeURIComponent(k[1]));let m;i!==void 0&&(i instanceof FormData?m=i:(b["Content-Type"]||(b["Content-Type"]="application/json;charset=utf-8"),m=JSON.stringify(i)));let C=await e(c.href,{method:r,headers:b,body:m,credentials:"same-origin",signal:f.signal}),A;if(a.onDownloadProgress&&C.ok&&C.body?.getReader&&typeof TextDecoder<"u"){let N=C.body.getReader(),R=new TextDecoder,P=[],H=0;try{for(;;){let{value:q,done:z}=await N.read();if(z)break;P.push(R.decode(q,{stream:!0})),H+=q.byteLength,a.onDownloadProgress(H)}P.push(R.decode()),A=P.join("")}finally{N.releaseLock()}}else A=await C.text();let h=A;if(a.transformResponse)h=a.transformResponse(A);else if(A&&(/json/i.test(C.headers.get("content-type")||"")||/^[\[{]/.test(A.trim())))try{h=JSON.parse(A)}catch{}let E={data:h,status:C.status,headers:N=>C.headers.get(N)};if(!C.ok)throw E;return E}catch(b){throw b.name==="AbortError"?{status:-1,data:null}:b}finally{clearTimeout(g)}}let s={};for(let r of["get","delete","head"])s[r]=(o,i)=>t(r.toUpperCase(),o,void 0,i);for(let r of["post","put","patch"])s[r]=(o,i,a)=>t(r.toUpperCase(),o,i,a);return s}var Gl={resolve:e=>Promise.resolve(e),reject:e=>Promise.reject(e),all:e=>Promise.all(e),defer(){let e,t;return{promise:new Promise((r,o)=>{e=r,t=o}),resolve:e,reject:t}}};var Wl=function(e){function t(s){return s=s||{used:0,total:0},s.unlimited=!s.total,s.percent=s.unlimited?0:Math.min(100,s.used*100/s.total),s.level=s.unlimited?"unlimited":s.percent>=95?"danger":s.percent>=80?"warn":"ok",s}return{decorate:t,load:function(){return e.get("/api/user/quota").then(s=>{let r=s.data||{};return r.storage=t(r.storage),r.file=t(r.file),r.repository=t(r.repository),r})}}};var pr={};cd(pr,{bigNum:()=>pL,date:()=>EL,diff:()=>yL,filter:()=>kL,humanFileSize:()=>cL,humanTime:()=>fL,limitTo:()=>wL,number:()=>gL,orderBy:()=>CL,plural:()=>SL,statusLabel:()=>hL,statusMsg:()=>vL,title:()=>mL,uppercase:()=>bL});var cL=e=>window.humanFileSize(e),pL=(function(){return function(t){let s=Number(t)||0,r=Math.abs(s);return r<1e3?String(s):r<1e4?(s/1e3).toFixed(1).replace(/\.0$/,"")+"k":r<1e6?Math.round(s/1e3)+"k":r<1e7?(s/1e6).toFixed(1).replace(/\.0$/,"")+"M":Math.round(s/1e6)+"M"}})(),fL=(function(){return function(t){if(!t)return"never";var s=null;t instanceof Date&&(s=t,t=Math.round((Date.now()-t)/1e3)),(typeof t=="string"||typeof t=="number")&&(s=new Date(t),t=Math.round((Date.now()-s)/1e3));var r=t<0?"from now":"ago";if(Math.abs(t)>7200*24)return(s&&!isNaN(s)?s:new Date(Date.now()-t*1e3)).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"});t=Math.abs(t);for(var o=[t/60/60/24/365,t/60/60/24/30,t/60/60/24/7,t/60/60/24,t/60/60,t/60,t],i=["year","month","week","day","hour","minute","second"],a=0;a1&&(f+="s"),c>=1)return c+" "+f+" "+r}return"0 seconds "+r}})(),mL=(function(){return function(e){if(!e)return e;e=e.toLowerCase();var t=e.split(" "),s=t.map(function(r){return r.charAt(0).toUpperCase()+r.substring(1,r.length)});return s.join(" ")}})(),hL=(function(){var e={ready:"Ready",error:"Error",expired:"Expired",expiring:"Expiring",removed:"Removed",removing:"Removing",queue:"Queued",download:"Downloading",downloaded:"Downloaded",preparing:"Preparing",anonymizing:"Anonymizing"};return function(t){if(!t)return"";if(e[t])return e[t];var s=String(t).replace(/[_-]+/g," ").toLowerCase();return s.charAt(0).toUpperCase()+s.slice(1)}})(),vL=(function(){var e={branch_not_found:"Branch not found on GitHub",repo_not_found:"Repository not found on GitHub",repository_not_found:"Repository not found on GitHub",repo_not_accessible:"Repository is not accessible with your token",pr_not_found:"Pull request not found on GitHub",gist_not_found:"Gist not found on GitHub",commit_not_found:"Commit not found on GitHub",repo_too_big:"Repository exceeds the size limit",quota_exceeded:"Storage quota exceeded",incomplete_record:"Incomplete record: missing identifier"};return function(t){if(!t)return t;var s=t.match(/^rate_limited:(\d+)$/);if(s){var r=Math.max(0,Math.ceil((parseInt(s[1],10)-Date.now())/1e3));if(r<=0)return"Rate limited \u2014 resuming soon";var o=Math.floor(r/60),i=r%60;return"Rate limited \u2014 retrying in "+(o>0?o+"m "+i+"s":i+"s")}if(e[t])return e[t];if(/^[a-z0-9]+(_[a-z0-9]+)+$/.test(t)){var a=t.replace(/_/g," ");return a.charAt(0).toUpperCase()+a.slice(1)}return t}})(),yL=(function(e){let t=r=>r.replace(/&/g,"&").replace(//g,">");function s(r,o){if(!o)return;let i=o.newPath&&o.newPath!=="/dev/null"?o.newPath:o.oldPath||"",a=o.oldPath==="/dev/null"?"added":o.newPath==="/dev/null"?"deleted":o.oldPath&&o.newPath&&o.oldPath!==o.newPath?"renamed":"modified";if(r.push('
'),r.push('
'+t(i)+''+a+"
"),o.lines.length){r.push('');for(let c of o.lines)r.push('");r.push("
'+(c.oldNo||"")+''+(c.newNo||"")+''+(c.kind==="add"?"+":c.kind==="remove"?"-":c.kind==="hunk"?"@":"")+''+t(c.text)+"
")}r.push("
")}return function(r){if(!r)return r;let o=[],i=null,a=0,c=0,f=()=>(i||(i={oldPath:"",newPath:"",lines:[]}),i),g=()=>{i&&(i.lines.length||i.oldPath||i.newPath)&&(s(o,i),i=null)},b=r.split(` +`);for(let k=0;ke});function gL(e,t){return e==null?"":Number(e).toLocaleString(void 0,t==null?{}:{minimumFractionDigits:t,maximumFractionDigits:t})}function bL(e){return String(e??"").toUpperCase()}function wL(e,t,s=0){return(e||[]).slice(s,s+t)}function kL(e,t){return Array.isArray(e)?typeof t=="function"?e.filter(t):e:[]}function CL(e,t){if(!t)return e||[];let s=Array.isArray(t)?t:[t];return[...e||[]].sort((r,o)=>{for(let i of s){let a=i[0]==="-"?-1:1;i=i.replace(/^[+-]/,"");let c=i.split(".").reduce((g,b)=>g?.[b],r),f=i.split(".").reduce((g,b)=>g?.[b],o);if(typeof c=="string"&&(c=c.toLowerCase()),typeof f=="string"&&(f=f.toLowerCase()),c!==f)return(c==null?-1:f==null?1:cr[o])}function SL(e,t){return(t?.[e]??t?.[e===1?"one":"other"]??"").replace(/\{\}/g,e??0)}var Kl={name:"htmlDoc",props:["content","baseUrl","allowScripts"],setup(e){let t=et(null);return $t(()=>{let r=[t.value][0];r.classList.add("html-doc");function o(){r.innerHTML="";let i=e.content;if(typeof i!="string")return;let a=document.createElement("iframe");a.className="html-doc-frame",a.setAttribute("title","Rendered HTML document");let c=["allow-popups","allow-popups-to-escape-sandbox"];e.allowScripts&&c.push("allow-scripts","allow-forms","allow-modals"),a.setAttribute("sandbox",c.join(" ")),a.setAttribute("referrerpolicy","no-referrer"),r.appendChild(a);let f="";e.baseUrl&&(f=''),a.srcdoc=f+i}He(()=>e.content,o,{immediate:!0}),He(()=>e.baseUrl,o,{immediate:!0}),He(()=>e.allowScripts,o,{immediate:!0})}),()=>De("html-doc",{ref:t})}};var Yl={name:"pdfviewer",props:["src"],setup(e){let t=et(null);return $t(()=>{let s=[t.value],r=400,o=[.5,.75,1,1.25,1.5,2,3],i=1e3,a=s[0];a.classList.add("pdf-viewer");let c=null,f=[],g=!1,b=null,k=1,m=1,C=0,A=0,h=612/792,E=0,N=null,R=new Map,P=0;function H(v){let w=R.get(v);w&&(w.cancelled=!0,w.task?.cancel?.(),R.delete(v));let O=v.querySelector("canvas");O&&(O.width=0,O.height=0),v.innerHTML="",delete v.dataset.state}let q=document.createElement("div");q.className="pdf-toolbar";let z=document.createElement("div");z.className="pdf-pages",z.tabIndex=0,z.setAttribute("aria-label","PDF pages"),a.appendChild(q),a.appendChild(z);function ie(v,w,O){let V=document.createElement("button");return V.type="button",V.className="pdf-toolbar-btn",V.title=w,V.setAttribute("aria-label",w),V.innerHTML='',V.addEventListener("click",O),V}let ae=ie("fa-chevron-up","Previous page",function(){L(m-1)}),_=ie("fa-chevron-down","Next page",function(){L(m+1)}),Y=document.createElement("input");Y.type="text",Y.className="pdf-toolbar-page",Y.setAttribute("aria-label","Page number"),Y.title="Page number \u2014 type a page and press Enter",Y.addEventListener("keydown",function(v){v.key==="Enter"&&(L(parseInt(Y.value,10)),Y.blur())}),Y.addEventListener("blur",function(){Y.value=String(m)});let Z=document.createElement("span");Z.className="pdf-toolbar-count";let he=ie("fa-search-minus","Zoom out",function(){S(o[Math.max(0,Se()-1)])}),ue=ie("fa-search-plus","Zoom in",function(){S(o[Math.min(o.length-1,Se()+1)])}),ce=document.createElement("button");ce.type="button",ce.className="pdf-toolbar-btn pdf-toolbar-zoom",ce.title="Reset zoom to fit the width",ce.setAttribute("aria-label","Reset zoom to fit the width"),ce.addEventListener("click",function(){S(1)}),q.appendChild(ae),q.appendChild(_);let ye=document.createElement("span");ye.className="pdf-toolbar-group",ye.appendChild(Y),ye.appendChild(Z),q.appendChild(ye);let _e=document.createElement("span");_e.className="pdf-toolbar-group pdf-toolbar-right",_e.appendChild(he),_e.appendChild(ce),_e.appendChild(ue),q.appendChild(_e);function Se(){let v=0;for(let w=0;w=v,ce.textContent=Math.round(k*100)+"%",he.disabled=Se()===0,ue.disabled=Se()===o.length-1}function Ue(v){let w=f[v-1];w&&(z.scrollTop+=w.getBoundingClientRect().top-z.getBoundingClientRect().top)}function L(v){if(!c||isNaN(v))return;let w=Math.min(Math.max(1,v),c.numPages);f[w-1]&&(Ue(w),m=w,C=w,A=Date.now()+800,ge(),oe())}function X(){if(!f.length||Date.now(){}),N=null),b&&(clearTimeout(b),b=null),c&&(c.destroy(),c=null),f=[],m=1,z.innerHTML="",ge()}function ne(){z.innerHTML="";let v=document.createElement("div");v.className="pdf-viewer-error",v.textContent="This PDF could not be displayed.",z.appendChild(v)}function me(){let v=Math.max(120,z.clientWidth-24);return Math.round(Math.min(v,i)*k)}function ve(v,w,O){let V=window.devicePixelRatio||1,M=v.getViewport({scale:1}),G=parseFloat(w.style.width);if(!G)return;let F=v.getViewport({scale:G/M.width*V}),W=document.createElement("canvas");return W.width=Math.floor(F.width),W.height=Math.floor(F.height),W.style.width=G+"px",W.style.height=Math.floor(F.height/V)+"px",w.innerHTML="",w.appendChild(W),w.style.height=W.style.height,O.task=v.render({canvasContext:W.getContext("2d"),viewport:F}),O.task.promise}function oe(){if(!c)return;let v=E,w=z.getBoundingClientRect(),O=w.top-r,V=w.top+z.clientHeight+r,M=f.map((F,W)=>({slot:F,i:W,rect:F.getBoundingClientRect()})).filter(F=>F.rect.top<=V&&F.rect.bottom>=O).sort((F,W)=>Math.abs(F.rect.top-w.top)-Math.abs(W.rect.top-w.top)).slice(0,6),G=new Set(M.map(F=>F.slot));for(let F of R.keys())G.has(F)||H(F);for(let{slot:F,i:W}of M){if(F.dataset.state||P>=2)continue;let ee={cancelled:!1,task:null};R.set(F,ee),P++,F.dataset.state="rendering";let j;c.getPage(W+1).then(le=>{if(j=le,!(ee.cancelled||v!==E))return ve(j,F,ee)}).then(()=>{ee.cancelled||v!==E||(F.dataset.state="done",C&&Date.now(){!ee.cancelled&&v===E&&(F.dataset.state="failed")}).finally(()=>{P--,j?.cleanup?.(),c&&oe()})}}function U(){g||(g=!0,window.requestAnimationFrame(function(){g=!1,X(),oe()}))}function te(){let v=!1;function w(){v||(v=!0,oe())}window.requestAnimationFrame(w),window.setTimeout(w,50)}function x(){E++,f.forEach(H);let v=me();f.forEach(function(w){delete w.dataset.state,w.innerHTML="",w.style.width=v+"px",w.style.height=Math.round(v/h)+"px"}),oe()}function S(v){if(!c||!f.length||v===k)return;let w=m;k=v,ge(),x(),L(w)}function I(){c&&(b&&clearTimeout(b),b=setTimeout(function(){b=null,c&&f.length&&x()},250))}function B(v){if(J(),!v)return;let w=E;N=pdfjsLib.getDocument({url:v,isEvalSupported:!1,standardFontDataUrl:"/script/external/pdf-standard-fonts/",cMapUrl:"/script/external/pdf-cmaps/",cMapPacked:!0}),N.promise.then(function(O){if(w!==E){O.destroy();return}return c=O,c.getPage(1).then(function(V){if(w!==E)return;let M=V.getViewport({scale:1});M.width&&M.height&&(h=M.width/M.height);let G=me();for(let F=1;F<=c.numPages;F++){let W=document.createElement("div");W.className="pdf-viewer-page",W.style.width=G+"px",W.style.height=Math.round(G/h)+"px",z.appendChild(W),f.push(W)}ge(),te()})}).catch(function(){w===E&&ne()})}z.addEventListener("scroll",U,{passive:!0}),$(window).on("resize",I),ge(),He(()=>e.src,B,{immediate:!0}),dn(function(){z.removeEventListener("scroll",U),$(window).off("resize",I),J()})}),()=>De("pdfviewer",{ref:t})}};var NL={key:0,class:"quota-row quota-usage"},_L={class:"quota-header"},DL={class:"quota-label"},RL={class:"project-type-svg","aria-hidden":"true"},TL=["href"],OL={key:0,class:"quota-percent"},AL={key:1,class:"quota-unlimited-tag"},IL={class:"quota-value"},PL={key:0},VL=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],ML={key:1,class:"quota-remaining"},qL={key:2,class:"quota-remaining quota-limit"};function Jl(e,t){return e.quota?(l(),d("div",NL,[(l(),d(K,null,re([{key:"repository",label:"Repositories",kind:"count",icon:"project-type-repo"},{key:"storage",label:"Storage",kind:"bytes",icon:"project-icon-storage"},{key:"file",label:"Files",kind:"count",icon:"project-icon-file"}],s=>n("div",{class:T(["quota-item","quota-"+e.quota[s.key].level]),key:s.key},[n("div",_L,[n("span",DL,[(l(),d("svg",RL,[n("use",{href:"#"+s.icon},null,8,TL)])),y(u(s.label),1)]),e.quota[s.key].unlimited?p("v-if",!0):(l(),d("span",OL,u(e.quota[s.key].percent>0&&e.quota[s.key].percent<1?"<1":e.fmt.number(e.quota[s.key].percent,0))+"% used",1)),e.quota[s.key].unlimited?(l(),d("span",AL,"Unlimited")):p("v-if",!0)]),n("div",IL,[n("strong",null,u(e.formatAmount(e.quota[s.key].used,s.kind)),1),e.quota[s.key].unlimited?p("v-if",!0):(l(),d("span",PL," / "+u(e.formatAmount(e.quota[s.key].total,s.kind)),1))]),e.quota[s.key].unlimited?p("v-if",!0):(l(),d("div",{key:0,class:T(["quota-track","quota-"+e.quota[s.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":s.label+" quota","aria-valuenow":Math.min(e.quota[s.key].used,e.quota[s.key].total),"aria-valuemax":e.quota[s.key].total,"aria-valuetext":e.fmt.number(e.quota[s.key].percent,0)+"% used"},[e.quota[s?.key].unlimited?p("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:Te({width:e.quota[s.key].percent+"%"})},null,4))],10,VL)),!e.quota[s.key].unlimited&&e.quota[s.key].used=e.quota[s.key].total?(l(),d("p",qL,u(e.quota[s.key].used>e.quota[s.key].total?"Limit exceeded":"Limit reached"),1)):p("v-if",!0)],2)),64))])):p("v-if",!0)}var LL={props:["quota","fmt"],setup(e){return{formatAmount:(t,s)=>s==="bytes"?e.fmt.humanFileSize(t).replace(/([a-zA-Z]+)$/," $1"):e.fmt.number(t)}},render:Jl},$L=new Set(be),Xl={props:["content","terms","options"],setup(e){let t=et(null),s=()=>{t.value.innerHTML=renderMD(e.content||"",window.location.pathname+"/../")};return $t(()=>{s(),He(()=>[e.content,e.terms,e.options],s,{deep:!0})}),()=>De("markdown",{ref:t})}},UL={props:["file","terms","options"],setup(e){let t=et(null),s=()=>Ze(()=>t.value?.querySelectorAll("pre code").forEach(r=>window.Prism?.highlightElement(r)));return $t(s),He(()=>[e.file?.content,e.terms,e.options],s,{deep:!0}),()=>{let r=e.file||{},o=(r.filename||"").split(".").pop().toLowerCase();if(["md","markdown"].includes(o)||r.language==="Markdown")return De("gist-file",{ref:t},De(Xl,{content:r.content,terms:e.terms,options:e.options}));let i={js:"javascript",jsx:"javascript",ts:"javascript",typescript:"javascript",py:"python",html:"markup",xml:"markup",svg:"markup",sh:"bash"},a=(r.language||o||"none").toLowerCase();return De("gist-file",{ref:t},De("pre",{class:"line-numbers"},De("code",{class:"language-"+(i[a]||a),key:r.content},r.content||"")))}}},FL={props:["file","content"],setup(e){let t=et(null),s=0,r,o=async()=>{let i=++s;r?.abort(),r=new AbortController;try{let a=e.content?JSON.parse(e.content):await fetch(e.file?.download_url||e.file,{signal:r.signal}).then(c=>{if(!c.ok)throw Error("Notebook request failed");return c.json()});if(await en("notebook"),i!==s)return;t.value.innerHTML=DOMPurify.sanitize(nb.parse(a).render()),t.value.querySelectorAll("pre code").forEach(c=>window.Prism?.highlightElement(c))}catch(a){i===s&&a.name!=="AbortError"&&(t.value.textContent="Unable to render the notebook.")}};return $t(()=>{o(),He(()=>[e.file,e.content],o)}),dn(()=>{s++,r?.abort()}),()=>De("notebook",{ref:t})}},zL={props:["stats"],setup(e){return()=>{let t=Object.entries(e.stats||{}).filter(([,r])=>r.code),s=t.reduce((r,[,o])=>r+o.code,0);return De("loc",t.map(([r,o])=>De("div",{class:"lang",title:`${r}: ${o.code.toLocaleString()} lines`,style:{width:o.code*100/s+"%",background:langColors[r]}})))}}},Zl={Markdown:Xl,GistFile:UL,Notebook:FL,Loc:zL,HtmlDoc:Kl,QuotaUsage:LL,Pdfviewer:gi(async()=>(await en("pdf"),pdfjsLib.GlobalWorkerOptions.workerSrc="/script/external/pdf.worker.js",Yl))},xl={async mounted(e,{value:t}){e._editorValue=t;try{if(await hs(),e._editorDisposed)return;let s=e._editorValue,r=ace.edit(e);e._editor=r,r.setValue(String(s.content??""),-1),Ql(e,s.options),e._editorCleanup=s.options?.onLoad?.(r)}catch(s){e._editorDisposed||(e.textContent=s.message)}},updated(e,{value:t}){e._editorValue=t,e._editor&&(e._editor.getValue()!==String(t.content??"")&&e._editor.setValue(String(t.content??""),-1),Ql(e,t.options))},beforeUnmount(e){e._editorDisposed=!0,e._editorCleanup?.(),e._editor?.destroy()}};function Ql(e,t={}){let s=$L.has(t.mode)?t.mode:"text";e._editor.session.setMode("ace/mode/"+s),t.theme&&e._editor.setTheme("ace/theme/"+t.theme),e._editor.setReadOnly(t.readOnly!==!1)}var ed={mounted(e){if(!window.IntersectionObserver)return;let t=[...e.querySelectorAll('a[href^="#"]')],s=new Set,r=new IntersectionObserver(o=>{o.forEach(a=>a.isIntersecting?s.add(a.target.id):s.delete(a.target.id));let i=t.find(a=>s.has(a.hash.slice(1)));i&&t.forEach(a=>a.classList.toggle("active",a===i))},{rootMargin:"-20% 0px -60% 0px",threshold:0});Ze(()=>{t.forEach(o=>{let i=document.getElementById(o.hash.slice(1));i&&r.observe(i)}),t[0]&&!t.some(o=>o.classList.contains("active"))&&t[0].classList.add("active")}),e._observer=r},beforeUnmount(e){e._observer?.disconnect()}};function HL(e){let t=[],s=0,r=/\bXXXX-(\d+)\b/g,o;for(;o=r.exec(e);)o.index>s&&t.push(e.slice(s,o.index)),t.push(De("span",{class:"redact-slot",role:"img","aria-label":"Redacted term "+o[1]},[De("i",null,o[1])])),s=o.index+o[0].length;return t.length?(s=1024&&rjL(e.file)),a=()=>"/"+(Array.isArray(t.params.path)?t.params.path.join("/"):t.params.path||"");He(()=>[t.params.repoId,t.params.path],()=>{let m="";a().split("/").filter(Boolean).forEach(C=>{m+="/"+C,r[m]=!0})},{immediate:!0});let c=nt(()=>{if(!e.searchQuery||!e.searchResults)return null;let m=new Set,C=new Set;return e.searchResults.forEach(A=>{m.add(A.path?`${A.path}/${A.name}`:A.name);let h="";(A.path||"").split("/").filter(Boolean).forEach(E=>{h=h?h+"/"+E:E,C.add(h)})}),{files:m,folders:C}}),f=()=>[...s.value.querySelectorAll("li > a")],g=m=>{s.value.querySelector(".tree-focused")?.classList.remove("tree-focused"),m&&(o=m.dataset.path,m.classList.add("tree-focused"),m.scrollIntoView?.({block:"nearest"}),s.value.focus())};function b(m){let C=f(),A=s.value.querySelector(".tree-focused")||C[0],h=C.indexOf(A);if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(m.key)||(m.preventDefault(),m.key==="ArrowDown"&&g(C[(h+1)%C.length]),m.key==="ArrowUp"&&g(C[(h-1+C.length)%C.length]),!A))return;let E=A.closest("li");m.key==="ArrowRight"&&E.classList.contains("folder")&&(E.classList.contains("open")?g(E.querySelector(":scope > ul > li > a")):A.click()),m.key==="ArrowLeft"&&(E.classList.contains("folder")&&E.classList.contains("open")?A.click():g(E.parentElement.closest("li.folder")?.querySelector(":scope > a"))),m.key==="Enter"&&A.click()}function k(m,C=""){let A=[...m].sort((h,E)=>+!!E.children-+!!h.children||h.name.localeCompare(E.name));return De("ul",A.flatMap(h=>{let E=h,N=E.name,R=(C+"/"+N).slice(1);if(c.value&&!c.value.files.has(R)&&!c.value.folders.has(R))return[];for(;E.children?.length===1;)E=E.children[0],N+="/"+E.name;let P=C+"/"+N,H=!!E.children,q=c.value?r[P]!==!1:!!r[P],z=H&&e.page?.options?.truncatedFolders?.includes(P.slice(1)),ie=De("span",{class:H?"tree-icon-folder":"far fa-file tree-icon-file","aria-hidden":"true"},H?De("svg",{viewBox:"0 0 14 12",focusable:"false"},De("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})):null),ae=De("span",{class:"tree-name",title:N.replace(/\bXXXX-(\d+)\b/g,"[redacted term $1]")},HL(N)),_=Z=>{g(Z.currentTarget),H&&(Z.preventDefault(),r[P]=!q,r[P]&&!E.children.length&&e.page.getFiles(P.slice(1)),Ze(()=>g(f().find(he=>he.dataset.path===o))))},Y=De("a",{"data-path":P,href:H?void 0:`/r/${encodeURIComponent(t.params.repoId)}${encodePathForUrl(P)}`,class:{"tree-focused":o===P},onClick:_},[H?De("span",{class:"tree-toggle"}):De("span",{class:"tree-spacer"}),ie,ae,z?De("span",{class:"truncated-warning",title:e.page.fmt.translate("WARNINGS.folder_truncated")},De("i",{class:"fas fa-exclamation-triangle"})):null]);return De("li",{key:P,class:{file:!0,folder:H,open:q,active:a()===P,truncated:z},title:H?"":`Size: ${BL(E.size||0)}`},[Y,H&&q?k(E.children,P):null])}))}return()=>De("tree",{ref:s,tabindex:0,onKeydown:b},e.file?.length?c.value?.files.size===0?De("div",{class:"tree-search-empty"},"No files found"):k(i.value):"Empty repository")}};function sd(){return ze({errors:{},dirty:!1,touched:!1,submitted:!1,get invalid(){return Object.values(this.errors).some(Boolean)},setValidity(e,t){this.errors[e]=!t},setDirty(){this.dirty=!0}})}function od(e,t){if(!e[t]){let s=sd();Object.defineProperty(s,"invalid",{get(){return Object.values(s.errors).some(Boolean)||Object.keys(s).some(r=>r!=="invalid"&&s[r]&&typeof s[r]=="object"&&s[r].invalid)}}),e[t]=s}return e[t]}var rd={beforeMount(e,{value:t}){e._formState=od(t,e.name),e.addEventListener("submit",s=>s.preventDefault())}};function GL(e){return e instanceof Date?isNaN(e)?"":`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:e||""}function nd(e){let t=e._field.binding.value;e.type==="checkbox"?e.checked=!!t:e.type==="radio"?e.checked=t==(e._value??e.value):e._field.timer||(e.value=e.type==="date"?GL(t):t??""),fr(e)}function fr(e){let t=e._field.validation;if(!t)return;let s=e.validity;for(let[r,o]of Object.entries({required:s.valueMissing,pattern:s.patternMismatch,min:s.rangeUnderflow,max:s.rangeOverflow,date:s.badInput,email:s.typeMismatch&&e.type==="email",url:s.typeMismatch&&e.type==="url"}))t.setValidity(r,e.disabled||!o)}var id={beforeMount(e,{value:t}){var a;let s=t.form&&od(t.state,t.form),r=s&&e.name?s[a=e.name]||(s[a]=sd()):null;e._field={binding:t,validation:r,timer:null};let o=()=>{clearTimeout(e._field.timer),e._field.timer=null;let c=e._field.binding,f=e.type==="checkbox"?e.checked:e._value??e.value;if(!(e.type==="radio"&&!e.checked)){if((e.type==="number"||e.type==="range")&&(f=e.value===""?null:Number(e.value)),e.type==="date"&&(f=e.value?new Date(e.value+"T00:00:00"):null),r){r.setDirty();for(let g of Object.keys(r.errors))r.setValidity(g,!0)}c.set(f),fr(e),c.change?.()}};e._field.commit=o;let i=c=>{let f=e._field.binding.options?.debounce||0,g=typeof f=="number"?f:f[c.type]??f.default??0;clearTimeout(e._field.timer),g?e._field.timer=setTimeout(o,g):o()};e.addEventListener(e.tagName==="SELECT"||["checkbox","radio","date"].includes(e.type)?"change":"input",i),e.addEventListener("blur",()=>{r&&(r.touched=!0),e._field.timer&&o()})},mounted:nd,updated(e,{value:t}){e._field.binding=t,nd(e)},beforeUnmount(e){clearTimeout(e._field.timer);let{binding:t,validation:s}=e._field,r=t.form&&t.state[t.form];r&&r[e.name]===s&&delete r[e.name]}};function ad(e,t){let s=e.target.closest("form");if(s?._formState&&(s._formState.submitted=!0),s?.querySelectorAll("input, select, textarea").forEach(r=>{r._field?.timer&&r._field.commit(),r._field&&fr(r)}),s&&!s.checkValidity()){let r=s.querySelector(":invalid");r?.scrollIntoView?.({block:"center"}),r?.focus(),s.reportValidity();return}return t()}var ld=Symbol("session"),WL=/^\/(w|api|github)(\/|$)/;function dd(e,t={}){let s=e?.split(".").reduce((r,o)=>r?.[o],ro);return String(s??e??"").replace(/{{\s*([^}]+?)\s*}}/g,(r,o)=>t[o]??"")}var KL={...pr,translate:dd};function YL(e){if(e==null||e==="")return e;try{let t=new URL(e,window.location.href);return["http:","https:","mailto:","tel:","blob:"].includes(t.protocol)?e:void 0}catch{return}}function JL(e="#app",t={}){!t.history&&window.location.pathname==="/"&&/^#!\/r\/[^/?#]+/.test(window.location.hash)&&window.history.replaceState(window.history.state,"",window.location.hash.slice(2));let s=new Map,r=jl(t.fetch),o,i;function a(){let g=ut(),b={url(m){return m===void 0?i.currentRoute.value.fullPath:(i.push(m),b)},path(){return i.currentRoute.value.path},search(){return i.currentRoute.value.query}},k=new Proxy({},{get(m,C){let A=i.currentRoute.value.params[C];return Array.isArray(A)?A.join("/"):A}});return{http:r,...g,location:b,params:k,window,promises:Gl,html:{trustAsHtml:m=>m},translate:(m,C)=>Promise.resolve(dd(m,C)),quotaService:Wl(r)}}function c(g){return{name:g.template,setup(){let b=ar(dt(ld),s);g.setup(b,a()),Bl(g.template,b);let k=[];return()=>ao[g.template](b,k)}}}i=ja({history:t.history||za(),routes:fl.map(g=>g.redirect?g:{path:g.path,component:c(g),meta:{title:g.title,preserveExplorer:g.preserveExplorer}})});let f=la({setup(){o=ar(null,s),o.fmt=KL,o.window=window,o.Math=Math,o.sanitize=m=>DOMPurify.sanitize(m??""),o.submitForm=ad,o.safeUrl=YL;let g=a();Ka(o,g.http,g.location,g.timeout),ln(ld,o),He(()=>o.title,m=>{document.title=m||"Anonymous GitHub"});let b=[],k=m=>{let C=m.target.closest?.("a[href]");if(m.defaultPrevented||m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey||!C||C.hasAttribute("download")||C.target&&C.target!=="_self"||C.dataset.toggle||C.getAttribute("href").startsWith("#"))return;let h=new URL(C.href,window.location.href);h.origin!==window.location.origin||WL.test(h.pathname)||(m.preventDefault(),i.push(h.pathname+h.search+h.hash),$("#navbarSupportedContent.show").collapse("hide"))};return document.addEventListener("click",k),dn(()=>document.removeEventListener("click",k)),()=>[Hl(o,[]),/^\/(r|repository)\//.test(o.path||"")?null:De("header",{class:["app-header",{"is-contained":o.path==="/"||o.path==="/faq"}]},ao["partials/header.htm"](o,b)),De("main",{class:"app-view align-items-stretch w-100"},De(ir,null,{default:({Component:m,route:C})=>m?De(m,{key:C.meta.preserveExplorer?C.matched[0]?.path:C.path}):null})),De("div",{class:"position-fixed p-3",style:{zIndex:999999999,right:0,bottom:0}},o.toasts.map((m,C)=>De("div",{class:"toast show",role:"alert","aria-live":"assertive","aria-atomic":"true",key:C},[De("div",{class:"toast-header"},[De("strong",{class:"mr-auto"},m.title),De("button",{type:"button",class:"ml-2 mb-1 close","aria-label":"Close",onClick:()=>o.removeToast(m)},"\xD7")]),De("div",{class:"toast-body"},m.body)])))]}});for(let[g,b]of Object.entries(Zl))f.component(g,b);return f.component("Tree",td),f.component("PartialView",{props:["name","state"],setup(g){let b=[];return()=>ao[g.name](g.state,b)}}),f.directive("field",id),f.directive("form",rd),f.directive("code-editor",xl),f.directive("paper-scrollspy",ed),f.use(i),i.beforeEach(async g=>{o?.emit("routeLeave"),/^\/(r|repository|anonymize|pull-request-anonymize|gist-anonymize|pr|gist)(\/|$)/.test(g.path)&&await en("markdown"),/^\/(r|repository)\//.test(g.path)&&await en("org")}),i.afterEach(g=>{if(!o)return;o.title=g.meta.title,o.emit("routeChange",{title:g.meta.title}),o.emit("routeUpdate",{title:g.meta.title});let b=document.querySelector(".app-view");!g.meta.preserveExplorer&&b&&(b.scrollTop=0)}),f.mount(e),{app:f,router:i,state:o}}document.querySelector("#app")&&(window.anonymousApp=JL());})(); /*! Bundled license information: @vue/shared/dist/shared.esm-bundler.js: