From a5b522c9965c9d4504aa7ee5a9397ee9ebeb27cb Mon Sep 17 00:00:00 2001 From: Lukasz Raczylo Date: Fri, 12 Dec 2025 20:42:58 +0000 Subject: [PATCH] Improve mobile responsiveness, explain scoring, simple search. --- .../site/dist/assets/index-B0t9NqXA.css | 1 + .../site/dist/assets/index-DOVyCPqp.css | 1 - .../site/dist/assets/index-DSNTKr2U.js | 11 + .../site/dist/assets/index-IALpeAps.js | 1 - internal/generator/site/dist/index.html | 4 +- web/src/components/DataTable.vue | 4 +- web/src/components/Navbar.vue | 49 +- web/src/components/StatCard.vue | 8 +- web/src/components/VelocityChart.vue | 46 +- web/src/main.js | 2 + web/src/views/Dashboard.vue | 14 +- web/src/views/HowScoringWorks.vue | 823 ++++++++++++++++++ web/src/views/Leaderboard.vue | 42 +- web/src/views/Repository.vue | 42 +- 14 files changed, 1007 insertions(+), 41 deletions(-) create mode 100644 internal/generator/site/dist/assets/index-B0t9NqXA.css delete mode 100644 internal/generator/site/dist/assets/index-DOVyCPqp.css create mode 100644 internal/generator/site/dist/assets/index-DSNTKr2U.js delete mode 100644 internal/generator/site/dist/assets/index-IALpeAps.js create mode 100644 web/src/views/HowScoringWorks.vue diff --git a/internal/generator/site/dist/assets/index-B0t9NqXA.css b/internal/generator/site/dist/assets/index-B0t9NqXA.css new file mode 100644 index 0000000..4f8e850 --- /dev/null +++ b/internal/generator/site/dist/assets/index-B0t9NqXA.css @@ -0,0 +1 @@ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-900:oklch(35.9% .144 278.697);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:#fdf2f8;--color-primary-100:#fce7f3;--color-primary-300:#f9a8d4;--color-primary-400:#f472b6;--color-primary-500:#ec4899;--color-primary-600:#db2777;--color-primary-700:#be185d;--color-primary-900:#831843;--color-accent-50:#faf5ff;--color-accent-100:#f3e8ff;--color-accent-400:#c084fc;--color-accent-500:#a855f7;--color-accent-600:#9333ea;--color-accent-900:#581c87;--animate-fade-in-up:fadeInUp .6s ease-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-3{right:calc(var(--spacing)*3)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-16{margin-top:calc(var(--spacing)*16)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.btn-primary{background-image:linear-gradient(to right,var(--color-primary-500),var(--color-accent-500));color:#fff;border-radius:.5rem;align-items:center;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 10px 40px -10px #00000026}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-\[200px\]{height:200px}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-32{width:calc(var(--spacing)*32)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[280px\]{max-width:280px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-fade-in-up{animation:.6s ease-out fadeInUp;animation:var(--animate-fade-in-up)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.scroll-smooth{scroll-behavior:smooth}.card{border-radius:.75rem;padding:1.5rem}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-gray-900{border-top-color:var(--color-gray-900)}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#ffffffb3;border:1px solid #fff3}.bg-accent-50{background-color:var(--color-accent-50)}.bg-accent-100{background-color:var(--color-accent-100)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-500{background-color:var(--color-pink-500)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-stone-500{background-color:var(--color-stone-500)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.gradient-text{background-image:linear-gradient(to right,var(--color-primary-400),var(--color-accent-400));color:#0000;-webkit-background-clip:text;background-clip:text}.score-card{background-image:linear-gradient(90deg,#f472b61a,#c084fc1a);border:1px solid #f472b633}.rank-1{background-image:linear-gradient(90deg,#facc15,#f59e0b)}.rank-2{background-image:linear-gradient(90deg,#94a3b8,#64748b)}.rank-3{background-image:linear-gradient(90deg,#d97706,#b45309)}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-400{--tw-gradient-from:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-400{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-400{--tw-gradient-from:var(--color-orange-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-500{--tw-gradient-from:var(--color-primary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400{--tw-gradient-from:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-stone-400{--tw-gradient-from:var(--color-stone-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500{--tw-gradient-from:var(--color-yellow-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-accent-500{--tw-gradient-to:var(--color-accent-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-fuchsia-600{--tw-gradient-to:var(--color-fuchsia-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-500{--tw-gradient-to:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-500{--tw-gradient-to:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-600{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-stone-500{--tw-gradient-to:var(--color-stone-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-10{padding-right:calc(var(--spacing)*10)}.pr-25{padding-right:calc(var(--spacing)*25)}.pr-50{padding-right:calc(var(--spacing)*50)}.pr-100{padding-right:calc(var(--spacing)*100)}.pr-250{padding-right:calc(var(--spacing)*250)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.nav-link-active{color:var(--color-primary-500);font-weight:500}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.nav-link{color:#374151;transition:color .2s}.text-accent-500{color:var(--color-accent-500)}.text-accent-600{color:var(--color-accent-600)}.text-amber-500{color:var(--color-amber-500)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-cyan-500{color:var(--color-cyan-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-700{color:var(--color-green-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-500{color:var(--color-orange-500)}.text-orange-700{color:var(--color-orange-700)}.text-pink-500{color:var(--color-pink-500)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-rose-500{color:var(--color-rose-500)}.text-teal-500{color:var(--color-teal-500)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-modern{box-shadow:0 10px 40px -10px #00000026}.ring-transparent{--tw-ring-color:transparent}.ring-yellow-400{--tw-ring-color:var(--color-yellow-400)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:text-primary-500:is(:where(.group):hover *){color:var(--color-primary-500)}.group-hover\:ring-primary-500:is(:where(.group):hover *){--tw-ring-color:var(--color-primary-500)}.group-hover\/badge\:opacity-100:is(:where(.group\/badge):hover *){opacity:1}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-primary-500:hover{color:var(--color-primary-500)}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:mx-0{margin-inline:calc(var(--spacing)*0)}.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:mb-6{margin-bottom:calc(var(--spacing)*6)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:table-cell{display:table-cell}.sm\:h-8{height:calc(var(--spacing)*8)}.sm\:h-\[280px\]{height:280px}.sm\:w-8{width:calc(var(--spacing)*8)}.sm\:w-64{width:calc(var(--spacing)*64)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:py-16{padding-block:calc(var(--spacing)*16)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:whitespace-pre{white-space:pre}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:h-\[320px\]{height:320px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-start{justify-content:flex-start}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.md\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.md\:text-left{text-align:left}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(prefers-color-scheme:dark){:where(.dark\:divide-gray-700>:not(:last-child)),.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-gray-800{border-color:var(--color-gray-800)}.dark\:border-t-gray-800{border-top-color:var(--color-gray-800)}.dark\:bg-accent-900\/20{background-color:#581c8733}@supports (color:color-mix(in lab,red,red)){.dark\:bg-accent-900\/20{background-color:color-mix(in oklab,var(--color-accent-900)20%,transparent)}}.dark\:bg-accent-900\/30{background-color:#581c874d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-accent-900\/30{background-color:color-mix(in oklab,var(--color-accent-900)30%,transparent)}}.dark\:bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark\:bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\:bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\:bg-indigo-900\/20{background-color:#312c8533}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/20{background-color:color-mix(in oklab,var(--color-indigo-900)20%,transparent)}}.dark\:bg-indigo-900\/30{background-color:#312c854d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/30{background-color:color-mix(in oklab,var(--color-indigo-900)30%,transparent)}}.dark\:bg-orange-900\/20{background-color:#7e2a0c33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-900\/20{background-color:color-mix(in oklab,var(--color-orange-900)20%,transparent)}}.dark\:bg-primary-900\/20{background-color:#83184333}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-900\/20{background-color:color-mix(in oklab,var(--color-primary-900)20%,transparent)}}.dark\:bg-primary-900\/30{background-color:#8318434d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-900\/30{background-color:color-mix(in oklab,var(--color-primary-900)30%,transparent)}}.dark\:bg-purple-900\/20{background-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/20{background-color:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.dark\:bg-purple-900\/30{background-color:#59168b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/30{background-color:color-mix(in oklab,var(--color-purple-900)30%,transparent)}}.dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900)20%,transparent)}}.dark\:from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-gray-800{--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-accent-400{color:var(--color-accent-400)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-indigo-400{color:var(--color-indigo-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-primary-400{color:var(--color-primary-400)}.dark\:text-purple-300{color:var(--color-purple-300)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-white{color:var(--color-white)}.dark\:text-yellow-400{color:var(--color-yellow-400)}@media(hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-gray-800\/30:hover{background-color:#1e29394d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-gray-800\/30:hover{background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}}.dark\:hover\:bg-primary-900\/30:hover{background-color:#8318434d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-primary-900\/30:hover{background-color:color-mix(in oklab,var(--color-primary-900)30%,transparent)}}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-primary-300:hover{color:var(--color-primary-300)}}}}.dark .glass{background-color:#111827b3;border-color:#ffffff1a}.dark .shadow-modern{box-shadow:0 10px 40px -10px #0006}.dark .score-card{background-image:linear-gradient(90deg,#f472b60d,#c084fc0d);border-color:#f472b61a}.btn-primary:hover{background-image:linear-gradient(to right,var(--color-primary-600),var(--color-accent-600))}.nav-link:hover{color:var(--color-primary-500)}.dark .nav-link{color:#e5e7eb}.dark .nav-link:hover{color:var(--color-primary-400)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.velocity-chart[data-v-3b28013a]{position:relative;width:100%} diff --git a/internal/generator/site/dist/assets/index-DOVyCPqp.css b/internal/generator/site/dist/assets/index-DOVyCPqp.css deleted file mode 100644 index f287a05..0000000 --- a/internal/generator/site/dist/assets/index-DOVyCPqp.css +++ /dev/null @@ -1 +0,0 @@ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-100:#fce7f3;--color-primary-300:#f9a8d4;--color-primary-400:#f472b6;--color-primary-500:#ec4899;--color-primary-600:#db2777;--color-primary-700:#be185d;--color-primary-900:#831843;--color-accent-400:#c084fc;--color-accent-500:#a855f7;--color-accent-600:#9333ea;--animate-fade-in-up:fadeInUp .6s ease-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-16{margin-top:calc(var(--spacing)*16)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.btn-primary{background-image:linear-gradient(to right,var(--color-primary-500),var(--color-accent-500));color:#fff;border-radius:.5rem;align-items:center;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 10px 40px -10px #00000026}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-32{width:calc(var(--spacing)*32)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[280px\]{max-width:280px}.flex-1{flex:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-fade-in-up{animation:.6s ease-out fadeInUp;animation:var(--animate-fade-in-up)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.card{border-radius:.75rem;padding:1.5rem}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-gray-900{border-top-color:var(--color-gray-900)}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#ffffffb3;border:1px solid #fff3}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-500{background-color:var(--color-green-500)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-500{background-color:var(--color-pink-500)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-stone-500{background-color:var(--color-stone-500)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.gradient-text{background-image:linear-gradient(to right,var(--color-primary-400),var(--color-accent-400));color:#0000;-webkit-background-clip:text;background-clip:text}.score-card{background-image:linear-gradient(90deg,#f472b61a,#c084fc1a);border:1px solid #f472b633}.rank-1{background-image:linear-gradient(90deg,#facc15,#f59e0b)}.rank-2{background-image:linear-gradient(90deg,#94a3b8,#64748b)}.rank-3{background-image:linear-gradient(90deg,#d97706,#b45309)}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-400{--tw-gradient-from:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-400{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-400{--tw-gradient-from:var(--color-orange-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-500{--tw-gradient-from:var(--color-primary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400{--tw-gradient-from:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-stone-400{--tw-gradient-from:var(--color-stone-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-accent-500{--tw-gradient-to:var(--color-accent-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-fuchsia-600{--tw-gradient-to:var(--color-fuchsia-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-500{--tw-gradient-to:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-500{--tw-gradient-to:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-600{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-stone-500{--tw-gradient-to:var(--color-stone-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-10{padding-right:calc(var(--spacing)*10)}.pr-25{padding-right:calc(var(--spacing)*25)}.pr-50{padding-right:calc(var(--spacing)*50)}.pr-100{padding-right:calc(var(--spacing)*100)}.pr-250{padding-right:calc(var(--spacing)*250)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.nav-link-active{color:var(--color-primary-500);font-weight:500}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.nav-link{color:#374151;transition:color .2s}.text-accent-500{color:var(--color-accent-500)}.text-amber-500{color:var(--color-amber-500)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-500{color:var(--color-cyan-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-500{color:var(--color-green-500)}.text-indigo-500{color:var(--color-indigo-500)}.text-orange-500{color:var(--color-orange-500)}.text-pink-500{color:var(--color-pink-500)}.text-primary-500{color:var(--color-primary-500)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-800{color:var(--color-purple-800)}.text-red-500{color:var(--color-red-500)}.text-rose-500{color:var(--color-rose-500)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-modern{box-shadow:0 10px 40px -10px #00000026}.ring-transparent{--tw-ring-color:transparent}.ring-yellow-400{--tw-ring-color:var(--color-yellow-400)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:text-primary-500:is(:where(.group):hover *){color:var(--color-primary-500)}.group-hover\:ring-primary-500:is(:where(.group):hover *){--tw-ring-color:var(--color-primary-500)}.group-hover\/badge\:opacity-100:is(:where(.group\/badge):hover *){opacity:1}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:text-primary-500:hover{color:var(--color-primary-500)}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}@media(min-width:40rem){.sm\:table-cell{display:table-cell}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-start{justify-content:flex-start}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.md\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.md\:text-left{text-align:left}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(prefers-color-scheme:dark){:where(.dark\:divide-gray-700>:not(:last-child)),.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-t-gray-800{border-top-color:var(--color-gray-800)}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\:bg-purple-900\/30{background-color:#59168b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/30{background-color:color-mix(in oklab,var(--color-purple-900)30%,transparent)}}.dark\:from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-gray-800{--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-purple-300{color:var(--color-purple-300)}.dark\:text-white{color:var(--color-white)}@media(hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-gray-800\/30:hover{background-color:#1e29394d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-gray-800\/30:hover{background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}}.dark\:hover\:bg-primary-900\/30:hover{background-color:#8318434d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-primary-900\/30:hover{background-color:color-mix(in oklab,var(--color-primary-900)30%,transparent)}}.dark\:hover\:text-primary-300:hover{color:var(--color-primary-300)}}}}.dark .glass{background-color:#111827b3;border-color:#ffffff1a}.dark .shadow-modern{box-shadow:0 10px 40px -10px #0006}.dark .score-card{background-image:linear-gradient(90deg,#f472b60d,#c084fc0d);border-color:#f472b61a}.btn-primary:hover{background-image:linear-gradient(to right,var(--color-primary-600),var(--color-accent-600))}.nav-link:hover{color:var(--color-primary-500)}.dark .nav-link{color:#e5e7eb}.dark .nav-link:hover{color:var(--color-primary-400)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.velocity-chart[data-v-401bbb13]{position:relative;width:100%} diff --git a/internal/generator/site/dist/assets/index-DSNTKr2U.js b/internal/generator/site/dist/assets/index-DSNTKr2U.js new file mode 100644 index 0000000..10733ce --- /dev/null +++ b/internal/generator/site/dist/assets/index-DSNTKr2U.js @@ -0,0 +1,11 @@ +import{C as dn,r as La}from"./chart-Bcjh2pZL.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function s(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=s(n);fetch(n.href,i)}})();function Dr(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const de={},Wt=[],it=()=>{},ii=()=>!1,qs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Nr=e=>e.startsWith("onUpdate:"),Te=Object.assign,Lr=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ja=Object.prototype.hasOwnProperty,ae=(e,t)=>ja.call(e,t),q=Array.isArray,Kt=e=>Rs(e)==="[object Map]",Us=e=>Rs(e)==="[object Set]",un=e=>Rs(e)==="[object Date]",z=e=>typeof e=="function",he=e=>typeof e=="string",Ke=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",ai=e=>(ue(e)||z(e))&&z(e.then)&&z(e.catch),oi=Object.prototype.toString,Rs=e=>oi.call(e),Fa=e=>Rs(e).slice(8,-1),li=e=>Rs(e)==="[object Object]",jr=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,cs=Dr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ws=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Va=/-\w/g,qe=Ws(e=>e.replace(Va,t=>t.slice(1).toUpperCase())),Ha=/\B([A-Z])/g,jt=Ws(e=>e.replace(Ha,"-$1").toLowerCase()),Ks=Ws(e=>e.charAt(0).toUpperCase()+e.slice(1)),ar=Ws(e=>e?`on${Ks(e)}`:""),St=(e,t)=>!Object.is(e,t),Os=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:s})},Fr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let fn;const zs=()=>fn||(fn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function At(e){if(q(e)){const t={};for(let s=0;s{if(s){const r=s.split(Ga);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Q(e){let t="";if(he(e))t=e;else if(q(e))for(let s=0;sQs(s,t))}const fi=e=>!!(e&&e.__v_isRef===!0),v=e=>he(e)?e:e==null?"":q(e)||ue(e)&&(e.toString===oi||!z(e.toString))?fi(e)?v(e.value):JSON.stringify(e,mi,2):String(e),mi=(e,t)=>fi(t)?mi(e,t.value):Kt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[r,n],i)=>(s[or(r,i)+" =>"]=n,s),{})}:Us(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>or(s))}:Ke(t)?or(t):ue(t)&&!q(t)&&!li(t)?String(t):t,or=(e,t="")=>{var s;return Ke(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let Le;class Qa{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Le,!t&&Le&&(this.index=(Le.scopes||(Le.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(Le=this.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(us){let t=us;for(us=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;ds;){let t=ds;for(ds=void 0;t;){const 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 xi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function yi(e){let t,s=e.depsTail,r=s;for(;r;){const n=r.prevDep;r.version===-1?(r===s&&(s=n),Br(r),Ya(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=n}e.deps=t,e.depsTail=s}function br(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(vi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function vi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xs)||(e.globalVersion=xs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!br(e))))return;e.flags|=2;const t=e.dep,s=me,r=We;me=e,We=!0;try{xi(e);const n=e.fn(e._value);(t.version===0||St(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{me=s,We=r,yi(e),e.flags&=-3}}function Br(e,t=!1){const{dep:s,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.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)Br(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Ya(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let We=!0;const bi=[];function mt(){bi.push(We),We=!1}function gt(){const e=bi.pop();We=e===void 0?!0:e}function mn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=me;me=void 0;try{t()}finally{me=s}}}let xs=0;class Xa{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}}class Gr{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(!me||!We||me===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==me)s=this.activeLink=new Xa(me,this),me.deps?(s.prevDep=me.depsTail,me.depsTail.nextDep=s,me.depsTail=s):me.deps=me.depsTail=s,_i(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const r=s.nextDep;r.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=r),s.prevDep=me.depsTail,s.nextDep=void 0,me.depsTail.nextDep=s,me.depsTail=s,me.deps===s&&(me.deps=r)}return s}trigger(t){this.version++,xs++,this.notify(t)}notify(t){Vr();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Hr()}}}function _i(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)_i(r)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const _r=new WeakMap,Dt=Symbol(""),kr=Symbol(""),ys=Symbol("");function Se(e,t,s){if(We&&me){let r=_r.get(e);r||_r.set(e,r=new Map);let n=r.get(s);n||(r.set(s,n=new Gr),n.map=r,n.key=s),n.track()}}function ut(e,t,s,r,n,i){const a=_r.get(e);if(!a){xs++;return}const o=l=>{l&&l.trigger()};if(Vr(),t==="clear")a.forEach(o);else{const l=q(e),c=l&&jr(s);if(l&&s==="length"){const u=Number(r);a.forEach((f,p)=>{(p==="length"||p===ys||!Ke(p)&&p>=u)&&o(f)})}else switch((s!==void 0||a.has(void 0))&&o(a.get(s)),c&&o(a.get(ys)),t){case"add":l?c&&o(a.get("length")):(o(a.get(Dt)),Kt(e)&&o(a.get(kr)));break;case"delete":l||(o(a.get(Dt)),Kt(e)&&o(a.get(kr)));break;case"set":Kt(e)&&o(a.get(Dt));break}}Hr()}function Gt(e){const t=ie(e);return t===e?t:(Se(t,"iterate",ys),Be(e)?t:t.map(ze))}function Js(e){return Se(e=ie(e),"iterate",ys),e}function kt(e,t){return pt(e)?Nt(e)?Xt(ze(t)):Xt(t):ze(t)}const Za={__proto__:null,[Symbol.iterator](){return cr(this,Symbol.iterator,e=>kt(this,e))},concat(...e){return Gt(this).concat(...e.map(t=>q(t)?Gt(t):t))},entries(){return cr(this,"entries",e=>(e[1]=kt(this,e[1]),e))},every(e,t){return lt(this,"every",e,t,void 0,arguments)},filter(e,t){return lt(this,"filter",e,t,s=>s.map(r=>kt(this,r)),arguments)},find(e,t){return lt(this,"find",e,t,s=>kt(this,s),arguments)},findIndex(e,t){return lt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return lt(this,"findLast",e,t,s=>kt(this,s),arguments)},findLastIndex(e,t){return lt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return lt(this,"forEach",e,t,void 0,arguments)},includes(...e){return dr(this,"includes",e)},indexOf(...e){return dr(this,"indexOf",e)},join(e){return Gt(this).join(e)},lastIndexOf(...e){return dr(this,"lastIndexOf",e)},map(e,t){return lt(this,"map",e,t,void 0,arguments)},pop(){return ns(this,"pop")},push(...e){return ns(this,"push",e)},reduce(e,...t){return gn(this,"reduce",e,t)},reduceRight(e,...t){return gn(this,"reduceRight",e,t)},shift(){return ns(this,"shift")},some(e,t){return lt(this,"some",e,t,void 0,arguments)},splice(...e){return ns(this,"splice",e)},toReversed(){return Gt(this).toReversed()},toSorted(e){return Gt(this).toSorted(e)},toSpliced(...e){return Gt(this).toSpliced(...e)},unshift(...e){return ns(this,"unshift",e)},values(){return cr(this,"values",e=>kt(this,e))}};function cr(e,t,s){const r=Js(e),n=r[t]();return r!==e&&!Be(e)&&(n._next=n.next,n.next=()=>{const i=n._next();return i.done||(i.value=s(i.value)),i}),n}const eo=Array.prototype;function lt(e,t,s,r,n,i){const a=Js(e),o=a!==e&&!Be(e),l=a[t];if(l!==eo[t]){const f=l.apply(e,i);return o?ze(f):f}let c=s;a!==e&&(o?c=function(f,p){return s.call(this,kt(e,f),p,e)}:s.length>2&&(c=function(f,p){return s.call(this,f,p,e)}));const u=l.call(a,c,r);return o&&n?n(u):u}function gn(e,t,s,r){const n=Js(e);let i=s;return n!==e&&(Be(e)?s.length>3&&(i=function(a,o,l){return s.call(this,a,o,l,e)}):i=function(a,o,l){return s.call(this,a,kt(e,o),l,e)}),n[t](i,...r)}function dr(e,t,s){const r=ie(e);Se(r,"iterate",ys);const n=r[t](...s);return(n===-1||n===!1)&&Wr(s[0])?(s[0]=ie(s[0]),r[t](...s)):n}function ns(e,t,s=[]){mt(),Vr();const r=ie(e)[t].apply(e,s);return Hr(),gt(),r}const to=Dr("__proto__,__v_isRef,__isVue"),ki=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ke));function so(e){Ke(e)||(e=String(e));const t=ie(this);return Se(t,"has",e),t.hasOwnProperty(e)}class wi{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,r){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return i;if(s==="__v_raw")return r===(n?i?mo:Ai:i?Si:Ri).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const a=q(t);if(!n){let l;if(a&&(l=Za[s]))return l;if(s==="hasOwnProperty")return so}const o=Reflect.get(t,s,Ee(t)?t:r);if((Ke(s)?ki.has(s):to(s))||(n||Se(t,"get",s),i))return o;if(Ee(o)){const l=a&&jr(s)?o:o.value;return n&&ue(l)?Cr(l):l}return ue(o)?n?Cr(o):Ys(o):o}}class Ci extends wi{constructor(t=!1){super(!1,t)}set(t,s,r,n){let i=t[s];const a=q(t)&&jr(s);if(!this._isShallow){const c=pt(i);if(!Be(r)&&!pt(r)&&(i=ie(i),r=ie(r)),!a&&Ee(i)&&!Ee(r))return c||(i.value=r),!0}const o=a?Number(s)e,Ps=e=>Reflect.getPrototypeOf(e);function oo(e,t,s){return function(...r){const n=this.__v_raw,i=ie(n),a=Kt(i),o=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=n[e](...r),u=s?wr:t?Xt:ze;return!t&&Se(i,"iterate",l?kr:Dt),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:o?[u(f[0]),u(f[1])]:u(f),done:p}},[Symbol.iterator](){return this}}}}function Ts(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function lo(e,t){const s={get(n){const i=this.__v_raw,a=ie(i),o=ie(n);e||(St(n,o)&&Se(a,"get",n),Se(a,"get",o));const{has:l}=Ps(a),c=t?wr:e?Xt:ze;if(l.call(a,n))return c(i.get(n));if(l.call(a,o))return c(i.get(o));i!==a&&i.get(n)},get size(){const n=this.__v_raw;return!e&&Se(ie(n),"iterate",Dt),n.size},has(n){const i=this.__v_raw,a=ie(i),o=ie(n);return e||(St(n,o)&&Se(a,"has",n),Se(a,"has",o)),n===o?i.has(n):i.has(n)||i.has(o)},forEach(n,i){const a=this,o=a.__v_raw,l=ie(o),c=t?wr:e?Xt:ze;return!e&&Se(l,"iterate",Dt),o.forEach((u,f)=>n.call(i,c(u),c(f),a))}};return Te(s,e?{add:Ts("add"),set:Ts("set"),delete:Ts("delete"),clear:Ts("clear")}:{add(n){!t&&!Be(n)&&!pt(n)&&(n=ie(n));const i=ie(this);return Ps(i).has.call(i,n)||(i.add(n),ut(i,"add",n,n)),this},set(n,i){!t&&!Be(i)&&!pt(i)&&(i=ie(i));const a=ie(this),{has:o,get:l}=Ps(a);let c=o.call(a,n);c||(n=ie(n),c=o.call(a,n));const u=l.call(a,n);return a.set(n,i),c?St(i,u)&&ut(a,"set",n,i):ut(a,"add",n,i),this},delete(n){const i=ie(this),{has:a,get:o}=Ps(i);let l=a.call(i,n);l||(n=ie(n),l=a.call(i,n)),o&&o.call(i,n);const c=i.delete(n);return l&&ut(i,"delete",n,void 0),c},clear(){const n=ie(this),i=n.size!==0,a=n.clear();return i&&ut(n,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=oo(n,e,t)}),s}function qr(e,t){const s=lo(e,t);return(r,n,i)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?r:Reflect.get(ae(s,n)&&n in r?s:r,n,i)}const co={get:qr(!1,!1)},uo={get:qr(!1,!0)},fo={get:qr(!0,!1)};const Ri=new WeakMap,Si=new WeakMap,Ai=new WeakMap,mo=new WeakMap;function go(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function po(e){return e.__v_skip||!Object.isExtensible(e)?0:go(Fa(e))}function Ys(e){return pt(e)?e:Ur(e,!1,no,co,Ri)}function Ei(e){return Ur(e,!1,ao,uo,Si)}function Cr(e){return Ur(e,!0,io,fo,Ai)}function Ur(e,t,s,r,n){if(!ue(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=po(e);if(i===0)return e;const a=n.get(e);if(a)return a;const o=new Proxy(e,i===2?r:s);return n.set(e,o),o}function Nt(e){return pt(e)?Nt(e.__v_raw):!!(e&&e.__v_isReactive)}function pt(e){return!!(e&&e.__v_isReadonly)}function Be(e){return!!(e&&e.__v_isShallow)}function Wr(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function ho(e){return!ae(e,"__v_skip")&&Object.isExtensible(e)&&ci(e,"__v_skip",!0),e}const ze=e=>ue(e)?Ys(e):e,Xt=e=>ue(e)?Cr(e):e;function Ee(e){return e?e.__v_isRef===!0:!1}function xe(e){return Pi(e,!1)}function xo(e){return Pi(e,!0)}function Pi(e,t){return Ee(e)?e:new yo(e,t)}class yo{constructor(t,s){this.dep=new Gr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:ie(t),this._value=s?t:ze(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,r=this.__v_isShallow||Be(t)||pt(t);t=r?t:ie(t),St(t,s)&&(this._rawValue=t,this._value=r?t:ze(t),this.dep.trigger())}}function A(e){return Ee(e)?e.value:e}const vo={get:(e,t,s)=>t==="__v_raw"?e:A(Reflect.get(e,t,s)),set:(e,t,s,r)=>{const n=e[t];return Ee(n)&&!Ee(s)?(n.value=s,!0):Reflect.set(e,t,s,r)}};function Ti(e){return Nt(e)?e:new Proxy(e,vo)}class bo{constructor(t,s,r){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Gr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return hi(this,!0),!0}get value(){const t=this.dep.track();return vi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _o(e,t,s=!1){let r,n;return z(e)?r=e:(r=e.get,n=e.set),new bo(r,n,s)}const $s={},Ns=new WeakMap;let Ot;function ko(e,t=!1,s=Ot){if(s){let r=Ns.get(s);r||Ns.set(s,r=[]),r.push(e)}}function wo(e,t,s=de){const{immediate:r,deep:n,once:i,scheduler:a,augmentJob:o,call:l}=s,c=L=>n?L:Be(L)||n===!1||n===0?ft(L,1):ft(L);let u,f,p,h,S=!1,M=!1;if(Ee(e)?(f=()=>e.value,S=Be(e)):Nt(e)?(f=()=>c(e),S=!0):q(e)?(M=!0,S=e.some(L=>Nt(L)||Be(L)),f=()=>e.map(L=>{if(Ee(L))return L.value;if(Nt(L))return c(L);if(z(L))return l?l(L,2):L()})):z(e)?t?f=l?()=>l(e,2):e:f=()=>{if(p){mt();try{p()}finally{gt()}}const L=Ot;Ot=u;try{return l?l(e,3,[h]):e(h)}finally{Ot=L}}:f=it,t&&n){const L=f,te=n===!0?1/0:n;f=()=>ft(L(),te)}const K=Ja(),j=()=>{u.stop(),K&&K.active&&Lr(K.effects,u)};if(i&&t){const L=t;t=(...te)=>{L(...te),j()}}let N=M?new Array(e.length).fill($s):$s;const V=L=>{if(!(!(u.flags&1)||!u.dirty&&!L))if(t){const te=u.run();if(n||S||(M?te.some((ye,ge)=>St(ye,N[ge])):St(te,N))){p&&p();const ye=Ot;Ot=u;try{const ge=[te,N===$s?void 0:M&&N[0]===$s?[]:N,h];N=te,l?l(t,3,ge):t(...ge)}finally{Ot=ye}}}else u.run()};return o&&o(V),u=new gi(f),u.scheduler=a?()=>a(V,!1):V,h=L=>ko(L,!1,u),p=u.onStop=()=>{const L=Ns.get(u);if(L){if(l)l(L,4);else for(const te of L)te();Ns.delete(u)}},t?r?V(!0):N=u.run():a?a(V.bind(null,!0),!0):u.run(),j.pause=u.pause.bind(u),j.resume=u.resume.bind(u),j.stop=j,j}function ft(e,t=1/0,s){if(t<=0||!ue(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Ee(e))ft(e.value,t,s);else if(q(e))for(let r=0;r{ft(r,t,s)});else if(li(e)){for(const r in e)ft(e[r],t,s);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&ft(e[r],t,s)}return e}function Ss(e,t,s,r){try{return r?e(...r):e()}catch(n){Xs(n,t,s)}}function at(e,t,s,r){if(z(e)){const n=Ss(e,t,s,r);return n&&ai(n)&&n.catch(i=>{Xs(i,t,s)}),n}if(q(e)){const n=[];for(let i=0;i>>1,n=Ie[r],i=vs(n);i=vs(s)?Ie.push(e):Ie.splice(Ro(t),0,e),e.flags|=1,Ii()}}function Ii(){Ls||(Ls=$i.then(Di))}function So(e){q(e)?zt.push(...e):wt&&e.id===-1?wt.splice(qt+1,0,e):e.flags&1||(zt.push(e),e.flags|=1),Ii()}function pn(e,t,s=rt+1){for(;svs(s)-vs(r));if(zt.length=0,wt){wt.push(...t);return}for(wt=t,qt=0;qte.id==null?e.flags&2?-1:1/0:e.id;function Di(e){try{for(rt=0;rt{r._d&&Hs(-1);const i=js(t);let a;try{a=e(...n)}finally{js(i),r._d&&Hs(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function zr(e,t){if(Ce===null)return e;const s=sr(Ce),r=e.dirs||(e.dirs=[]);for(let n=0;ne.__isTeleport,Po=Symbol("_leaveCb");function Qr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Qr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Li(e,t){return z(e)?Te({name:e.name},t,{setup:e}):e}function ji(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Fs=new WeakMap;function fs(e,t,s,r,n=!1){if(q(e)){e.forEach((S,M)=>fs(S,t&&(q(t)?t[M]:t),s,r,n));return}if(Qt(r)&&!n){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&fs(e,t,s,r.component.subTree);return}const i=r.shapeFlag&4?sr(r.component):r.el,a=n?null:i,{i:o,r:l}=e,c=t&&t.r,u=o.refs===de?o.refs={}:o.refs,f=o.setupState,p=ie(f),h=f===de?ii:S=>ae(p,S);if(c!=null&&c!==l){if(hn(t),he(c))u[c]=null,h(c)&&(f[c]=null);else if(Ee(c)){c.value=null;const S=t;S.k&&(u[S.k]=null)}}if(z(l))Ss(l,o,12,[a,u]);else{const S=he(l),M=Ee(l);if(S||M){const K=()=>{if(e.f){const j=S?h(l)?f[l]:u[l]:l.value;if(n)q(j)&&Lr(j,i);else if(q(j))j.includes(i)||j.push(i);else if(S)u[l]=[i],h(l)&&(f[l]=u[l]);else{const N=[i];l.value=N,e.k&&(u[e.k]=N)}}else S?(u[l]=a,h(l)&&(f[l]=a)):M&&(l.value=a,e.k&&(u[e.k]=a))};if(a){const j=()=>{K(),Fs.delete(e)};j.id=-1,Fs.set(e,j),Fe(j,s)}else hn(e),K()}}}function hn(e){const t=Fs.get(e);t&&(t.flags|=8,Fs.delete(e))}zs().requestIdleCallback;zs().cancelIdleCallback;const Qt=e=>!!e.type.__asyncLoader,Fi=e=>e.type.__isKeepAlive;function To(e,t){Vi(e,"a",t)}function $o(e,t){Vi(e,"da",t)}function Vi(e,t,s=Ae){const r=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(Zs(t,r,s),s){let n=s.parent;for(;n&&n.parent;)Fi(n.parent.vnode)&&Oo(r,t,s,n),n=n.parent}}function Oo(e,t,s,r){const n=Zs(t,e,r,!0);Jr(()=>{Lr(r[t],n)},s)}function Zs(e,t,s=Ae,r=!1){if(s){const n=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...a)=>{mt();const o=As(s),l=at(t,s,e,a);return o(),gt(),l});return r?n.unshift(i):n.push(i),i}}const xt=e=>(t,s=Ae)=>{(!ks||e==="sp")&&Zs(e,(...r)=>t(...r),s)},Io=xt("bm"),Ft=xt("m"),Mo=xt("bu"),Do=xt("u"),No=xt("bum"),Jr=xt("um"),Lo=xt("sp"),jo=xt("rtg"),Fo=xt("rtc");function Vo(e,t=Ae){Zs("ec",e,t)}const Hi="components";function Ho(e,t){return Gi(Hi,e,!0,t)||e}const Bi=Symbol.for("v-ndc");function Bo(e){return he(e)?Gi(Hi,e,!1)||e:e||Bi}function Gi(e,t,s=!0,r=!1){const n=Ce||Ae;if(n){const i=n.type;{const o=Tl(i,!1);if(o&&(o===t||o===qe(t)||o===Ks(qe(t))))return i}const a=xn(n[e]||i[e],t)||xn(n.appContext[e],t);return!a&&r?i:a}}function xn(e,t){return e&&(e[t]||e[qe(t)]||e[Ks(qe(t))])}function be(e,t,s,r){let n;const i=s,a=q(e);if(a||he(e)){const o=a&&Nt(e);let l=!1,c=!1;o&&(l=!Be(e),c=pt(e),e=Js(e)),n=new Array(e.length);for(let u=0,f=e.length;ut(o,l,void 0,i));else{const o=Object.keys(e);n=new Array(o.length);for(let l=0,c=o.length;l0;return t!=="default"&&(s.name=t),y(),oe(J,null,[$("slot",s,r&&r())],c?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),y();const a=i&&qi(i(s)),o=s.key||a&&a.key,l=oe(J,{key:(o&&!Ke(o)?o:`_${t}`)+(!a&&r?"_fb":"")},a||(r?r():[]),a&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function qi(e){return e.some(t=>_s(t)?!(t.type===ht||t.type===J&&!qi(t.children)):!0)?e:null}const Rr=e=>e?da(e)?sr(e):Rr(e.parent):null,ms=Te(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=>Rr(e.parent),$root:e=>Rr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Wi(e),$forceUpdate:e=>e.f||(e.f=()=>{Kr(e.update)}),$nextTick:e=>e.n||(e.n=Oi.bind(e.proxy)),$watch:e=>Zo.bind(e)}),ur=(e,t)=>e!==de&&!e.__isScriptSetup&&ae(e,t),Go={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:r,data:n,props:i,accessCache:a,type:o,appContext:l}=e;if(t[0]!=="$"){const p=a[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return n[t];case 4:return s[t];case 3:return i[t]}else{if(ur(r,t))return a[t]=1,r[t];if(n!==de&&ae(n,t))return a[t]=2,n[t];if(ae(i,t))return a[t]=3,i[t];if(s!==de&&ae(s,t))return a[t]=4,s[t];Sr&&(a[t]=0)}}const c=ms[t];let u,f;if(c)return t==="$attrs"&&Se(e.attrs,"get",""),c(e);if((u=o.__cssModules)&&(u=u[t]))return u;if(s!==de&&ae(s,t))return a[t]=4,s[t];if(f=l.config.globalProperties,ae(f,t))return f[t]},set({_:e},t,s){const{data:r,setupState:n,ctx:i}=e;return ur(n,t)?(n[t]=s,!0):r!==de&&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:n,props:i,type:a}},o){let l;return!!(s[o]||e!==de&&o[0]!=="$"&&ae(e,o)||ur(t,o)||ae(i,o)||ae(r,o)||ae(ms,o)||ae(n.config.globalProperties,o)||(l=a.__cssModules)&&l[o])},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 yn(e){return q(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Sr=!0;function qo(e){const t=Wi(e),s=e.proxy,r=e.ctx;Sr=!1,t.beforeCreate&&vn(t.beforeCreate,e,"bc");const{data:n,computed:i,methods:a,watch:o,provide:l,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:h,updated:S,activated:M,deactivated:K,beforeDestroy:j,beforeUnmount:N,destroyed:V,unmounted:L,render:te,renderTracked:ye,renderTriggered:ge,errorCaptured:Re,serverPrefetch:yt,expose:Je,inheritAttrs:vt,components:Et,directives:Ye,filters:ss}=t;if(c&&Uo(c,r,null),a)for(const ce in a){const re=a[ce];z(re)&&(r[ce]=re.bind(s))}if(n){const ce=n.call(s,s);ue(ce)&&(e.data=Ys(ce))}if(Sr=!0,i)for(const ce in i){const re=i[ce],ot=z(re)?re.bind(s,s):z(re.get)?re.get.bind(s,s):it,bt=!z(re)&&z(re.set)?re.set.bind(s):it,Xe=ee({get:ot,set:bt});Object.defineProperty(r,ce,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Me=>Xe.value=Me})}if(o)for(const ce in o)Ui(o[ce],r,s,ce);if(l){const ce=z(l)?l.call(s):l;Reflect.ownKeys(ce).forEach(re=>{gs(re,ce[re])})}u&&vn(u,e,"c");function _e(ce,re){q(re)?re.forEach(ot=>ce(ot.bind(s))):re&&ce(re.bind(s))}if(_e(Io,f),_e(Ft,p),_e(Mo,h),_e(Do,S),_e(To,M),_e($o,K),_e(Vo,Re),_e(Fo,ye),_e(jo,ge),_e(No,N),_e(Jr,L),_e(Lo,yt),q(Je))if(Je.length){const ce=e.exposed||(e.exposed={});Je.forEach(re=>{Object.defineProperty(ce,re,{get:()=>s[re],set:ot=>s[re]=ot,enumerable:!0})})}else e.exposed||(e.exposed={});te&&e.render===it&&(e.render=te),vt!=null&&(e.inheritAttrs=vt),Et&&(e.components=Et),Ye&&(e.directives=Ye),yt&&ji(e)}function Uo(e,t,s=it){q(e)&&(e=Ar(e));for(const r in e){const n=e[r];let i;ue(n)?"default"in n?i=Pe(n.from||r,n.default,!0):i=Pe(n.from||r):i=Pe(n),Ee(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[r]=i}}function vn(e,t,s){at(q(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ui(e,t,s,r){let n=r.includes(".")?Qi(s,r):()=>s[r];if(he(e)){const i=t[e];z(i)&&Ge(n,i)}else if(z(e))Ge(n,e.bind(s));else if(ue(e))if(q(e))e.forEach(i=>Ui(i,t,s,r));else{const i=z(e.handler)?e.handler.bind(s):t[e.handler];z(i)&&Ge(n,i,e)}}function Wi(e){const t=e.type,{mixins:s,extends:r}=t,{mixins:n,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,o=i.get(t);let l;return o?l=o:!n.length&&!s&&!r?l=t:(l={},n.length&&n.forEach(c=>Vs(l,c,a,!0)),Vs(l,t,a)),ue(t)&&i.set(t,l),l}function Vs(e,t,s,r=!1){const{mixins:n,extends:i}=t;i&&Vs(e,i,s,!0),n&&n.forEach(a=>Vs(e,a,s,!0));for(const a in t)if(!(r&&a==="expose")){const o=Wo[a]||s&&s[a];e[a]=o?o(e[a],t[a]):t[a]}return e}const Wo={data:bn,props:_n,emits:_n,methods:ls,computed:ls,beforeCreate:$e,created:$e,beforeMount:$e,mounted:$e,beforeUpdate:$e,updated:$e,beforeDestroy:$e,beforeUnmount:$e,destroyed:$e,unmounted:$e,activated:$e,deactivated:$e,errorCaptured:$e,serverPrefetch:$e,components:ls,directives:ls,watch:zo,provide:bn,inject:Ko};function bn(e,t){return t?e?function(){return Te(z(e)?e.call(this,this):e,z(t)?t.call(this,this):t)}:t:e}function Ko(e,t){return ls(Ar(e),Ar(t))}function Ar(e){if(q(e)){const t={};for(let s=0;s1)return s&&z(t)?t.call(r&&r.proxy):t}}const Yo=Symbol.for("v-scx"),Xo=()=>Pe(Yo);function Ge(e,t,s){return zi(e,t,s)}function zi(e,t,s=de){const{immediate:r,deep:n,flush:i,once:a}=s,o=Te({},s),l=t&&r||!t&&i!=="post";let c;if(ks){if(i==="sync"){const h=Xo();c=h.__watcherHandles||(h.__watcherHandles=[])}else if(!l){const h=()=>{};return h.stop=it,h.resume=it,h.pause=it,h}}const u=Ae;o.call=(h,S,M)=>at(h,u,S,M);let f=!1;i==="post"?o.scheduler=h=>{Fe(h,u&&u.suspense)}:i!=="sync"&&(f=!0,o.scheduler=(h,S)=>{S?h():Kr(h)}),o.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,u&&(h.id=u.uid,h.i=u))};const p=wo(e,t,o);return ks&&(c?c.push(p):l&&p()),p}function Zo(e,t,s){const r=this.proxy,n=he(e)?e.includes(".")?Qi(r,e):()=>r[e]:e.bind(r,r);let i;z(t)?i=t:(i=t.handler,s=t);const a=As(this),o=zi(n,i.bind(r),s);return a(),o}function Qi(e,t){const s=t.split(".");return()=>{let r=e;for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${qe(t)}Modifiers`]||e[`${jt(t)}Modifiers`];function tl(e,t,...s){if(e.isUnmounted)return;const r=e.vnode.props||de;let n=s;const i=t.startsWith("update:"),a=i&&el(r,t.slice(7));a&&(a.trim&&(n=s.map(u=>he(u)?u.trim():u)),a.number&&(n=s.map(Fr)));let o,l=r[o=ar(t)]||r[o=ar(qe(t))];!l&&i&&(l=r[o=ar(jt(t))]),l&&at(l,e,6,n);const c=r[o+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,at(c,e,6,n)}}const sl=new WeakMap;function Ji(e,t,s=!1){const r=s?sl:t.emitsCache,n=r.get(e);if(n!==void 0)return n;const i=e.emits;let a={},o=!1;if(!z(e)){const l=c=>{const u=Ji(c,t,!0);u&&(o=!0,Te(a,u))};!s&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!o?(ue(e)&&r.set(e,null),null):(q(i)?i.forEach(l=>a[l]=null):Te(a,i),ue(e)&&r.set(e,a),a)}function er(e,t){return!e||!qs(t)?!1:(t=t.slice(2).replace(/Once$/,""),ae(e,t[0].toLowerCase()+t.slice(1))||ae(e,jt(t))||ae(e,t))}function kn(e){const{type:t,vnode:s,proxy:r,withProxy:n,propsOptions:[i],slots:a,attrs:o,emit:l,render:c,renderCache:u,props:f,data:p,setupState:h,ctx:S,inheritAttrs:M}=e,K=js(e);let j,N;try{if(s.shapeFlag&4){const L=n||r,te=L;j=nt(c.call(te,L,u,f,h,p,S)),N=o}else{const L=t;j=nt(L.length>1?L(f,{attrs:o,slots:a,emit:l}):L(f,null)),N=t.props?o:rl(o)}}catch(L){ps.length=0,Xs(L,e,1),j=$(ht)}let V=j;if(N&&M!==!1){const L=Object.keys(N),{shapeFlag:te}=V;L.length&&te&7&&(i&&L.some(Nr)&&(N=nl(N,i)),V=Zt(V,N,!1,!0))}return s.dirs&&(V=Zt(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(s.dirs):s.dirs),s.transition&&Qr(V,s.transition),j=V,js(K),j}const rl=e=>{let t;for(const s in e)(s==="class"||s==="style"||qs(s))&&((t||(t={}))[s]=e[s]);return t},nl=(e,t)=>{const s={};for(const r in e)(!Nr(r)||!(r.slice(9)in t))&&(s[r]=e[r]);return s};function il(e,t,s){const{props:r,children:n,component:i}=e,{props:a,children:o,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&l>=0){if(l&1024)return!0;if(l&16)return r?wn(r,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Yi),Zi=e=>Object.getPrototypeOf(e)===Yi;function ol(e,t,s,r=!1){const n={},i=Xi();e.propsDefaults=Object.create(null),ea(e,t,n,i);for(const a in e.propsOptions[0])a in n||(n[a]=void 0);s?e.props=r?n:Ei(n):e.type.props?e.props=n:e.props=i,e.attrs=i}function ll(e,t,s,r){const{props:n,attrs:i,vnode:{patchFlag:a}}=e,o=ie(n),[l]=e.propsOptions;let c=!1;if((r||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[p,h]=ta(f,t,!0);Te(a,p),h&&o.push(...h)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!l)return ue(e)&&r.set(e,Wt),Wt;if(q(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Xr=e=>q(e)?e.map(nt):[nt(e)],dl=(e,t,s)=>{if(t._n)return t;const r=Z((...n)=>Xr(t(...n)),s);return r._c=!1,r},sa=(e,t,s)=>{const r=e._ctx;for(const n in e){if(Yr(n))continue;const i=e[n];if(z(i))t[n]=dl(n,i,r);else if(i!=null){const a=Xr(i);t[n]=()=>a}}},ra=(e,t)=>{const s=Xr(t);e.slots.default=()=>s},na=(e,t,s)=>{for(const r in t)(s||!Yr(r))&&(e[r]=t[r])},ul=(e,t,s)=>{const r=e.slots=Xi();if(e.vnode.shapeFlag&32){const n=t._;n?(na(r,t,s),s&&ci(r,"_",n,!0)):sa(t,r)}else t&&ra(e,t)},fl=(e,t,s)=>{const{vnode:r,slots:n}=e;let i=!0,a=de;if(r.shapeFlag&32){const o=t._;o?s&&o===1?i=!1:na(n,t,s):(i=!t.$stable,sa(t,n)),a=t}else t&&(ra(e,t),a={default:1});if(i)for(const o in n)!Yr(o)&&a[o]==null&&delete n[o]},Fe=xl;function ml(e){return gl(e)}function gl(e,t){const s=zs();s.__VUE__=!0;const{insert:r,remove:n,patchProp:i,createElement:a,createText:o,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:h=it,insertStaticContent:S}=e,M=(m,g,x,_=null,C=null,b=null,T=void 0,P=null,E=!!g.dynamicChildren)=>{if(m===g)return;m&&!is(m,g)&&(_=k(m),Me(m,C,b,!0),m=null),g.patchFlag===-2&&(E=!1,g.dynamicChildren=null);const{type:R,ref:B,shapeFlag:I}=g;switch(R){case tr:K(m,g,x,_);break;case ht:j(m,g,x,_);break;case Is:m==null&&N(g,x,_,T);break;case J:Et(m,g,x,_,C,b,T,P,E);break;default:I&1?te(m,g,x,_,C,b,T,P,E):I&6?Ye(m,g,x,_,C,b,T,P,E):(I&64||I&128)&&R.process(m,g,x,_,C,b,T,P,E,F)}B!=null&&C?fs(B,m&&m.ref,b,g||m,!g):B==null&&m&&m.ref!=null&&fs(m.ref,null,b,m,!0)},K=(m,g,x,_)=>{if(m==null)r(g.el=o(g.children),x,_);else{const C=g.el=m.el;g.children!==m.children&&c(C,g.children)}},j=(m,g,x,_)=>{m==null?r(g.el=l(g.children||""),x,_):g.el=m.el},N=(m,g,x,_)=>{[m.el,m.anchor]=S(m.children,g,x,_,m.el,m.anchor)},V=({el:m,anchor:g},x,_)=>{let C;for(;m&&m!==g;)C=p(m),r(m,x,_),m=C;r(g,x,_)},L=({el:m,anchor:g})=>{let x;for(;m&&m!==g;)x=p(m),n(m),m=x;n(g)},te=(m,g,x,_,C,b,T,P,E)=>{if(g.type==="svg"?T="svg":g.type==="math"&&(T="mathml"),m==null)ye(g,x,_,C,b,T,P,E);else{const R=m.el&&m.el._isVueCE?m.el:null;try{R&&R._beginPatch(),yt(m,g,C,b,T,P,E)}finally{R&&R._endPatch()}}},ye=(m,g,x,_,C,b,T,P)=>{let E,R;const{props:B,shapeFlag:I,transition:H,dirs:W}=m;if(E=m.el=a(m.type,b,B&&B.is,B),I&8?u(E,m.children):I&16&&Re(m.children,E,null,_,C,fr(m,b),T,P),W&&Tt(m,null,_,"created"),ge(E,m,m.scopeId,T,_),B){for(const fe in B)fe!=="value"&&!cs(fe)&&i(E,fe,null,B[fe],b,_);"value"in B&&i(E,"value",null,B.value,b),(R=B.onVnodeBeforeMount)&&st(R,_,m)}W&&Tt(m,null,_,"beforeMount");const X=pl(C,H);X&&H.beforeEnter(E),r(E,g,x),((R=B&&B.onVnodeMounted)||X||W)&&Fe(()=>{R&&st(R,_,m),X&&H.enter(E),W&&Tt(m,null,_,"mounted")},C)},ge=(m,g,x,_,C)=>{if(x&&h(m,x),_)for(let b=0;b<_.length;b++)h(m,_[b]);if(C){let b=C.subTree;if(g===b||oa(b.type)&&(b.ssContent===g||b.ssFallback===g)){const T=C.vnode;ge(m,T,T.scopeId,T.slotScopeIds,C.parent)}}},Re=(m,g,x,_,C,b,T,P,E=0)=>{for(let R=E;R{const P=g.el=m.el;let{patchFlag:E,dynamicChildren:R,dirs:B}=g;E|=m.patchFlag&16;const I=m.props||de,H=g.props||de;let W;if(x&&$t(x,!1),(W=H.onVnodeBeforeUpdate)&&st(W,x,g,m),B&&Tt(g,m,x,"beforeUpdate"),x&&$t(x,!0),(I.innerHTML&&H.innerHTML==null||I.textContent&&H.textContent==null)&&u(P,""),R?Je(m.dynamicChildren,R,P,x,_,fr(g,C),b):T||re(m,g,P,null,x,_,fr(g,C),b,!1),E>0){if(E&16)vt(P,I,H,x,C);else if(E&2&&I.class!==H.class&&i(P,"class",null,H.class,C),E&4&&i(P,"style",I.style,H.style,C),E&8){const X=g.dynamicProps;for(let fe=0;fe{W&&st(W,x,g,m),B&&Tt(g,m,x,"updated")},_)},Je=(m,g,x,_,C,b,T)=>{for(let P=0;P{if(g!==x){if(g!==de)for(const b in g)!cs(b)&&!(b in x)&&i(m,b,g[b],null,C,_);for(const b in x){if(cs(b))continue;const T=x[b],P=g[b];T!==P&&b!=="value"&&i(m,b,P,T,C,_)}"value"in x&&i(m,"value",g.value,x.value,C)}},Et=(m,g,x,_,C,b,T,P,E)=>{const R=g.el=m?m.el:o(""),B=g.anchor=m?m.anchor:o("");let{patchFlag:I,dynamicChildren:H,slotScopeIds:W}=g;W&&(P=P?P.concat(W):W),m==null?(r(R,x,_),r(B,x,_),Re(g.children||[],x,B,C,b,T,P,E)):I>0&&I&64&&H&&m.dynamicChildren?(Je(m.dynamicChildren,H,x,C,b,T,P),(g.key!=null||C&&g===C.subTree)&&ia(m,g,!0)):re(m,g,x,B,C,b,T,P,E)},Ye=(m,g,x,_,C,b,T,P,E)=>{g.slotScopeIds=P,m==null?g.shapeFlag&512?C.ctx.activate(g,x,_,T,E):ss(g,x,_,C,b,T,E):Vt(m,g,E)},ss=(m,g,x,_,C,b,T)=>{const P=m.component=Cl(m,_,C);if(Fi(m)&&(P.ctx.renderer=F),Sl(P,!1,T),P.asyncDep){if(C&&C.registerDep(P,_e,T),!m.el){const E=P.subTree=$(ht);j(null,E,g,x),m.placeholder=E.el}}else _e(P,m,g,x,C,b,T)},Vt=(m,g,x)=>{const _=g.component=m.component;if(il(m,g,x))if(_.asyncDep&&!_.asyncResolved){ce(_,g,x);return}else _.next=g,_.update();else g.el=m.el,_.vnode=g},_e=(m,g,x,_,C,b,T)=>{const P=()=>{if(m.isMounted){let{next:I,bu:H,u:W,parent:X,vnode:fe}=m;{const et=aa(m);if(et){I&&(I.el=fe.el,ce(m,I,T)),et.asyncDep.then(()=>{m.isUnmounted||P()});return}}let le=I,De;$t(m,!1),I?(I.el=fe.el,ce(m,I,T)):I=fe,H&&Os(H),(De=I.props&&I.props.onVnodeBeforeUpdate)&&st(De,X,I,fe),$t(m,!0);const Ne=kn(m),Ze=m.subTree;m.subTree=Ne,M(Ze,Ne,f(Ze.el),k(Ze),m,C,b),I.el=Ne.el,le===null&&al(m,Ne.el),W&&Fe(W,C),(De=I.props&&I.props.onVnodeUpdated)&&Fe(()=>st(De,X,I,fe),C)}else{let I;const{el:H,props:W}=g,{bm:X,m:fe,parent:le,root:De,type:Ne}=m,Ze=Qt(g);$t(m,!1),X&&Os(X),!Ze&&(I=W&&W.onVnodeBeforeMount)&&st(I,le,g),$t(m,!0);{De.ce&&De.ce._def.shadowRoot!==!1&&De.ce._injectChildStyle(Ne);const et=m.subTree=kn(m);M(null,et,x,_,m,C,b),g.el=et.el}if(fe&&Fe(fe,C),!Ze&&(I=W&&W.onVnodeMounted)){const et=g;Fe(()=>st(I,le,et),C)}(g.shapeFlag&256||le&&Qt(le.vnode)&&le.vnode.shapeFlag&256)&&m.a&&Fe(m.a,C),m.isMounted=!0,g=x=_=null}};m.scope.on();const E=m.effect=new gi(P);m.scope.off();const R=m.update=E.run.bind(E),B=m.job=E.runIfDirty.bind(E);B.i=m,B.id=m.uid,E.scheduler=()=>Kr(B),$t(m,!0),R()},ce=(m,g,x)=>{g.component=m;const _=m.vnode.props;m.vnode=g,m.next=null,ll(m,g.props,_,x),fl(m,g.children,x),mt(),pn(m),gt()},re=(m,g,x,_,C,b,T,P,E=!1)=>{const R=m&&m.children,B=m?m.shapeFlag:0,I=g.children,{patchFlag:H,shapeFlag:W}=g;if(H>0){if(H&128){bt(R,I,x,_,C,b,T,P,E);return}else if(H&256){ot(R,I,x,_,C,b,T,P,E);return}}W&8?(B&16&&He(R,C,b),I!==R&&u(x,I)):B&16?W&16?bt(R,I,x,_,C,b,T,P,E):He(R,C,b,!0):(B&8&&u(x,""),W&16&&Re(I,x,_,C,b,T,P,E))},ot=(m,g,x,_,C,b,T,P,E)=>{m=m||Wt,g=g||Wt;const R=m.length,B=g.length,I=Math.min(R,B);let H;for(H=0;HB?He(m,C,b,!0,!1,I):Re(g,x,_,C,b,T,P,E,I)},bt=(m,g,x,_,C,b,T,P,E)=>{let R=0;const B=g.length;let I=m.length-1,H=B-1;for(;R<=I&&R<=H;){const W=m[R],X=g[R]=E?Ct(g[R]):nt(g[R]);if(is(W,X))M(W,X,x,null,C,b,T,P,E);else break;R++}for(;R<=I&&R<=H;){const W=m[I],X=g[H]=E?Ct(g[H]):nt(g[H]);if(is(W,X))M(W,X,x,null,C,b,T,P,E);else break;I--,H--}if(R>I){if(R<=H){const W=H+1,X=WH)for(;R<=I;)Me(m[R],C,b,!0),R++;else{const W=R,X=R,fe=new Map;for(R=X;R<=H;R++){const je=g[R]=E?Ct(g[R]):nt(g[R]);je.key!=null&&fe.set(je.key,R)}let le,De=0;const Ne=H-X+1;let Ze=!1,et=0;const rs=new Array(Ne);for(R=0;R=Ne){Me(je,C,b,!0);continue}let tt;if(je.key!=null)tt=fe.get(je.key);else for(le=X;le<=H;le++)if(rs[le-X]===0&&is(je,g[le])){tt=le;break}tt===void 0?Me(je,C,b,!0):(rs[tt-X]=R+1,tt>=et?et=tt:Ze=!0,M(je,g[tt],x,null,C,b,T,P,E),De++)}const on=Ze?hl(rs):Wt;for(le=on.length-1,R=Ne-1;R>=0;R--){const je=X+R,tt=g[je],ln=g[je+1],cn=je+1{const{el:b,type:T,transition:P,children:E,shapeFlag:R}=m;if(R&6){Xe(m.component.subTree,g,x,_);return}if(R&128){m.suspense.move(g,x,_);return}if(R&64){T.move(m,g,x,F);return}if(T===J){r(b,g,x);for(let I=0;IP.enter(b),C);else{const{leave:I,delayLeave:H,afterLeave:W}=P,X=()=>{m.ctx.isUnmounted?n(b):r(b,g,x)},fe=()=>{b._isLeaving&&b[Po](!0),I(b,()=>{X(),W&&W()})};H?H(b,X,fe):fe()}else r(b,g,x)},Me=(m,g,x,_=!1,C=!1)=>{const{type:b,props:T,ref:P,children:E,dynamicChildren:R,shapeFlag:B,patchFlag:I,dirs:H,cacheIndex:W}=m;if(I===-2&&(C=!1),P!=null&&(mt(),fs(P,null,x,m,!0),gt()),W!=null&&(g.renderCache[W]=void 0),B&256){g.ctx.deactivate(m);return}const X=B&1&&H,fe=!Qt(m);let le;if(fe&&(le=T&&T.onVnodeBeforeUnmount)&&st(le,g,m),B&6)Pt(m.component,x,_);else{if(B&128){m.suspense.unmount(x,_);return}X&&Tt(m,null,g,"beforeUnmount"),B&64?m.type.remove(m,g,x,F,_):R&&!R.hasOnce&&(b!==J||I>0&&I&64)?He(R,g,x,!1,!0):(b===J&&I&384||!C&&B&16)&&He(E,g,x),_&&Ht(m)}(fe&&(le=T&&T.onVnodeUnmounted)||X)&&Fe(()=>{le&&st(le,g,m),X&&Tt(m,null,g,"unmounted")},x)},Ht=m=>{const{type:g,el:x,anchor:_,transition:C}=m;if(g===J){Bt(x,_);return}if(g===Is){L(m);return}const b=()=>{n(x),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(m.shapeFlag&1&&C&&!C.persisted){const{leave:T,delayLeave:P}=C,E=()=>T(x,b);P?P(m.el,b,E):E()}else b()},Bt=(m,g)=>{let x;for(;m!==g;)x=p(m),n(m),m=x;n(g)},Pt=(m,g,x)=>{const{bum:_,scope:C,job:b,subTree:T,um:P,m:E,a:R}=m;Rn(E),Rn(R),_&&Os(_),C.stop(),b&&(b.flags|=8,Me(T,m,g,x)),P&&Fe(P,g),Fe(()=>{m.isUnmounted=!0},g)},He=(m,g,x,_=!1,C=!1,b=0)=>{for(let T=b;T{if(m.shapeFlag&6)return k(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const g=p(m.anchor||m.el),x=g&&g[Ao];return x?p(x):g};let D=!1;const O=(m,g,x)=>{m==null?g._vnode&&Me(g._vnode,null,null,!0):M(g._vnode||null,m,g,null,null,null,x),g._vnode=m,D||(D=!0,pn(),Mi(),D=!1)},F={p:M,um:Me,m:Xe,r:Ht,mt:ss,mc:Re,pc:re,pbc:Je,n:k,o:e};return{render:O,hydrate:void 0,createApp:Jo(O)}}function fr({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 $t({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ia(e,t,s=!1){const r=e.children,n=t.children;if(q(r)&&q(n))for(let i=0;i>1,e[s[o]]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 aa(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:aa(t)}function Rn(e){if(e)for(let t=0;te.__isSuspense;function xl(e,t){t&&t.pendingBranch?q(e)?t.effects.push(...e):t.effects.push(e):So(e)}const J=Symbol.for("v-fgt"),tr=Symbol.for("v-txt"),ht=Symbol.for("v-cmt"),Is=Symbol.for("v-stc"),ps=[];let Ve=null;function y(e=!1){ps.push(Ve=e?null:[])}function yl(){ps.pop(),Ve=ps[ps.length-1]||null}let bs=1;function Hs(e,t=!1){bs+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function la(e){return e.dynamicChildren=bs>0?Ve||Wt:null,yl(),bs>0&&Ve&&Ve.push(e),e}function w(e,t,s,r,n,i){return la(d(e,t,s,r,n,i,!0))}function oe(e,t,s,r,n){return la($(e,t,s,r,n,!0))}function _s(e){return e?e.__v_isVNode===!0:!1}function is(e,t){return e.type===t.type&&e.key===t.key}const ca=({key:e})=>e??null,Ms=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||Ee(e)||z(e)?{i:Ce,r:e,k:t,f:!!s}:e:null);function d(e,t=null,s=null,r=0,n=null,i=e===J?0:1,a=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ca(t),ref:t&&Ms(t),scopeId:Ni,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:n,dynamicChildren:null,appContext:null,ctx:Ce};return o?(Zr(l,s),i&128&&e.normalize(l)):s&&(l.shapeFlag|=he(s)?8:16),bs>0&&!a&&Ve&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&Ve.push(l),l}const $=vl;function vl(e,t=null,s=null,r=0,n=null,i=!1){if((!e||e===Bi)&&(e=ht),_s(e)){const o=Zt(e,t,!0);return s&&Zr(o,s),bs>0&&!i&&Ve&&(o.shapeFlag&6?Ve[Ve.indexOf(e)]=o:Ve.push(o)),o.patchFlag=-2,o}if($l(e)&&(e=e.__vccOpts),t){t=bl(t);let{class:o,style:l}=t;o&&!he(o)&&(t.class=Q(o)),ue(l)&&(Wr(l)&&!q(l)&&(l=Te({},l)),t.style=At(l))}const a=he(e)?1:oa(e)?128:Eo(e)?64:ue(e)?4:z(e)?2:0;return d(e,t,s,r,n,a,i,!0)}function bl(e){return e?Wr(e)||Zi(e)?Te({},e):e:null}function Zt(e,t,s=!1,r=!1){const{props:n,ref:i,patchFlag:a,children:o,transition:l}=e,c=t?_l(n||{},t):n,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ca(c),ref:t&&t.ref?s&&i?q(i)?i.concat(Ms(t)):[i,Ms(t)]:Ms(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zt(e.ssContent),ssFallback:e.ssFallback&&Zt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Qr(u,l.clone(u)),u}function se(e=" ",t=0){return $(tr,null,e,t)}function as(e,t){const s=$(Is,null,e);return s.staticCount=t,s}function G(e="",t=!1){return t?(y(),oe(ht,null,e)):$(ht,null,e)}function nt(e){return e==null||typeof e=="boolean"?$(ht):q(e)?$(J,null,e.slice()):_s(e)?Ct(e):$(tr,null,String(e))}function Ct(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zt(e)}function Zr(e,t){let s=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(q(t))s=16;else if(typeof t=="object")if(r&65){const n=t.default;n&&(n._c&&(n._d=!1),Zr(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!Zi(t)?t._ctx=Ce:n===3&&Ce&&(Ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else z(t)?(t={default:t,_ctx:Ce},s=32):(t=String(t),r&64?(s=16,t=[se(t)]):s=8);e.children=t,e.shapeFlag|=s}function _l(...e){const t={};for(let s=0;sAe||Ce;let Bs,Pr;{const e=zs(),t=(s,r)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(r),i=>{n.length>1?n.forEach(a=>a(i)):n[0](i)}};Bs=t("__VUE_INSTANCE_SETTERS__",s=>Ae=s),Pr=t("__VUE_SSR_SETTERS__",s=>ks=s)}const As=e=>{const t=Ae;return Bs(e),e.scope.on(),()=>{e.scope.off(),Bs(t)}},Sn=()=>{Ae&&Ae.scope.off(),Bs(null)};function da(e){return e.vnode.shapeFlag&4}let ks=!1;function Sl(e,t=!1,s=!1){t&&Pr(t);const{props:r,children:n}=e.vnode,i=da(e);ol(e,r,i,t),ul(e,n,s||t);const a=i?Al(e,t):void 0;return t&&Pr(!1),a}function Al(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Go);const{setup:r}=s;if(r){mt();const n=e.setupContext=r.length>1?Pl(e):null,i=As(e),a=Ss(r,e,0,[e.props,n]),o=ai(a);if(gt(),i(),(o||e.sp)&&!Qt(e)&&ji(e),o){if(a.then(Sn,Sn),t)return a.then(l=>{An(e,l)}).catch(l=>{Xs(l,e,0)});e.asyncDep=a}else An(e,a)}else ua(e)}function An(e,t,s){z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ue(t)&&(e.setupState=Ti(t)),ua(e)}function ua(e,t,s){const r=e.type;e.render||(e.render=r.render||it);{const n=As(e);mt();try{qo(e)}finally{gt(),n()}}}const El={get(e,t){return Se(e,"get",""),e[t]}};function Pl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,El),slots:e.slots,emit:e.emit,expose:t}}function sr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ti(ho(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in ms)return ms[s](e)},has(t,s){return s in t||s in ms}})):e.proxy}function Tl(e,t=!0){return z(e)?e.displayName||e.name:e.name||t&&e.__name}function $l(e){return z(e)&&"__vccOpts"in e}const ee=(e,t)=>_o(e,t,ks);function fa(e,t,s){try{Hs(-1);const r=arguments.length;return r===2?ue(t)&&!q(t)?_s(t)?$(e,null,[t]):$(e,t):$(e,null,t):(r>3?s=Array.prototype.slice.call(arguments,2):r===3&&_s(s)&&(s=[s]),$(e,t,s))}finally{Hs(1)}}const Ol="3.5.25";let Tr;const En=typeof window<"u"&&window.trustedTypes;if(En)try{Tr=En.createPolicy("vue",{createHTML:e=>e})}catch{}const ma=Tr?e=>Tr.createHTML(e):e=>e,Il="http://www.w3.org/2000/svg",Ml="http://www.w3.org/1998/Math/MathML",dt=typeof document<"u"?document:null,Pn=dt&&dt.createElement("template"),Dl={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,r)=>{const n=t==="svg"?dt.createElementNS(Il,e):t==="mathml"?dt.createElementNS(Ml,e):s?dt.createElement(e,{is:s}):dt.createElement(e);return e==="select"&&r&&r.multiple!=null&&n.setAttribute("multiple",r.multiple),n},createText:e=>dt.createTextNode(e),createComment:e=>dt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,r,n,i){const a=s?s.previousSibling:t.lastChild;if(n&&(n===i||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===i||!(n=n.nextSibling)););else{Pn.innerHTML=ma(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const o=Pn.content;if(r==="svg"||r==="mathml"){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}t.insertBefore(o,s)}return[a?a.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Nl=Symbol("_vtc");function Ll(e,t,s){const r=e[Nl];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Tn=Symbol("_vod"),jl=Symbol("_vsh"),Fl=Symbol(""),Vl=/(?:^|;)\s*display\s*:/;function Hl(e,t,s){const r=e.style,n=he(s);let i=!1;if(s&&!n){if(t)if(he(t))for(const a of t.split(";")){const o=a.slice(0,a.indexOf(":")).trim();s[o]==null&&Ds(r,o,"")}else for(const a in t)s[a]==null&&Ds(r,a,"");for(const a in s)a==="display"&&(i=!0),Ds(r,a,s[a])}else if(n){if(t!==s){const a=r[Fl];a&&(s+=";"+a),r.cssText=s,i=Vl.test(s)}}else t&&e.removeAttribute("style");Tn in e&&(e[Tn]=i?r.display:"",e[jl]&&(r.display="none"))}const $n=/\s*!important$/;function Ds(e,t,s){if(q(s))s.forEach(r=>Ds(e,t,r));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const r=Bl(e,t);$n.test(s)?e.setProperty(jt(r),s.replace($n,""),"important"):e[r]=s}}const On=["Webkit","Moz","ms"],mr={};function Bl(e,t){const s=mr[t];if(s)return s;let r=qe(t);if(r!=="filter"&&r in e)return mr[t]=r;r=Ks(r);for(let n=0;ngr||(Wl.then(()=>gr=0),gr=Date.now());function zl(e,t){const s=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=s.attached)return;at(Ql(r,s.value),t,5,[r])};return s.value=e,s.attached=Kl(),s}function Ql(e,t){if(q(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(r=>n=>!n._stopped&&r&&r(n))}else return t}const jn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jl=(e,t,s,r,n,i)=>{const a=n==="svg";t==="class"?Ll(e,r,a):t==="style"?Hl(e,s,r):qs(t)?Nr(t)||ql(e,t,s,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Yl(e,t,r,a))?(Dn(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Mn(e,t,r,a,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!he(r))?Dn(e,qe(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Mn(e,t,r,a))};function Yl(e,t,s,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&jn(t)&&z(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"){const n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return jn(t)&&he(s)?!1:t in e}const Gs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return q(t)?s=>Os(t,s):t};function Xl(e){e.target.composing=!0}function Fn(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Yt=Symbol("_assign");function Vn(e,t,s){return t&&(e=e.trim()),s&&(e=Fr(e)),e}const ga={created(e,{modifiers:{lazy:t,trim:s,number:r}},n){e[Yt]=Gs(n);const i=r||n.props&&n.props.type==="number";It(e,t?"change":"input",a=>{a.target.composing||e[Yt](Vn(e.value,s,i))}),(s||i)&&It(e,"change",()=>{e.value=Vn(e.value,s,i)}),t||(It(e,"compositionstart",Xl),It(e,"compositionend",Fn),It(e,"change",Fn))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:r,trim:n,number:i}},a){if(e[Yt]=Gs(a),e.composing)return;const o=(i||e.type==="number")&&!/^0\d/.test(e.value)?Fr(e.value):e.value,l=t??"";o!==l&&(document.activeElement===e&&e.type!=="range"&&(r&&t===s||n&&e.value.trim()===l)||(e.value=l))}},Zl={deep:!0,created(e,t,s){e[Yt]=Gs(s),It(e,"change",()=>{const r=e._modelValue,n=ec(e),i=e.checked,a=e[Yt];if(q(r)){const o=ui(r,n),l=o!==-1;if(i&&!l)a(r.concat(n));else if(!i&&l){const c=[...r];c.splice(o,1),a(c)}}else if(Us(r)){const o=new Set(r);i?o.add(n):o.delete(n),a(o)}else a(pa(e,i))})},mounted:Hn,beforeUpdate(e,t,s){e[Yt]=Gs(s),Hn(e,t,s)}};function Hn(e,{value:t,oldValue:s},r){e._modelValue=t;let n;if(q(t))n=ui(t,r.props.value)>-1;else if(Us(t))n=t.has(r.props.value);else{if(t===s)return;n=Qs(t,pa(e,!0))}e.checked!==n&&(e.checked=n)}function ec(e){return"_value"in e?e._value:e.value}function pa(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const tc=["ctrl","shift","alt","meta"],sc={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)=>tc.some(s=>e[`${s}Key`]&&!t.includes(s))},en=(e,t)=>{const s=e._withMods||(e._withMods={}),r=t.join(".");return s[r]||(s[r]=((n,...i)=>{for(let a=0;a{const t=nc().createApp(...e),{mount:s}=t;return t.mount=r=>{const n=oc(r);if(!n)return;const i=t._component;!z(i)&&!i.render&&!i.template&&(i.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const a=s(n,!1,ac(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),a},t});function ac(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function oc(e){return he(e)?document.querySelector(e):e}const Ut=typeof document<"u";function ha(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function lc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ha(e.default)}const ne=Object.assign;function pr(e,t){const s={};for(const r in t){const n=t[r];s[r]=Qe(n)?n.map(e):e(n)}return s}const hs=()=>{},Qe=Array.isArray;function Gn(e,t){const s={};for(const r in e)s[r]=r in t?t[r]:e[r];return s}const xa=/#/g,cc=/&/g,dc=/\//g,uc=/=/g,fc=/\?/g,ya=/\+/g,mc=/%5B/g,gc=/%5D/g,va=/%5E/g,pc=/%60/g,ba=/%7B/g,hc=/%7C/g,_a=/%7D/g,xc=/%20/g;function tn(e){return e==null?"":encodeURI(""+e).replace(hc,"|").replace(mc,"[").replace(gc,"]")}function yc(e){return tn(e).replace(ba,"{").replace(_a,"}").replace(va,"^")}function $r(e){return tn(e).replace(ya,"%2B").replace(xc,"+").replace(xa,"%23").replace(cc,"%26").replace(pc,"`").replace(ba,"{").replace(_a,"}").replace(va,"^")}function vc(e){return $r(e).replace(uc,"%3D")}function bc(e){return tn(e).replace(xa,"%23").replace(fc,"%3F")}function _c(e){return bc(e).replace(dc,"%2F")}function ws(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const kc=/\/$/,wc=e=>e.replace(kc,"");function hr(e,t,s="/"){let r,n={},i="",a="";const o=t.indexOf("#");let l=t.indexOf("?");return l=o>=0&&l>o?-1:l,l>=0&&(r=t.slice(0,l),i=t.slice(l,o>0?o:t.length),n=e(i.slice(1))),o>=0&&(r=r||t.slice(0,o),a=t.slice(o,t.length)),r=Ac(r??t,s),{fullPath:r+i+a,path:r,query:n,hash:ws(a)}}function Cc(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function qn(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Rc(e,t,s){const r=t.matched.length-1,n=s.matched.length-1;return r>-1&&r===n&&es(t.matched[r],s.matched[n])&&ka(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function es(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ka(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!Sc(e[s],t[s]))return!1;return!0}function Sc(e,t){return Qe(e)?Un(e,t):Qe(t)?Un(t,e):e===t}function Un(e,t){return Qe(t)?e.length===t.length&&e.every((s,r)=>s===t[r]):e.length===1&&e[0]===t}function Ac(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),r=e.split("/"),n=r[r.length-1];(n===".."||n===".")&&r.push("");let i=s.length-1,a,o;for(a=0;a1&&i--;else break;return s.slice(0,i).join("/")+"/"+r.slice(a).join("/")}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Or=(function(e){return e.pop="pop",e.push="push",e})({}),xr=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Ec(e){if(!e)if(Ut){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),wc(e)}const Pc=/^[^#]+#/;function Tc(e,t){return e.replace(Pc,"#")+t}function $c(e,t){const 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)}}const rr=()=>({left:window.scrollX,top:window.scrollY});function Oc(e){let t;if("el"in e){const s=e.el,r=typeof s=="string"&&s.startsWith("#"),n=typeof s=="string"?r?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!n)return;t=$c(n,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 Wn(e,t){return(history.state?history.state.position-t:-1)+e}const Ir=new Map;function Ic(e,t){Ir.set(e,t)}function Mc(e){const t=Ir.get(e);return Ir.delete(e),t}function Dc(e){return typeof e=="string"||e&&typeof e=="object"}function wa(e){return typeof e=="string"||typeof e=="symbol"}let pe=(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})({});const Ca=Symbol("");pe.MATCHER_NOT_FOUND+"",pe.NAVIGATION_GUARD_REDIRECT+"",pe.NAVIGATION_ABORTED+"",pe.NAVIGATION_CANCELLED+"",pe.NAVIGATION_DUPLICATED+"";function ts(e,t){return ne(new Error,{type:e,[Ca]:!0},t)}function ct(e,t){return e instanceof Error&&Ca in e&&(t==null||!!(e.type&t))}const Nc=["params","query","hash"];function Lc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of Nc)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function jc(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rn&&$r(n)):[r&&$r(r)]).forEach(n=>{n!==void 0&&(t+=(t.length?"&":"")+s,n!=null&&(t+="="+n))})}return t}function Fc(e){const t={};for(const s in e){const r=e[s];r!==void 0&&(t[s]=Qe(r)?r.map(n=>n==null?null:""+n):r==null?r:""+r)}return t}const Vc=Symbol(""),zn=Symbol(""),sn=Symbol(""),rn=Symbol(""),Mr=Symbol("");function os(){let e=[];function t(r){return e.push(r),()=>{const n=e.indexOf(r);n>-1&&e.splice(n,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function Rt(e,t,s,r,n,i=a=>a()){const a=r&&(r.enterCallbacks[n]=r.enterCallbacks[n]||[]);return()=>new Promise((o,l)=>{const c=p=>{p===!1?l(ts(pe.NAVIGATION_ABORTED,{from:s,to:t})):p instanceof Error?l(p):Dc(p)?l(ts(pe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(a&&r.enterCallbacks[n]===a&&typeof p=="function"&&a.push(p),o())},u=i(()=>e.call(r&&r.instances[n],t,s,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(p=>l(p))})}function yr(e,t,s,r,n=i=>i()){const i=[];for(const a of e)for(const o in a.components){let l=a.components[o];if(!(t!=="beforeRouteEnter"&&!a.instances[o]))if(ha(l)){const c=(l.__vccOpts||l)[t];c&&i.push(Rt(c,s,r,a,o,n))}else{let c=l();i.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${o}" at "${a.path}"`);const f=lc(u)?u.default:u;a.mods[o]=u,a.components[o]=f;const p=(f.__vccOpts||f)[t];return p&&Rt(p,s,r,a,o,n)()}))}}return i}function Hc(e,t){const s=[],r=[],n=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;aes(c,o))?r.push(o):s.push(o));const l=e.matched[a];l&&(t.matched.find(c=>es(c,l))||n.push(l))}return[s,r,n]}let Bc=()=>location.protocol+"//"+location.host;function Ra(e,t){const{pathname:s,search:r,hash:n}=t,i=e.indexOf("#");if(i>-1){let a=n.includes(e.slice(i))?e.slice(i).length:1,o=n.slice(a);return o[0]!=="/"&&(o="/"+o),qn(o,"")}return qn(s,e)+r+n}function Gc(e,t,s,r){let n=[],i=[],a=null;const o=({state:p})=>{const h=Ra(e,location),S=s.value,M=t.value;let K=0;if(p){if(s.value=h,t.value=p,a&&a===S){a=null;return}K=M?p.position-M.position:0}else r(h);n.forEach(j=>{j(s.value,S,{delta:K,type:Or.pop,direction:K?K>0?xr.forward:xr.back:xr.unknown})})};function l(){a=s.value}function c(p){n.push(p);const h=()=>{const S=n.indexOf(p);S>-1&&n.splice(S,1)};return i.push(h),h}function u(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(ne({},p.state,{scroll:rr()}),"")}}function f(){for(const p of i)p();i=[],window.removeEventListener("popstate",o),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",o),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:l,listen:c,destroy:f}}function Qn(e,t,s,r=!1,n=!1){return{back:e,current:t,forward:s,replaced:r,position:window.history.length,scroll:n?rr():null}}function qc(e){const{history:t,location:s}=window,r={value:Ra(e,s)},n={value:t.state};n.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const f=e.indexOf("#"),p=f>-1?(s.host&&document.querySelector("base")?e:e.slice(f))+l:Bc()+e+l;try{t[u?"replaceState":"pushState"](c,"",p),n.value=c}catch(h){console.error(h),s[u?"replace":"assign"](p)}}function a(l,c){i(l,ne({},t.state,Qn(n.value.back,l,n.value.forward,!0),c,{position:n.value.position}),!0),r.value=l}function o(l,c){const u=ne({},n.value,t.state,{forward:l,scroll:rr()});i(u.current,u,!0),i(l,ne({},Qn(r.value,l,null),{position:u.position+1},c),!1),r.value=l}return{location:r,state:n,push:o,replace:a}}function Uc(e){e=Ec(e);const t=qc(e),s=Gc(e,t.state,t.location,t.replace);function r(i,a=!0){a||s.pauseListeners(),history.go(i)}const n=ne({location:"",base:e,go:r,createHref:Tc.bind(null,e)},t,s);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>t.state.value}),n}function Wc(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Uc(e)}let Mt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ve=(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})(ve||{});const Kc={type:Mt.Static,value:""},zc=/[a-zA-Z0-9_]/;function Qc(e){if(!e)return[[]];if(e==="/")return[[Kc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${s})/"${c}": ${h}`)}let s=ve.Static,r=s;const n=[];let i;function a(){i&&n.push(i),i=[]}let o=0,l,c="",u="";function f(){c&&(s===ve.Static?i.push({type:Mt.Static,value:c}):s===ve.Param||s===ve.ParamRegExp||s===ve.ParamRegExpEnd?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Mt.Param,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=l}for(;ot.length?t.length===1&&t[0]===Oe.Static+Oe.Segment?1:-1:0}function Sa(e,t){let s=0;const r=e.score,n=t.score;for(;s0&&t[t.length-1]<0}const ed={strict:!1,end:!0,sensitive:!1};function td(e,t,s){const r=Xc(Qc(e.path),s),n=ne(r,{record:e,parent:t,children:[],alias:[]});return t&&!n.record.aliasOf==!t.record.aliasOf&&t.children.push(n),n}function sd(e,t){const s=[],r=new Map;t=Gn(ed,t);function n(f){return r.get(f)}function i(f,p,h){const S=!h,M=Zn(f);M.aliasOf=h&&h.record;const K=Gn(t,f),j=[M];if("alias"in f){const L=typeof f.alias=="string"?[f.alias]:f.alias;for(const te of L)j.push(Zn(ne({},M,{components:h?h.record.components:M.components,path:te,aliasOf:h?h.record:M})))}let N,V;for(const L of j){const{path:te}=L;if(p&&te[0]!=="/"){const ye=p.record.path,ge=ye[ye.length-1]==="/"?"":"/";L.path=p.record.path+(te&&ge+te)}if(N=td(L,p,K),h?h.alias.push(N):(V=V||N,V!==N&&V.alias.push(N),S&&f.name&&!ei(N)&&a(f.name)),Aa(N)&&l(N),M.children){const ye=M.children;for(let ge=0;ge{a(V)}:hs}function a(f){if(wa(f)){const p=r.get(f);p&&(r.delete(f),s.splice(s.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=s.indexOf(f);p>-1&&(s.splice(p,1),f.record.name&&r.delete(f.record.name),f.children.forEach(a),f.alias.forEach(a))}}function o(){return s}function l(f){const p=id(f,s);s.splice(p,0,f),f.record.name&&!ei(f)&&r.set(f.record.name,f)}function c(f,p){let h,S={},M,K;if("name"in f&&f.name){if(h=r.get(f.name),!h)throw ts(pe.MATCHER_NOT_FOUND,{location:f});K=h.record.name,S=ne(Xn(p.params,h.keys.filter(V=>!V.optional).concat(h.parent?h.parent.keys.filter(V=>V.optional):[]).map(V=>V.name)),f.params&&Xn(f.params,h.keys.map(V=>V.name))),M=h.stringify(S)}else if(f.path!=null)M=f.path,h=s.find(V=>V.re.test(M)),h&&(S=h.parse(M),K=h.record.name);else{if(h=p.name?r.get(p.name):s.find(V=>V.re.test(p.path)),!h)throw ts(pe.MATCHER_NOT_FOUND,{location:f,currentLocation:p});K=h.record.name,S=ne({},p.params,f.params),M=h.stringify(S)}const j=[];let N=h;for(;N;)j.unshift(N.record),N=N.parent;return{name:K,path:M,params:S,matched:j,meta:nd(j)}}e.forEach(f=>i(f));function u(){s.length=0,r.clear()}return{addRoute:i,resolve:c,removeRoute:a,clearRoutes:u,getRoutes:o,getRecordMatcher:n}}function Xn(e,t){const s={};for(const r of t)r in e&&(s[r]=e[r]);return s}function Zn(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:rd(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 rd(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const r in e.components)t[r]=typeof s=="object"?s[r]:s;return t}function ei(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function nd(e){return e.reduce((t,s)=>ne(t,s.meta),{})}function id(e,t){let s=0,r=t.length;for(;s!==r;){const i=s+r>>1;Sa(e,t[i])<0?r=i:s=i+1}const n=ad(e);return n&&(r=t.lastIndexOf(n,r-1)),r}function ad(e){let t=e;for(;t=t.parent;)if(Aa(t)&&Sa(e,t)===0)return t}function Aa({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ti(e){const t=Pe(sn),s=Pe(rn),r=ee(()=>{const l=A(e.to);return t.resolve(l)}),n=ee(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],f=s.matched;if(!u||!f.length)return-1;const p=f.findIndex(es.bind(null,u));if(p>-1)return p;const h=si(l[c-2]);return c>1&&si(u)===h&&f[f.length-1].path!==h?f.findIndex(es.bind(null,l[c-2])):p}),i=ee(()=>n.value>-1&&dd(s.params,r.value.params)),a=ee(()=>n.value>-1&&n.value===s.matched.length-1&&ka(s.params,r.value.params));function o(l={}){if(cd(l)){const c=t[A(e.replace)?"replace":"push"](A(e.to)).catch(hs);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:i,isExactActive:a,navigate:o}}function od(e){return e.length===1?e[0]:e}const ld=Li({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:ti,setup(e,{slots:t}){const s=Ys(ti(e)),{options:r}=Pe(sn),n=ee(()=>({[ri(e.activeClass,r.linkActiveClass,"router-link-active")]:s.isActive,[ri(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const i=t.default&&od(t.default(s));return e.custom?i:fa("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:n.value},i)}}}),ke=ld;function cd(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){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function dd(e,t){for(const s in t){const r=t[s],n=e[s];if(typeof r=="string"){if(r!==n)return!1}else if(!Qe(n)||n.length!==r.length||r.some((i,a)=>i!==n[a]))return!1}return!0}function si(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ri=(e,t,s)=>e??t??s,ud=Li({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const r=Pe(Mr),n=ee(()=>e.route||r.value),i=Pe(zn,0),a=ee(()=>{let c=A(i);const{matched:u}=n.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),o=ee(()=>n.value.matched[a.value]);gs(zn,ee(()=>a.value+1)),gs(Vc,o),gs(Mr,n);const l=xe();return Ge(()=>[l.value,o.value,e.name],([c,u,f],[p,h,S])=>{u&&(u.instances[f]=c,h&&h!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),c&&u&&(!h||!es(u,h)||!p)&&(u.enterCallbacks[f]||[]).forEach(M=>M(c))},{flush:"post"}),()=>{const c=n.value,u=e.name,f=o.value,p=f&&f.components[u];if(!p)return ni(s.default,{Component:p,route:c});const h=f.props[u],S=h?h===!0?c.params:typeof h=="function"?h(c):h:null,K=fa(p,ne({},S,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return ni(s.default,{Component:K,route:c})||K}}});function ni(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const fd=ud;function md(e){const t=sd(e.routes,e),s=e.parseQuery||jc,r=e.stringifyQuery||Kn,n=e.history,i=os(),a=os(),o=os(),l=xo(_t);let c=_t;Ut&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=pr.bind(null,k=>""+k),f=pr.bind(null,_c),p=pr.bind(null,ws);function h(k,D){let O,F;return wa(k)?(O=t.getRecordMatcher(k),F=D):F=k,t.addRoute(F,O)}function S(k){const D=t.getRecordMatcher(k);D&&t.removeRoute(D)}function M(){return t.getRoutes().map(k=>k.record)}function K(k){return!!t.getRecordMatcher(k)}function j(k,D){if(D=ne({},D||l.value),typeof k=="string"){const x=hr(s,k,D.path),_=t.resolve({path:x.path},D),C=n.createHref(x.fullPath);return ne(x,_,{params:p(_.params),hash:ws(x.hash),redirectedFrom:void 0,href:C})}let O;if(k.path!=null)O=ne({},k,{path:hr(s,k.path,D.path).path});else{const x=ne({},k.params);for(const _ in x)x[_]==null&&delete x[_];O=ne({},k,{params:f(x)}),D.params=f(D.params)}const F=t.resolve(O,D),Y=k.hash||"";F.params=u(p(F.params));const m=Cc(r,ne({},k,{hash:yc(Y),path:F.path})),g=n.createHref(m);return ne({fullPath:m,hash:Y,query:r===Kn?Fc(k.query):k.query||{}},F,{redirectedFrom:void 0,href:g})}function N(k){return typeof k=="string"?hr(s,k,l.value.path):ne({},k)}function V(k,D){if(c!==k)return ts(pe.NAVIGATION_CANCELLED,{from:D,to:k})}function L(k){return ge(k)}function te(k){return L(ne(N(k),{replace:!0}))}function ye(k,D){const O=k.matched[k.matched.length-1];if(O&&O.redirect){const{redirect:F}=O;let Y=typeof F=="function"?F(k,D):F;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=N(Y):{path:Y},Y.params={}),ne({query:k.query,hash:k.hash,params:Y.path!=null?{}:k.params},Y)}}function ge(k,D){const O=c=j(k),F=l.value,Y=k.state,m=k.force,g=k.replace===!0,x=ye(O,F);if(x)return ge(ne(N(x),{state:typeof x=="object"?ne({},Y,x.state):Y,force:m,replace:g}),D||O);const _=O;_.redirectedFrom=D;let C;return!m&&Rc(r,F,O)&&(C=ts(pe.NAVIGATION_DUPLICATED,{to:_,from:F}),Xe(F,F,!0,!1)),(C?Promise.resolve(C):Je(_,F)).catch(b=>ct(b)?ct(b,pe.NAVIGATION_GUARD_REDIRECT)?b:bt(b):re(b,_,F)).then(b=>{if(b){if(ct(b,pe.NAVIGATION_GUARD_REDIRECT))return ge(ne({replace:g},N(b.to),{state:typeof b.to=="object"?ne({},Y,b.to.state):Y,force:m}),D||_)}else b=Et(_,F,!0,g,Y);return vt(_,F,b),b})}function Re(k,D){const O=V(k,D);return O?Promise.reject(O):Promise.resolve()}function yt(k){const D=Bt.values().next().value;return D&&typeof D.runWithContext=="function"?D.runWithContext(k):k()}function Je(k,D){let O;const[F,Y,m]=Hc(k,D);O=yr(F.reverse(),"beforeRouteLeave",k,D);for(const x of F)x.leaveGuards.forEach(_=>{O.push(Rt(_,k,D))});const g=Re.bind(null,k,D);return O.push(g),He(O).then(()=>{O=[];for(const x of i.list())O.push(Rt(x,k,D));return O.push(g),He(O)}).then(()=>{O=yr(Y,"beforeRouteUpdate",k,D);for(const x of Y)x.updateGuards.forEach(_=>{O.push(Rt(_,k,D))});return O.push(g),He(O)}).then(()=>{O=[];for(const x of m)if(x.beforeEnter)if(Qe(x.beforeEnter))for(const _ of x.beforeEnter)O.push(Rt(_,k,D));else O.push(Rt(x.beforeEnter,k,D));return O.push(g),He(O)}).then(()=>(k.matched.forEach(x=>x.enterCallbacks={}),O=yr(m,"beforeRouteEnter",k,D,yt),O.push(g),He(O))).then(()=>{O=[];for(const x of a.list())O.push(Rt(x,k,D));return O.push(g),He(O)}).catch(x=>ct(x,pe.NAVIGATION_CANCELLED)?x:Promise.reject(x))}function vt(k,D,O){o.list().forEach(F=>yt(()=>F(k,D,O)))}function Et(k,D,O,F,Y){const m=V(k,D);if(m)return m;const g=D===_t,x=Ut?history.state:{};O&&(F||g?n.replace(k.fullPath,ne({scroll:g&&x&&x.scroll},Y)):n.push(k.fullPath,Y)),l.value=k,Xe(k,D,O,g),bt()}let Ye;function ss(){Ye||(Ye=n.listen((k,D,O)=>{if(!Pt.listening)return;const F=j(k),Y=ye(F,Pt.currentRoute.value);if(Y){ge(ne(Y,{replace:!0,force:!0}),F).catch(hs);return}c=F;const m=l.value;Ut&&Ic(Wn(m.fullPath,O.delta),rr()),Je(F,m).catch(g=>ct(g,pe.NAVIGATION_ABORTED|pe.NAVIGATION_CANCELLED)?g:ct(g,pe.NAVIGATION_GUARD_REDIRECT)?(ge(ne(N(g.to),{force:!0}),F).then(x=>{ct(x,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&!O.delta&&O.type===Or.pop&&n.go(-1,!1)}).catch(hs),Promise.reject()):(O.delta&&n.go(-O.delta,!1),re(g,F,m))).then(g=>{g=g||Et(F,m,!1),g&&(O.delta&&!ct(g,pe.NAVIGATION_CANCELLED)?n.go(-O.delta,!1):O.type===Or.pop&&ct(g,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&n.go(-1,!1)),vt(F,m,g)}).catch(hs)}))}let Vt=os(),_e=os(),ce;function re(k,D,O){bt(k);const F=_e.list();return F.length?F.forEach(Y=>Y(k,D,O)):console.error(k),Promise.reject(k)}function ot(){return ce&&l.value!==_t?Promise.resolve():new Promise((k,D)=>{Vt.add([k,D])})}function bt(k){return ce||(ce=!k,ss(),Vt.list().forEach(([D,O])=>k?O(k):D()),Vt.reset()),k}function Xe(k,D,O,F){const{scrollBehavior:Y}=e;if(!Ut||!Y)return Promise.resolve();const m=!O&&Mc(Wn(k.fullPath,0))||(F||!O)&&history.state&&history.state.scroll||null;return Oi().then(()=>Y(k,D,m)).then(g=>g&&Oc(g)).catch(g=>re(g,k,D))}const Me=k=>n.go(k);let Ht;const Bt=new Set,Pt={currentRoute:l,listening:!0,addRoute:h,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:K,getRoutes:M,resolve:j,options:e,push:L,replace:te,go:Me,back:()=>Me(-1),forward:()=>Me(1),beforeEach:i.add,beforeResolve:a.add,afterEach:o.add,onError:_e.add,isReady:ot,install(k){k.component("RouterLink",ke),k.component("RouterView",fd),k.config.globalProperties.$router=Pt,Object.defineProperty(k.config.globalProperties,"$route",{enumerable:!0,get:()=>A(l)}),Ut&&!Ht&&l.value===_t&&(Ht=!0,L(n.location).catch(F=>{}));const D={};for(const F in _t)Object.defineProperty(D,F,{get:()=>l.value[F],enumerable:!0});k.provide(sn,Pt),k.provide(rn,Ei(D)),k.provide(Mr,l);const O=k.unmount;Bt.add(k),k.unmount=function(){Bt.delete(k),Bt.size<1&&(c=_t,Ye&&Ye(),Ye=null,l.value=_t,Ht=!1,ce=!1),O()}}};function He(k){return k.reduce((D,O)=>D.then(()=>yt(O)),Promise.resolve())}return Pt}function nr(e){return Pe(rn)}const gd=["aria-label"],pd={key:0,class:"fas fa-moon text-purple-400"},hd={key:1,class:"fas fa-sun text-yellow-500"},xd={__name:"ThemeToggle",setup(e){const t=xe(!1);Ft(()=>{const n=localStorage.getItem("theme"),i=window.matchMedia("(prefers-color-scheme: dark)").matches;t.value=n==="dark"||!n&&i,s(),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",a=>{localStorage.getItem("theme")||(t.value=a.matches,s())})}),Ge(t,()=>{s(),localStorage.setItem("theme",t.value?"dark":"light")});function s(){t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}function r(){t.value=!t.value}return(n,i)=>(y(),w("button",{onClick:r,class:"p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition","aria-label":t.value?"Switch to light mode":"Switch to dark mode"},[t.value?(y(),w("i",pd)):(y(),w("i",hd))],8,gd))}},yd={class:"sticky top-0 z-50 glass shadow-modern"},vd={class:"container mx-auto px-4"},bd={class:"flex items-center justify-between h-16"},_d={class:"hidden md:flex items-center space-x-6"},kd={class:"flex items-center space-x-4"},wd={key:0,class:"md:hidden py-2 border-t border-gray-200 dark:border-gray-700"},Cd={class:"flex flex-col space-y-1"},Rd={__name:"Navbar",setup(e){const t=nr(),s=Pe("globalData"),r=xe(!1),n=ee(()=>s.value?.Repositories||[]);return(i,a)=>(y(),w("nav",yd,[d("div",vd,[d("div",bd,[$(A(ke),{to:"/",class:"flex items-center space-x-2"},{default:Z(()=>[...a[5]||(a[5]=[d("i",{class:"fas fa-rocket text-2xl gradient-text"},null,-1),d("span",{class:"text-xl font-bold gradient-text"},"Git Velocity",-1)])]),_:1}),d("div",_d,[$(A(ke),{to:"/",class:Q(A(t).path==="/"?"nav-link-active":"nav-link")},{default:Z(()=>[...a[6]||(a[6]=[se(" Dashboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/leaderboard",class:Q(A(t).path==="/leaderboard"?"nav-link-active":"nav-link")},{default:Z(()=>[...a[7]||(a[7]=[se(" Leaderboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/how-scoring-works",class:Q(A(t).path==="/how-scoring-works"?"nav-link-active":"nav-link")},{default:Z(()=>[...a[8]||(a[8]=[se(" How Scoring Works ",-1)])]),_:1},8,["class"]),(y(!0),w(J,null,be(n.value,o=>(y(),oe(A(ke),{key:`${o.Owner}/${o.Name}`,to:`/repos/${o.Owner}/${o.Name}`,class:Q(A(t).path.includes(`/repos/${o.Owner}/${o.Name}`)?"nav-link-active":"nav-link")},{default:Z(()=>[se(v(o.Name),1)]),_:2},1032,["to","class"]))),128))]),d("div",kd,[$(xd),d("button",{onClick:a[0]||(a[0]=o=>r.value=!r.value),class:"md:hidden p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition"},[...a[9]||(a[9]=[d("i",{class:"fas fa-bars text-gray-700 dark:text-gray-200"},null,-1)])])])]),r.value?(y(),w("div",wd,[d("div",Cd,[$(A(ke),{to:"/",onClick:a[1]||(a[1]=o=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path==="/"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[...a[10]||(a[10]=[d("i",{class:"fas fa-home mr-3 w-5 text-center"},null,-1),se("Dashboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/leaderboard",onClick:a[2]||(a[2]=o=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path==="/leaderboard"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[...a[11]||(a[11]=[d("i",{class:"fas fa-trophy mr-3 w-5 text-center"},null,-1),se("Leaderboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/how-scoring-works",onClick:a[3]||(a[3]=o=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path==="/how-scoring-works"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[...a[12]||(a[12]=[d("i",{class:"fas fa-calculator mr-3 w-5 text-center"},null,-1),se("How Scoring Works ",-1)])]),_:1},8,["class"]),(y(!0),w(J,null,be(n.value,o=>(y(),oe(A(ke),{key:`${o.Owner}/${o.Name}`,to:`/repos/${o.Owner}/${o.Name}`,onClick:a[4]||(a[4]=l=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path.includes(`/repos/${o.Owner}/${o.Name}`)?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[a[13]||(a[13]=d("i",{class:"fas fa-code-branch mr-3 w-5 text-center"},null,-1)),se(v(o.Name),1)]),_:2},1032,["to","class"]))),128))])])):G("",!0)])]))}},Sd={class:"py-8 px-4 mt-16 border-t border-gray-200 dark:border-gray-700"},Ad={class:"container mx-auto text-center"},Ed={key:0,class:"text-sm text-gray-400 dark:text-gray-500 mt-2"},Pd={__name:"Footer",setup(e){const t=Pe("globalData"),s=ee(()=>t.value?.GeneratedAt?new Date(t.value.GeneratedAt).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"");return(r,n)=>(y(),w("footer",Sd,[d("div",Ad,[n[0]||(n[0]=d("p",{class:"text-gray-500 dark:text-gray-400"},[se(" Generated by "),d("a",{href:"https://github.com/lukaszraczylo/git-velocity",class:"text-primary-500 hover:text-primary-600",target:"_blank",rel:"noopener noreferrer"}," Git Velocity ")],-1)),s.value?(y(),w("p",Ed,v(s.value),1)):G("",!0)])]))}},Td={class:"min-h-screen flex flex-col"},$d={class:"flex-1"},Od={key:0,class:"flex items-center justify-center min-h-[60vh]"},Id={key:1,class:"flex items-center justify-center min-h-[60vh]"},Md={class:"text-center"},Dd={class:"text-gray-600 dark:text-gray-400"},Nd={__name:"App",setup(e){const t=xe(null),s=xe(!0),r=xe(null);return gs("globalData",t),Ft(async()=>{try{const n=await fetch("./data/global.json");if(!n.ok)throw new Error("Failed to load data");t.value=await n.json()}catch(n){r.value=n.message}finally{s.value=!1}}),(n,i)=>{const a=Ho("router-view");return y(),w("div",Td,[$(Rd),d("main",$d,[s.value?(y(),w("div",Od,[...i[0]||(i[0]=[d("div",{class:"text-center"},[d("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"}),d("p",{class:"text-gray-600 dark:text-gray-400"},"Loading dashboard...")],-1)])])):r.value?(y(),w("div",Id,[d("div",Md,[i[1]||(i[1]=d("i",{class:"fas fa-exclamation-triangle text-4xl text-red-500 mb-4"},null,-1)),d("p",Dd,v(r.value),1)])])):(y(),oe(a,{key:2}))]),$(Pd)])}}};function U(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function Ld(e){return e==null?"-":e<1?Math.round(e*60)+"m":e<24?e.toFixed(1)+"h":(e/24).toFixed(1)+"d"}function vr(e){return e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):""}function jd(e){return e==null?"0%":e.toFixed(1)+"%"}function Ea(e){return e?e.toLowerCase().replace(/\s+/g,"-").replace(/_/g,"-").replace(/[^a-z0-9-]/g,""):""}const Fd={class:"flex items-center justify-between"},Vd={class:"min-w-0 flex-1"},Hd={class:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mt-1 truncate"},we={__name:"StatCard",props:{value:{type:[Number,String],required:!0},label:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-gray-500"},valueClass:{type:String,default:"gradient-text"},delay:{type:String,default:"0s"}},setup(e){return(t,s)=>(y(),w("div",{class:"card animate-fade-in-up",style:At({animationDelay:e.delay})},[d("div",Fd,[d("div",Vd,[d("div",{class:Q(["text-xl sm:text-2xl md:text-3xl font-bold truncate",e.valueClass])},v(typeof e.value=="number"?A(U)(e.value):e.value),3),d("div",Hd,v(e.label),1)]),e.icon?(y(),w("div",{key:0,class:Q(["text-2xl sm:text-3xl opacity-50 ml-2 flex-shrink-0",e.iconColor])},[d("i",{class:Q(e.icon)},null,2)],2)):G("",!0)])],4))}},Bd=["src","alt"],Es={__name:"Avatar",props:{src:{type:String,default:""},name:{type:String,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-8 h-8 text-xs",md:"w-10 h-10 text-sm",lg:"w-14 h-14 text-xl",xl:"w-16 h-16 text-2xl","2xl":"w-32 h-32 text-4xl"},r=ee(()=>t.name.charAt(0).toUpperCase()),n=ee(()=>s[t.size]||s.md);return(i,a)=>e.src?(y(),w("img",{key:0,src:e.src,alt:e.name,class:Q([n.value,"rounded-full"])},null,10,Bd)):(y(),w("div",{key:1,class:Q([n.value,"rounded-full bg-gradient-to-br from-primary-500 to-accent-500 flex items-center justify-center text-white font-bold"])},v(r.value),3))}},Pa={__name:"RankBadge",props:{rank:{type:Number,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-6 h-6 text-xs",md:"w-8 h-8 text-sm"},r=ee(()=>t.rank===1?"rank-1":t.rank===2?"rank-2":t.rank===3?"rank-3":"bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300"),n=ee(()=>s[t.size]||s.md);return(i,a)=>(y(),w("span",{class:Q([[n.value,r.value,{"text-white":e.rank<=3}],"inline-flex items-center justify-center rounded-full font-bold"])},v(e.rank),3))}},Gd={class:"inline-flex flex-col items-center gap-2"},qd=["title"],Ud={class:"absolute bottom-full left-1/2 -translate-x-1/2 mb-3 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs rounded-xl opacity-0 group-hover/badge:opacity-100 transition-all duration-200 pointer-events-none whitespace-nowrap z-50 shadow-xl border border-white/10"},Wd={class:"font-bold text-sm"},Kd={class:"text-gray-300 text-[11px] mt-0.5"},zd={key:0,class:"text-[11px] font-medium text-gray-600 dark:text-gray-400 text-center leading-tight",style:{"max-width":"72px","word-wrap":"break-word"}},Cs={__name:"AchievementBadge",props:{achievementId:{type:String,required:!0},size:{type:String,default:"md"},showLabel:{type:Boolean,default:!1}},setup(e){const t={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},s=o=>{const l=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3];for(let c=l.length-1;c>=0;c--)if(o>=l[c])return c+1;return 1},r=o=>{const l=o.match(/(\d+)$/);return l?parseInt(l[1],10):50},n={"commit-1":{name:"First Steps",description:"Made your first commit",icon:"fa-baby"},"commit-10":{name:"Getting Started",description:"Made 10 commits",icon:"fa-seedling"},"commit-50":{name:"Contributor",description:"Made 50 commits",icon:"fa-code"},"commit-100":{name:"Committed",description:"Made 100 commits",icon:"fa-fire"},"commit-500":{name:"Code Machine",description:"Made 500 commits",icon:"fa-robot"},"commit-1000":{name:"Code Warrior",description:"Made 1000 commits",icon:"fa-crown"},"pr-1":{name:"PR Pioneer",description:"Opened your first pull request",icon:"fa-code-pull-request"},"pr-10":{name:"PR Regular",description:"Opened 10 pull requests",icon:"fa-code-branch"},"pr-25":{name:"PR Pro",description:"Opened 25 pull requests",icon:"fa-code-compare"},"pr-50":{name:"Merge Master",description:"Opened 50 pull requests",icon:"fa-code-merge"},"pr-100":{name:"PR Champion",description:"Opened 100 pull requests",icon:"fa-trophy"},"pr-250":{name:"PR Legend",description:"Opened 250 pull requests",icon:"fa-medal"},"review-1":{name:"First Review",description:"Reviewed your first pull request",icon:"fa-magnifying-glass"},"review-10":{name:"Reviewer",description:"Reviewed 10 pull requests",icon:"fa-eye"},"review-25":{name:"Review Regular",description:"Reviewed 25 pull requests",icon:"fa-glasses"},"review-50":{name:"Review Expert",description:"Reviewed 50 pull requests",icon:"fa-user-check"},"review-100":{name:"Review Guru",description:"Reviewed 100 pull requests",icon:"fa-user-graduate"},"review-250":{name:"Review Master",description:"Reviewed 250 pull requests",icon:"fa-award"},"comment-10":{name:"Commentator",description:"Left 10 PR review comments",icon:"fa-comment"},"comment-50":{name:"Feedback Giver",description:"Left 50 PR review comments",icon:"fa-comments"},"comment-100":{name:"Code Critic",description:"Left 100 PR review comments",icon:"fa-comment-dots"},"comment-250":{name:"Feedback Expert",description:"Left 250 PR review comments",icon:"fa-message"},"comment-500":{name:"Comment Champion",description:"Left 500 PR review comments",icon:"fa-scroll"},"lines-added-100":{name:"First Hundred",description:"Added 100 lines of code",icon:"fa-plus"},"lines-added-1000":{name:"Thousand Lines",description:"Added 1000 lines of code",icon:"fa-layer-group"},"lines-added-5000":{name:"Five Thousand",description:"Added 5000 lines of code",icon:"fa-cubes"},"lines-added-10000":{name:"Ten Thousand",description:"Added 10000 lines of code",icon:"fa-mountain"},"lines-added-50000":{name:"Code Mountain",description:"Added 50000 lines of code",icon:"fa-mountain-sun"},"lines-deleted-100":{name:"Tidying Up",description:"Deleted 100 lines of code",icon:"fa-eraser"},"lines-deleted-500":{name:"Spring Cleaning",description:"Deleted 500 lines of code",icon:"fa-broom"},"lines-deleted-1000":{name:"Code Cleaner",description:"Deleted 1000 lines of code",icon:"fa-trash-can"},"lines-deleted-5000":{name:"Refactoring Hero",description:"Deleted 5000 lines of code",icon:"fa-recycle"},"lines-deleted-10000":{name:"Deletion Master",description:"Deleted 10000 lines of code",icon:"fa-dumpster-fire"},"review-time-24h":{name:"Same Day Reviewer",description:"Average review response under 24 hours",icon:"fa-clock"},"review-time-4h":{name:"Quick Responder",description:"Average review response under 4 hours",icon:"fa-stopwatch"},"review-time-1h":{name:"Speed Demon",description:"Average review response under 1 hour",icon:"fa-bolt"},"repo-2":{name:"Multi-Repo",description:"Contributed to 2 repositories",icon:"fa-folder"},"repo-5":{name:"Repo Explorer",description:"Contributed to 5 repositories",icon:"fa-folder-tree"},"repo-10":{name:"Repo Master",description:"Contributed to 10 repositories",icon:"fa-network-wired"},"reviewees-3":{name:"Helpful Colleague",description:"Reviewed PRs from 3 different contributors",icon:"fa-user-group"},"reviewees-10":{name:"Team Player",description:"Reviewed PRs from 10 different contributors",icon:"fa-people-group"},"reviewees-25":{name:"Community Pillar",description:"Reviewed PRs from 25 different contributors",icon:"fa-people-roof"},"large-pr-500":{name:"Big Change",description:"Merged a PR with 500+ lines changed",icon:"fa-expand"},"large-pr-1000":{name:"Heavy Lifter",description:"Merged a PR with 1000+ lines changed",icon:"fa-weight-hanging"},"large-pr-5000":{name:"Mega Merge",description:"Merged a PR with 5000+ lines changed",icon:"fa-dumbbell"},"small-pr-5":{name:"Small Changes",description:"Merged 5 PRs under 100 lines",icon:"fa-compress"},"small-pr-10":{name:"Small PR Advocate",description:"Merged 10 PRs under 100 lines",icon:"fa-minimize"},"small-pr-25":{name:"Atomic Commits",description:"Merged 25 PRs under 100 lines",icon:"fa-atom"},"small-pr-50":{name:"Micro PR Master",description:"Merged 50 PRs under 100 lines",icon:"fa-microchip"},"perfect-pr-1":{name:"First Try",description:"1 PR merged without changes requested",icon:"fa-check"},"perfect-pr-5":{name:"Clean Code",description:"5 PRs merged without changes requested",icon:"fa-check-double"},"perfect-pr-10":{name:"Quality Author",description:"10 PRs merged without changes requested",icon:"fa-circle-check"},"perfect-pr-25":{name:"Flawless",description:"25 PRs merged without changes requested",icon:"fa-gem"},"active-7":{name:"Week Active",description:"Active on 7 different days",icon:"fa-calendar-day"},"active-30":{name:"Month Active",description:"Active on 30 different days",icon:"fa-calendar-week"},"active-60":{name:"Consistent Contributor",description:"Active on 60 different days",icon:"fa-chart-line"},"active-100":{name:"Dedicated Developer",description:"Active on 100 different days",icon:"fa-fire-flame-curved"},"streak-3":{name:"Getting Rolling",description:"3 day contribution streak",icon:"fa-forward"},"streak-7":{name:"Week Warrior",description:"7 day contribution streak",icon:"fa-calendar-week"},"streak-14":{name:"Two Week Streak",description:"14 day contribution streak",icon:"fa-fire"},"streak-30":{name:"Month Master",description:"30 day contribution streak",icon:"fa-calendar-check"},"workweek-3":{name:"Work Week Start",description:"3 consecutive weekday streak",icon:"fa-briefcase"},"workweek-5":{name:"Full Work Week",description:"5 consecutive weekday streak",icon:"fa-building"},"workweek-10":{name:"Two Week Grind",description:"10 consecutive weekday streak",icon:"fa-business-time"},"workweek-20":{name:"Month of Mondays",description:"20 consecutive weekday streak",icon:"fa-landmark"},"earlybird-10":{name:"Early Riser",description:"10 commits before 9am",icon:"fa-mug-hot"},"earlybird-25":{name:"Morning Person",description:"25 commits before 9am",icon:"fa-cloud-sun"},"earlybird-50":{name:"Early Bird",description:"50 commits before 9am",icon:"fa-sun"},"earlybird-100":{name:"Dawn Warrior",description:"100 commits before 9am",icon:"fa-sunrise"},"nightowl-10":{name:"Late Worker",description:"10 commits after 9pm",icon:"fa-cloud-moon"},"nightowl-25":{name:"Evening Coder",description:"25 commits after 9pm",icon:"fa-moon"},"nightowl-50":{name:"Night Owl",description:"50 commits after 9pm",icon:"fa-star"},"nightowl-100":{name:"Nocturnal",description:"100 commits after 9pm",icon:"fa-star-and-crescent"},"midnight-5":{name:"Night Shift",description:"5 commits between midnight and 4am",icon:"fa-ghost"},"midnight-10":{name:"Insomniac",description:"10 commits between midnight and 4am",icon:"fa-bed"},"midnight-25":{name:"Nosferatu",description:"25 commits between midnight and 4am",icon:"fa-skull"},"midnight-50":{name:"Vampire Coder",description:"50 commits between midnight and 4am",icon:"fa-skull-crossbones"},"weekend-5":{name:"Weekend Work",description:"5 weekend commits",icon:"fa-couch"},"weekend-10":{name:"Weekend Regular",description:"10 weekend commits",icon:"fa-house-laptop"},"weekend-25":{name:"Weekend Warrior",description:"25 weekend commits",icon:"fa-gamepad"},"weekend-50":{name:"No Days Off",description:"50 weekend commits",icon:"fa-person-running"},"ooh-10":{name:"Extra Hours",description:"10 commits outside 9am-5pm",icon:"fa-clock-rotate-left"},"ooh-25":{name:"Flexible Schedule",description:"25 commits outside 9am-5pm",icon:"fa-user-clock"},"ooh-50":{name:"Off-Hours Hero",description:"50 commits outside 9am-5pm",icon:"fa-hourglass-half"},"ooh-100":{name:"Time Bender",description:"100 commits outside 9am-5pm",icon:"fa-infinity"},"docs-100":{name:"Documenter",description:"Added 100 lines of comments/docs",icon:"fa-file-lines"},"docs-500":{name:"Technical Writer",description:"Added 500 lines of comments/docs",icon:"fa-book"},"docs-1000":{name:"Documentation Hero",description:"Added 1000 lines of comments/docs",icon:"fa-book-open"},"docs-2500":{name:"Knowledge Keeper",description:"Added 2500 lines of comments/docs",icon:"fa-scroll"},"docs-5000":{name:"Code Historian",description:"Added 5000 lines of comments/docs",icon:"fa-landmark"},"docs-del-50":{name:"Comment Trimmer",description:"Removed 50 lines of outdated comments",icon:"fa-scissors"},"docs-del-200":{name:"Cleanup Crew",description:"Removed 200 lines of outdated comments",icon:"fa-broom"},"docs-del-500":{name:"Dead Code Hunter",description:"Removed 500 lines of outdated comments",icon:"fa-skull-crossbones"},"docs-del-1000":{name:"Comment Surgeon",description:"Removed 1000 lines of outdated comments",icon:"fa-user-doctor"},"docs-del-2500":{name:"Noise Eliminator",description:"Removed 2500 lines of outdated comments",icon:"fa-volume-xmark"},"issue-1":{name:"Bug Hunter",description:"Opened your first issue",icon:"fa-bug"},"issue-5":{name:"Issue Reporter",description:"Opened 5 issues",icon:"fa-flag"},"issue-10":{name:"Quality Advocate",description:"Opened 10 issues",icon:"fa-clipboard-list"},"issue-25":{name:"Issue Expert",description:"Opened 25 issues",icon:"fa-list-check"},"issue-50":{name:"Issue Champion",description:"Opened 50 issues",icon:"fa-bullhorn"},"issue-close-1":{name:"Problem Solver",description:"Closed your first issue",icon:"fa-circle-check"},"issue-close-5":{name:"Bug Squasher",description:"Closed 5 issues",icon:"fa-bug-slash"},"issue-close-10":{name:"Issue Resolver",description:"Closed 10 issues",icon:"fa-check-double"},"issue-close-25":{name:"Closure Expert",description:"Closed 25 issues",icon:"fa-square-check"},"issue-close-50":{name:"Issue Terminator",description:"Closed 50 issues",icon:"fa-crosshairs"},"issue-comment-5":{name:"Issue Commenter",description:"Left 5 issue comments",icon:"fa-comment"},"issue-comment-10":{name:"Discussion Starter",description:"Left 10 issue comments",icon:"fa-comments"},"issue-comment-25":{name:"Issue Collaborator",description:"Left 25 issue comments",icon:"fa-people-arrows"},"issue-comment-50":{name:"Community Voice",description:"Left 50 issue comments",icon:"fa-bullhorn"},"issue-comment-100":{name:"Issue Guru",description:"Left 100 issue comments",icon:"fa-graduation-cap"},"issue-ref-5":{name:"Issue Linker",description:"Referenced issues in 5 commits",icon:"fa-link"},"issue-ref-10":{name:"Commit Connector",description:"Referenced issues in 10 commits",icon:"fa-diagram-project"},"issue-ref-25":{name:"Traceability Pro",description:"Referenced issues in 25 commits",icon:"fa-sitemap"},"issue-ref-50":{name:"Issue Tracker",description:"Referenced issues in 50 commits",icon:"fa-chart-gantt"},"issue-ref-100":{name:"Traceability Master",description:"Referenced issues in 100 commits",icon:"fa-network-wired"}},i=o=>{const l=n[o]||{name:o,description:"",icon:"fa-medal"},c=r(o),u=s(c),f=t[u]||"from-gray-400 to-gray-500";return{...l,gradient:f,tier:u,threshold:c}},a={sm:{wrapper:"w-9 h-9",icon:"text-sm",radius:"rounded-lg"},md:{wrapper:"w-11 h-11",icon:"text-base",radius:"rounded-xl"},lg:{wrapper:"w-14 h-14",icon:"text-lg",radius:"rounded-xl"}};return(o,l)=>(y(),w("div",Gd,[d("div",{class:"relative group/badge",title:i(e.achievementId).name},[d("div",{class:Q(["flex items-center justify-center bg-gradient-to-br shadow-lg hover:scale-105 hover:shadow-xl transition-all duration-200 cursor-pointer",[a[e.size].wrapper,a[e.size].radius,i(e.achievementId).gradient]])},[d("i",{class:Q(["fas text-white drop-shadow-sm",[i(e.achievementId).icon,a[e.size].icon]])},null,2)],2),d("div",Ud,[d("div",Wd,v(i(e.achievementId).name),1),d("div",Kd,v(i(e.achievementId).description),1),l[0]||(l[0]=d("div",{class:"absolute top-full left-1/2 -translate-x-1/2 border-[6px] border-transparent border-t-gray-900 dark:border-t-gray-800"},null,-1))])],8,qd),e.showLabel?(y(),w("span",zd,v(i(e.achievementId).name),1)):G("",!0)]))}},Qd={class:"flex items-center space-x-4"},Jd={class:"relative"},Yd={class:"flex-1"},Xd={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition-colors"},Zd={class:"text-sm text-gray-500 dark:text-gray-400"},eu={key:0,class:"text-xs text-accent-500"},tu={class:"text-right"},su={class:"text-2xl font-bold gradient-text"},ru={key:0,class:"mt-4 flex flex-wrap gap-1.5"},nu={key:0,class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},iu={__name:"ContributorCard",props:{contributor:{type:Object,required:!0},rank:{type:Number,default:0},showRank:{type:Boolean,default:!0},featured:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:{name:"contributor",params:{login:e.contributor.login}},class:Q(["card animate-fade-in-up block cursor-pointer hover:shadow-lg transition-shadow",e.featured&&e.rank===1?"ring-2 ring-yellow-400":""])},{default:Z(()=>[d("div",Qd,[d("div",Jd,[$(Es,{src:e.contributor.avatar_url,name:e.contributor.login,size:e.featured?"xl":"lg"},null,8,["src","name","size"]),e.showRank&&e.rank>0?(y(),oe(Pa,{key:0,rank:e.rank,size:"sm",class:"absolute -top-1 -right-1"},null,8,["rank"])):G("",!0)]),d("div",Yd,[d("h3",Xd,v(e.contributor.name||e.contributor.login),1),d("p",Zd,[d("span",{class:"hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=en(r=>t.window.open(`https://github.com/${e.contributor.login}`,"_blank"),["stop","prevent"]))},[se(" @"+v(e.contributor.login)+" ",1),s[1]||(s[1]=d("i",{class:"fas fa-external-link-alt text-xs ml-0.5 opacity-50"},null,-1))])]),e.contributor.team?(y(),w("p",eu,v(e.contributor.team),1)):G("",!0)]),d("div",tu,[d("div",su,v(A(U)(e.contributor.score?.total||e.contributor.score||0)),1),s[2]||(s[2]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"points",-1))])]),e.contributor.achievements?.length?(y(),w("div",ru,[(y(!0),w(J,null,be(e.contributor.achievements.slice(0,6),r=>(y(),oe(Cs,{key:r,"achievement-id":r,size:"sm"},null,8,["achievement-id"]))),128)),e.contributor.achievements.length>6?(y(),w("span",nu," +"+v(e.contributor.achievements.length-6),1)):G("",!0)])):G("",!0)]),_:1},8,["to","class"]))}},au={class:"flex items-center justify-between mb-4"},ou={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition"},lu={class:"text-sm text-gray-500 dark:text-gray-400 mb-4"},cu={class:"grid grid-cols-3 gap-4 text-center"},du={class:"text-lg font-semibold text-gray-800 dark:text-white"},uu={class:"text-lg font-semibold text-gray-800 dark:text-white"},fu={class:"text-lg font-semibold text-gray-800 dark:text-white"},mu={__name:"RepoCard",props:{repo:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:`/repos/${e.repo.owner}/${e.repo.name}`,class:"card hover:shadow-lg transition group"},{default:Z(()=>[d("div",au,[d("h3",ou,v(e.repo.name),1),s[0]||(s[0]=d("i",{class:"fas fa-arrow-right text-gray-400 group-hover:text-primary-500 transition"},null,-1))]),d("p",lu,v(e.repo.owner)+"/"+v(e.repo.name),1),d("div",cu,[d("div",null,[d("div",du,v(A(U)(e.repo.total_commits)),1),s[1]||(s[1]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Commits",-1))]),d("div",null,[d("div",uu,v(A(U)(e.repo.total_prs)),1),s[2]||(s[2]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"PRs",-1))]),d("div",null,[d("div",fu,v(e.repo.active_contributors),1),s[3]||(s[3]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Contributors",-1))])])]),_:1},8,["to"]))}},gu={class:"flex items-center justify-between mb-4"},pu={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition"},hu={class:"flex items-center space-x-2 mb-4"},xu={key:0,class:"w-8 h-8 rounded-full bg-gray-200 dark:bg-gray-700 flex items-center justify-center text-gray-600 dark:text-gray-300 text-xs font-bold"},yu={class:"grid grid-cols-2 gap-4 text-center"},vu={class:"text-lg font-semibold gradient-text"},bu={class:"text-lg font-semibold text-gray-800 dark:text-white"},_u={__name:"TeamCard",props:{team:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:`/teams/${A(Ea)(e.team.name)}`,class:"card hover:shadow-lg transition group"},{default:Z(()=>[d("div",gu,[d("h3",pu,v(e.team.name),1),d("span",{class:"w-3 h-3 rounded-full",style:At({backgroundColor:e.team.color||"#8b5cf6"})},null,4)]),d("div",hu,[(y(!0),w(J,null,be((e.team.members||[]).slice(0,5),(r,n)=>(y(),oe(Es,{key:r,name:r,size:"sm"},null,8,["name"]))),128)),(e.team.members?.length||0)>5?(y(),w("span",xu," +"+v(e.team.members.length-5),1)):G("",!0)]),d("div",yu,[d("div",null,[d("div",vu,v(A(U)(e.team.total_score)),1),s[0]||(s[0]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Total Score",-1))]),d("div",null,[d("div",bu,v(e.team.members?.length||0),1),s[1]||(s[1]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Members",-1))])])]),_:1},8,["to"]))}},ku={class:"text-2xl font-bold text-gray-800 dark:text-white mb-6"},Ue={__name:"SectionHeader",props:{title:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-primary-500"}},setup(e){return(t,s)=>(y(),w("h2",ku,[e.icon?(y(),w("i",{key:0,class:Q([[e.icon,e.iconColor],"mr-2"])},null,2)):G("",!0),se(v(e.title)+" ",1),Lt(t.$slots,"suffix")]))}},wu=(e,t)=>{const s=e.__vccOpts||e;for(const[r,n]of t)s[r]=n;return s},Cu={key:0,class:"flex items-center justify-center h-full"},Ru={__name:"VelocityChart",props:{timeline:{type:Object,required:!0},height:{type:String,default:"300px"},showScore:{type:Boolean,default:!1}},setup(e){dn.register(...La);const t=e,s=xe(null);let r=null;const n=ee(()=>t.timeline?.series?t.timeline.series.filter(f=>t.showScore||f.name!=="Score"):[]),i=ee(()=>!t.timeline?.labels||!n.value.length?{labels:[],datasets:[]}:{labels:t.timeline.labels,datasets:n.value.map(f=>({label:f.name,data:f.data,borderColor:f.color,backgroundColor:f.color+"20",fill:!0,tension:.4,pointRadius:3,pointHoverRadius:5}))}),a=xe(window.innerWidth<640),o=ee(()=>({responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},plugins:{legend:{position:"top",labels:{usePointStyle:!0,padding:a.value?10:20,boxWidth:a.value?8:12,font:{size:a.value?10:12}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.8)",padding:a.value?8:12,titleFont:{size:a.value?12:14},bodyFont:{size:a.value?11:13},callbacks:{label:f=>`${f.dataset.label}: ${f.parsed.y.toLocaleString()}`}}},scales:{x:{grid:{display:!1},ticks:{font:{size:a.value?9:11},maxRotation:a.value?45:0,autoSkip:!0,maxTicksLimit:a.value?6:12}},y:{beginAtZero:!0,grid:{color:"rgba(0, 0, 0, 0.05)"},ticks:{font:{size:a.value?9:11},callback:f=>f>=1e3?(f/1e3).toFixed(1)+"k":f}}}}));function l(){if(!s.value||!i.value.labels.length)return;r&&r.destroy();const f=s.value.getContext("2d");r=new dn(f,{type:"line",data:i.value,options:o.value})}function c(){r?(r.data=i.value,r.update()):l()}function u(){const f=window.innerWidth<640;f!==a.value&&(a.value=f,l())}return Ft(()=>{l(),window.addEventListener("resize",u)}),Jr(()=>{window.removeEventListener("resize",u),r&&r.destroy()}),Ge(()=>t.timeline,()=>{c()},{deep:!0}),Ge(()=>t.showScore,()=>{c()}),(f,p)=>(y(),w("div",{class:"velocity-chart",style:At({height:e.height})},[d("canvas",{ref_key:"chartRef",ref:s},null,512),e.timeline?.labels?.length?G("",!0):(y(),w("div",Cu,[...p[0]||(p[0]=[d("p",{class:"text-gray-400"},"No velocity data available",-1)])]))],4))}},Su=wu(Ru,[["__scopeId","data-v-3b28013a"]]),Au={class:"py-10 sm:py-16 px-4"},Eu={class:"container mx-auto text-center animate-fade-in-up"},Pu={class:"flex flex-col items-center space-y-2 mt-4 text-sm text-gray-500 dark:text-gray-400"},Tu={key:0},$u={key:0},Ou={key:1},Iu={key:2},Mu={key:1},Du={key:0,class:"py-6 sm:py-8 px-4"},Nu={class:"container mx-auto"},Lu={class:"card"},ju={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 mb-4 sm:mb-6"},Fu={class:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400 cursor-pointer"},Vu={class:"h-[200px] sm:h-[280px] md:h-[320px]"},Hu={class:"py-8 px-4"},Bu={class:"container mx-auto"},Gu={class:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4"},qu={class:"py-8 px-4"},Uu={class:"container mx-auto"},Wu={class:"grid md:grid-cols-3 gap-6"},Ku={class:"mt-6 text-center"},zu={class:"py-8 px-4"},Qu={class:"container mx-auto"},Ju={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},Yu={key:1,class:"py-8 px-4"},Xu={class:"container mx-auto"},Zu={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},ef={__name:"Dashboard",setup(e){const t=Pe("globalData"),s=ee(()=>t.value||{}),r=ee(()=>s.value.leaderboard?.slice(0,3)||[]),n=ee(()=>s.value.repositories||[]),i=ee(()=>s.value.teams||[]),a=ee(()=>s.value.velocity_timeline),o=xe(!1);return(l,c)=>(y(),w("div",null,[d("header",Au,[d("div",Eu,[c[4]||(c[4]=d("h1",{class:"text-3xl sm:text-4xl md:text-6xl font-bold mb-3 sm:mb-4"},[d("span",{class:"gradient-text"},"Git Velocity")],-1)),c[5]||(c[5]=d("p",{class:"text-base sm:text-xl text-gray-600 dark:text-gray-300 max-w-2xl mx-auto px-2"}," Celebrate your team's achievements and contributions with beautiful insights. ",-1)),d("div",Pu,[s.value.period?.start||s.value.period?.end?(y(),w("p",Tu,[c[1]||(c[1]=d("i",{class:"fas fa-calendar-alt mr-1 text-primary-500"},null,-1)),c[2]||(c[2]=d("span",{class:"font-medium"},"Period:",-1)),s.value.period.start?(y(),w("span",$u,v(A(vr)(s.value.period.start)),1)):G("",!0),s.value.period.start&&s.value.period.end?(y(),w("span",Ou," — ")):G("",!0),s.value.period.end?(y(),w("span",Iu,v(A(vr)(s.value.period.end)),1)):G("",!0)])):G("",!0),s.value.generated_at?(y(),w("p",Mu,[c[3]||(c[3]=d("i",{class:"fas fa-clock mr-1"},null,-1)),se(" Generated on "+v(A(vr)(s.value.generated_at)),1)])):G("",!0)])])]),a.value?(y(),w("section",Du,[d("div",Nu,[d("div",Lu,[d("div",ju,[$(Ue,{title:"Velocity Timeline",icon:"fas fa-chart-line","icon-color":"text-primary-500"}),d("label",Fu,[zr(d("input",{type:"checkbox","onUpdate:modelValue":c[0]||(c[0]=u=>o.value=u),class:"rounded border-gray-300 text-primary-500 focus:ring-primary-500"},null,512),[[Zl,o.value]]),c[6]||(c[6]=d("span",null,"Show Score",-1))])]),d("div",Vu,[$(Su,{timeline:a.value,"show-score":o.value,height:"100%"},null,8,["timeline","show-score"])])])])])):G("",!0),d("section",Hu,[d("div",Bu,[d("div",Gu,[$(we,{value:s.value.total_contributors||0,label:"Contributors",delay:"0s"},null,8,["value"]),$(we,{value:s.value.total_commits||0,label:"Commits",delay:"0.1s"},null,8,["value"]),$(we,{value:s.value.total_prs||0,label:"Pull Requests",delay:"0.2s"},null,8,["value"]),$(we,{value:s.value.total_reviews||0,label:"Reviews",delay:"0.3s"},null,8,["value"]),$(we,{value:"+"+A(U)(s.value.total_lines_added||0),label:"Lines Added","value-class":"text-green-500",delay:"0.4s"},null,8,["value"]),$(we,{value:"-"+A(U)(s.value.total_lines_deleted||0),label:"Lines Deleted","value-class":"text-red-500",delay:"0.5s"},null,8,["value"])])])]),d("section",qu,[d("div",Uu,[$(Ue,{title:"Top Contributors",icon:"fas fa-trophy","icon-color":"text-yellow-500"}),d("div",Wu,[(y(!0),w(J,null,be(r.value,(u,f)=>(y(),oe(iu,{key:u.login,contributor:u,rank:f+1,featured:""},null,8,["contributor","rank"]))),128))]),d("div",Ku,[$(A(ke),{to:"/leaderboard",class:"btn-primary"},{default:Z(()=>[...c[7]||(c[7]=[se(" View Full Leaderboard ",-1),d("i",{class:"fas fa-arrow-right ml-2"},null,-1)])]),_:1})])])]),d("section",zu,[d("div",Qu,[$(Ue,{title:"Repositories",icon:"fas fa-code-branch","icon-color":"text-accent-500"}),d("div",Ju,[(y(!0),w(J,null,be(n.value,u=>(y(),oe(mu,{key:`${u.owner}/${u.name}`,repo:u},null,8,["repo"]))),128))])])]),i.value.length?(y(),w("section",Yu,[d("div",Xu,[$(Ue,{title:"Teams",icon:"fas fa-users","icon-color":"text-blue-500"}),d("div",Zu,[(y(!0),w(J,null,be(i.value,u=>(y(),oe(_u,{key:u.name,team:u},null,8,["team"]))),128))])])])):G("",!0)]))}},tf={class:"flex items-center space-x-2 text-sm text-gray-500 dark:text-gray-400 mb-6"},sf={key:2,class:"fas fa-chevron-right text-xs"},rf={__name:"Breadcrumb",props:{items:{type:Array,required:!0}},setup(e){return(t,s)=>(y(),w("div",tf,[(y(!0),w(J,null,be(e.items,(r,n)=>(y(),w(J,{key:n},[r.to?(y(),oe(A(ke),{key:0,to:r.to,class:"hover:text-primary-500"},{default:Z(()=>[se(v(r.label),1)]),_:2},1032,["to"])):(y(),w("span",{key:1,class:Q(n===e.items.length-1?"text-gray-800 dark:text-white":"")},v(r.label),3)),n[]},centered:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),w("header",nf,[d("div",{class:Q(["container mx-auto",{"text-center":e.centered}])},[e.breadcrumbs.length?(y(),oe(rf,{key:0,items:e.breadcrumbs},null,8,["items"])):G("",!0),d("div",{class:Q(["flex items-center",e.centered?"justify-center":""])},[Lt(t.$slots,"prefix"),d("h1",af,[e.icon?(y(),w("i",{key:0,class:Q([[e.icon,e.iconColor],"mr-3"])},null,2)):G("",!0),d("span",of,v(e.title),1)])],2),e.subtitle||t.$slots.subtitle?(y(),w("p",lf,[Lt(t.$slots,"subtitle",{},()=>[se(v(e.subtitle),1)])])):G("",!0),Lt(t.$slots,"extra")],2)]))}},cf={class:"card overflow-hidden p-0"},df={class:"w-full"},uf={class:"bg-gray-50 dark:bg-gray-800/50"},ff={class:"divide-y divide-gray-200 dark:divide-gray-700"},mf=["onClick"],gf={key:0,class:"text-center py-12"},pf={class:"text-gray-500 dark:text-gray-400"},Ta={__name:"DataTable",props:{columns:{type:Array,required:!0},items:{type:Array,default:()=>[]},emptyIcon:{type:String,default:"fas fa-inbox"},emptyMessage:{type:String,default:"No data found"},rowClass:{type:String,default:"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition"},clickableRows:{type:Boolean,default:!1}},emits:["row-click"],setup(e){const t=s=>{switch(s){case"center":return"text-center";case"right":return"text-right";default:return"text-left"}};return(s,r)=>(y(),w("div",cf,[d("table",df,[d("thead",uf,[d("tr",null,[(y(!0),w(J,null,be(e.columns,n=>(y(),w("th",{key:n.key,class:Q(["px-3 sm:px-6 py-3 sm:py-4 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider",t(n.align),n.headerClass])},v(n.label),3))),128))])]),d("tbody",ff,[(y(!0),w(J,null,be(e.items,(n,i)=>(y(),w("tr",{key:n.id||n.login||i,class:Q([e.rowClass,{"cursor-pointer":e.clickableRows}]),onClick:a=>e.clickableRows&&s.$emit("row-click",n)},[(y(!0),w(J,null,be(e.columns,a=>(y(),w("td",{key:a.key,class:Q(["px-3 sm:px-6 py-3 sm:py-4",t(a.align),a.class])},[Lt(s.$slots,a.key,{item:n,index:i},()=>[se(v(n[a.key]),1)])],2))),128))],10,mf))),128))])]),e.items.length?G("",!0):(y(),w("div",gf,[d("i",{class:Q([e.emptyIcon,"text-4xl text-gray-300 dark:text-gray-600 mb-4"])},null,2),d("p",pf,v(e.emptyMessage),1)]))]))}},hf={class:"font-medium text-gray-800 dark:text-white group-hover:text-primary-500 transition-colors"},xf={class:"text-sm"},yf=["href"],vf={key:1,class:"text-gray-500 dark:text-gray-400"},$a={__name:"ContributorRow",props:{contributor:{type:Object,required:!0},showGithubLink:{type:Boolean,default:!1},columns:{type:Array,default:()=>["commits","prs","reviews","lines","score"]}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:{name:"contributor",params:{login:e.contributor.login}},class:"flex items-center space-x-3"},{default:Z(()=>[$(Es,{src:e.contributor.avatar_url,name:e.contributor.login,class:"ring-2 ring-transparent group-hover:ring-primary-500 transition-all"},null,8,["src","name"]),d("div",null,[d("div",hf,v(e.contributor.name||e.contributor.login),1),d("div",xf,[e.showGithubLink?(y(),w("a",{key:0,href:`https://github.com/${e.contributor.login}`,target:"_blank",rel:"noopener noreferrer",class:"text-gray-500 dark:text-gray-400 hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=en(()=>{},["stop"]))},[se(" @"+v(e.contributor.login)+" ",1),s[1]||(s[1]=d("i",{class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},null,-1))],8,yf)):(y(),w("span",vf," @"+v(e.contributor.login),1))])])]),_:1},8,["to"]))}},Oa={commit:["commit-1","commit-10","commit-50","commit-100","commit-500","commit-1000"],pr:["pr-1","pr-10","pr-25","pr-50","pr-100","pr-250"],review:["review-1","review-10","review-25","review-50","review-100","review-250"],comment:["comment-10","comment-50","comment-100","comment-250","comment-500"],"lines-added":["lines-added-100","lines-added-1000","lines-added-5000","lines-added-10000","lines-added-50000"],"lines-deleted":["lines-deleted-100","lines-deleted-500","lines-deleted-1000","lines-deleted-5000","lines-deleted-10000"],"review-time":["review-time-24h","review-time-4h","review-time-1h"],repo:["repo-2","repo-5","repo-10"],reviewees:["reviewees-3","reviewees-10","reviewees-25"],"large-pr":["large-pr-500","large-pr-1000","large-pr-5000"],"small-pr":["small-pr-5","small-pr-10","small-pr-25","small-pr-50"],"perfect-pr":["perfect-pr-1","perfect-pr-5","perfect-pr-10","perfect-pr-25"],active:["active-7","active-30","active-60","active-100"],streak:["streak-3","streak-7","streak-14","streak-30"],workweek:["workweek-3","workweek-5","workweek-10","workweek-20"],earlybird:["earlybird-10","earlybird-25","earlybird-50","earlybird-100"],nightowl:["nightowl-10","nightowl-25","nightowl-50","nightowl-100"],midnight:["midnight-5","midnight-10","midnight-25","midnight-50"],weekend:["weekend-5","weekend-10","weekend-25","weekend-50"],ooh:["ooh-10","ooh-25","ooh-50","ooh-100"],docs:["docs-100","docs-500","docs-1000","docs-2500","docs-5000"],"docs-del":["docs-del-50","docs-del-200","docs-del-500","docs-del-1000","docs-del-2500"],issue:["issue-1","issue-5","issue-10","issue-25","issue-50"],"issue-close":["issue-close-1","issue-close-5","issue-close-10","issue-close-25","issue-close-50"],"issue-comment":["issue-comment-5","issue-comment-10","issue-comment-25","issue-comment-50","issue-comment-100"],"issue-ref":["issue-ref-5","issue-ref-10","issue-ref-25","issue-ref-50","issue-ref-100"]};function Ia(e){for(const[t,s]of Object.entries(Oa))if(s.includes(e))return t;return null}function bf(e){const t=Ia(e);return t?Oa[t].indexOf(e):-1}function Ma(e){if(!e||!e.length)return[];const t={};for(const s of e){const r=Ia(s);if(!r){t[s]={id:s,tier:-1};continue}const n=bf(s);(!t[r]||n>t[r].tier)&&(t[r]={id:s,tier:n})}return Object.values(t).sort((s,r)=>r.tier-s.tier).map(s=>s.id)}const _f={class:"py-8 px-4"},kf={class:"container mx-auto max-w-5xl"},wf={class:"mb-6"},Cf={class:"relative max-w-md"},Rf={key:0,class:"mt-2 text-sm text-gray-500 dark:text-gray-400"},Sf={class:"flex flex-wrap gap-1.5 max-w-[280px]"},Af={key:0,class:"text-gray-400 text-sm"},Ef={class:"hidden md:table-cell"},Pf={key:0,class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300"},Tf={key:1,class:"text-gray-400"},$f={class:"hidden sm:table-cell"},Of={key:0,class:"text-sm text-gray-600 dark:text-gray-300"},If={key:1,class:"text-gray-400"},Mf={class:"text-lg font-bold gradient-text"},Df={__name:"Leaderboard",setup(e){const t=Pe("globalData"),s=xe(""),r=ee(()=>t.value?.leaderboard||[]),n=ee(()=>{if(!s.value.trim())return r.value;const o=s.value.toLowerCase().trim();return r.value.filter(l=>{const c=(l.name||"").toLowerCase(),u=(l.login||"").toLowerCase();return c.includes(o)||u.includes(o)})}),i=[{key:"rank",label:"Rank",align:"left"},{key:"contributor",label:"Contributor",align:"left"},{key:"achievements",label:"Achievements",align:"left"},{key:"team",label:"Team",align:"left",headerClass:"hidden md:table-cell"},{key:"category",label:"Best At",align:"left",headerClass:"hidden sm:table-cell"},{key:"score",label:"Score",align:"right"}],a=o=>({Commits:"fas fa-code-commit text-green-500",PRs:"fas fa-code-pull-request text-blue-500",Reviews:"fas fa-eye text-purple-500",Comments:"fas fa-comment text-orange-500"})[o]||"";return(o,l)=>(y(),w("div",null,[$(ir,{title:"Leaderboard",subtitle:"Top contributors ranked by their velocity score",icon:"fas fa-trophy","icon-color":"text-yellow-500",centered:""}),d("section",_f,[d("div",kf,[d("div",wf,[d("div",Cf,[l[3]||(l[3]=d("i",{class:"fas fa-search absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"},null,-1)),zr(d("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>s.value=c),type:"text",placeholder:"Search by name or username...",class:"w-full pl-10 pr-4 py-2.5 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition"},null,512),[[ga,s.value]]),s.value?(y(),w("button",{key:0,onClick:l[1]||(l[1]=c=>s.value=""),class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"},[...l[2]||(l[2]=[d("i",{class:"fas fa-times"},null,-1)])])):G("",!0)]),s.value&&n.value.length!==r.value.length?(y(),w("p",Rf," Showing "+v(n.value.length)+" of "+v(r.value.length)+" contributors ",1)):G("",!0)]),$(Ta,{columns:i,items:n.value,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{rank:Z(({item:c})=>[$(Pa,{rank:c.rank},null,8,["rank"])]),contributor:Z(({item:c})=>[$($a,{contributor:c,"show-github-link":""},null,8,["contributor"])]),achievements:Z(({item:c})=>[d("div",Sf,[(y(!0),w(J,null,be(A(Ma)(c.achievements),u=>(y(),oe(Cs,{key:u,"achievement-id":u,size:"sm"},null,8,["achievement-id"]))),128)),(c.achievements||[]).length?G("",!0):(y(),w("span",Af,"-"))])]),team:Z(({item:c})=>[d("td",Ef,[c.team?(y(),w("span",Pf,v(c.team),1)):(y(),w("span",Tf,"-"))])]),category:Z(({item:c})=>[d("td",$f,[c.top_category?(y(),w("span",Of,[d("i",{class:Q([a(c.top_category),"mr-1"])},null,2),se(" "+v(c.top_category),1)])):(y(),w("span",If,"-"))])]),score:Z(({item:c})=>[d("span",Mf,v(A(U)(c.score)),1)]),_:1},8,["items"])])])]))}},Nf={class:"flex items-center justify-center min-h-[60vh]"},Lf={class:"text-center"},jf={class:"text-gray-600 dark:text-gray-400"},nn={__name:"LoadingState",props:{message:{type:String,default:"Loading..."}},setup(e){return(t,s)=>(y(),w("div",Nf,[d("div",Lf,[s[0]||(s[0]=d("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"},null,-1)),d("p",jf,v(e.message),1)])]))}},Ff={class:"flex items-center justify-center min-h-[60vh]"},Vf={class:"text-center"},Hf={class:"text-gray-600 dark:text-gray-400"},an={__name:"ErrorState",props:{message:{type:String,default:"An error occurred"},icon:{type:String,default:"fas fa-exclamation-triangle"}},setup(e){return(t,s)=>(y(),w("div",Ff,[d("div",Vf,[d("i",{class:Q([e.icon,"text-4xl text-red-500 mb-4"])},null,2),d("p",Hf,v(e.message),1),Lt(t.$slots,"actions")])]))}},Bf=["href"],Gf={key:0,class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},Da={__name:"GithubLink",props:{url:{type:String,required:!0},label:{type:String,default:""},showIcon:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),w("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",class:"hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=en(()=>{},["stop"]))},[Lt(t.$slots,"default",{},()=>[se(v(e.label),1)]),e.showIcon?(y(),w("i",Gf)):G("",!0)],8,Bf))}},qf={class:"py-8 px-4"},Uf={class:"container mx-auto"},Wf={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Kf={class:"py-8 px-4"},zf={class:"container mx-auto"},Qf={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6"},Jf={class:"relative w-full sm:w-64"},Yf={key:0,class:"mb-4 text-sm text-gray-500 dark:text-gray-400"},Xf={class:"text-gray-800 dark:text-white"},Zf={class:"text-gray-800 dark:text-white"},e0={class:"text-gray-800 dark:text-white"},t0={class:"text-green-500"},s0={class:"text-red-500"},r0={class:"text-lg font-bold gradient-text"},n0={__name:"Repository",setup(e){const t=nr(),s=xe(null),r=xe(!0),n=xe(null),i=xe(""),a=ee(()=>s.value?.contributors||[]),o=ee(()=>{if(!i.value.trim())return a.value;const f=i.value.toLowerCase().trim();return a.value.filter(p=>{const h=(p.name||"").toLowerCase(),S=(p.login||"").toLowerCase();return h.includes(f)||S.includes(f)})}),l=ee(()=>[{label:"Dashboard",to:"/"},{label:"Repositories"},{label:s.value?.name||t.params.name}]),c=[{key:"contributor",label:"Contributor",align:"left"},{key:"commits",label:"Commits",align:"center"},{key:"prs",label:"PRs",align:"center"},{key:"reviews",label:"Reviews",align:"center"},{key:"lines",label:"Lines +/-",align:"center"},{key:"score",label:"Score",align:"right"}];async function u(){r.value=!0,n.value=null;try{const f=await fetch(`./data/repos/${t.params.owner}/${t.params.name}/metrics.json`);if(!f.ok)throw new Error("Repository not found");s.value=await f.json()}catch(f){n.value=f.message}finally{r.value=!1}}return Ft(u),Ge(()=>t.params,u),(f,p)=>(y(),w("div",null,[r.value?(y(),oe(nn,{key:0,message:"Loading repository..."})):n.value?(y(),oe(an,{key:1,message:n.value},null,8,["message"])):s.value?(y(),w(J,{key:2},[$(ir,{title:s.value.name,icon:"fas fa-code-branch","icon-color":"text-accent-500",breadcrumbs:l.value},{subtitle:Z(()=>[$(Da,{url:`https://github.com/${s.value.owner}/${s.value.name}`},{default:Z(()=>[se(v(s.value.owner)+"/"+v(s.value.name),1)]),_:1},8,["url"])]),_:1},8,["title","breadcrumbs"]),d("section",qf,[d("div",Uf,[d("div",Wf,[$(we,{value:s.value.total_commits,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),$(we,{value:s.value.total_prs,label:"Pull Requests",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),$(we,{value:s.value.total_reviews,label:"Reviews",icon:"fas fa-eye","icon-color":"text-purple-500"},null,8,["value"]),$(we,{value:s.value.active_contributors,label:"Contributors",icon:"fas fa-users","icon-color":"text-orange-500"},null,8,["value"])])])]),d("section",Kf,[d("div",zf,[d("div",Qf,[$(Ue,{title:"Contributors",icon:"fas fa-users","icon-color":"text-blue-500",class:"mb-0"}),d("div",Jf,[p[3]||(p[3]=d("i",{class:"fas fa-search absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"},null,-1)),zr(d("input",{"onUpdate:modelValue":p[0]||(p[0]=h=>i.value=h),type:"text",placeholder:"Search contributors...",class:"w-full pl-10 pr-4 py-2 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition text-sm"},null,512),[[ga,i.value]]),i.value?(y(),w("button",{key:0,onClick:p[1]||(p[1]=h=>i.value=""),class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"},[...p[2]||(p[2]=[d("i",{class:"fas fa-times"},null,-1)])])):G("",!0)])]),i.value&&o.value.length!==a.value.length?(y(),w("p",Yf," Showing "+v(o.value.length)+" of "+v(a.value.length)+" contributors ",1)):G("",!0),$(Ta,{columns:c,items:o.value,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{contributor:Z(({item:h})=>[$($a,{contributor:h},null,8,["contributor"])]),commits:Z(({item:h})=>[d("span",Xf,v(A(U)(h.commit_count)),1)]),prs:Z(({item:h})=>[d("span",Zf,v(A(U)(h.prs_opened)),1)]),reviews:Z(({item:h})=>[d("span",e0,v(A(U)(h.reviews_given)),1)]),lines:Z(({item:h})=>[d("span",t0,"+"+v(A(U)(h.lines_added)),1),p[4]||(p[4]=d("span",{class:"text-gray-400 mx-1"},"/",-1)),d("span",s0,"-"+v(A(U)(h.lines_deleted)),1)]),score:Z(({item:h})=>[d("span",r0,v(A(U)(h.score?.total||0)),1)]),_:1},8,["items"])])])],64)):G("",!0)]))}},i0={class:"flex items-center space-x-4 mb-4"},a0={class:"font-semibold text-gray-800 dark:text-white"},o0={class:"text-sm text-gray-500 dark:text-gray-400"},l0={class:"grid grid-cols-3 gap-4 text-center mb-4"},c0={class:"text-lg font-semibold text-gray-800 dark:text-white"},d0={class:"text-lg font-semibold text-gray-800 dark:text-white"},u0={class:"text-lg font-semibold text-gray-800 dark:text-white"},f0={class:"flex items-center justify-between pt-4 border-t border-gray-200 dark:border-gray-700"},m0={class:"text-xl font-bold gradient-text"},g0={key:0,class:"mt-4 flex flex-wrap gap-2"},p0={key:0,class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},h0={__name:"MemberCard",props:{member:{type:Object,required:!0},linkToProfile:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),oe(Bo(e.linkToProfile?A(ke):"div"),{to:e.linkToProfile?{name:"contributor",params:{login:e.member.login}}:void 0,class:Q(["card block",{"hover:shadow-lg transition cursor-pointer":e.linkToProfile}])},{default:Z(()=>[d("div",i0,[$(Es,{src:e.member.avatar_url,name:e.member.login,size:"lg"},null,8,["src","name"]),d("div",null,[d("h3",a0,v(e.member.name||e.member.login),1),d("p",o0,"@"+v(e.member.login),1)])]),d("div",l0,[d("div",null,[d("div",c0,v(A(U)(e.member.commit_count)),1),s[0]||(s[0]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Commits",-1))]),d("div",null,[d("div",d0,v(A(U)(e.member.prs_opened)),1),s[1]||(s[1]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"PRs",-1))]),d("div",null,[d("div",u0,v(A(U)(e.member.reviews_given)),1),s[2]||(s[2]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Reviews",-1))])]),d("div",f0,[s[3]||(s[3]=d("span",{class:"text-sm text-gray-500 dark:text-gray-400"},"Score",-1)),d("span",m0,v(A(U)(e.member.score?.total||0)),1)]),e.member.achievements?.length?(y(),w("div",g0,[(y(!0),w(J,null,be(e.member.achievements.slice(0,4),r=>(y(),oe(Cs,{key:r,"achievement-id":r,size:"sm"},null,8,["achievement-id"]))),128)),e.member.achievements.length>4?(y(),w("span",p0," +"+v(e.member.achievements.length-4),1)):G("",!0)])):G("",!0)]),_:1},8,["to","class"]))}},x0={class:"py-8 px-4"},y0={class:"container mx-auto"},v0={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},b0={class:"py-8 px-4"},_0={class:"container mx-auto"},k0={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},w0={__name:"Team",setup(e){const t=nr(),s=Pe("globalData"),r=xe(null),n=xe(!0),i=xe(null),a=ee(()=>[{label:"Dashboard",to:"/"},{label:"Teams"},{label:r.value?.name||t.params.slug}]);function o(){n.value=!0,i.value=null;const c=(s.value?.teams||[]).find(u=>Ea(u.name)===t.params.slug);c?r.value=c:i.value="Team not found",n.value=!1}return Ft(o),Ge(()=>t.params,o),Ge(s,o),(l,c)=>(y(),w("div",null,[n.value?(y(),oe(nn,{key:0,message:"Loading team..."})):i.value?(y(),oe(an,{key:1,message:i.value},null,8,["message"])):r.value?(y(),w(J,{key:2},[$(ir,{title:r.value.name,breadcrumbs:a.value,subtitle:`${r.value.members?.length||0} team members`},{prefix:Z(()=>[d("div",{class:"w-4 h-4 rounded-full mr-4",style:At({backgroundColor:r.value.color||"#8b5cf6"})},null,4)]),_:1},8,["title","breadcrumbs","subtitle"]),d("section",x0,[d("div",y0,[d("div",v0,[$(we,{value:r.value.total_score,label:"Total Score",icon:"fas fa-star","icon-color":"text-yellow-500"},null,8,["value"]),$(we,{value:r.value.aggregated_metrics?.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),$(we,{value:r.value.aggregated_metrics?.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),$(we,{value:r.value.aggregated_metrics?.reviews_given||0,label:"Reviews",icon:"fas fa-eye","icon-color":"text-blue-500"},null,8,["value"])])])]),d("section",b0,[d("div",_0,[$(Ue,{title:"Team Members",icon:"fas fa-users","icon-color":"text-blue-500"}),d("div",k0,[(y(!0),w(J,null,be(r.value.member_metrics,u=>(y(),oe(h0,{key:u.login,member:u},null,8,["member"]))),128))])])])],64)):G("",!0)]))}},C0={class:"space-y-3"},R0={class:"flex items-start justify-between mb-3"},S0={class:"flex items-center space-x-3"},A0={class:"text-sm font-semibold text-gray-800 dark:text-white"},E0={class:"flex items-center space-x-2 text-xs text-gray-500 dark:text-gray-400"},P0={class:"font-medium"},T0={class:"text-right"},$0={class:"text-gray-500 dark:text-gray-400 font-medium"},O0={class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5"},I0={class:"h-2.5 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden"},M0={class:"flex items-center justify-between mt-1.5"},D0={class:"flex items-center space-x-1"},N0=["title"],L0={key:0,class:"text-[10px] text-gray-400"},j0={key:0,class:"text-center text-xs text-gray-500 dark:text-gray-400 pt-2"},F0={key:1,class:"text-center py-8 text-gray-500 dark:text-gray-400"},V0={__name:"AchievementProgress",props:{contributor:{type:Object,required:!0},showEarned:{type:Boolean,default:!1},maxDisplay:{type:Number,default:6}},setup(e){const t=e,s=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3],r={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},n={1:"bg-stone-500",2:"bg-green-500",3:"bg-blue-500",4:"bg-purple-500",5:"bg-yellow-500",6:"bg-orange-500",7:"bg-red-500",8:"bg-pink-500",9:"bg-cyan-500",10:"bg-emerald-500",11:"bg-violet-500"},i=[{category:"Commits",icon:"fa-code-commit",iconColor:"text-green-500",getValue:u=>u.commit_count||0,achievements:[{id:"first-commit",threshold:1,name:"First Steps"},{id:"commit-10",threshold:10,name:"Getting Started"},{id:"commit-25",threshold:25,name:"Warming Up"},{id:"commit-50",threshold:50,name:"On A Roll"},{id:"commit-100",threshold:100,name:"Committed"},{id:"commit-250",threshold:250,name:"Dedicated"},{id:"commit-500",threshold:500,name:"Code Machine"},{id:"commit-1000",threshold:1e3,name:"Code Warrior"},{id:"commit-5000",threshold:5e3,name:"Legendary"},{id:"commit-10000",threshold:1e4,name:"Mythical"},{id:"commit-25000",threshold:25e3,name:"Transcendent"}]},{category:"Pull Requests",icon:"fa-code-pull-request",iconColor:"text-blue-500",getValue:u=>u.prs_opened||0,achievements:[{id:"pr-opener",threshold:1,name:"PR Pioneer"},{id:"pr-10",threshold:10,name:"Pull Request Pro"},{id:"pr-25",threshold:25,name:"PR Regular"},{id:"pr-50",threshold:50,name:"Merge Master"},{id:"pr-100",threshold:100,name:"PR Champion"}]},{category:"Reviews",icon:"fa-eye",iconColor:"text-purple-500",getValue:u=>u.reviews_given||0,achievements:[{id:"reviewer",threshold:1,name:"Code Reviewer"},{id:"reviewer-10",threshold:10,name:"Review Starter"},{id:"reviewer-25",threshold:25,name:"Review Regular"},{id:"reviewer-50",threshold:50,name:"Review Expert"},{id:"reviewer-100",threshold:100,name:"Review Guru"}]},{category:"Lines Added",icon:"fa-plus",iconColor:"text-emerald-500",getValue:u=>u.lines_added||0,achievements:[{id:"lines-1000",threshold:1e3,name:"Thousand Lines"},{id:"lines-10000",threshold:1e4,name:"Ten Thousand"}]},{category:"Lines Deleted",icon:"fa-minus",iconColor:"text-red-500",getValue:u=>u.lines_deleted||0,achievements:[{id:"cleaner",threshold:1e3,name:"Code Cleaner"},{id:"refactorer",threshold:1e4,name:"Refactoring Champion"}]},{category:"Small PRs",icon:"fa-compress",iconColor:"text-cyan-500",getValue:u=>u.small_pr_count||0,achievements:[{id:"small-pr-10",threshold:10,name:"Small PR Advocate"},{id:"small-pr-50",threshold:50,name:"Atomic Commits Hero"}]},{category:"Perfect PRs",icon:"fa-gem",iconColor:"text-pink-500",getValue:u=>u.perfect_prs||0,achievements:[{id:"perfect-pr-5",threshold:5,name:"Clean Code"},{id:"perfect-pr-25",threshold:25,name:"Flawless"}]},{category:"Active Days",icon:"fa-calendar-check",iconColor:"text-orange-500",getValue:u=>u.active_days||0,achievements:[{id:"active-30",threshold:30,name:"Consistent Contributor"},{id:"active-100",threshold:100,name:"Dedicated Developer"}]},{category:"Streak",icon:"fa-fire",iconColor:"text-amber-500",getValue:u=>u.longest_streak||0,achievements:[{id:"streak-7",threshold:7,name:"Week Warrior"},{id:"streak-30",threshold:30,name:"Month Master"}]}],a=u=>{for(let f=s.length-1;f>=0;f--)if(u>=s[f])return f+1;return 1},o=u=>u.map(f=>({threshold:f.threshold,name:f.name,tier:a(f.threshold)})),l=ee(()=>{const u=new Set(t.contributor.achievements||[]),f=[];for(const p of i){const h=p.getValue(t.contributor);let S=null,M=null;const K=o(p.achievements);for(const Re of p.achievements)h>=Re.threshold?M=Re:S||(S=Re);if(!S)continue;const j=M?M.threshold:0,N=S.threshold-j,V=h-j,L=Math.min(100,Math.max(0,Math.round(V/N*100))),te=a(S.threshold),ye=K.findIndex(Re=>Re.threshold===S.threshold),ge=K.length;f.push({category:p.category,icon:p.icon,iconColor:p.iconColor,currentValue:h,target:S.threshold,name:S.name,id:S.id,progress:L,tier:te,tierIndex:ye+1,totalTiers:ge,allTiers:K,gradient:r[te],progressColor:n[te],isClose:L>=75,remaining:S.threshold-h,isEarned:u.has(S.id)})}return f.sort((p,h)=>h.progress-p.progress),f}),c=ee(()=>{new Set(t.contributor.achievements||[]);let u=0;for(const f of i){const p=f.getValue(t.contributor);for(const h of f.achievements)p(y(),w("div",C0,[(y(!0),w(J,null,be(l.value,p=>(y(),w("div",{key:p.id,class:"bg-gray-50 dark:bg-gray-800/50 rounded-xl p-4 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[d("div",R0,[d("div",S0,[d("div",{class:Q(["w-10 h-10 rounded-lg bg-gradient-to-br flex items-center justify-center shadow-md",p.gradient])},[d("i",{class:Q(["fas text-white text-sm",p.icon])},null,2)],2),d("div",null,[d("div",A0,v(p.name),1),d("div",E0,[d("span",null,v(p.category),1),f[0]||(f[0]=d("span",{class:"text-gray-300 dark:text-gray-600"},"•",-1)),d("span",P0,"Tier "+v(p.tierIndex)+"/"+v(p.totalTiers),1)])])]),d("div",T0,[d("div",{class:Q(["text-sm font-bold",p.isClose?"text-green-500":"text-gray-700 dark:text-gray-200"])},[se(v(A(U)(p.currentValue))+" ",1),f[1]||(f[1]=d("span",{class:"text-gray-400 dark:text-gray-500 font-normal"},"/",-1)),d("span",$0,v(A(U)(p.target)),1)],2),d("div",O0,v(p.remaining>0?`${A(U)(p.remaining)} to go`:"Ready to claim!"),1)])]),d("div",I0,[d("div",{class:Q(["h-full rounded-full transition-all duration-500 ease-out",p.progressColor]),style:At({width:`${p.progress}%`})},null,6)]),d("div",M0,[d("div",D0,[(y(!0),w(J,null,be(p.allTiers.slice(0,5),(h,S)=>(y(),w("span",{key:h.threshold,class:Q(["w-1.5 h-1.5 rounded-full",S5?(y(),w("span",L0,"+"+v(p.totalTiers-5),1)):G("",!0)]),d("span",{class:Q(["text-xs font-semibold",p.isClose?"text-green-500":"text-gray-400 dark:text-gray-500"])},v(p.progress)+"% ",3)])]))),128)),c.value>0?(y(),w("div",j0," +"+v(c.value)+" more achievements to unlock ",1)):G("",!0),l.value.length?G("",!0):(y(),w("div",F0,[...f[2]||(f[2]=[d("div",{class:"w-16 h-16 mx-auto mb-3 rounded-2xl bg-gradient-to-br from-yellow-400 to-amber-500 flex items-center justify-center shadow-lg"},[d("i",{class:"fas fa-trophy text-2xl text-white"})],-1),d("p",{class:"font-medium text-gray-700 dark:text-gray-300"},"All achievements unlocked!",-1),d("p",{class:"text-sm mt-1"},"You're a legend!",-1)])]))]))}},H0={class:"py-12 px-4"},B0={class:"container mx-auto"},G0={class:"flex flex-col md:flex-row items-center md:items-start space-y-4 md:space-y-0 md:space-x-8"},q0={class:"text-center md:text-left"},U0={class:"text-4xl font-bold gradient-text"},W0={class:"text-xl text-gray-500 dark:text-gray-400 mt-1"},K0={class:"flex items-center justify-center md:justify-start space-x-4 mt-4"},z0={class:"score-card rounded-lg px-4 py-2"},Q0={class:"text-2xl font-bold gradient-text ml-2"},J0={key:0,class:"text-sm text-gray-500 dark:text-gray-400"},Y0={key:0},X0={key:0,class:"mt-6 flex flex-wrap justify-center md:justify-start gap-3"},Z0={class:"py-8 px-4"},em={class:"container mx-auto"},tm={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},sm={class:"py-8 px-4"},rm={class:"container mx-auto"},nm={class:"grid md:grid-cols-2 gap-6"},im={class:"card"},am={class:"space-y-4"},om={class:"flex items-center justify-between"},lm={class:"text-green-500 font-semibold"},cm={class:"flex items-center justify-between"},dm={class:"text-red-500 font-semibold"},um={key:0,class:"flex items-center justify-between"},fm={class:"text-emerald-500 font-semibold"},mm={key:1,class:"flex items-center justify-between"},gm={class:"text-rose-500 font-semibold"},pm={key:2,class:"flex items-center justify-between"},hm={class:"text-cyan-500 font-semibold"},xm={key:3,class:"flex items-center justify-between"},ym={class:"text-amber-500 font-semibold"},vm={class:"flex items-center justify-between"},bm={class:"text-gray-800 dark:text-white font-semibold"},_m={key:4,class:"flex items-center justify-between"},km={class:"text-gray-800 dark:text-white font-semibold"},wm={class:"card"},Cm={class:"space-y-4"},Rm={class:"flex items-center justify-between"},Sm={class:"text-gray-800 dark:text-white font-semibold"},Am={class:"flex items-center justify-between"},Em={class:"text-green-500 font-semibold"},Pm={class:"flex items-center justify-between"},Tm={class:"text-orange-500 font-semibold"},$m={class:"flex items-center justify-between"},Om={class:"text-gray-800 dark:text-white font-semibold"},Im={key:0,class:"flex items-center justify-between"},Mm={class:"text-gray-800 dark:text-white font-semibold"},Dm={key:0,class:"card"},Nm={class:"space-y-4"},Lm={class:"flex items-center justify-between"},jm={class:"text-red-500 font-semibold"},Fm={class:"flex items-center justify-between"},Vm={class:"text-green-500 font-semibold"},Hm={class:"flex items-center justify-between"},Bm={class:"text-blue-500 font-semibold"},Gm={class:"flex items-center justify-between"},qm={class:"text-purple-500 font-semibold"},Um={key:0,class:"py-8 px-4"},Wm={class:"container mx-auto"},Km={class:"card"},zm={class:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-8 gap-4"},Qm={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},Jm={class:"text-2xl font-bold text-green-500"},Ym={class:"text-xs text-gray-400 dark:text-gray-500"},Xm={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},Zm={class:"text-2xl font-bold text-blue-500"},eg={class:"text-xs text-gray-400 dark:text-gray-500"},tg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},sg={class:"text-2xl font-bold text-purple-500"},rg={class:"text-xs text-gray-400 dark:text-gray-500"},ng={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},ig={class:"text-2xl font-bold text-pink-500"},ag={class:"text-xs text-gray-400 dark:text-gray-500"},og={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},lg={class:"text-2xl font-bold text-red-500"},cg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},dg={class:"text-2xl font-bold text-orange-500"},ug={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},fg={class:"text-2xl font-bold text-yellow-500"},mg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},gg={class:"text-2xl font-bold text-indigo-500"},pg={class:"text-xs text-gray-400 dark:text-gray-500"},hg={class:"py-8 px-4"},xg={class:"container mx-auto"},yg={class:"grid md:grid-cols-2 gap-6"},vg={key:0,class:"card"},bg={class:"flex items-center justify-between mb-6"},_g={class:"px-2.5 py-1 rounded-full bg-gradient-to-r from-yellow-400 to-amber-500 text-white text-sm font-bold shadow-md"},kg={class:"grid grid-cols-4 sm:grid-cols-5 gap-3"},wg={class:"card"},Cg={key:1,class:"py-8 px-4"},Rg={class:"container mx-auto"},Sg={class:"flex flex-wrap gap-2"},Ag={__name:"Contributor",setup(e){const t=nr(),s=Pe("globalData"),r=xe(null),n=xe(!0),i=xe(null),a=ee(()=>[{label:"Dashboard",to:"/"},{label:"Contributors"},{label:r.value?.login||t.params.login}]);async function o(){n.value=!0,i.value=null;const l=t.params.login;try{const c=await fetch(`./data/contributors/${l}.json`);if(c.ok){const u=await c.json(),p=(s.value?.leaderboard||[]).find(h=>h.login===l);p&&(u.score={total:p.score,rank:p.rank,breakdown:u.score?.breakdown},u.achievements=p.achievements),r.value=u}else{let f=(s.value?.leaderboard||[]).find(p=>p.login===l);if(!f){const p=s.value?.repositories||[];for(const h of p){const S=h.contributors?.find(M=>M.login===l);if(S){f=S;break}}}f?r.value=f:i.value="Contributor not found"}}catch(c){i.value=`Failed to load contributor: ${c.message}`}n.value=!1}return Ft(o),Ge(()=>t.params,o),Ge(s,o),(l,c)=>(y(),w("div",null,[n.value?(y(),oe(nn,{key:0,message:"Loading contributor..."})):i.value?(y(),oe(an,{key:1,message:i.value},null,8,["message"])):r.value?(y(),w(J,{key:2},[d("header",H0,[d("div",B0,[$(ir,{breadcrumbs:a.value,title:""},null,8,["breadcrumbs"]),d("div",G0,[$(Es,{src:r.value.avatar_url,name:r.value.login,size:"2xl",class:"shadow-modern"},null,8,["src","name"]),d("div",q0,[d("h1",U0,v(r.value.name||r.value.login),1),d("p",W0,[$(Da,{url:`https://github.com/${r.value.login}`},{default:Z(()=>[se(" @"+v(r.value.login),1)]),_:1},8,["url"])]),d("div",K0,[d("div",z0,[c[0]||(c[0]=d("span",{class:"text-sm text-gray-500 dark:text-gray-400"},"Score:",-1)),d("span",Q0,v(A(U)(r.value.score?.total||r.value.score||0)),1)]),r.value.score?.rank?(y(),w("div",J0,[se(" Rank #"+v(r.value.score.rank)+" ",1),r.value.score?.percentile_rank?(y(),w("span",Y0," (Top "+v(A(jd)(r.value.score.percentile_rank))+") ",1)):G("",!0)])):G("",!0)]),r.value.achievements?.length?(y(),w("div",X0,[(y(!0),w(J,null,be(A(Ma)(r.value.achievements),u=>(y(),oe(Cs,{key:u,"achievement-id":u,size:"lg","show-label":""},null,8,["achievement-id"]))),128))])):G("",!0)])])])]),d("section",Z0,[d("div",em,[d("div",tm,[$(we,{value:r.value.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),$(we,{value:r.value.prs_opened||0,label:"PRs Opened",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),$(we,{value:r.value.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),$(we,{value:r.value.reviews_given||0,label:"Reviews Given",icon:"fas fa-eye","icon-color":"text-orange-500"},null,8,["value"])])])]),d("section",sm,[d("div",rm,[d("div",nm,[d("div",im,[c[9]||(c[9]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-code text-green-500 mr-2"}),se("Code Contributions ")],-1)),d("div",am,[d("div",om,[c[1]||(c[1]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Lines Added",-1)),d("span",lm," +"+v(A(U)(r.value.lines_added||0)),1)]),d("div",cm,[c[2]||(c[2]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Lines Deleted",-1)),d("span",dm," -"+v(A(U)(r.value.lines_deleted||0)),1)]),r.value.meaningful_lines_added!==void 0?(y(),w("div",um,[c[3]||(c[3]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Meaningful Lines Added",-1)),d("span",fm," +"+v(A(U)(r.value.meaningful_lines_added||0)),1)])):G("",!0),r.value.meaningful_lines_deleted!==void 0?(y(),w("div",mm,[c[4]||(c[4]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Meaningful Lines Deleted",-1)),d("span",gm," -"+v(A(U)(r.value.meaningful_lines_deleted||0)),1)])):G("",!0),r.value.comment_lines_added!==void 0?(y(),w("div",pm,[c[5]||(c[5]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Comment Lines Added",-1)),d("span",hm," +"+v(A(U)(r.value.comment_lines_added||0)),1)])):G("",!0),r.value.comment_lines_deleted!==void 0?(y(),w("div",xm,[c[6]||(c[6]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Comment Lines Deleted",-1)),d("span",ym," -"+v(A(U)(r.value.comment_lines_deleted||0)),1)])):G("",!0),d("div",vm,[c[7]||(c[7]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Files Changed",-1)),d("span",bm,v(A(U)(r.value.files_changed||0)),1)]),r.value.avg_pr_size?(y(),w("div",_m,[c[8]||(c[8]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Avg PR Size",-1)),d("span",km,v(A(U)(Math.round(r.value.avg_pr_size)))+" lines ",1)])):G("",!0)])]),d("div",wm,[c[15]||(c[15]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-comments text-purple-500 mr-2"}),se("Review Activity ")],-1)),d("div",Cm,[d("div",Rm,[c[10]||(c[10]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Reviews Given",-1)),d("span",Sm,v(A(U)(r.value.reviews_given||0)),1)]),d("div",Am,[c[11]||(c[11]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Approvals",-1)),d("span",Em,v(A(U)(r.value.approvals_given||0)),1)]),d("div",Pm,[c[12]||(c[12]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Changes Requested",-1)),d("span",Tm,v(A(U)(r.value.changes_requested||0)),1)]),d("div",$m,[c[13]||(c[13]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Review Comments",-1)),d("span",Om,v(A(U)(r.value.review_comments||0)),1)]),r.value.avg_review_time_hours?(y(),w("div",Im,[c[14]||(c[14]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Avg Review Time",-1)),d("span",Mm,v(A(Ld)(r.value.avg_review_time_hours)),1)])):G("",!0)])]),r.value.issues_opened||r.value.issues_closed||r.value.issue_comments||r.value.issue_references_in_commits?(y(),w("div",Dm,[c[20]||(c[20]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-bug text-red-500 mr-2"}),se("Issue Activity ")],-1)),d("div",Nm,[d("div",Lm,[c[16]||(c[16]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issues Opened",-1)),d("span",jm,v(A(U)(r.value.issues_opened||0)),1)]),d("div",Fm,[c[17]||(c[17]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issues Closed",-1)),d("span",Vm,v(A(U)(r.value.issues_closed||0)),1)]),d("div",Hm,[c[18]||(c[18]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issue Comments",-1)),d("span",Bm,v(A(U)(r.value.issue_comments||0)),1)]),d("div",Gm,[c[19]||(c[19]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issue References in Commits",-1)),d("span",qm,v(A(U)(r.value.issue_references_in_commits||0)),1)])])])):G("",!0)])])]),r.value.score?.breakdown?(y(),w("section",Um,[d("div",Wm,[d("div",Km,[c[32]||(c[32]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-chart-pie gradient-text mr-2"}),se("Score Breakdown ")],-1)),d("div",zm,[d("div",Qm,[d("div",Jm,v(A(U)(r.value.score.breakdown.commits||0)),1),c[21]||(c[21]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Commits",-1)),d("div",Ym,v(r.value.commit_count||0)+" × 10 pts",1)]),d("div",Xm,[d("div",Zm,v(A(U)(r.value.score.breakdown.prs||0)),1),c[22]||(c[22]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"PRs",-1)),d("div",eg,v(r.value.prs_opened||0)+" opened + "+v(r.value.prs_merged||0)+" merged",1)]),d("div",tg,[d("div",sg,v(A(U)(r.value.score.breakdown.reviews||0)),1),c[23]||(c[23]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Reviews",-1)),d("div",rg,v(r.value.reviews_given||0)+" × 30 pts",1)]),d("div",ng,[d("div",ig,v(A(U)(r.value.score.breakdown.comments||0)),1),c[24]||(c[24]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Comments",-1)),d("div",ag,v(r.value.review_comments||0)+" × 5 pts",1)]),d("div",og,[d("div",lg,v(A(U)(r.value.score.breakdown.issues||0)),1),c[25]||(c[25]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Issues",-1)),c[26]||(c[26]=d("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"opened, closed, comments, refs",-1))]),d("div",cg,[d("div",dg,v(A(U)(r.value.score.breakdown.line_changes||0)),1),c[27]||(c[27]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Line Changes",-1)),c[28]||(c[28]=d("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"meaningful lines × 0.1 pts",-1))]),d("div",ug,[d("div",fg,v(A(U)(r.value.score.breakdown.response_bonus||0)),1),c[29]||(c[29]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Response Bonus",-1)),c[30]||(c[30]=d("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"fast review bonus",-1))]),d("div",mg,[d("div",gg,v(A(U)(r.value.score.breakdown.out_of_hours||0)),1),c[31]||(c[31]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Out of Hours",-1)),d("div",pg,v(r.value.out_of_hours_count||0)+" × 2 pts",1)])])])])])):G("",!0),d("section",hg,[d("div",xg,[d("div",yg,[r.value.achievements?.length?(y(),w("div",vg,[d("div",bg,[c[33]||(c[33]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white"},[d("i",{class:"fas fa-award gradient-text mr-2"}),se("Achievements Earned ")],-1)),d("span",_g,v(r.value.achievements.length),1)]),d("div",kg,[(y(!0),w(J,null,be(r.value.achievements,u=>(y(),w("div",{key:u,class:"flex flex-col items-center p-2 rounded-xl bg-gray-50 dark:bg-gray-800/50 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[$(Cs,{"achievement-id":u,size:"md","show-label":""},null,8,["achievement-id"])]))),128))])])):G("",!0),d("div",wg,[c[34]||(c[34]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-6"},[d("i",{class:"fas fa-chart-line text-primary-500 mr-2"}),se("Next Achievements ")],-1)),$(V0,{contributor:r.value,"max-display":6},null,8,["contributor"])])])])]),r.value.repositories_contributed?.length?(y(),w("section",Cg,[d("div",Rg,[$(Ue,{title:`Contributed to ${r.value.repositories_contributed.length} Repositories`,icon:"fas fa-folder-tree","icon-color":"text-blue-500"},null,8,["title"]),d("div",Sg,[(y(!0),w(J,null,be(r.value.repositories_contributed,u=>(y(),oe(A(ke),{key:u,to:`/repos/${u}`,class:"inline-flex items-center px-3 py-1.5 rounded-full text-sm bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 hover:bg-primary-100 dark:hover:bg-primary-900/30 hover:text-primary-700 dark:hover:text-primary-300 transition-colors"},{default:Z(()=>[c[35]||(c[35]=d("i",{class:"fas fa-code-branch text-gray-400 mr-2"},null,-1)),se(" "+v(u),1)]),_:2},1032,["to"]))),128))])])])):G("",!0)],64)):G("",!0)]))}},Eg={id:"scoring",class:"py-8 px-4"},Pg={class:"container mx-auto"},Tg={id:"leaderboard-info",class:"py-8 px-4"},$g={class:"container mx-auto"},Og={id:"achievements",class:"py-8 px-4"},Ig={class:"container mx-auto"},Mg={id:"data-sources",class:"py-8 px-4"},Dg={class:"container mx-auto"},Ng={__name:"HowScoringWorks",setup(e){return(t,s)=>(y(),w("div",null,[s[4]||(s[4]=as('

How Scoring Works

Understanding the point system, leaderboard rankings, and achievement criteria that power Git Velocity.

Overview

Git Velocity calculates developer contributions by analyzing GitHub activity across configured repositories. The scoring system is designed to encourage well-rounded contributions including code commits, pull requests, code reviews, and collaboration.

Point-Based

Activities earn configurable points

Aggregated

Combined across all repositories

Achievement-Driven

Unlock badges for milestones

',2)),d("section",Eg,[d("div",Pg,[$(Ue,{title:"Point Calculations",icon:"fas fa-coins","icon-color":"text-yellow-500"}),s[0]||(s[0]=as(`

Score Formula

Total Score = Commits + Lines + PRs + Reviews + Comments + Issues + Bonuses
+
+Where:
+  Commits    = commit_count x 10 pts
+  Lines      = (added x 0.1) + (deleted x 0.05) pts
+  PRs        = (opened x 25) + (merged x 50) pts
+  Reviews    = reviews_given x 30 pts
+  Comments   = review_comments x 5 pts
+  Issues     = (opened x 10) + (closed x 20) + (comments x 5) + (refs x 5) pts
+  Response   = fast review bonus (0-50 pts)
+  Out of Hrs = commits outside 9-5 x 2 pts

All point values are configurable in your .git-velocity.yaml file.

Default Point Values

Commit
10 pts
Commit + Tests
15 pts
Lines Added
0.1 pts
Lines Deleted
0.05 pts
PR Opened
25 pts
PR Merged
50 pts
PR Reviewed
30 pts
Review Comment
5 pts
Fast Review <1h
50 pts
Fast Review <4h
25 pts
Fast Review <24h
10 pts
Out of Hours
2 pts
Issue Opened
10 pts
Issue Closed
20 pts
Issue Comment
5 pts
Issue Reference
5 pts

Meaningful Lines

By default, Git Velocity uses meaningful lines instead of raw line counts. This filters out noise and rewards actual code contributions:

Counted as Meaningful

  • Actual code logic
  • Function definitions
  • Variable declarations
  • Import statements

Filtered Out

  • Empty lines / whitespace
  • Single-line comments
  • Multi-line comment blocks
  • Documentation strings

Meaningful lines filtering is always enabled to accurately reflect code contributions.

`,1))])]),d("section",Tg,[d("div",$g,[$(Ue,{title:"Leaderboard Rankings",icon:"fas fa-list-ol","icon-color":"text-accent-500"}),s[1]||(s[1]=as('

Ranking Process

  1. 1

    Aggregate Across Repos

    Metrics from all configured repositories are combined per contributor

  2. 2

    Calculate Total Score

    Apply point values to each activity type and sum the breakdown

  3. 3

    Sort by Score

    Contributors are sorted in descending order by total score

  4. 4

    Assign Ranks & Percentiles

    Each contributor receives a rank (1st, 2nd...) and percentile position

Top Achievers

Git Velocity tracks top performers in each category:

Overall Leader

Highest total score

Top Committer

Most commits

Top Reviewer

Most reviews given

Top PR Author

Most PRs opened

Team Scoring

When teams are configured, Git Velocity calculates team metrics:

  • Total Team Score: Sum of all member scores
  • Average Score: Total score / number of members
  • Member Breakdown: Individual scores and achievements per team member
',1))])]),d("section",Og,[d("div",Ig,[$(Ue,{title:"Achievement System",icon:"fas fa-trophy","icon-color":"text-yellow-500"}),s[2]||(s[2]=as('

115 achievements across 26 categories with tiered progression

Achievement Categories

Commits

Tiers: 1, 10, 50, 100, 500, 1000

First Steps, Getting Started, Contributor, Committed, Code Machine, Code Warrior

PRs Opened

Tiers: 1, 10, 25, 50, 100, 250

PR Pioneer, PR Regular, PR Pro, Merge Master, PR Champion, PR Legend

Reviews Given

Tiers: 1, 10, 25, 50, 100, 250

First Review, Reviewer, Review Regular, Review Expert, Review Guru, Review Master

Review Comments

Tiers: 10, 50, 100, 250, 500

Commentator, Feedback Giver, Code Critic, Feedback Expert, Comment Champion

Lines Added

Tiers: 100, 1K, 5K, 10K, 50K

First Hundred, Thousand Lines, Five Thousand, Ten Thousand, Code Mountain

Lines Deleted

Tiers: 100, 500, 1K, 5K, 10K

Tidying Up, Spring Cleaning, Code Cleaner, Refactoring Hero, Deletion Master

Response Time

Tiers: <24h, <4h, <1h

Same Day Reviewer, Quick Responder, Speed Demon

Contribution Streaks

Tiers: 3, 7, 14, 30 days

Getting Rolling, Week Warrior, Two Week Streak, Month Master

Activity Patterns

Early Bird, Night Owl, Weekend Warrior

Commits at different times of day unlock special badges

Issues Opened

Tiers: 1, 5, 10, 25, 50

Issue Opener, Reporter, Bug Hunter, Issue Tracker, Issue Master

Issues Closed

Tiers: 1, 5, 10, 25, 50

Issue Closer, Problem Solver, Resolver, Issue Crusher, Closure King

Issue Comments

Tiers: 5, 10, 25, 50, 100

Issue Commenter, Discussion Starter, Feedback Provider, Issue Conversationalist, Discussion Champion

How Achievements Are Earned

Each achievement has a condition type and threshold. When your metrics meet or exceed the threshold, the achievement is unlocked.

Condition TypeMetric CheckedComparison
commit_countTotal commits≥ threshold
pr_opened_countPRs opened≥ threshold
review_countReviews given≥ threshold
avg_review_time_hoursAverage review response≤ threshold (lower is better)
longest_streakConsecutive active days≥ threshold
perfect_prsPRs with no changes requested≥ threshold
issues_openedIssues created≥ threshold
issues_closedIssues resolved/closed≥ threshold

Achievement definitions are hardcoded and cannot be customized to prevent manipulation.

Tiered Progression

Most achievements have multiple tiers. As you progress, you unlock higher tiers:

1
Tier 1
10
Tier 2
25
Tier 3
50
Tier 4
100
Tier 5
250
Tier 6
500
Tier 7
1k+
Tier 8+

The leaderboard shows only the highest tier achieved per category for each contributor.

',2))])]),d("section",Mg,[d("div",Dg,[$(Ue,{title:"Data Sources",icon:"fab fa-github","icon-color":"text-gray-700 dark:text-gray-300"}),s[3]||(s[3]=as('

GitHub API Data

Commits

  • SHA, message, timestamp
  • Author (login, name, email)
  • Additions, deletions, files changed
  • Patch/diff for line analysis

Pull Requests

  • State (open, merged, closed)
  • Author and timestamps
  • Size (additions, deletions)
  • Comments count

Reviews

  • Review state (approved, changes requested)
  • Reviewer login
  • Submission timestamp
  • Comment count

User Profiles

  • GitHub login (username)
  • Display name
  • Avatar URL
  • Public email (for deduplication)

Derived Metrics

These metrics are calculated from raw data:

Meaningful Lines

Parsed from commit diffs, filtering comments/whitespace

Average Review Time

Time between PR creation and first review

Contribution Streaks

Consecutive days with activity

Perfect PRs

PRs merged without "changes requested" reviews

Out of Hours

Commits outside 9am-5pm based on commit timestamp

Issue References

Commits containing #123 patterns (fixes, closes, resolves, refs)

Bot Filtering

By default, bot activity is excluded from metrics. The following patterns are automatically filtered:

*[bot]dependabot*renovate*github-actions*codecov*snyk*greenkeeper*imgbot*allcontributors*semantic-release*

Enable with include_bots: true or add custom patterns with additional_bot_patterns.

',1))])])]))}},Lg=[{path:"/",name:"dashboard",component:ef},{path:"/leaderboard",name:"leaderboard",component:Df},{path:"/how-scoring-works",name:"how-scoring-works",component:Ng},{path:"/repos/:owner/:name",name:"repository",component:n0},{path:"/teams/:slug",name:"team",component:w0},{path:"/contributors/:login",name:"contributor",component:Ag}],jg=md({history:Wc(),routes:Lg,scrollBehavior(){return{top:0}}}),Na=ic(Nd);Na.use(jg);Na.mount("#app"); diff --git a/internal/generator/site/dist/assets/index-IALpeAps.js b/internal/generator/site/dist/assets/index-IALpeAps.js deleted file mode 100644 index f12c2d3..0000000 --- a/internal/generator/site/dist/assets/index-IALpeAps.js +++ /dev/null @@ -1 +0,0 @@ -import{C as rr,r as Oi}from"./chart-Bcjh2pZL.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function s(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(r){if(r.ep)return;r.ep=!0;const o=s(r);fetch(r.href,o)}})();function In(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ue={},qt=[],rt=()=>{},Xr=()=>!1,Fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Nn=e=>e.startsWith("onUpdate:"),$e=Object.assign,Mn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Ii=Object.prototype.hasOwnProperty,re=(e,t)=>Ii.call(e,t),G=Array.isArray,Wt=e=>ws(e)==="[object Map]",Vs=e=>ws(e)==="[object Set]",or=e=>ws(e)==="[object Date]",z=e=>typeof e=="function",ge=e=>typeof e=="string",We=e=>typeof e=="symbol",de=e=>e!==null&&typeof e=="object",Zr=e=>(de(e)||z(e))&&z(e.then)&&z(e.catch),eo=Object.prototype.toString,ws=e=>eo.call(e),Ni=e=>ws(e).slice(8,-1),to=e=>ws(e)==="[object Object]",Dn=e=>ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,is=In(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Hs=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Mi=/-\w/g,Ue=Hs(e=>e.replace(Mi,t=>t.slice(1).toUpperCase())),Di=/\B([A-Z])/g,Lt=Hs(e=>e.replace(Di,"-$1").toLowerCase()),Bs=Hs(e=>e.charAt(0).toUpperCase()+e.slice(1)),tn=Hs(e=>e?`on${Bs(e)}`:""),Rt=(e,t)=>!Object.is(e,t),Ps=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Li=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ir;const Gs=()=>ir||(ir=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function St(e){if(G(e)){const t={};for(let s=0;s{if(s){const n=s.split(Fi);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Q(e){let t="";if(ge(e))t=e;else if(G(e))for(let s=0;sUs(s,t))}const oo=e=>!!(e&&e.__v_isRef===!0),w=e=>ge(e)?e:e==null?"":G(e)||de(e)&&(e.toString===eo||!z(e.toString))?oo(e)?w(e.value):JSON.stringify(e,io,2):String(e),io=(e,t)=>oo(t)?io(e,t.value):Wt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],o)=>(s[sn(n,o)+" =>"]=r,s),{})}:Vs(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>sn(s))}:We(t)?sn(t):de(t)&&!G(t)&&!to(t)?String(t):t,sn=(e,t="")=>{var s;return We(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let Le;class qi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Le,!t&&Le&&(this.index=(Le.scopes||(Le.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(Le=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(as){let t=as;for(as=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;ls;){let t=ls;for(ls=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function uo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function fo(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Fn(n),Ki(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function yn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(mo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function mo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===hs)||(e.globalVersion=hs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!yn(e))))return;e.flags|=2;const t=e.dep,s=me,n=qe;me=e,qe=!0;try{uo(e);const r=e.fn(e._value);(t.version===0||Rt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{me=s,qe=n,fo(e),e.flags&=-3}}function Fn(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Fn(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Ki(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let qe=!0;const ho=[];function ft(){ho.push(qe),qe=!1}function mt(){const e=ho.pop();qe=e===void 0?!0:e}function lr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=me;me=void 0;try{t()}finally{me=s}}}let hs=0;class zi{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}}class Vn{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(!me||!qe||me===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==me)s=this.activeLink=new zi(me,this),me.deps?(s.prevDep=me.depsTail,me.depsTail.nextDep=s,me.depsTail=s):me.deps=me.depsTail=s,po(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=me.depsTail,s.nextDep=void 0,me.depsTail.nextDep=s,me.depsTail=s,me.deps===s&&(me.deps=n)}return s}trigger(t){this.version++,hs++,this.notify(t)}notify(t){Ln();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{jn()}}}function po(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)po(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const xn=new WeakMap,Nt=Symbol(""),bn=Symbol(""),ps=Symbol("");function Se(e,t,s){if(qe&&me){let n=xn.get(e);n||xn.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new Vn),r.map=n,r.key=s),r.track()}}function ut(e,t,s,n,r,o){const i=xn.get(e);if(!i){hs++;return}const l=a=>{a&&a.trigger()};if(Ln(),t==="clear")i.forEach(l);else{const a=G(e),c=a&&Dn(s);if(a&&s==="length"){const d=Number(n);i.forEach((m,p)=>{(p==="length"||p===ps||!We(p)&&p>=d)&&l(m)})}else switch((s!==void 0||i.has(void 0))&&l(i.get(s)),c&&l(i.get(ps)),t){case"add":a?c&&l(i.get("length")):(l(i.get(Nt)),Wt(e)&&l(i.get(bn)));break;case"delete":a||(l(i.get(Nt)),Wt(e)&&l(i.get(bn)));break;case"set":Wt(e)&&l(i.get(Nt));break}}jn()}function Bt(e){const t=ne(e);return t===e?t:(Se(t,"iterate",ps),Be(e)?t:t.map(Ke))}function qs(e){return Se(e=ne(e),"iterate",ps),e}function _t(e,t){return ht(e)?Mt(e)?Jt(Ke(t)):Jt(t):Ke(t)}const Qi={__proto__:null,[Symbol.iterator](){return rn(this,Symbol.iterator,e=>_t(this,e))},concat(...e){return Bt(this).concat(...e.map(t=>G(t)?Bt(t):t))},entries(){return rn(this,"entries",e=>(e[1]=_t(this,e[1]),e))},every(e,t){return lt(this,"every",e,t,void 0,arguments)},filter(e,t){return lt(this,"filter",e,t,s=>s.map(n=>_t(this,n)),arguments)},find(e,t){return lt(this,"find",e,t,s=>_t(this,s),arguments)},findIndex(e,t){return lt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return lt(this,"findLast",e,t,s=>_t(this,s),arguments)},findLastIndex(e,t){return lt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return lt(this,"forEach",e,t,void 0,arguments)},includes(...e){return on(this,"includes",e)},indexOf(...e){return on(this,"indexOf",e)},join(e){return Bt(this).join(e)},lastIndexOf(...e){return on(this,"lastIndexOf",e)},map(e,t){return lt(this,"map",e,t,void 0,arguments)},pop(){return ss(this,"pop")},push(...e){return ss(this,"push",e)},reduce(e,...t){return ar(this,"reduce",e,t)},reduceRight(e,...t){return ar(this,"reduceRight",e,t)},shift(){return ss(this,"shift")},some(e,t){return lt(this,"some",e,t,void 0,arguments)},splice(...e){return ss(this,"splice",e)},toReversed(){return Bt(this).toReversed()},toSorted(e){return Bt(this).toSorted(e)},toSpliced(...e){return Bt(this).toSpliced(...e)},unshift(...e){return ss(this,"unshift",e)},values(){return rn(this,"values",e=>_t(this,e))}};function rn(e,t,s){const n=qs(e),r=n[t]();return n!==e&&!Be(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=s(o.value)),o}),r}const Ji=Array.prototype;function lt(e,t,s,n,r,o){const i=qs(e),l=i!==e&&!Be(e),a=i[t];if(a!==Ji[t]){const m=a.apply(e,o);return l?Ke(m):m}let c=s;i!==e&&(l?c=function(m,p){return s.call(this,_t(e,m),p,e)}:s.length>2&&(c=function(m,p){return s.call(this,m,p,e)}));const d=a.call(i,c,n);return l&&r?r(d):d}function ar(e,t,s,n){const r=qs(e);let o=s;return r!==e&&(Be(e)?s.length>3&&(o=function(i,l,a){return s.call(this,i,l,a,e)}):o=function(i,l,a){return s.call(this,i,_t(e,l),a,e)}),r[t](o,...n)}function on(e,t,s){const n=ne(e);Se(n,"iterate",ps);const r=n[t](...s);return(r===-1||r===!1)&&Gn(s[0])?(s[0]=ne(s[0]),n[t](...s)):r}function ss(e,t,s=[]){ft(),Ln();const n=ne(e)[t].apply(e,s);return jn(),mt(),n}const Yi=In("__proto__,__v_isRef,__isVue"),go=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(We));function Xi(e){We(e)||(e=String(e));const t=ne(this);return Se(t,"has",e),t.hasOwnProperty(e)}class vo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(r?o?al:_o:o?bo:xo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=G(t);if(!r){let a;if(i&&(a=Qi[s]))return a;if(s==="hasOwnProperty")return Xi}const l=Reflect.get(t,s,Ee(t)?t:n);if((We(s)?go.has(s):Yi(s))||(r||Se(t,"get",s),o))return l;if(Ee(l)){const a=i&&Dn(s)?l:l.value;return r&&de(a)?wn(a):a}return de(l)?r?wn(l):Ws(l):l}}class yo extends vo{constructor(t=!1){super(!1,t)}set(t,s,n,r){let o=t[s];const i=G(t)&&Dn(s);if(!this._isShallow){const c=ht(o);if(!Be(n)&&!ht(n)&&(o=ne(o),n=ne(n)),!i&&Ee(o)&&!Ee(n))return c||(o.value=n),!0}const l=i?Number(s)e,Ss=e=>Reflect.getPrototypeOf(e);function nl(e,t,s){return function(...n){const r=this.__v_raw,o=ne(r),i=Wt(o),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,c=r[e](...n),d=s?_n:t?Jt:Ke;return!t&&Se(o,"iterate",a?bn:Nt),{next(){const{value:m,done:p}=c.next();return p?{value:m,done:p}:{value:l?[d(m[0]),d(m[1])]:d(m),done:p}},[Symbol.iterator](){return this}}}}function As(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function rl(e,t){const s={get(r){const o=this.__v_raw,i=ne(o),l=ne(r);e||(Rt(r,l)&&Se(i,"get",r),Se(i,"get",l));const{has:a}=Ss(i),c=t?_n:e?Jt:Ke;if(a.call(i,r))return c(o.get(r));if(a.call(i,l))return c(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&Se(ne(r),"iterate",Nt),r.size},has(r){const o=this.__v_raw,i=ne(o),l=ne(r);return e||(Rt(r,l)&&Se(i,"has",r),Se(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,a=ne(l),c=t?_n:e?Jt:Ke;return!e&&Se(a,"iterate",Nt),l.forEach((d,m)=>r.call(o,c(d),c(m),i))}};return $e(s,e?{add:As("add"),set:As("set"),delete:As("delete"),clear:As("clear")}:{add(r){!t&&!Be(r)&&!ht(r)&&(r=ne(r));const o=ne(this);return Ss(o).has.call(o,r)||(o.add(r),ut(o,"add",r,r)),this},set(r,o){!t&&!Be(o)&&!ht(o)&&(o=ne(o));const i=ne(this),{has:l,get:a}=Ss(i);let c=l.call(i,r);c||(r=ne(r),c=l.call(i,r));const d=a.call(i,r);return i.set(r,o),c?Rt(o,d)&&ut(i,"set",r,o):ut(i,"add",r,o),this},delete(r){const o=ne(this),{has:i,get:l}=Ss(o);let a=i.call(o,r);a||(r=ne(r),a=i.call(o,r)),l&&l.call(o,r);const c=o.delete(r);return a&&ut(o,"delete",r,void 0),c},clear(){const r=ne(this),o=r.size!==0,i=r.clear();return o&&ut(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=nl(r,e,t)}),s}function Hn(e,t){const s=rl(e,t);return(n,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(re(s,r)&&r in n?s:n,r,o)}const ol={get:Hn(!1,!1)},il={get:Hn(!1,!0)},ll={get:Hn(!0,!1)};const xo=new WeakMap,bo=new WeakMap,_o=new WeakMap,al=new WeakMap;function cl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ul(e){return e.__v_skip||!Object.isExtensible(e)?0:cl(Ni(e))}function Ws(e){return ht(e)?e:Bn(e,!1,el,ol,xo)}function wo(e){return Bn(e,!1,sl,il,bo)}function wn(e){return Bn(e,!0,tl,ll,_o)}function Bn(e,t,s,n,r){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=ul(e);if(o===0)return e;const i=r.get(e);if(i)return i;const l=new Proxy(e,o===2?n:s);return r.set(e,l),l}function Mt(e){return ht(e)?Mt(e.__v_raw):!!(e&&e.__v_isReactive)}function ht(e){return!!(e&&e.__v_isReadonly)}function Be(e){return!!(e&&e.__v_isShallow)}function Gn(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function dl(e){return!re(e,"__v_skip")&&Object.isExtensible(e)&&so(e,"__v_skip",!0),e}const Ke=e=>de(e)?Ws(e):e,Jt=e=>de(e)?wn(e):e;function Ee(e){return e?e.__v_isRef===!0:!1}function ke(e){return ko(e,!1)}function fl(e){return ko(e,!0)}function ko(e,t){return Ee(e)?e:new ml(e,t)}class ml{constructor(t,s){this.dep=new Vn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:ne(t),this._value=s?t:Ke(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Be(t)||ht(t);t=n?t:ne(t),Rt(t,s)&&(this._rawValue=t,this._value=n?t:Ke(t),this.dep.trigger())}}function A(e){return Ee(e)?e.value:e}const hl={get:(e,t,s)=>t==="__v_raw"?e:A(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return Ee(r)&&!Ee(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function Co(e){return Mt(e)?e:new Proxy(e,hl)}class pl{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Vn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=hs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return co(this,!0),!0}get value(){const t=this.dep.track();return mo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function gl(e,t,s=!1){let n,r;return z(e)?n=e:(n=e.get,r=e.set),new pl(n,r,s)}const Es={},Os=new WeakMap;let Tt;function vl(e,t=!1,s=Tt){if(s){let n=Os.get(s);n||Os.set(s,n=[]),n.push(e)}}function yl(e,t,s=ue){const{immediate:n,deep:r,once:o,scheduler:i,augmentJob:l,call:a}=s,c=L=>r?L:Be(L)||r===!1||r===0?dt(L,1):dt(L);let d,m,p,v,S=!1,I=!1;if(Ee(e)?(m=()=>e.value,S=Be(e)):Mt(e)?(m=()=>c(e),S=!0):G(e)?(I=!0,S=e.some(L=>Mt(L)||Be(L)),m=()=>e.map(L=>{if(Ee(L))return L.value;if(Mt(L))return c(L);if(z(L))return a?a(L,2):L()})):z(e)?t?m=a?()=>a(e,2):e:m=()=>{if(p){ft();try{p()}finally{mt()}}const L=Tt;Tt=d;try{return a?a(e,3,[v]):e(v)}finally{Tt=L}}:m=rt,t&&r){const L=m,ee=r===!0?1/0:r;m=()=>dt(L(),ee)}const K=Wi(),j=()=>{d.stop(),K&&K.active&&Mn(K.effects,d)};if(o&&t){const L=t;t=(...ee)=>{L(...ee),j()}}let D=I?new Array(e.length).fill(Es):Es;const V=L=>{if(!(!(d.flags&1)||!d.dirty&&!L))if(t){const ee=d.run();if(r||S||(I?ee.some((ve,he)=>Rt(ve,D[he])):Rt(ee,D))){p&&p();const ve=Tt;Tt=d;try{const he=[ee,D===Es?void 0:I&&D[0]===Es?[]:D,v];D=ee,a?a(t,3,he):t(...he)}finally{Tt=ve}}}else d.run()};return l&&l(V),d=new lo(m),d.scheduler=i?()=>i(V,!1):V,v=L=>vl(L,!1,d),p=d.onStop=()=>{const L=Os.get(d);if(L){if(a)a(L,4);else for(const ee of L)ee();Os.delete(d)}},t?n?V(!0):D=d.run():i?i(V.bind(null,!0),!0):d.run(),j.pause=d.pause.bind(d),j.resume=d.resume.bind(d),j.stop=j,j}function dt(e,t=1/0,s){if(t<=0||!de(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Ee(e))dt(e.value,t,s);else if(G(e))for(let n=0;n{dt(n,t,s)});else if(to(e)){for(const n in e)dt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&dt(e[n],t,s)}return e}function ks(e,t,s,n){try{return n?e(...n):e()}catch(r){Ks(r,t,s)}}function ot(e,t,s,n){if(z(e)){const r=ks(e,t,s,n);return r&&Zr(r)&&r.catch(o=>{Ks(o,t,s)}),r}if(G(e)){const r=[];for(let o=0;o>>1,r=Ie[n],o=gs(r);o=gs(s)?Ie.push(e):Ie.splice(bl(t),0,e),e.flags|=1,Ao()}}function Ao(){Is||(Is=Ro.then(Po))}function _l(e){G(e)?Kt.push(...e):wt&&e.id===-1?wt.splice(Gt+1,0,e):e.flags&1||(Kt.push(e),e.flags|=1),Ao()}function cr(e,t,s=st+1){for(;sgs(s)-gs(n));if(Kt.length=0,wt){wt.push(...t);return}for(wt=t,Gt=0;Gte.id==null?e.flags&2?-1:1/0:e.id;function Po(e){try{for(st=0;st{n._d&&Ls(-1);const o=Ns(t);let i;try{i=e(...r)}finally{Ns(o),n._d&&Ls(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function wl(e,t){if(we===null)return e;const s=Ys(we),n=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Rl=Symbol("_leaveCb");function qn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,qn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function To(e,t){return z(e)?$e({name:e.name},t,{setup:e}):e}function Oo(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Ms=new WeakMap;function cs(e,t,s,n,r=!1){if(G(e)){e.forEach((S,I)=>cs(S,t&&(G(t)?t[I]:t),s,n,r));return}if(zt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&cs(e,t,s,n.component.subTree);return}const o=n.shapeFlag&4?Ys(n.component):n.el,i=r?null:o,{i:l,r:a}=e,c=t&&t.r,d=l.refs===ue?l.refs={}:l.refs,m=l.setupState,p=ne(m),v=m===ue?Xr:S=>re(p,S);if(c!=null&&c!==a){if(ur(t),ge(c))d[c]=null,v(c)&&(m[c]=null);else if(Ee(c)){c.value=null;const S=t;S.k&&(d[S.k]=null)}}if(z(a))ks(a,l,12,[i,d]);else{const S=ge(a),I=Ee(a);if(S||I){const K=()=>{if(e.f){const j=S?v(a)?m[a]:d[a]:a.value;if(r)G(j)&&Mn(j,o);else if(G(j))j.includes(o)||j.push(o);else if(S)d[a]=[o],v(a)&&(m[a]=d[a]);else{const D=[o];a.value=D,e.k&&(d[e.k]=D)}}else S?(d[a]=i,v(a)&&(m[a]=i)):I&&(a.value=i,e.k&&(d[e.k]=i))};if(i){const j=()=>{K(),Ms.delete(e)};j.id=-1,Ms.set(e,j),Fe(j,s)}else ur(e),K()}}}function ur(e){const t=Ms.get(e);t&&(t.flags|=8,Ms.delete(e))}Gs().requestIdleCallback;Gs().cancelIdleCallback;const zt=e=>!!e.type.__asyncLoader,Io=e=>e.type.__isKeepAlive;function Sl(e,t){No(e,"a",t)}function Al(e,t){No(e,"da",t)}function No(e,t,s=Ae){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(zs(t,n,s),s){let r=s.parent;for(;r&&r.parent;)Io(r.parent.vnode)&&El(n,t,s,r),r=r.parent}}function El(e,t,s,n){const r=zs(t,e,n,!0);Mo(()=>{Mn(n[t],r)},s)}function zs(e,t,s=Ae,n=!1){if(s){const r=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...i)=>{ft();const l=Cs(s),a=ot(t,s,e,i);return l(),mt(),a});return n?r.unshift(o):r.push(o),o}}const gt=e=>(t,s=Ae)=>{(!xs||e==="sp")&&zs(e,(...n)=>t(...n),s)},Pl=gt("bm"),jt=gt("m"),$l=gt("bu"),Tl=gt("u"),Ol=gt("bum"),Mo=gt("um"),Il=gt("sp"),Nl=gt("rtg"),Ml=gt("rtc");function Dl(e,t=Ae){zs("ec",e,t)}const Do="components";function Ll(e,t){return jo(Do,e,!0,t)||e}const Lo=Symbol.for("v-ndc");function jl(e){return ge(e)?jo(Do,e,!1)||e:e||Lo}function jo(e,t,s=!0,n=!1){const r=we||Ae;if(r){const o=r.type;{const l=Sa(o,!1);if(l&&(l===t||l===Ue(t)||l===Bs(Ue(t))))return o}const i=dr(r[e]||o[e],t)||dr(r.appContext[e],t);return!i&&n?o:i}}function dr(e,t){return e&&(e[t]||e[Ue(t)]||e[Bs(Ue(t))])}function xe(e,t,s,n){let r;const o=s,i=G(e);if(i||ge(e)){const l=i&&Mt(e);let a=!1,c=!1;l&&(a=!Be(e),c=ht(e),e=qs(e)),r=new Array(e.length);for(let d=0,m=e.length;dt(l,a,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let a=0,c=l.length;a0;return t!=="default"&&(s.name=t),y(),ie(J,null,[N("slot",s,n&&n())],c?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),y();const i=o&&Fo(o(s)),l=s.key||i&&i.key,a=ie(J,{key:(l&&!We(l)?l:`_${t}`)+(!i&&n?"_fb":"")},i||(n?n():[]),i&&e._===1?64:-2);return a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function Fo(e){return e.some(t=>ys(t)?!(t.type===pt||t.type===J&&!Fo(t.children)):!0)?e:null}const kn=e=>e?oi(e)?Ys(e):kn(e.parent):null,us=$e(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=>kn(e.parent),$root:e=>kn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ho(e),$forceUpdate:e=>e.f||(e.f=()=>{Un(e.update)}),$nextTick:e=>e.n||(e.n=So.bind(e.proxy)),$watch:e=>Ql.bind(e)}),ln=(e,t)=>e!==ue&&!e.__isScriptSetup&&re(e,t),Fl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:o,accessCache:i,type:l,appContext:a}=e;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return o[t]}else{if(ln(n,t))return i[t]=1,n[t];if(r!==ue&&re(r,t))return i[t]=2,r[t];if(re(o,t))return i[t]=3,o[t];if(s!==ue&&re(s,t))return i[t]=4,s[t];Cn&&(i[t]=0)}}const c=us[t];let d,m;if(c)return t==="$attrs"&&Se(e.attrs,"get",""),c(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(s!==ue&&re(s,t))return i[t]=4,s[t];if(m=a.config.globalProperties,re(m,t))return m[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:o}=e;return ln(r,t)?(r[t]=s,!0):n!==ue&&re(n,t)?(n[t]=s,!0):re(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:o,type:i}},l){let a;return!!(s[l]||e!==ue&&l[0]!=="$"&&re(e,l)||ln(t,l)||re(o,l)||re(n,l)||re(us,l)||re(r.config.globalProperties,l)||(a=i.__cssModules)&&a[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:re(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function fr(e){return G(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Cn=!0;function Vl(e){const t=Ho(e),s=e.proxy,n=e.ctx;Cn=!1,t.beforeCreate&&mr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:a,inject:c,created:d,beforeMount:m,mounted:p,beforeUpdate:v,updated:S,activated:I,deactivated:K,beforeDestroy:j,beforeUnmount:D,destroyed:V,unmounted:L,render:ee,renderTracked:ve,renderTriggered:he,errorCaptured:Ce,serverPrefetch:vt,expose:Qe,inheritAttrs:yt,components:At,directives:Je,filters:es}=t;if(c&&Hl(c,n,null),i)for(const ce in i){const te=i[ce];z(te)&&(n[ce]=te.bind(s))}if(r){const ce=r.call(s,s);de(ce)&&(e.data=Ws(ce))}if(Cn=!0,o)for(const ce in o){const te=o[ce],it=z(te)?te.bind(s,s):z(te.get)?te.get.bind(s,s):rt,xt=!z(te)&&z(te.set)?te.set.bind(s):rt,Ye=oe({get:it,set:xt});Object.defineProperty(n,ce,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Ne=>Ye.value=Ne})}if(l)for(const ce in l)Vo(l[ce],n,s,ce);if(a){const ce=z(a)?a.call(s):a;Reflect.ownKeys(ce).forEach(te=>{ds(te,ce[te])})}d&&mr(d,e,"c");function be(ce,te){G(te)?te.forEach(it=>ce(it.bind(s))):te&&ce(te.bind(s))}if(be(Pl,m),be(jt,p),be($l,v),be(Tl,S),be(Sl,I),be(Al,K),be(Dl,Ce),be(Ml,ve),be(Nl,he),be(Ol,D),be(Mo,L),be(Il,vt),G(Qe))if(Qe.length){const ce=e.exposed||(e.exposed={});Qe.forEach(te=>{Object.defineProperty(ce,te,{get:()=>s[te],set:it=>s[te]=it,enumerable:!0})})}else e.exposed||(e.exposed={});ee&&e.render===rt&&(e.render=ee),yt!=null&&(e.inheritAttrs=yt),At&&(e.components=At),Je&&(e.directives=Je),vt&&Oo(e)}function Hl(e,t,s=rt){G(e)&&(e=Rn(e));for(const n in e){const r=e[n];let o;de(r)?"default"in r?o=Pe(r.from||n,r.default,!0):o=Pe(r.from||n):o=Pe(r),Ee(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[n]=o}}function mr(e,t,s){ot(G(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Vo(e,t,s,n){let r=n.includes(".")?Uo(s,n):()=>s[n];if(ge(e)){const o=t[e];z(o)&&Ge(r,o)}else if(z(e))Ge(r,e.bind(s));else if(de(e))if(G(e))e.forEach(o=>Vo(o,t,s,n));else{const o=z(e.handler)?e.handler.bind(s):t[e.handler];z(o)&&Ge(r,o,e)}}function Ho(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let a;return l?a=l:!r.length&&!s&&!n?a=t:(a={},r.length&&r.forEach(c=>Ds(a,c,i,!0)),Ds(a,t,i)),de(t)&&o.set(t,a),a}function Ds(e,t,s,n=!1){const{mixins:r,extends:o}=t;o&&Ds(e,o,s,!0),r&&r.forEach(i=>Ds(e,i,s,!0));for(const i in t)if(!(n&&i==="expose")){const l=Bl[i]||s&&s[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Bl={data:hr,props:pr,emits:pr,methods:os,computed:os,beforeCreate:Te,created:Te,beforeMount:Te,mounted:Te,beforeUpdate:Te,updated:Te,beforeDestroy:Te,beforeUnmount:Te,destroyed:Te,unmounted:Te,activated:Te,deactivated:Te,errorCaptured:Te,serverPrefetch:Te,components:os,directives:os,watch:Ul,provide:hr,inject:Gl};function hr(e,t){return t?e?function(){return $e(z(e)?e.call(this,this):e,z(t)?t.call(this,this):t)}:t:e}function Gl(e,t){return os(Rn(e),Rn(t))}function Rn(e){if(G(e)){const t={};for(let s=0;s1)return s&&z(t)?t.call(n&&n.proxy):t}}const Kl=Symbol.for("v-scx"),zl=()=>Pe(Kl);function Ge(e,t,s){return Go(e,t,s)}function Go(e,t,s=ue){const{immediate:n,deep:r,flush:o,once:i}=s,l=$e({},s),a=t&&n||!t&&o!=="post";let c;if(xs){if(o==="sync"){const v=zl();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!a){const v=()=>{};return v.stop=rt,v.resume=rt,v.pause=rt,v}}const d=Ae;l.call=(v,S,I)=>ot(v,d,S,I);let m=!1;o==="post"?l.scheduler=v=>{Fe(v,d&&d.suspense)}:o!=="sync"&&(m=!0,l.scheduler=(v,S)=>{S?v():Un(v)}),l.augmentJob=v=>{t&&(v.flags|=4),m&&(v.flags|=2,d&&(v.id=d.uid,v.i=d))};const p=yl(e,t,l);return xs&&(c?c.push(p):a&&p()),p}function Ql(e,t,s){const n=this.proxy,r=ge(e)?e.includes(".")?Uo(n,e):()=>n[e]:e.bind(n,n);let o;z(t)?o=t:(o=t.handler,s=t);const i=Cs(this),l=Go(r,o.bind(n),s);return i(),l}function Uo(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ue(t)}Modifiers`]||e[`${Lt(t)}Modifiers`];function Yl(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ue;let r=s;const o=t.startsWith("update:"),i=o&&Jl(n,t.slice(7));i&&(i.trim&&(r=s.map(d=>ge(d)?d.trim():d)),i.number&&(r=s.map(Li)));let l,a=n[l=tn(t)]||n[l=tn(Ue(t))];!a&&o&&(a=n[l=tn(Lt(t))]),a&&ot(a,e,6,r);const c=n[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ot(c,e,6,r)}}const Xl=new WeakMap;function qo(e,t,s=!1){const n=s?Xl:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!z(e)){const a=c=>{const d=qo(c,t,!0);d&&(l=!0,$e(i,d))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(de(e)&&n.set(e,null),null):(G(o)?o.forEach(a=>i[a]=null):$e(i,o),de(e)&&n.set(e,i),i)}function Qs(e,t){return!e||!Fs(t)?!1:(t=t.slice(2).replace(/Once$/,""),re(e,t[0].toLowerCase()+t.slice(1))||re(e,Lt(t))||re(e,t))}function gr(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:a,render:c,renderCache:d,props:m,data:p,setupState:v,ctx:S,inheritAttrs:I}=e,K=Ns(e);let j,D;try{if(s.shapeFlag&4){const L=r||n,ee=L;j=nt(c.call(ee,L,d,m,v,p,S)),D=l}else{const L=t;j=nt(L.length>1?L(m,{attrs:l,slots:i,emit:a}):L(m,null)),D=t.props?l:Zl(l)}}catch(L){fs.length=0,Ks(L,e,1),j=N(pt)}let V=j;if(D&&I!==!1){const L=Object.keys(D),{shapeFlag:ee}=V;L.length&&ee&7&&(o&&L.some(Nn)&&(D=ea(D,o)),V=Yt(V,D,!1,!0))}return s.dirs&&(V=Yt(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(s.dirs):s.dirs),s.transition&&qn(V,s.transition),j=V,Ns(K),j}const Zl=e=>{let t;for(const s in e)(s==="class"||s==="style"||Fs(s))&&((t||(t={}))[s]=e[s]);return t},ea=(e,t)=>{const s={};for(const n in e)(!Nn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function ta(e,t,s){const{props:n,children:r,component:o}=e,{props:i,children:l,patchFlag:a}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?vr(n,i,c):!!i;if(a&8){const d=t.dynamicProps;for(let m=0;mObject.create(Wo),zo=e=>Object.getPrototypeOf(e)===Wo;function na(e,t,s,n=!1){const r={},o=Ko();e.propsDefaults=Object.create(null),Qo(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);s?e.props=n?r:wo(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function ra(e,t,s,n){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=ne(r),[a]=e.propsOptions;let c=!1;if((n||i>0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let m=0;m{a=!0;const[p,v]=Jo(m,t,!0);$e(i,p),v&&l.push(...v)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!a)return de(e)&&n.set(e,qt),qt;if(G(o))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Kn=e=>G(e)?e.map(nt):[nt(e)],ia=(e,t,s)=>{if(t._n)return t;const n=Z((...r)=>Kn(t(...r)),s);return n._c=!1,n},Yo=(e,t,s)=>{const n=e._ctx;for(const r in e){if(Wn(r))continue;const o=e[r];if(z(o))t[r]=ia(r,o,n);else if(o!=null){const i=Kn(o);t[r]=()=>i}}},Xo=(e,t)=>{const s=Kn(t);e.slots.default=()=>s},Zo=(e,t,s)=>{for(const n in t)(s||!Wn(n))&&(e[n]=t[n])},la=(e,t,s)=>{const n=e.slots=Ko();if(e.vnode.shapeFlag&32){const r=t._;r?(Zo(n,t,s),s&&so(n,"_",r,!0)):Yo(t,n)}else t&&Xo(e,t)},aa=(e,t,s)=>{const{vnode:n,slots:r}=e;let o=!0,i=ue;if(n.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:Zo(r,t,s):(o=!t.$stable,Yo(t,r)),i=t}else t&&(Xo(e,t),i={default:1});if(o)for(const l in r)!Wn(l)&&i[l]==null&&delete r[l]},Fe=ma;function ca(e){return ua(e)}function ua(e,t){const s=Gs();s.__VUE__=!0;const{insert:n,remove:r,patchProp:o,createElement:i,createText:l,createComment:a,setText:c,setElementText:d,parentNode:m,nextSibling:p,setScopeId:v=rt,insertStaticContent:S}=e,I=(f,h,g,b=null,k=null,x=null,$=void 0,P=null,E=!!h.dynamicChildren)=>{if(f===h)return;f&&!ns(f,h)&&(b=_(f),Ne(f,k,x,!0),f=null),h.patchFlag===-2&&(E=!1,h.dynamicChildren=null);const{type:R,ref:B,shapeFlag:O}=h;switch(R){case Js:K(f,h,g,b);break;case pt:j(f,h,g,b);break;case cn:f==null&&D(h,g,b,$);break;case J:At(f,h,g,b,k,x,$,P,E);break;default:O&1?ee(f,h,g,b,k,x,$,P,E):O&6?Je(f,h,g,b,k,x,$,P,E):(O&64||O&128)&&R.process(f,h,g,b,k,x,$,P,E,F)}B!=null&&k?cs(B,f&&f.ref,x,h||f,!h):B==null&&f&&f.ref!=null&&cs(f.ref,null,x,f,!0)},K=(f,h,g,b)=>{if(f==null)n(h.el=l(h.children),g,b);else{const k=h.el=f.el;h.children!==f.children&&c(k,h.children)}},j=(f,h,g,b)=>{f==null?n(h.el=a(h.children||""),g,b):h.el=f.el},D=(f,h,g,b)=>{[f.el,f.anchor]=S(f.children,h,g,b,f.el,f.anchor)},V=({el:f,anchor:h},g,b)=>{let k;for(;f&&f!==h;)k=p(f),n(f,g,b),f=k;n(h,g,b)},L=({el:f,anchor:h})=>{let g;for(;f&&f!==h;)g=p(f),r(f),f=g;r(h)},ee=(f,h,g,b,k,x,$,P,E)=>{if(h.type==="svg"?$="svg":h.type==="math"&&($="mathml"),f==null)ve(h,g,b,k,x,$,P,E);else{const R=f.el&&f.el._isVueCE?f.el:null;try{R&&R._beginPatch(),vt(f,h,k,x,$,P,E)}finally{R&&R._endPatch()}}},ve=(f,h,g,b,k,x,$,P)=>{let E,R;const{props:B,shapeFlag:O,transition:H,dirs:W}=f;if(E=f.el=i(f.type,x,B&&B.is,B),O&8?d(E,f.children):O&16&&Ce(f.children,E,null,b,k,an(f,x),$,P),W&&Pt(f,null,b,"created"),he(E,f,f.scopeId,$,b),B){for(const fe in B)fe!=="value"&&!is(fe)&&o(E,fe,null,B[fe],x,b);"value"in B&&o(E,"value",null,B.value,x),(R=B.onVnodeBeforeMount)&&tt(R,b,f)}W&&Pt(f,null,b,"beforeMount");const X=da(k,H);X&&H.beforeEnter(E),n(E,h,g),((R=B&&B.onVnodeMounted)||X||W)&&Fe(()=>{R&&tt(R,b,f),X&&H.enter(E),W&&Pt(f,null,b,"mounted")},k)},he=(f,h,g,b,k)=>{if(g&&v(f,g),b)for(let x=0;x{for(let R=E;R{const P=h.el=f.el;let{patchFlag:E,dynamicChildren:R,dirs:B}=h;E|=f.patchFlag&16;const O=f.props||ue,H=h.props||ue;let W;if(g&&$t(g,!1),(W=H.onVnodeBeforeUpdate)&&tt(W,g,h,f),B&&Pt(h,f,g,"beforeUpdate"),g&&$t(g,!0),(O.innerHTML&&H.innerHTML==null||O.textContent&&H.textContent==null)&&d(P,""),R?Qe(f.dynamicChildren,R,P,g,b,an(h,k),x):$||te(f,h,P,null,g,b,an(h,k),x,!1),E>0){if(E&16)yt(P,O,H,g,k);else if(E&2&&O.class!==H.class&&o(P,"class",null,H.class,k),E&4&&o(P,"style",O.style,H.style,k),E&8){const X=h.dynamicProps;for(let fe=0;fe{W&&tt(W,g,h,f),B&&Pt(h,f,g,"updated")},b)},Qe=(f,h,g,b,k,x,$)=>{for(let P=0;P{if(h!==g){if(h!==ue)for(const x in h)!is(x)&&!(x in g)&&o(f,x,h[x],null,k,b);for(const x in g){if(is(x))continue;const $=g[x],P=h[x];$!==P&&x!=="value"&&o(f,x,P,$,k,b)}"value"in g&&o(f,"value",h.value,g.value,k)}},At=(f,h,g,b,k,x,$,P,E)=>{const R=h.el=f?f.el:l(""),B=h.anchor=f?f.anchor:l("");let{patchFlag:O,dynamicChildren:H,slotScopeIds:W}=h;W&&(P=P?P.concat(W):W),f==null?(n(R,g,b),n(B,g,b),Ce(h.children||[],g,B,k,x,$,P,E)):O>0&&O&64&&H&&f.dynamicChildren?(Qe(f.dynamicChildren,H,g,k,x,$,P),(h.key!=null||k&&h===k.subTree)&&ei(f,h,!0)):te(f,h,g,B,k,x,$,P,E)},Je=(f,h,g,b,k,x,$,P,E)=>{h.slotScopeIds=P,f==null?h.shapeFlag&512?k.ctx.activate(h,g,b,$,E):es(h,g,b,k,x,$,E):Ft(f,h,E)},es=(f,h,g,b,k,x,$)=>{const P=f.component=ba(f,b,k);if(Io(f)&&(P.ctx.renderer=F),wa(P,!1,$),P.asyncDep){if(k&&k.registerDep(P,be,$),!f.el){const E=P.subTree=N(pt);j(null,E,h,g),f.placeholder=E.el}}else be(P,f,h,g,k,x,$)},Ft=(f,h,g)=>{const b=h.component=f.component;if(ta(f,h,g))if(b.asyncDep&&!b.asyncResolved){ce(b,h,g);return}else b.next=h,b.update();else h.el=f.el,b.vnode=h},be=(f,h,g,b,k,x,$)=>{const P=()=>{if(f.isMounted){let{next:O,bu:H,u:W,parent:X,vnode:fe}=f;{const Ze=ti(f);if(Ze){O&&(O.el=fe.el,ce(f,O,$)),Ze.asyncDep.then(()=>{f.isUnmounted||P()});return}}let le=O,Me;$t(f,!1),O?(O.el=fe.el,ce(f,O,$)):O=fe,H&&Ps(H),(Me=O.props&&O.props.onVnodeBeforeUpdate)&&tt(Me,X,O,fe),$t(f,!0);const De=gr(f),Xe=f.subTree;f.subTree=De,I(Xe,De,m(Xe.el),_(Xe),f,k,x),O.el=De.el,le===null&&sa(f,De.el),W&&Fe(W,k),(Me=O.props&&O.props.onVnodeUpdated)&&Fe(()=>tt(Me,X,O,fe),k)}else{let O;const{el:H,props:W}=h,{bm:X,m:fe,parent:le,root:Me,type:De}=f,Xe=zt(h);$t(f,!1),X&&Ps(X),!Xe&&(O=W&&W.onVnodeBeforeMount)&&tt(O,le,h),$t(f,!0);{Me.ce&&Me.ce._def.shadowRoot!==!1&&Me.ce._injectChildStyle(De);const Ze=f.subTree=gr(f);I(null,Ze,g,b,f,k,x),h.el=Ze.el}if(fe&&Fe(fe,k),!Xe&&(O=W&&W.onVnodeMounted)){const Ze=h;Fe(()=>tt(O,le,Ze),k)}(h.shapeFlag&256||le&&zt(le.vnode)&&le.vnode.shapeFlag&256)&&f.a&&Fe(f.a,k),f.isMounted=!0,h=g=b=null}};f.scope.on();const E=f.effect=new lo(P);f.scope.off();const R=f.update=E.run.bind(E),B=f.job=E.runIfDirty.bind(E);B.i=f,B.id=f.uid,E.scheduler=()=>Un(B),$t(f,!0),R()},ce=(f,h,g)=>{h.component=f;const b=f.vnode.props;f.vnode=h,f.next=null,ra(f,h.props,b,g),aa(f,h.children,g),ft(),cr(f),mt()},te=(f,h,g,b,k,x,$,P,E=!1)=>{const R=f&&f.children,B=f?f.shapeFlag:0,O=h.children,{patchFlag:H,shapeFlag:W}=h;if(H>0){if(H&128){xt(R,O,g,b,k,x,$,P,E);return}else if(H&256){it(R,O,g,b,k,x,$,P,E);return}}W&8?(B&16&&He(R,k,x),O!==R&&d(g,O)):B&16?W&16?xt(R,O,g,b,k,x,$,P,E):He(R,k,x,!0):(B&8&&d(g,""),W&16&&Ce(O,g,b,k,x,$,P,E))},it=(f,h,g,b,k,x,$,P,E)=>{f=f||qt,h=h||qt;const R=f.length,B=h.length,O=Math.min(R,B);let H;for(H=0;HB?He(f,k,x,!0,!1,O):Ce(h,g,b,k,x,$,P,E,O)},xt=(f,h,g,b,k,x,$,P,E)=>{let R=0;const B=h.length;let O=f.length-1,H=B-1;for(;R<=O&&R<=H;){const W=f[R],X=h[R]=E?kt(h[R]):nt(h[R]);if(ns(W,X))I(W,X,g,null,k,x,$,P,E);else break;R++}for(;R<=O&&R<=H;){const W=f[O],X=h[H]=E?kt(h[H]):nt(h[H]);if(ns(W,X))I(W,X,g,null,k,x,$,P,E);else break;O--,H--}if(R>O){if(R<=H){const W=H+1,X=WH)for(;R<=O;)Ne(f[R],k,x,!0),R++;else{const W=R,X=R,fe=new Map;for(R=X;R<=H;R++){const je=h[R]=E?kt(h[R]):nt(h[R]);je.key!=null&&fe.set(je.key,R)}let le,Me=0;const De=H-X+1;let Xe=!1,Ze=0;const ts=new Array(De);for(R=0;R=De){Ne(je,k,x,!0);continue}let et;if(je.key!=null)et=fe.get(je.key);else for(le=X;le<=H;le++)if(ts[le-X]===0&&ns(je,h[le])){et=le;break}et===void 0?Ne(je,k,x,!0):(ts[et-X]=R+1,et>=Ze?Ze=et:Xe=!0,I(je,h[et],g,null,k,x,$,P,E),Me++)}const tr=Xe?fa(ts):qt;for(le=tr.length-1,R=De-1;R>=0;R--){const je=X+R,et=h[je],sr=h[je+1],nr=je+1{const{el:x,type:$,transition:P,children:E,shapeFlag:R}=f;if(R&6){Ye(f.component.subTree,h,g,b);return}if(R&128){f.suspense.move(h,g,b);return}if(R&64){$.move(f,h,g,F);return}if($===J){n(x,h,g);for(let O=0;OP.enter(x),k);else{const{leave:O,delayLeave:H,afterLeave:W}=P,X=()=>{f.ctx.isUnmounted?r(x):n(x,h,g)},fe=()=>{x._isLeaving&&x[Rl](!0),O(x,()=>{X(),W&&W()})};H?H(x,X,fe):fe()}else n(x,h,g)},Ne=(f,h,g,b=!1,k=!1)=>{const{type:x,props:$,ref:P,children:E,dynamicChildren:R,shapeFlag:B,patchFlag:O,dirs:H,cacheIndex:W}=f;if(O===-2&&(k=!1),P!=null&&(ft(),cs(P,null,g,f,!0),mt()),W!=null&&(h.renderCache[W]=void 0),B&256){h.ctx.deactivate(f);return}const X=B&1&&H,fe=!zt(f);let le;if(fe&&(le=$&&$.onVnodeBeforeUnmount)&&tt(le,h,f),B&6)Et(f.component,g,b);else{if(B&128){f.suspense.unmount(g,b);return}X&&Pt(f,null,h,"beforeUnmount"),B&64?f.type.remove(f,h,g,F,b):R&&!R.hasOnce&&(x!==J||O>0&&O&64)?He(R,h,g,!1,!0):(x===J&&O&384||!k&&B&16)&&He(E,h,g),b&&Vt(f)}(fe&&(le=$&&$.onVnodeUnmounted)||X)&&Fe(()=>{le&&tt(le,h,f),X&&Pt(f,null,h,"unmounted")},g)},Vt=f=>{const{type:h,el:g,anchor:b,transition:k}=f;if(h===J){Ht(g,b);return}if(h===cn){L(f);return}const x=()=>{r(g),k&&!k.persisted&&k.afterLeave&&k.afterLeave()};if(f.shapeFlag&1&&k&&!k.persisted){const{leave:$,delayLeave:P}=k,E=()=>$(g,x);P?P(f.el,x,E):E()}else x()},Ht=(f,h)=>{let g;for(;f!==h;)g=p(f),r(f),f=g;r(h)},Et=(f,h,g)=>{const{bum:b,scope:k,job:x,subTree:$,um:P,m:E,a:R}=f;xr(E),xr(R),b&&Ps(b),k.stop(),x&&(x.flags|=8,Ne($,f,h,g)),P&&Fe(P,h),Fe(()=>{f.isUnmounted=!0},h)},He=(f,h,g,b=!1,k=!1,x=0)=>{for(let $=x;${if(f.shapeFlag&6)return _(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const h=p(f.anchor||f.el),g=h&&h[kl];return g?p(g):h};let M=!1;const T=(f,h,g)=>{f==null?h._vnode&&Ne(h._vnode,null,null,!0):I(h._vnode||null,f,h,null,null,null,g),h._vnode=f,M||(M=!0,cr(),Eo(),M=!1)},F={p:I,um:Ne,m:Ye,r:Vt,mt:es,mc:Ce,pc:te,pbc:Qe,n:_,o:e};return{render:T,hydrate:void 0,createApp:Wl(T)}}function an({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 $t({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function da(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ei(e,t,s=!1){const n=e.children,r=t.children;if(G(n)&&G(r))for(let o=0;o>1,e[s[l]]0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,i=s[o-1];o-- >0;)s[o]=i,i=t[i];return s}function ti(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ti(t)}function xr(e){if(e)for(let t=0;te.__isSuspense;function ma(e,t){t&&t.pendingBranch?G(e)?t.effects.push(...e):t.effects.push(e):_l(e)}const J=Symbol.for("v-fgt"),Js=Symbol.for("v-txt"),pt=Symbol.for("v-cmt"),cn=Symbol.for("v-stc"),fs=[];let Ve=null;function y(e=!1){fs.push(Ve=e?null:[])}function ha(){fs.pop(),Ve=fs[fs.length-1]||null}let vs=1;function Ls(e,t=!1){vs+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function ni(e){return e.dynamicChildren=vs>0?Ve||qt:null,ha(),vs>0&&Ve&&Ve.push(e),e}function C(e,t,s,n,r,o){return ni(u(e,t,s,n,r,o,!0))}function ie(e,t,s,n,r){return ni(N(e,t,s,n,r,!0))}function ys(e){return e?e.__v_isVNode===!0:!1}function ns(e,t){return e.type===t.type&&e.key===t.key}const ri=({key:e})=>e??null,$s=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ge(e)||Ee(e)||z(e)?{i:we,r:e,k:t,f:!!s}:e:null);function u(e,t=null,s=null,n=0,r=null,o=e===J?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ri(t),ref:t&&$s(t),scopeId:$o,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:o,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:we};return l?(zn(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=ge(s)?8:16),vs>0&&!i&&Ve&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&Ve.push(a),a}const N=pa;function pa(e,t=null,s=null,n=0,r=null,o=!1){if((!e||e===Lo)&&(e=pt),ys(e)){const l=Yt(e,t,!0);return s&&zn(l,s),vs>0&&!o&&Ve&&(l.shapeFlag&6?Ve[Ve.indexOf(e)]=l:Ve.push(l)),l.patchFlag=-2,l}if(Aa(e)&&(e=e.__vccOpts),t){t=ga(t);let{class:l,style:a}=t;l&&!ge(l)&&(t.class=Q(l)),de(a)&&(Gn(a)&&!G(a)&&(a=$e({},a)),t.style=St(a))}const i=ge(e)?1:si(e)?128:Cl(e)?64:de(e)?4:z(e)?2:0;return u(e,t,s,n,r,i,o,!0)}function ga(e){return e?Gn(e)||zo(e)?$e({},e):e:null}function Yt(e,t,s=!1,n=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:a}=e,c=t?va(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ri(c),ref:t&&t.ref?s&&o?G(o)?o.concat($s(t)):[o,$s(t)]:$s(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Yt(e.ssContent),ssFallback:e.ssFallback&&Yt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&n&&qn(d,a.clone(d)),d}function ae(e=" ",t=0){return N(Js,null,e,t)}function q(e="",t=!1){return t?(y(),ie(pt,null,e)):N(pt,null,e)}function nt(e){return e==null||typeof e=="boolean"?N(pt):G(e)?N(J,null,e.slice()):ys(e)?kt(e):N(Js,null,String(e))}function kt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Yt(e)}function zn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(G(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),zn(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!zo(t)?t._ctx=we:r===3&&we&&(we.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else z(t)?(t={default:t,_ctx:we},s=32):(t=String(t),n&64?(s=16,t=[ae(t)]):s=8);e.children=t,e.shapeFlag|=s}function va(...e){const t={};for(let s=0;sAe||we;let js,An;{const e=Gs(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};js=t("__VUE_INSTANCE_SETTERS__",s=>Ae=s),An=t("__VUE_SSR_SETTERS__",s=>xs=s)}const Cs=e=>{const t=Ae;return js(e),e.scope.on(),()=>{e.scope.off(),js(t)}},br=()=>{Ae&&Ae.scope.off(),js(null)};function oi(e){return e.vnode.shapeFlag&4}let xs=!1;function wa(e,t=!1,s=!1){t&&An(t);const{props:n,children:r}=e.vnode,o=oi(e);na(e,n,o,t),la(e,r,s||t);const i=o?ka(e,t):void 0;return t&&An(!1),i}function ka(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Fl);const{setup:n}=s;if(n){ft();const r=e.setupContext=n.length>1?Ra(e):null,o=Cs(e),i=ks(n,e,0,[e.props,r]),l=Zr(i);if(mt(),o(),(l||e.sp)&&!zt(e)&&Oo(e),l){if(i.then(br,br),t)return i.then(a=>{_r(e,a)}).catch(a=>{Ks(a,e,0)});e.asyncDep=i}else _r(e,i)}else ii(e)}function _r(e,t,s){z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=Co(t)),ii(e)}function ii(e,t,s){const n=e.type;e.render||(e.render=n.render||rt);{const r=Cs(e);ft();try{Vl(e)}finally{mt(),r()}}}const Ca={get(e,t){return Se(e,"get",""),e[t]}};function Ra(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Ca),slots:e.slots,emit:e.emit,expose:t}}function Ys(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Co(dl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in us)return us[s](e)},has(t,s){return s in t||s in us}})):e.proxy}function Sa(e,t=!0){return z(e)?e.displayName||e.name:e.name||t&&e.__name}function Aa(e){return z(e)&&"__vccOpts"in e}const oe=(e,t)=>gl(e,t,xs);function li(e,t,s){try{Ls(-1);const n=arguments.length;return n===2?de(t)&&!G(t)?ys(t)?N(e,null,[t]):N(e,t):N(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&ys(s)&&(s=[s]),N(e,t,s))}finally{Ls(1)}}const Ea="3.5.25";let En;const wr=typeof window<"u"&&window.trustedTypes;if(wr)try{En=wr.createPolicy("vue",{createHTML:e=>e})}catch{}const ai=En?e=>En.createHTML(e):e=>e,Pa="http://www.w3.org/2000/svg",$a="http://www.w3.org/1998/Math/MathML",ct=typeof document<"u"?document:null,kr=ct&&ct.createElement("template"),Ta={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?ct.createElementNS(Pa,e):t==="mathml"?ct.createElementNS($a,e):s?ct.createElement(e,{is:s}):ct.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>ct.createTextNode(e),createComment:e=>ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,o){const i=s?s.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===o||!(r=r.nextSibling)););else{kr.innerHTML=ai(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=kr.content;if(n==="svg"||n==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[i?i.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Oa=Symbol("_vtc");function Ia(e,t,s){const n=e[Oa];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Cr=Symbol("_vod"),Na=Symbol("_vsh"),Ma=Symbol(""),Da=/(?:^|;)\s*display\s*:/;function La(e,t,s){const n=e.style,r=ge(s);let o=!1;if(s&&!r){if(t)if(ge(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();s[l]==null&&Ts(n,l,"")}else for(const i in t)s[i]==null&&Ts(n,i,"");for(const i in s)i==="display"&&(o=!0),Ts(n,i,s[i])}else if(r){if(t!==s){const i=n[Ma];i&&(s+=";"+i),n.cssText=s,o=Da.test(s)}}else t&&e.removeAttribute("style");Cr in e&&(e[Cr]=o?n.display:"",e[Na]&&(n.display="none"))}const Rr=/\s*!important$/;function Ts(e,t,s){if(G(s))s.forEach(n=>Ts(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ja(e,t);Rr.test(s)?e.setProperty(Lt(n),s.replace(Rr,""),"important"):e[n]=s}}const Sr=["Webkit","Moz","ms"],un={};function ja(e,t){const s=un[t];if(s)return s;let n=Ue(t);if(n!=="filter"&&n in e)return un[t]=n;n=Bs(n);for(let r=0;rdn||(Ba.then(()=>dn=0),dn=Date.now());function Ua(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;ot(qa(n,s.value),t,5,[n])};return s.value=e,s.attached=Ga(),s}function qa(e,t){if(G(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const Or=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wa=(e,t,s,n,r,o)=>{const i=r==="svg";t==="class"?Ia(e,n,i):t==="style"?La(e,s,n):Fs(t)?Nn(t)||Va(e,t,s,n,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ka(e,t,n,i))?(Pr(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Er(e,t,n,i,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!ge(n))?Pr(e,Ue(t),n,o,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Er(e,t,n,i))};function Ka(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Or(t)&&z(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"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Or(t)&&ge(s)?!1:t in e}const Ir=e=>{const t=e.props["onUpdate:modelValue"]||!1;return G(t)?s=>Ps(t,s):t},fn=Symbol("_assign"),za={deep:!0,created(e,t,s){e[fn]=Ir(s),ci(e,"change",()=>{const n=e._modelValue,r=Qa(e),o=e.checked,i=e[fn];if(G(n)){const l=ro(n,r),a=l!==-1;if(o&&!a)i(n.concat(r));else if(!o&&a){const c=[...n];c.splice(l,1),i(c)}}else if(Vs(n)){const l=new Set(n);o?l.add(r):l.delete(r),i(l)}else i(ui(e,o))})},mounted:Nr,beforeUpdate(e,t,s){e[fn]=Ir(s),Nr(e,t,s)}};function Nr(e,{value:t,oldValue:s},n){e._modelValue=t;let r;if(G(t))r=ro(t,n.props.value)>-1;else if(Vs(t))r=t.has(n.props.value);else{if(t===s)return;r=Us(t,ui(e,!0))}e.checked!==r&&(e.checked=r)}function Qa(e){return"_value"in e?e._value:e.value}function ui(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const Ja=["ctrl","shift","alt","meta"],Ya={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)=>Ja.some(s=>e[`${s}Key`]&&!t.includes(s))},Qn=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((r,...o)=>{for(let i=0;i{const t=Za().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=sc(n);if(!r)return;const o=t._component;!z(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=s(r,!1,tc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t});function tc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function sc(e){return ge(e)?document.querySelector(e):e}const Ut=typeof document<"u";function di(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function nc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&di(e.default)}const se=Object.assign;function mn(e,t){const s={};for(const n in t){const r=t[n];s[n]=ze(r)?r.map(e):e(r)}return s}const ms=()=>{},ze=Array.isArray;function Dr(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}const fi=/#/g,rc=/&/g,oc=/\//g,ic=/=/g,lc=/\?/g,mi=/\+/g,ac=/%5B/g,cc=/%5D/g,hi=/%5E/g,uc=/%60/g,pi=/%7B/g,dc=/%7C/g,gi=/%7D/g,fc=/%20/g;function Jn(e){return e==null?"":encodeURI(""+e).replace(dc,"|").replace(ac,"[").replace(cc,"]")}function mc(e){return Jn(e).replace(pi,"{").replace(gi,"}").replace(hi,"^")}function Pn(e){return Jn(e).replace(mi,"%2B").replace(fc,"+").replace(fi,"%23").replace(rc,"%26").replace(uc,"`").replace(pi,"{").replace(gi,"}").replace(hi,"^")}function hc(e){return Pn(e).replace(ic,"%3D")}function pc(e){return Jn(e).replace(fi,"%23").replace(lc,"%3F")}function gc(e){return pc(e).replace(oc,"%2F")}function bs(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const vc=/\/$/,yc=e=>e.replace(vc,"");function hn(e,t,s="/"){let n,r={},o="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(n=t.slice(0,a),o=t.slice(a,l>0?l:t.length),r=e(o.slice(1))),l>=0&&(n=n||t.slice(0,l),i=t.slice(l,t.length)),n=wc(n??t,s),{fullPath:n+o+i,path:n,query:r,hash:bs(i)}}function xc(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function Lr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function bc(e,t,s){const n=t.matched.length-1,r=s.matched.length-1;return n>-1&&n===r&&Xt(t.matched[n],s.matched[r])&&vi(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function Xt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function vi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!_c(e[s],t[s]))return!1;return!0}function _c(e,t){return ze(e)?jr(e,t):ze(t)?jr(t,e):e===t}function jr(e,t){return ze(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function wc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),r=n[n.length-1];(r===".."||r===".")&&n.push("");let o=s.length-1,i,l;for(i=0;i1&&o--;else break;return s.slice(0,o).join("/")+"/"+n.slice(i).join("/")}const bt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let $n=(function(e){return e.pop="pop",e.push="push",e})({}),pn=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function kc(e){if(!e)if(Ut){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),yc(e)}const Cc=/^[^#]+#/;function Rc(e,t){return e.replace(Cc,"#")+t}function Sc(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const Xs=()=>({left:window.scrollX,top:window.scrollY});function Ac(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),r=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!r)return;t=Sc(r,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 Fr(e,t){return(history.state?history.state.position-t:-1)+e}const Tn=new Map;function Ec(e,t){Tn.set(e,t)}function Pc(e){const t=Tn.get(e);return Tn.delete(e),t}function $c(e){return typeof e=="string"||e&&typeof e=="object"}function yi(e){return typeof e=="string"||typeof e=="symbol"}let pe=(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})({});const xi=Symbol("");pe.MATCHER_NOT_FOUND+"",pe.NAVIGATION_GUARD_REDIRECT+"",pe.NAVIGATION_ABORTED+"",pe.NAVIGATION_CANCELLED+"",pe.NAVIGATION_DUPLICATED+"";function Zt(e,t){return se(new Error,{type:e,[xi]:!0},t)}function at(e,t){return e instanceof Error&&xi in e&&(t==null||!!(e.type&t))}const Tc=["params","query","hash"];function Oc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of Tc)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function Ic(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;nr&&Pn(r)):[n&&Pn(n)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+s,r!=null&&(t+="="+r))})}return t}function Nc(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=ze(n)?n.map(r=>r==null?null:""+r):n==null?n:""+n)}return t}const Mc=Symbol(""),Hr=Symbol(""),Yn=Symbol(""),Xn=Symbol(""),On=Symbol("");function rs(){let e=[];function t(n){return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function Ct(e,t,s,n,r,o=i=>i()){const i=n&&(n.enterCallbacks[r]=n.enterCallbacks[r]||[]);return()=>new Promise((l,a)=>{const c=p=>{p===!1?a(Zt(pe.NAVIGATION_ABORTED,{from:s,to:t})):p instanceof Error?a(p):$c(p)?a(Zt(pe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(i&&n.enterCallbacks[r]===i&&typeof p=="function"&&i.push(p),l())},d=o(()=>e.call(n&&n.instances[r],t,s,c));let m=Promise.resolve(d);e.length<3&&(m=m.then(c)),m.catch(p=>a(p))})}function gn(e,t,s,n,r=o=>o()){const o=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(di(a)){const c=(a.__vccOpts||a)[t];c&&o.push(Ct(c,s,n,i,l,r))}else{let c=a();o.push(()=>c.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const m=nc(d)?d.default:d;i.mods[l]=d,i.components[l]=m;const p=(m.__vccOpts||m)[t];return p&&Ct(p,s,n,i,l,r)()}))}}return o}function Dc(e,t){const s=[],n=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iXt(c,l))?n.push(l):s.push(l));const a=e.matched[i];a&&(t.matched.find(c=>Xt(c,a))||r.push(a))}return[s,n,r]}let Lc=()=>location.protocol+"//"+location.host;function bi(e,t){const{pathname:s,search:n,hash:r}=t,o=e.indexOf("#");if(o>-1){let i=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(i);return l[0]!=="/"&&(l="/"+l),Lr(l,"")}return Lr(s,e)+n+r}function jc(e,t,s,n){let r=[],o=[],i=null;const l=({state:p})=>{const v=bi(e,location),S=s.value,I=t.value;let K=0;if(p){if(s.value=v,t.value=p,i&&i===S){i=null;return}K=I?p.position-I.position:0}else n(v);r.forEach(j=>{j(s.value,S,{delta:K,type:$n.pop,direction:K?K>0?pn.forward:pn.back:pn.unknown})})};function a(){i=s.value}function c(p){r.push(p);const v=()=>{const S=r.indexOf(p);S>-1&&r.splice(S,1)};return o.push(v),v}function d(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(se({},p.state,{scroll:Xs()}),"")}}function m(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:a,listen:c,destroy:m}}function Br(e,t,s,n=!1,r=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:r?Xs():null}}function Fc(e){const{history:t,location:s}=window,n={value:bi(e,s)},r={value:t.state};r.value||o(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,c,d){const m=e.indexOf("#"),p=m>-1?(s.host&&document.querySelector("base")?e:e.slice(m))+a:Lc()+e+a;try{t[d?"replaceState":"pushState"](c,"",p),r.value=c}catch(v){console.error(v),s[d?"replace":"assign"](p)}}function i(a,c){o(a,se({},t.state,Br(r.value.back,a,r.value.forward,!0),c,{position:r.value.position}),!0),n.value=a}function l(a,c){const d=se({},r.value,t.state,{forward:a,scroll:Xs()});o(d.current,d,!0),o(a,se({},Br(n.value,a,null),{position:d.position+1},c),!1),n.value=a}return{location:n,state:r,push:l,replace:i}}function Vc(e){e=kc(e);const t=Fc(e),s=jc(e,t.state,t.location,t.replace);function n(o,i=!0){i||s.pauseListeners(),history.go(o)}const r=se({location:"",base:e,go:n,createHref:Rc.bind(null,e)},t,s);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function Hc(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Vc(e)}let Ot=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ye=(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})(ye||{});const Bc={type:Ot.Static,value:""},Gc=/[a-zA-Z0-9_]/;function Uc(e){if(!e)return[[]];if(e==="/")return[[Bc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${s})/"${c}": ${v}`)}let s=ye.Static,n=s;const r=[];let o;function i(){o&&r.push(o),o=[]}let l=0,a,c="",d="";function m(){c&&(s===ye.Static?o.push({type:Ot.Static,value:c}):s===ye.Param||s===ye.ParamRegExp||s===ye.ParamRegExpEnd?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Ot.Param,value:c,regexp:d,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=a}for(;lt.length?t.length===1&&t[0]===Oe.Static+Oe.Segment?1:-1:0}function _i(e,t){let s=0;const n=e.score,r=t.score;for(;s0&&t[t.length-1]<0}const Qc={strict:!1,end:!0,sensitive:!1};function Jc(e,t,s){const n=Kc(Uc(e.path),s),r=se(n,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Yc(e,t){const s=[],n=new Map;t=Dr(Qc,t);function r(m){return n.get(m)}function o(m,p,v){const S=!v,I=Wr(m);I.aliasOf=v&&v.record;const K=Dr(t,m),j=[I];if("alias"in m){const L=typeof m.alias=="string"?[m.alias]:m.alias;for(const ee of L)j.push(Wr(se({},I,{components:v?v.record.components:I.components,path:ee,aliasOf:v?v.record:I})))}let D,V;for(const L of j){const{path:ee}=L;if(p&&ee[0]!=="/"){const ve=p.record.path,he=ve[ve.length-1]==="/"?"":"/";L.path=p.record.path+(ee&&he+ee)}if(D=Jc(L,p,K),v?v.alias.push(D):(V=V||D,V!==D&&V.alias.push(D),S&&m.name&&!Kr(D)&&i(m.name)),wi(D)&&a(D),I.children){const ve=I.children;for(let he=0;he{i(V)}:ms}function i(m){if(yi(m)){const p=n.get(m);p&&(n.delete(m),s.splice(s.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=s.indexOf(m);p>-1&&(s.splice(p,1),m.record.name&&n.delete(m.record.name),m.children.forEach(i),m.alias.forEach(i))}}function l(){return s}function a(m){const p=eu(m,s);s.splice(p,0,m),m.record.name&&!Kr(m)&&n.set(m.record.name,m)}function c(m,p){let v,S={},I,K;if("name"in m&&m.name){if(v=n.get(m.name),!v)throw Zt(pe.MATCHER_NOT_FOUND,{location:m});K=v.record.name,S=se(qr(p.params,v.keys.filter(V=>!V.optional).concat(v.parent?v.parent.keys.filter(V=>V.optional):[]).map(V=>V.name)),m.params&&qr(m.params,v.keys.map(V=>V.name))),I=v.stringify(S)}else if(m.path!=null)I=m.path,v=s.find(V=>V.re.test(I)),v&&(S=v.parse(I),K=v.record.name);else{if(v=p.name?n.get(p.name):s.find(V=>V.re.test(p.path)),!v)throw Zt(pe.MATCHER_NOT_FOUND,{location:m,currentLocation:p});K=v.record.name,S=se({},p.params,m.params),I=v.stringify(S)}const j=[];let D=v;for(;D;)j.unshift(D.record),D=D.parent;return{name:K,path:I,params:S,matched:j,meta:Zc(j)}}e.forEach(m=>o(m));function d(){s.length=0,n.clear()}return{addRoute:o,resolve:c,removeRoute:i,clearRoutes:d,getRoutes:l,getRecordMatcher:r}}function qr(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function Wr(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Xc(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 Xc(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function Kr(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zc(e){return e.reduce((t,s)=>se(t,s.meta),{})}function eu(e,t){let s=0,n=t.length;for(;s!==n;){const o=s+n>>1;_i(e,t[o])<0?n=o:s=o+1}const r=tu(e);return r&&(n=t.lastIndexOf(r,n-1)),n}function tu(e){let t=e;for(;t=t.parent;)if(wi(t)&&_i(e,t)===0)return t}function wi({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function zr(e){const t=Pe(Yn),s=Pe(Xn),n=oe(()=>{const a=A(e.to);return t.resolve(a)}),r=oe(()=>{const{matched:a}=n.value,{length:c}=a,d=a[c-1],m=s.matched;if(!d||!m.length)return-1;const p=m.findIndex(Xt.bind(null,d));if(p>-1)return p;const v=Qr(a[c-2]);return c>1&&Qr(d)===v&&m[m.length-1].path!==v?m.findIndex(Xt.bind(null,a[c-2])):p}),o=oe(()=>r.value>-1&&ou(s.params,n.value.params)),i=oe(()=>r.value>-1&&r.value===s.matched.length-1&&vi(s.params,n.value.params));function l(a={}){if(ru(a)){const c=t[A(e.replace)?"replace":"push"](A(e.to)).catch(ms);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:n,href:oe(()=>n.value.href),isActive:o,isExactActive:i,navigate:l}}function su(e){return e.length===1?e[0]:e}const nu=To({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:zr,setup(e,{slots:t}){const s=Ws(zr(e)),{options:n}=Pe(Yn),r=oe(()=>({[Jr(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[Jr(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const o=t.default&&su(t.default(s));return e.custom?o:li("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:r.value},o)}}}),Re=nu;function ru(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){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ou(e,t){for(const s in t){const n=t[s],r=e[s];if(typeof n=="string"){if(n!==r)return!1}else if(!ze(r)||r.length!==n.length||n.some((o,i)=>o!==r[i]))return!1}return!0}function Qr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Jr=(e,t,s)=>e??t??s,iu=To({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=Pe(On),r=oe(()=>e.route||n.value),o=Pe(Hr,0),i=oe(()=>{let c=A(o);const{matched:d}=r.value;let m;for(;(m=d[c])&&!m.components;)c++;return c}),l=oe(()=>r.value.matched[i.value]);ds(Hr,oe(()=>i.value+1)),ds(Mc,l),ds(On,r);const a=ke();return Ge(()=>[a.value,l.value,e.name],([c,d,m],[p,v,S])=>{d&&(d.instances[m]=c,v&&v!==d&&c&&c===p&&(d.leaveGuards.size||(d.leaveGuards=v.leaveGuards),d.updateGuards.size||(d.updateGuards=v.updateGuards))),c&&d&&(!v||!Xt(d,v)||!p)&&(d.enterCallbacks[m]||[]).forEach(I=>I(c))},{flush:"post"}),()=>{const c=r.value,d=e.name,m=l.value,p=m&&m.components[d];if(!p)return Yr(s.default,{Component:p,route:c});const v=m.props[d],S=v?v===!0?c.params:typeof v=="function"?v(c):v:null,K=li(p,se({},S,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(m.instances[d]=null)},ref:a}));return Yr(s.default,{Component:K,route:c})||K}}});function Yr(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const lu=iu;function au(e){const t=Yc(e.routes,e),s=e.parseQuery||Ic,n=e.stringifyQuery||Vr,r=e.history,o=rs(),i=rs(),l=rs(),a=fl(bt);let c=bt;Ut&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=mn.bind(null,_=>""+_),m=mn.bind(null,gc),p=mn.bind(null,bs);function v(_,M){let T,F;return yi(_)?(T=t.getRecordMatcher(_),F=M):F=_,t.addRoute(F,T)}function S(_){const M=t.getRecordMatcher(_);M&&t.removeRoute(M)}function I(){return t.getRoutes().map(_=>_.record)}function K(_){return!!t.getRecordMatcher(_)}function j(_,M){if(M=se({},M||a.value),typeof _=="string"){const g=hn(s,_,M.path),b=t.resolve({path:g.path},M),k=r.createHref(g.fullPath);return se(g,b,{params:p(b.params),hash:bs(g.hash),redirectedFrom:void 0,href:k})}let T;if(_.path!=null)T=se({},_,{path:hn(s,_.path,M.path).path});else{const g=se({},_.params);for(const b in g)g[b]==null&&delete g[b];T=se({},_,{params:m(g)}),M.params=m(M.params)}const F=t.resolve(T,M),Y=_.hash||"";F.params=d(p(F.params));const f=xc(n,se({},_,{hash:mc(Y),path:F.path})),h=r.createHref(f);return se({fullPath:f,hash:Y,query:n===Vr?Nc(_.query):_.query||{}},F,{redirectedFrom:void 0,href:h})}function D(_){return typeof _=="string"?hn(s,_,a.value.path):se({},_)}function V(_,M){if(c!==_)return Zt(pe.NAVIGATION_CANCELLED,{from:M,to:_})}function L(_){return he(_)}function ee(_){return L(se(D(_),{replace:!0}))}function ve(_,M){const T=_.matched[_.matched.length-1];if(T&&T.redirect){const{redirect:F}=T;let Y=typeof F=="function"?F(_,M):F;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=D(Y):{path:Y},Y.params={}),se({query:_.query,hash:_.hash,params:Y.path!=null?{}:_.params},Y)}}function he(_,M){const T=c=j(_),F=a.value,Y=_.state,f=_.force,h=_.replace===!0,g=ve(T,F);if(g)return he(se(D(g),{state:typeof g=="object"?se({},Y,g.state):Y,force:f,replace:h}),M||T);const b=T;b.redirectedFrom=M;let k;return!f&&bc(n,F,T)&&(k=Zt(pe.NAVIGATION_DUPLICATED,{to:b,from:F}),Ye(F,F,!0,!1)),(k?Promise.resolve(k):Qe(b,F)).catch(x=>at(x)?at(x,pe.NAVIGATION_GUARD_REDIRECT)?x:xt(x):te(x,b,F)).then(x=>{if(x){if(at(x,pe.NAVIGATION_GUARD_REDIRECT))return he(se({replace:h},D(x.to),{state:typeof x.to=="object"?se({},Y,x.to.state):Y,force:f}),M||b)}else x=At(b,F,!0,h,Y);return yt(b,F,x),x})}function Ce(_,M){const T=V(_,M);return T?Promise.reject(T):Promise.resolve()}function vt(_){const M=Ht.values().next().value;return M&&typeof M.runWithContext=="function"?M.runWithContext(_):_()}function Qe(_,M){let T;const[F,Y,f]=Dc(_,M);T=gn(F.reverse(),"beforeRouteLeave",_,M);for(const g of F)g.leaveGuards.forEach(b=>{T.push(Ct(b,_,M))});const h=Ce.bind(null,_,M);return T.push(h),He(T).then(()=>{T=[];for(const g of o.list())T.push(Ct(g,_,M));return T.push(h),He(T)}).then(()=>{T=gn(Y,"beforeRouteUpdate",_,M);for(const g of Y)g.updateGuards.forEach(b=>{T.push(Ct(b,_,M))});return T.push(h),He(T)}).then(()=>{T=[];for(const g of f)if(g.beforeEnter)if(ze(g.beforeEnter))for(const b of g.beforeEnter)T.push(Ct(b,_,M));else T.push(Ct(g.beforeEnter,_,M));return T.push(h),He(T)}).then(()=>(_.matched.forEach(g=>g.enterCallbacks={}),T=gn(f,"beforeRouteEnter",_,M,vt),T.push(h),He(T))).then(()=>{T=[];for(const g of i.list())T.push(Ct(g,_,M));return T.push(h),He(T)}).catch(g=>at(g,pe.NAVIGATION_CANCELLED)?g:Promise.reject(g))}function yt(_,M,T){l.list().forEach(F=>vt(()=>F(_,M,T)))}function At(_,M,T,F,Y){const f=V(_,M);if(f)return f;const h=M===bt,g=Ut?history.state:{};T&&(F||h?r.replace(_.fullPath,se({scroll:h&&g&&g.scroll},Y)):r.push(_.fullPath,Y)),a.value=_,Ye(_,M,T,h),xt()}let Je;function es(){Je||(Je=r.listen((_,M,T)=>{if(!Et.listening)return;const F=j(_),Y=ve(F,Et.currentRoute.value);if(Y){he(se(Y,{replace:!0,force:!0}),F).catch(ms);return}c=F;const f=a.value;Ut&&Ec(Fr(f.fullPath,T.delta),Xs()),Qe(F,f).catch(h=>at(h,pe.NAVIGATION_ABORTED|pe.NAVIGATION_CANCELLED)?h:at(h,pe.NAVIGATION_GUARD_REDIRECT)?(he(se(D(h.to),{force:!0}),F).then(g=>{at(g,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&!T.delta&&T.type===$n.pop&&r.go(-1,!1)}).catch(ms),Promise.reject()):(T.delta&&r.go(-T.delta,!1),te(h,F,f))).then(h=>{h=h||At(F,f,!1),h&&(T.delta&&!at(h,pe.NAVIGATION_CANCELLED)?r.go(-T.delta,!1):T.type===$n.pop&&at(h,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),yt(F,f,h)}).catch(ms)}))}let Ft=rs(),be=rs(),ce;function te(_,M,T){xt(_);const F=be.list();return F.length?F.forEach(Y=>Y(_,M,T)):console.error(_),Promise.reject(_)}function it(){return ce&&a.value!==bt?Promise.resolve():new Promise((_,M)=>{Ft.add([_,M])})}function xt(_){return ce||(ce=!_,es(),Ft.list().forEach(([M,T])=>_?T(_):M()),Ft.reset()),_}function Ye(_,M,T,F){const{scrollBehavior:Y}=e;if(!Ut||!Y)return Promise.resolve();const f=!T&&Pc(Fr(_.fullPath,0))||(F||!T)&&history.state&&history.state.scroll||null;return So().then(()=>Y(_,M,f)).then(h=>h&&Ac(h)).catch(h=>te(h,_,M))}const Ne=_=>r.go(_);let Vt;const Ht=new Set,Et={currentRoute:a,listening:!0,addRoute:v,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:K,getRoutes:I,resolve:j,options:e,push:L,replace:ee,go:Ne,back:()=>Ne(-1),forward:()=>Ne(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:be.add,isReady:it,install(_){_.component("RouterLink",Re),_.component("RouterView",lu),_.config.globalProperties.$router=Et,Object.defineProperty(_.config.globalProperties,"$route",{enumerable:!0,get:()=>A(a)}),Ut&&!Vt&&a.value===bt&&(Vt=!0,L(r.location).catch(F=>{}));const M={};for(const F in bt)Object.defineProperty(M,F,{get:()=>a.value[F],enumerable:!0});_.provide(Yn,Et),_.provide(Xn,wo(M)),_.provide(On,a);const T=_.unmount;Ht.add(_),_.unmount=function(){Ht.delete(_),Ht.size<1&&(c=bt,Je&&Je(),Je=null,a.value=bt,Vt=!1,ce=!1),T()}}};function He(_){return _.reduce((M,T)=>M.then(()=>vt(T)),Promise.resolve())}return Et}function Zs(e){return Pe(Xn)}const cu=["aria-label"],uu={key:0,class:"fas fa-moon text-purple-400"},du={key:1,class:"fas fa-sun text-yellow-500"},fu={__name:"ThemeToggle",setup(e){const t=ke(!1);jt(()=>{const r=localStorage.getItem("theme"),o=window.matchMedia("(prefers-color-scheme: dark)").matches;t.value=r==="dark"||!r&&o,s(),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",i=>{localStorage.getItem("theme")||(t.value=i.matches,s())})}),Ge(t,()=>{s(),localStorage.setItem("theme",t.value?"dark":"light")});function s(){t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}function n(){t.value=!t.value}return(r,o)=>(y(),C("button",{onClick:n,class:"p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition","aria-label":t.value?"Switch to light mode":"Switch to dark mode"},[t.value?(y(),C("i",uu)):(y(),C("i",du))],8,cu))}},mu={class:"sticky top-0 z-50 glass shadow-modern"},hu={class:"container mx-auto px-4"},pu={class:"flex items-center justify-between h-16"},gu={class:"hidden md:flex items-center space-x-6"},vu={class:"flex items-center space-x-4"},yu={key:0,class:"md:hidden py-4 border-t border-gray-200 dark:border-gray-700"},xu={class:"flex flex-col space-y-3"},bu={__name:"Navbar",setup(e){const t=Zs(),s=Pe("globalData"),n=ke(!1),r=oe(()=>s.value?.Repositories||[]);return(o,i)=>(y(),C("nav",mu,[u("div",hu,[u("div",pu,[N(A(Re),{to:"/",class:"flex items-center space-x-2"},{default:Z(()=>[...i[4]||(i[4]=[u("i",{class:"fas fa-rocket text-2xl gradient-text"},null,-1),u("span",{class:"text-xl font-bold gradient-text"},"Git Velocity",-1)])]),_:1}),u("div",gu,[N(A(Re),{to:"/",class:Q(A(t).path==="/"?"nav-link-active":"nav-link")},{default:Z(()=>[...i[5]||(i[5]=[ae(" Dashboard ",-1)])]),_:1},8,["class"]),N(A(Re),{to:"/leaderboard",class:Q(A(t).path==="/leaderboard"?"nav-link-active":"nav-link")},{default:Z(()=>[...i[6]||(i[6]=[ae(" Leaderboard ",-1)])]),_:1},8,["class"]),(y(!0),C(J,null,xe(r.value,l=>(y(),ie(A(Re),{key:`${l.Owner}/${l.Name}`,to:`/repos/${l.Owner}/${l.Name}`,class:Q(A(t).path.includes(`/repos/${l.Owner}/${l.Name}`)?"nav-link-active":"nav-link")},{default:Z(()=>[ae(w(l.Name),1)]),_:2},1032,["to","class"]))),128))]),u("div",vu,[N(fu),u("button",{onClick:i[0]||(i[0]=l=>n.value=!n.value),class:"md:hidden p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition"},[...i[7]||(i[7]=[u("i",{class:"fas fa-bars text-gray-700 dark:text-gray-200"},null,-1)])])])]),n.value?(y(),C("div",yu,[u("div",xu,[N(A(Re),{to:"/",onClick:i[1]||(i[1]=l=>n.value=!1),class:Q(A(t).path==="/"?"nav-link-active":"nav-link")},{default:Z(()=>[...i[8]||(i[8]=[ae(" Dashboard ",-1)])]),_:1},8,["class"]),N(A(Re),{to:"/leaderboard",onClick:i[2]||(i[2]=l=>n.value=!1),class:Q(A(t).path==="/leaderboard"?"nav-link-active":"nav-link")},{default:Z(()=>[...i[9]||(i[9]=[ae(" Leaderboard ",-1)])]),_:1},8,["class"]),(y(!0),C(J,null,xe(r.value,l=>(y(),ie(A(Re),{key:`${l.Owner}/${l.Name}`,to:`/repos/${l.Owner}/${l.Name}`,onClick:i[3]||(i[3]=a=>n.value=!1),class:Q(A(t).path.includes(`/repos/${l.Owner}/${l.Name}`)?"nav-link-active":"nav-link")},{default:Z(()=>[ae(w(l.Name),1)]),_:2},1032,["to","class"]))),128))])])):q("",!0)])]))}},_u={class:"py-8 px-4 mt-16 border-t border-gray-200 dark:border-gray-700"},wu={class:"container mx-auto text-center"},ku={key:0,class:"text-sm text-gray-400 dark:text-gray-500 mt-2"},Cu={__name:"Footer",setup(e){const t=Pe("globalData"),s=oe(()=>t.value?.GeneratedAt?new Date(t.value.GeneratedAt).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"");return(n,r)=>(y(),C("footer",_u,[u("div",wu,[r[0]||(r[0]=u("p",{class:"text-gray-500 dark:text-gray-400"},[ae(" Generated by "),u("a",{href:"https://github.com/lukaszraczylo/git-velocity",class:"text-primary-500 hover:text-primary-600",target:"_blank",rel:"noopener noreferrer"}," Git Velocity ")],-1)),s.value?(y(),C("p",ku,w(s.value),1)):q("",!0)])]))}},Ru={class:"min-h-screen flex flex-col"},Su={class:"flex-1"},Au={key:0,class:"flex items-center justify-center min-h-[60vh]"},Eu={key:1,class:"flex items-center justify-center min-h-[60vh]"},Pu={class:"text-center"},$u={class:"text-gray-600 dark:text-gray-400"},Tu={__name:"App",setup(e){const t=ke(null),s=ke(!0),n=ke(null);return ds("globalData",t),jt(async()=>{try{const r=await fetch("./data/global.json");if(!r.ok)throw new Error("Failed to load data");t.value=await r.json()}catch(r){n.value=r.message}finally{s.value=!1}}),(r,o)=>{const i=Ll("router-view");return y(),C("div",Ru,[N(bu),u("main",Su,[s.value?(y(),C("div",Au,[...o[0]||(o[0]=[u("div",{class:"text-center"},[u("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"}),u("p",{class:"text-gray-600 dark:text-gray-400"},"Loading dashboard...")],-1)])])):n.value?(y(),C("div",Eu,[u("div",Pu,[o[1]||(o[1]=u("i",{class:"fas fa-exclamation-triangle text-4xl text-red-500 mb-4"},null,-1)),u("p",$u,w(n.value),1)])])):(y(),ie(i,{key:2}))]),N(Cu)])}}};function U(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function Ou(e){return e==null?"-":e<1?Math.round(e*60)+"m":e<24?e.toFixed(1)+"h":(e/24).toFixed(1)+"d"}function vn(e){return e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):""}function Iu(e){return e==null?"0%":e.toFixed(1)+"%"}function ki(e){return e?e.toLowerCase().replace(/\s+/g,"-").replace(/_/g,"-").replace(/[^a-z0-9-]/g,""):""}const Nu={class:"flex items-center justify-between"},Mu={class:"text-sm text-gray-500 dark:text-gray-400 mt-1"},_e={__name:"StatCard",props:{value:{type:[Number,String],required:!0},label:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-gray-500"},valueClass:{type:String,default:"gradient-text"},delay:{type:String,default:"0s"}},setup(e){return(t,s)=>(y(),C("div",{class:"card animate-fade-in-up",style:St({animationDelay:e.delay})},[u("div",Nu,[u("div",null,[u("div",{class:Q(["text-3xl font-bold",e.valueClass])},w(typeof e.value=="number"?A(U)(e.value):e.value),3),u("div",Mu,w(e.label),1)]),e.icon?(y(),C("div",{key:0,class:Q(["text-3xl opacity-50",e.iconColor])},[u("i",{class:Q(e.icon)},null,2)],2)):q("",!0)])],4))}},Du=["src","alt"],Rs={__name:"Avatar",props:{src:{type:String,default:""},name:{type:String,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-8 h-8 text-xs",md:"w-10 h-10 text-sm",lg:"w-14 h-14 text-xl",xl:"w-16 h-16 text-2xl","2xl":"w-32 h-32 text-4xl"},n=oe(()=>t.name.charAt(0).toUpperCase()),r=oe(()=>s[t.size]||s.md);return(o,i)=>e.src?(y(),C("img",{key:0,src:e.src,alt:e.name,class:Q([r.value,"rounded-full"])},null,10,Du)):(y(),C("div",{key:1,class:Q([r.value,"rounded-full bg-gradient-to-br from-primary-500 to-accent-500 flex items-center justify-center text-white font-bold"])},w(n.value),3))}},Ci={__name:"RankBadge",props:{rank:{type:Number,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-6 h-6 text-xs",md:"w-8 h-8 text-sm"},n=oe(()=>t.rank===1?"rank-1":t.rank===2?"rank-2":t.rank===3?"rank-3":"bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300"),r=oe(()=>s[t.size]||s.md);return(o,i)=>(y(),C("span",{class:Q([[r.value,n.value,{"text-white":e.rank<=3}],"inline-flex items-center justify-center rounded-full font-bold"])},w(e.rank),3))}},Lu={class:"inline-flex flex-col items-center gap-2"},ju=["title"],Fu={class:"absolute bottom-full left-1/2 -translate-x-1/2 mb-3 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs rounded-xl opacity-0 group-hover/badge:opacity-100 transition-all duration-200 pointer-events-none whitespace-nowrap z-50 shadow-xl border border-white/10"},Vu={class:"font-bold text-sm"},Hu={class:"text-gray-300 text-[11px] mt-0.5"},Bu={key:0,class:"text-[11px] font-medium text-gray-600 dark:text-gray-400 text-center leading-tight",style:{"max-width":"72px","word-wrap":"break-word"}},_s={__name:"AchievementBadge",props:{achievementId:{type:String,required:!0},size:{type:String,default:"md"},showLabel:{type:Boolean,default:!1}},setup(e){const t={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},s=l=>{const a=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3];for(let c=a.length-1;c>=0;c--)if(l>=a[c])return c+1;return 1},n=l=>{const a=l.match(/(\d+)$/);return a?parseInt(a[1],10):50},r={"commit-1":{name:"First Steps",description:"Made your first commit",icon:"fa-baby"},"commit-10":{name:"Getting Started",description:"Made 10 commits",icon:"fa-seedling"},"commit-50":{name:"Contributor",description:"Made 50 commits",icon:"fa-code"},"commit-100":{name:"Committed",description:"Made 100 commits",icon:"fa-fire"},"commit-500":{name:"Code Machine",description:"Made 500 commits",icon:"fa-robot"},"commit-1000":{name:"Code Warrior",description:"Made 1000 commits",icon:"fa-crown"},"pr-1":{name:"PR Pioneer",description:"Opened your first pull request",icon:"fa-code-pull-request"},"pr-10":{name:"PR Regular",description:"Opened 10 pull requests",icon:"fa-code-branch"},"pr-25":{name:"PR Pro",description:"Opened 25 pull requests",icon:"fa-code-compare"},"pr-50":{name:"Merge Master",description:"Opened 50 pull requests",icon:"fa-code-merge"},"pr-100":{name:"PR Champion",description:"Opened 100 pull requests",icon:"fa-trophy"},"pr-250":{name:"PR Legend",description:"Opened 250 pull requests",icon:"fa-medal"},"review-1":{name:"First Review",description:"Reviewed your first pull request",icon:"fa-magnifying-glass"},"review-10":{name:"Reviewer",description:"Reviewed 10 pull requests",icon:"fa-eye"},"review-25":{name:"Review Regular",description:"Reviewed 25 pull requests",icon:"fa-glasses"},"review-50":{name:"Review Expert",description:"Reviewed 50 pull requests",icon:"fa-user-check"},"review-100":{name:"Review Guru",description:"Reviewed 100 pull requests",icon:"fa-user-graduate"},"review-250":{name:"Review Master",description:"Reviewed 250 pull requests",icon:"fa-award"},"comment-10":{name:"Commentator",description:"Left 10 PR review comments",icon:"fa-comment"},"comment-50":{name:"Feedback Giver",description:"Left 50 PR review comments",icon:"fa-comments"},"comment-100":{name:"Code Critic",description:"Left 100 PR review comments",icon:"fa-comment-dots"},"comment-250":{name:"Feedback Expert",description:"Left 250 PR review comments",icon:"fa-message"},"comment-500":{name:"Comment Champion",description:"Left 500 PR review comments",icon:"fa-scroll"},"lines-added-100":{name:"First Hundred",description:"Added 100 lines of code",icon:"fa-plus"},"lines-added-1000":{name:"Thousand Lines",description:"Added 1000 lines of code",icon:"fa-layer-group"},"lines-added-5000":{name:"Five Thousand",description:"Added 5000 lines of code",icon:"fa-cubes"},"lines-added-10000":{name:"Ten Thousand",description:"Added 10000 lines of code",icon:"fa-mountain"},"lines-added-50000":{name:"Code Mountain",description:"Added 50000 lines of code",icon:"fa-mountain-sun"},"lines-deleted-100":{name:"Tidying Up",description:"Deleted 100 lines of code",icon:"fa-eraser"},"lines-deleted-500":{name:"Spring Cleaning",description:"Deleted 500 lines of code",icon:"fa-broom"},"lines-deleted-1000":{name:"Code Cleaner",description:"Deleted 1000 lines of code",icon:"fa-trash-can"},"lines-deleted-5000":{name:"Refactoring Hero",description:"Deleted 5000 lines of code",icon:"fa-recycle"},"lines-deleted-10000":{name:"Deletion Master",description:"Deleted 10000 lines of code",icon:"fa-dumpster-fire"},"review-time-24h":{name:"Same Day Reviewer",description:"Average review response under 24 hours",icon:"fa-clock"},"review-time-4h":{name:"Quick Responder",description:"Average review response under 4 hours",icon:"fa-stopwatch"},"review-time-1h":{name:"Speed Demon",description:"Average review response under 1 hour",icon:"fa-bolt"},"repo-2":{name:"Multi-Repo",description:"Contributed to 2 repositories",icon:"fa-folder"},"repo-5":{name:"Repo Explorer",description:"Contributed to 5 repositories",icon:"fa-folder-tree"},"repo-10":{name:"Repo Master",description:"Contributed to 10 repositories",icon:"fa-network-wired"},"reviewees-3":{name:"Helpful Colleague",description:"Reviewed PRs from 3 different contributors",icon:"fa-user-group"},"reviewees-10":{name:"Team Player",description:"Reviewed PRs from 10 different contributors",icon:"fa-people-group"},"reviewees-25":{name:"Community Pillar",description:"Reviewed PRs from 25 different contributors",icon:"fa-people-roof"},"large-pr-500":{name:"Big Change",description:"Merged a PR with 500+ lines changed",icon:"fa-expand"},"large-pr-1000":{name:"Heavy Lifter",description:"Merged a PR with 1000+ lines changed",icon:"fa-weight-hanging"},"large-pr-5000":{name:"Mega Merge",description:"Merged a PR with 5000+ lines changed",icon:"fa-dumbbell"},"small-pr-5":{name:"Small Changes",description:"Merged 5 PRs under 100 lines",icon:"fa-compress"},"small-pr-10":{name:"Small PR Advocate",description:"Merged 10 PRs under 100 lines",icon:"fa-minimize"},"small-pr-25":{name:"Atomic Commits",description:"Merged 25 PRs under 100 lines",icon:"fa-atom"},"small-pr-50":{name:"Micro PR Master",description:"Merged 50 PRs under 100 lines",icon:"fa-microchip"},"perfect-pr-1":{name:"First Try",description:"1 PR merged without changes requested",icon:"fa-check"},"perfect-pr-5":{name:"Clean Code",description:"5 PRs merged without changes requested",icon:"fa-check-double"},"perfect-pr-10":{name:"Quality Author",description:"10 PRs merged without changes requested",icon:"fa-circle-check"},"perfect-pr-25":{name:"Flawless",description:"25 PRs merged without changes requested",icon:"fa-gem"},"active-7":{name:"Week Active",description:"Active on 7 different days",icon:"fa-calendar-day"},"active-30":{name:"Month Active",description:"Active on 30 different days",icon:"fa-calendar-week"},"active-60":{name:"Consistent Contributor",description:"Active on 60 different days",icon:"fa-chart-line"},"active-100":{name:"Dedicated Developer",description:"Active on 100 different days",icon:"fa-fire-flame-curved"},"streak-3":{name:"Getting Rolling",description:"3 day contribution streak",icon:"fa-forward"},"streak-7":{name:"Week Warrior",description:"7 day contribution streak",icon:"fa-calendar-week"},"streak-14":{name:"Two Week Streak",description:"14 day contribution streak",icon:"fa-fire"},"streak-30":{name:"Month Master",description:"30 day contribution streak",icon:"fa-calendar-check"},"workweek-3":{name:"Work Week Start",description:"3 consecutive weekday streak",icon:"fa-briefcase"},"workweek-5":{name:"Full Work Week",description:"5 consecutive weekday streak",icon:"fa-building"},"workweek-10":{name:"Two Week Grind",description:"10 consecutive weekday streak",icon:"fa-business-time"},"workweek-20":{name:"Month of Mondays",description:"20 consecutive weekday streak",icon:"fa-landmark"},"earlybird-10":{name:"Early Riser",description:"10 commits before 9am",icon:"fa-mug-hot"},"earlybird-25":{name:"Morning Person",description:"25 commits before 9am",icon:"fa-cloud-sun"},"earlybird-50":{name:"Early Bird",description:"50 commits before 9am",icon:"fa-sun"},"earlybird-100":{name:"Dawn Warrior",description:"100 commits before 9am",icon:"fa-sunrise"},"nightowl-10":{name:"Late Worker",description:"10 commits after 9pm",icon:"fa-cloud-moon"},"nightowl-25":{name:"Evening Coder",description:"25 commits after 9pm",icon:"fa-moon"},"nightowl-50":{name:"Night Owl",description:"50 commits after 9pm",icon:"fa-star"},"nightowl-100":{name:"Nocturnal",description:"100 commits after 9pm",icon:"fa-star-and-crescent"},"midnight-5":{name:"Night Shift",description:"5 commits between midnight and 4am",icon:"fa-ghost"},"midnight-10":{name:"Insomniac",description:"10 commits between midnight and 4am",icon:"fa-bed"},"midnight-25":{name:"Nosferatu",description:"25 commits between midnight and 4am",icon:"fa-skull"},"midnight-50":{name:"Vampire Coder",description:"50 commits between midnight and 4am",icon:"fa-skull-crossbones"},"weekend-5":{name:"Weekend Work",description:"5 weekend commits",icon:"fa-couch"},"weekend-10":{name:"Weekend Regular",description:"10 weekend commits",icon:"fa-house-laptop"},"weekend-25":{name:"Weekend Warrior",description:"25 weekend commits",icon:"fa-gamepad"},"weekend-50":{name:"No Days Off",description:"50 weekend commits",icon:"fa-person-running"},"ooh-10":{name:"Extra Hours",description:"10 commits outside 9am-5pm",icon:"fa-clock-rotate-left"},"ooh-25":{name:"Flexible Schedule",description:"25 commits outside 9am-5pm",icon:"fa-user-clock"},"ooh-50":{name:"Off-Hours Hero",description:"50 commits outside 9am-5pm",icon:"fa-hourglass-half"},"ooh-100":{name:"Time Bender",description:"100 commits outside 9am-5pm",icon:"fa-infinity"},"docs-100":{name:"Documenter",description:"Added 100 lines of comments/docs",icon:"fa-file-lines"},"docs-500":{name:"Technical Writer",description:"Added 500 lines of comments/docs",icon:"fa-book"},"docs-1000":{name:"Documentation Hero",description:"Added 1000 lines of comments/docs",icon:"fa-book-open"},"docs-2500":{name:"Knowledge Keeper",description:"Added 2500 lines of comments/docs",icon:"fa-scroll"},"docs-5000":{name:"Code Historian",description:"Added 5000 lines of comments/docs",icon:"fa-landmark"},"docs-del-50":{name:"Comment Trimmer",description:"Removed 50 lines of outdated comments",icon:"fa-scissors"},"docs-del-200":{name:"Cleanup Crew",description:"Removed 200 lines of outdated comments",icon:"fa-broom"},"docs-del-500":{name:"Dead Code Hunter",description:"Removed 500 lines of outdated comments",icon:"fa-skull-crossbones"},"docs-del-1000":{name:"Comment Surgeon",description:"Removed 1000 lines of outdated comments",icon:"fa-user-doctor"},"docs-del-2500":{name:"Noise Eliminator",description:"Removed 2500 lines of outdated comments",icon:"fa-volume-xmark"},"issue-1":{name:"Bug Hunter",description:"Opened your first issue",icon:"fa-bug"},"issue-5":{name:"Issue Reporter",description:"Opened 5 issues",icon:"fa-flag"},"issue-10":{name:"Quality Advocate",description:"Opened 10 issues",icon:"fa-clipboard-list"},"issue-25":{name:"Issue Expert",description:"Opened 25 issues",icon:"fa-list-check"},"issue-50":{name:"Issue Champion",description:"Opened 50 issues",icon:"fa-bullhorn"},"issue-close-1":{name:"Problem Solver",description:"Closed your first issue",icon:"fa-circle-check"},"issue-close-5":{name:"Bug Squasher",description:"Closed 5 issues",icon:"fa-bug-slash"},"issue-close-10":{name:"Issue Resolver",description:"Closed 10 issues",icon:"fa-check-double"},"issue-close-25":{name:"Closure Expert",description:"Closed 25 issues",icon:"fa-square-check"},"issue-close-50":{name:"Issue Terminator",description:"Closed 50 issues",icon:"fa-crosshairs"},"issue-comment-5":{name:"Issue Commenter",description:"Left 5 issue comments",icon:"fa-comment"},"issue-comment-10":{name:"Discussion Starter",description:"Left 10 issue comments",icon:"fa-comments"},"issue-comment-25":{name:"Issue Collaborator",description:"Left 25 issue comments",icon:"fa-people-arrows"},"issue-comment-50":{name:"Community Voice",description:"Left 50 issue comments",icon:"fa-bullhorn"},"issue-comment-100":{name:"Issue Guru",description:"Left 100 issue comments",icon:"fa-graduation-cap"},"issue-ref-5":{name:"Issue Linker",description:"Referenced issues in 5 commits",icon:"fa-link"},"issue-ref-10":{name:"Commit Connector",description:"Referenced issues in 10 commits",icon:"fa-diagram-project"},"issue-ref-25":{name:"Traceability Pro",description:"Referenced issues in 25 commits",icon:"fa-sitemap"},"issue-ref-50":{name:"Issue Tracker",description:"Referenced issues in 50 commits",icon:"fa-chart-gantt"},"issue-ref-100":{name:"Traceability Master",description:"Referenced issues in 100 commits",icon:"fa-network-wired"}},o=l=>{const a=r[l]||{name:l,description:"",icon:"fa-medal"},c=n(l),d=s(c),m=t[d]||"from-gray-400 to-gray-500";return{...a,gradient:m,tier:d,threshold:c}},i={sm:{wrapper:"w-9 h-9",icon:"text-sm",radius:"rounded-lg"},md:{wrapper:"w-11 h-11",icon:"text-base",radius:"rounded-xl"},lg:{wrapper:"w-14 h-14",icon:"text-lg",radius:"rounded-xl"}};return(l,a)=>(y(),C("div",Lu,[u("div",{class:"relative group/badge",title:o(e.achievementId).name},[u("div",{class:Q(["flex items-center justify-center bg-gradient-to-br shadow-lg hover:scale-105 hover:shadow-xl transition-all duration-200 cursor-pointer",[i[e.size].wrapper,i[e.size].radius,o(e.achievementId).gradient]])},[u("i",{class:Q(["fas text-white drop-shadow-sm",[o(e.achievementId).icon,i[e.size].icon]])},null,2)],2),u("div",Fu,[u("div",Vu,w(o(e.achievementId).name),1),u("div",Hu,w(o(e.achievementId).description),1),a[0]||(a[0]=u("div",{class:"absolute top-full left-1/2 -translate-x-1/2 border-[6px] border-transparent border-t-gray-900 dark:border-t-gray-800"},null,-1))])],8,ju),e.showLabel?(y(),C("span",Bu,w(o(e.achievementId).name),1)):q("",!0)]))}},Gu={class:"flex items-center space-x-4"},Uu={class:"relative"},qu={class:"flex-1"},Wu={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition-colors"},Ku={class:"text-sm text-gray-500 dark:text-gray-400"},zu={key:0,class:"text-xs text-accent-500"},Qu={class:"text-right"},Ju={class:"text-2xl font-bold gradient-text"},Yu={key:0,class:"mt-4 flex flex-wrap gap-1.5"},Xu={key:0,class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},Zu={__name:"ContributorCard",props:{contributor:{type:Object,required:!0},rank:{type:Number,default:0},showRank:{type:Boolean,default:!0},featured:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),ie(A(Re),{to:{name:"contributor",params:{login:e.contributor.login}},class:Q(["card animate-fade-in-up block cursor-pointer hover:shadow-lg transition-shadow",e.featured&&e.rank===1?"ring-2 ring-yellow-400":""])},{default:Z(()=>[u("div",Gu,[u("div",Uu,[N(Rs,{src:e.contributor.avatar_url,name:e.contributor.login,size:e.featured?"xl":"lg"},null,8,["src","name","size"]),e.showRank&&e.rank>0?(y(),ie(Ci,{key:0,rank:e.rank,size:"sm",class:"absolute -top-1 -right-1"},null,8,["rank"])):q("",!0)]),u("div",qu,[u("h3",Wu,w(e.contributor.name||e.contributor.login),1),u("p",Ku,[u("span",{class:"hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=Qn(n=>t.window.open(`https://github.com/${e.contributor.login}`,"_blank"),["stop","prevent"]))},[ae(" @"+w(e.contributor.login)+" ",1),s[1]||(s[1]=u("i",{class:"fas fa-external-link-alt text-xs ml-0.5 opacity-50"},null,-1))])]),e.contributor.team?(y(),C("p",zu,w(e.contributor.team),1)):q("",!0)]),u("div",Qu,[u("div",Ju,w(A(U)(e.contributor.score?.total||e.contributor.score||0)),1),s[2]||(s[2]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"points",-1))])]),e.contributor.achievements?.length?(y(),C("div",Yu,[(y(!0),C(J,null,xe(e.contributor.achievements.slice(0,6),n=>(y(),ie(_s,{key:n,"achievement-id":n,size:"sm"},null,8,["achievement-id"]))),128)),e.contributor.achievements.length>6?(y(),C("span",Xu," +"+w(e.contributor.achievements.length-6),1)):q("",!0)])):q("",!0)]),_:1},8,["to","class"]))}},ed={class:"flex items-center justify-between mb-4"},td={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition"},sd={class:"text-sm text-gray-500 dark:text-gray-400 mb-4"},nd={class:"grid grid-cols-3 gap-4 text-center"},rd={class:"text-lg font-semibold text-gray-800 dark:text-white"},od={class:"text-lg font-semibold text-gray-800 dark:text-white"},id={class:"text-lg font-semibold text-gray-800 dark:text-white"},ld={__name:"RepoCard",props:{repo:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),ie(A(Re),{to:`/repos/${e.repo.owner}/${e.repo.name}`,class:"card hover:shadow-lg transition group"},{default:Z(()=>[u("div",ed,[u("h3",td,w(e.repo.name),1),s[0]||(s[0]=u("i",{class:"fas fa-arrow-right text-gray-400 group-hover:text-primary-500 transition"},null,-1))]),u("p",sd,w(e.repo.owner)+"/"+w(e.repo.name),1),u("div",nd,[u("div",null,[u("div",rd,w(A(U)(e.repo.total_commits)),1),s[1]||(s[1]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Commits",-1))]),u("div",null,[u("div",od,w(A(U)(e.repo.total_prs)),1),s[2]||(s[2]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"PRs",-1))]),u("div",null,[u("div",id,w(e.repo.active_contributors),1),s[3]||(s[3]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Contributors",-1))])])]),_:1},8,["to"]))}},ad={class:"flex items-center justify-between mb-4"},cd={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition"},ud={class:"flex items-center space-x-2 mb-4"},dd={key:0,class:"w-8 h-8 rounded-full bg-gray-200 dark:bg-gray-700 flex items-center justify-center text-gray-600 dark:text-gray-300 text-xs font-bold"},fd={class:"grid grid-cols-2 gap-4 text-center"},md={class:"text-lg font-semibold gradient-text"},hd={class:"text-lg font-semibold text-gray-800 dark:text-white"},pd={__name:"TeamCard",props:{team:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),ie(A(Re),{to:`/teams/${A(ki)(e.team.name)}`,class:"card hover:shadow-lg transition group"},{default:Z(()=>[u("div",ad,[u("h3",cd,w(e.team.name),1),u("span",{class:"w-3 h-3 rounded-full",style:St({backgroundColor:e.team.color||"#8b5cf6"})},null,4)]),u("div",ud,[(y(!0),C(J,null,xe((e.team.members||[]).slice(0,5),(n,r)=>(y(),ie(Rs,{key:n,name:n,size:"sm"},null,8,["name"]))),128)),(e.team.members?.length||0)>5?(y(),C("span",dd," +"+w(e.team.members.length-5),1)):q("",!0)]),u("div",fd,[u("div",null,[u("div",md,w(A(U)(e.team.total_score)),1),s[0]||(s[0]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Total Score",-1))]),u("div",null,[u("div",hd,w(e.team.members?.length||0),1),s[1]||(s[1]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Members",-1))])])]),_:1},8,["to"]))}},gd={class:"text-2xl font-bold text-gray-800 dark:text-white mb-6"},It={__name:"SectionHeader",props:{title:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-primary-500"}},setup(e){return(t,s)=>(y(),C("h2",gd,[e.icon?(y(),C("i",{key:0,class:Q([[e.icon,e.iconColor],"mr-2"])},null,2)):q("",!0),ae(w(e.title)+" ",1),Dt(t.$slots,"suffix")]))}},vd=(e,t)=>{const s=e.__vccOpts||e;for(const[n,r]of t)s[n]=r;return s},yd={key:0,class:"flex items-center justify-center h-full"},xd={__name:"VelocityChart",props:{timeline:{type:Object,required:!0},height:{type:String,default:"300px"},showScore:{type:Boolean,default:!1}},setup(e){rr.register(...Oi);const t=e,s=ke(null);let n=null;const r=oe(()=>t.timeline?.series?t.timeline.series.filter(c=>t.showScore||c.name!=="Score"):[]),o=oe(()=>!t.timeline?.labels||!r.value.length?{labels:[],datasets:[]}:{labels:t.timeline.labels,datasets:r.value.map(c=>({label:c.name,data:c.data,borderColor:c.color,backgroundColor:c.color+"20",fill:!0,tension:.4,pointRadius:3,pointHoverRadius:5}))}),i={responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},plugins:{legend:{position:"top",labels:{usePointStyle:!0,padding:20,font:{size:12}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.8)",padding:12,titleFont:{size:14},bodyFont:{size:13},callbacks:{label:c=>`${c.dataset.label}: ${c.parsed.y.toLocaleString()}`}}},scales:{x:{grid:{display:!1},ticks:{font:{size:11}}},y:{beginAtZero:!0,grid:{color:"rgba(0, 0, 0, 0.05)"},ticks:{font:{size:11},callback:c=>c>=1e3?(c/1e3).toFixed(1)+"k":c}}}};function l(){if(!s.value||!o.value.labels.length)return;n&&n.destroy();const c=s.value.getContext("2d");n=new rr(c,{type:"line",data:o.value,options:i})}function a(){n?(n.data=o.value,n.update()):l()}return jt(()=>{l()}),Ge(()=>t.timeline,()=>{a()},{deep:!0}),Ge(()=>t.showScore,()=>{a()}),(c,d)=>(y(),C("div",{class:"velocity-chart",style:St({height:e.height})},[u("canvas",{ref_key:"chartRef",ref:s},null,512),e.timeline?.labels?.length?q("",!0):(y(),C("div",yd,[...d[0]||(d[0]=[u("p",{class:"text-gray-400"},"No velocity data available",-1)])]))],4))}},bd=vd(xd,[["__scopeId","data-v-401bbb13"]]),_d={class:"py-16 px-4"},wd={class:"container mx-auto text-center animate-fade-in-up"},kd={class:"flex flex-col items-center space-y-2 mt-4 text-sm text-gray-500 dark:text-gray-400"},Cd={key:0},Rd={key:0},Sd={key:1},Ad={key:2},Ed={key:1},Pd={key:0,class:"py-8 px-4"},$d={class:"container mx-auto"},Td={class:"card"},Od={class:"flex items-center justify-between mb-6"},Id={class:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400 cursor-pointer"},Nd={class:"py-8 px-4"},Md={class:"container mx-auto"},Dd={class:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4"},Ld={class:"py-8 px-4"},jd={class:"container mx-auto"},Fd={class:"grid md:grid-cols-3 gap-6"},Vd={class:"mt-6 text-center"},Hd={class:"py-8 px-4"},Bd={class:"container mx-auto"},Gd={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},Ud={key:1,class:"py-8 px-4"},qd={class:"container mx-auto"},Wd={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},Kd={__name:"Dashboard",setup(e){const t=Pe("globalData"),s=oe(()=>t.value||{}),n=oe(()=>s.value.leaderboard?.slice(0,3)||[]),r=oe(()=>s.value.repositories||[]),o=oe(()=>s.value.teams||[]),i=oe(()=>s.value.velocity_timeline),l=ke(!1);return(a,c)=>(y(),C("div",null,[u("header",_d,[u("div",wd,[c[4]||(c[4]=u("h1",{class:"text-4xl md:text-6xl font-bold mb-4"},[u("span",{class:"gradient-text"},"Git Velocity")],-1)),c[5]||(c[5]=u("p",{class:"text-xl text-gray-600 dark:text-gray-300 max-w-2xl mx-auto"}," Celebrate your team's achievements and contributions with beautiful insights. ",-1)),u("div",kd,[s.value.period?.start||s.value.period?.end?(y(),C("p",Cd,[c[1]||(c[1]=u("i",{class:"fas fa-calendar-alt mr-1 text-primary-500"},null,-1)),c[2]||(c[2]=u("span",{class:"font-medium"},"Period:",-1)),s.value.period.start?(y(),C("span",Rd,w(A(vn)(s.value.period.start)),1)):q("",!0),s.value.period.start&&s.value.period.end?(y(),C("span",Sd," — ")):q("",!0),s.value.period.end?(y(),C("span",Ad,w(A(vn)(s.value.period.end)),1)):q("",!0)])):q("",!0),s.value.generated_at?(y(),C("p",Ed,[c[3]||(c[3]=u("i",{class:"fas fa-clock mr-1"},null,-1)),ae(" Generated on "+w(A(vn)(s.value.generated_at)),1)])):q("",!0)])])]),i.value?(y(),C("section",Pd,[u("div",$d,[u("div",Td,[u("div",Od,[N(It,{title:"Velocity Timeline",icon:"fas fa-chart-line","icon-color":"text-primary-500"}),u("label",Id,[wl(u("input",{type:"checkbox","onUpdate:modelValue":c[0]||(c[0]=d=>l.value=d),class:"rounded border-gray-300 text-primary-500 focus:ring-primary-500"},null,512),[[za,l.value]]),c[6]||(c[6]=u("span",null,"Show Score",-1))])]),N(bd,{timeline:i.value,"show-score":l.value,height:"320px"},null,8,["timeline","show-score"])])])])):q("",!0),u("section",Nd,[u("div",Md,[u("div",Dd,[N(_e,{value:s.value.total_contributors||0,label:"Contributors",delay:"0s"},null,8,["value"]),N(_e,{value:s.value.total_commits||0,label:"Commits",delay:"0.1s"},null,8,["value"]),N(_e,{value:s.value.total_prs||0,label:"Pull Requests",delay:"0.2s"},null,8,["value"]),N(_e,{value:s.value.total_reviews||0,label:"Reviews",delay:"0.3s"},null,8,["value"]),N(_e,{value:"+"+A(U)(s.value.total_lines_added||0),label:"Lines Added","value-class":"text-green-500",delay:"0.4s"},null,8,["value"]),N(_e,{value:"-"+A(U)(s.value.total_lines_deleted||0),label:"Lines Deleted","value-class":"text-red-500",delay:"0.5s"},null,8,["value"])])])]),u("section",Ld,[u("div",jd,[N(It,{title:"Top Contributors",icon:"fas fa-trophy","icon-color":"text-yellow-500"}),u("div",Fd,[(y(!0),C(J,null,xe(n.value,(d,m)=>(y(),ie(Zu,{key:d.login,contributor:d,rank:m+1,featured:""},null,8,["contributor","rank"]))),128))]),u("div",Vd,[N(A(Re),{to:"/leaderboard",class:"btn-primary"},{default:Z(()=>[...c[7]||(c[7]=[ae(" View Full Leaderboard ",-1),u("i",{class:"fas fa-arrow-right ml-2"},null,-1)])]),_:1})])])]),u("section",Hd,[u("div",Bd,[N(It,{title:"Repositories",icon:"fas fa-code-branch","icon-color":"text-accent-500"}),u("div",Gd,[(y(!0),C(J,null,xe(r.value,d=>(y(),ie(ld,{key:`${d.owner}/${d.name}`,repo:d},null,8,["repo"]))),128))])])]),o.value.length?(y(),C("section",Ud,[u("div",qd,[N(It,{title:"Teams",icon:"fas fa-users","icon-color":"text-blue-500"}),u("div",Wd,[(y(!0),C(J,null,xe(o.value,d=>(y(),ie(pd,{key:d.name,team:d},null,8,["team"]))),128))])])])):q("",!0)]))}},zd={class:"flex items-center space-x-2 text-sm text-gray-500 dark:text-gray-400 mb-6"},Qd={key:2,class:"fas fa-chevron-right text-xs"},Jd={__name:"Breadcrumb",props:{items:{type:Array,required:!0}},setup(e){return(t,s)=>(y(),C("div",zd,[(y(!0),C(J,null,xe(e.items,(n,r)=>(y(),C(J,{key:r},[n.to?(y(),ie(A(Re),{key:0,to:n.to,class:"hover:text-primary-500"},{default:Z(()=>[ae(w(n.label),1)]),_:2},1032,["to"])):(y(),C("span",{key:1,class:Q(r===e.items.length-1?"text-gray-800 dark:text-white":"")},w(n.label),3)),r[]},centered:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),C("header",Yd,[u("div",{class:Q(["container mx-auto",{"text-center":e.centered}])},[e.breadcrumbs.length?(y(),ie(Jd,{key:0,items:e.breadcrumbs},null,8,["items"])):q("",!0),u("div",{class:Q(["flex items-center",e.centered?"justify-center":""])},[Dt(t.$slots,"prefix"),u("h1",Xd,[e.icon?(y(),C("i",{key:0,class:Q([[e.icon,e.iconColor],"mr-3"])},null,2)):q("",!0),u("span",Zd,w(e.title),1)])],2),e.subtitle||t.$slots.subtitle?(y(),C("p",ef,[Dt(t.$slots,"subtitle",{},()=>[ae(w(e.subtitle),1)])])):q("",!0),Dt(t.$slots,"extra")],2)]))}},tf={class:"card overflow-hidden p-0"},sf={class:"w-full"},nf={class:"bg-gray-50 dark:bg-gray-800/50"},rf={class:"divide-y divide-gray-200 dark:divide-gray-700"},of=["onClick"],lf={key:0,class:"text-center py-12"},af={class:"text-gray-500 dark:text-gray-400"},Ri={__name:"DataTable",props:{columns:{type:Array,required:!0},items:{type:Array,default:()=>[]},emptyIcon:{type:String,default:"fas fa-inbox"},emptyMessage:{type:String,default:"No data found"},rowClass:{type:String,default:"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition"},clickableRows:{type:Boolean,default:!1}},emits:["row-click"],setup(e){const t=s=>{switch(s){case"center":return"text-center";case"right":return"text-right";default:return"text-left"}};return(s,n)=>(y(),C("div",tf,[u("table",sf,[u("thead",nf,[u("tr",null,[(y(!0),C(J,null,xe(e.columns,r=>(y(),C("th",{key:r.key,class:Q(["px-6 py-4 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider",t(r.align),r.headerClass])},w(r.label),3))),128))])]),u("tbody",rf,[(y(!0),C(J,null,xe(e.items,(r,o)=>(y(),C("tr",{key:r.id||r.login||o,class:Q([e.rowClass,{"cursor-pointer":e.clickableRows}]),onClick:i=>e.clickableRows&&s.$emit("row-click",r)},[(y(!0),C(J,null,xe(e.columns,i=>(y(),C("td",{key:i.key,class:Q(["px-6 py-4",t(i.align),i.class])},[Dt(s.$slots,i.key,{item:r,index:o},()=>[ae(w(r[i.key]),1)])],2))),128))],10,of))),128))])]),e.items.length?q("",!0):(y(),C("div",lf,[u("i",{class:Q([e.emptyIcon,"text-4xl text-gray-300 dark:text-gray-600 mb-4"])},null,2),u("p",af,w(e.emptyMessage),1)]))]))}},cf={class:"font-medium text-gray-800 dark:text-white group-hover:text-primary-500 transition-colors"},uf={class:"text-sm"},df=["href"],ff={key:1,class:"text-gray-500 dark:text-gray-400"},Si={__name:"ContributorRow",props:{contributor:{type:Object,required:!0},showGithubLink:{type:Boolean,default:!1},columns:{type:Array,default:()=>["commits","prs","reviews","lines","score"]}},setup(e){return(t,s)=>(y(),ie(A(Re),{to:{name:"contributor",params:{login:e.contributor.login}},class:"flex items-center space-x-3"},{default:Z(()=>[N(Rs,{src:e.contributor.avatar_url,name:e.contributor.login,class:"ring-2 ring-transparent group-hover:ring-primary-500 transition-all"},null,8,["src","name"]),u("div",null,[u("div",cf,w(e.contributor.name||e.contributor.login),1),u("div",uf,[e.showGithubLink?(y(),C("a",{key:0,href:`https://github.com/${e.contributor.login}`,target:"_blank",rel:"noopener noreferrer",class:"text-gray-500 dark:text-gray-400 hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=Qn(()=>{},["stop"]))},[ae(" @"+w(e.contributor.login)+" ",1),s[1]||(s[1]=u("i",{class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},null,-1))],8,df)):(y(),C("span",ff," @"+w(e.contributor.login),1))])])]),_:1},8,["to"]))}},Ai={commit:["commit-1","commit-10","commit-50","commit-100","commit-500","commit-1000"],pr:["pr-1","pr-10","pr-25","pr-50","pr-100","pr-250"],review:["review-1","review-10","review-25","review-50","review-100","review-250"],comment:["comment-10","comment-50","comment-100","comment-250","comment-500"],"lines-added":["lines-added-100","lines-added-1000","lines-added-5000","lines-added-10000","lines-added-50000"],"lines-deleted":["lines-deleted-100","lines-deleted-500","lines-deleted-1000","lines-deleted-5000","lines-deleted-10000"],"review-time":["review-time-24h","review-time-4h","review-time-1h"],repo:["repo-2","repo-5","repo-10"],reviewees:["reviewees-3","reviewees-10","reviewees-25"],"large-pr":["large-pr-500","large-pr-1000","large-pr-5000"],"small-pr":["small-pr-5","small-pr-10","small-pr-25","small-pr-50"],"perfect-pr":["perfect-pr-1","perfect-pr-5","perfect-pr-10","perfect-pr-25"],active:["active-7","active-30","active-60","active-100"],streak:["streak-3","streak-7","streak-14","streak-30"],workweek:["workweek-3","workweek-5","workweek-10","workweek-20"],earlybird:["earlybird-10","earlybird-25","earlybird-50","earlybird-100"],nightowl:["nightowl-10","nightowl-25","nightowl-50","nightowl-100"],midnight:["midnight-5","midnight-10","midnight-25","midnight-50"],weekend:["weekend-5","weekend-10","weekend-25","weekend-50"],ooh:["ooh-10","ooh-25","ooh-50","ooh-100"],docs:["docs-100","docs-500","docs-1000","docs-2500","docs-5000"],"docs-del":["docs-del-50","docs-del-200","docs-del-500","docs-del-1000","docs-del-2500"],issue:["issue-1","issue-5","issue-10","issue-25","issue-50"],"issue-close":["issue-close-1","issue-close-5","issue-close-10","issue-close-25","issue-close-50"],"issue-comment":["issue-comment-5","issue-comment-10","issue-comment-25","issue-comment-50","issue-comment-100"],"issue-ref":["issue-ref-5","issue-ref-10","issue-ref-25","issue-ref-50","issue-ref-100"]};function Ei(e){for(const[t,s]of Object.entries(Ai))if(s.includes(e))return t;return null}function mf(e){const t=Ei(e);return t?Ai[t].indexOf(e):-1}function Pi(e){if(!e||!e.length)return[];const t={};for(const s of e){const n=Ei(s);if(!n){t[s]={id:s,tier:-1};continue}const r=mf(s);(!t[n]||r>t[n].tier)&&(t[n]={id:s,tier:r})}return Object.values(t).sort((s,n)=>n.tier-s.tier).map(s=>s.id)}const hf={class:"py-8 px-4"},pf={class:"container mx-auto max-w-5xl"},gf={class:"flex flex-wrap gap-1.5 max-w-[280px]"},vf={key:0,class:"text-gray-400 text-sm"},yf={class:"hidden md:table-cell"},xf={key:0,class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300"},bf={key:1,class:"text-gray-400"},_f={class:"hidden sm:table-cell"},wf={key:0,class:"text-sm text-gray-600 dark:text-gray-300"},kf={key:1,class:"text-gray-400"},Cf={class:"text-lg font-bold gradient-text"},Rf={__name:"Leaderboard",setup(e){const t=Pe("globalData"),s=oe(()=>t.value?.leaderboard||[]),n=[{key:"rank",label:"Rank",align:"left"},{key:"contributor",label:"Contributor",align:"left"},{key:"achievements",label:"Achievements",align:"left"},{key:"team",label:"Team",align:"left",headerClass:"hidden md:table-cell"},{key:"category",label:"Best At",align:"left",headerClass:"hidden sm:table-cell"},{key:"score",label:"Score",align:"right"}],r=o=>({Commits:"fas fa-code-commit text-green-500",PRs:"fas fa-code-pull-request text-blue-500",Reviews:"fas fa-eye text-purple-500",Comments:"fas fa-comment text-orange-500"})[o]||"";return(o,i)=>(y(),C("div",null,[N(en,{title:"Leaderboard",subtitle:"Top contributors ranked by their velocity score",icon:"fas fa-trophy","icon-color":"text-yellow-500",centered:""}),u("section",hf,[u("div",pf,[N(Ri,{columns:n,items:s.value,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{rank:Z(({item:l})=>[N(Ci,{rank:l.rank},null,8,["rank"])]),contributor:Z(({item:l})=>[N(Si,{contributor:l,"show-github-link":""},null,8,["contributor"])]),achievements:Z(({item:l})=>[u("div",gf,[(y(!0),C(J,null,xe(A(Pi)(l.achievements),a=>(y(),ie(_s,{key:a,"achievement-id":a,size:"sm"},null,8,["achievement-id"]))),128)),(l.achievements||[]).length?q("",!0):(y(),C("span",vf,"-"))])]),team:Z(({item:l})=>[u("td",yf,[l.team?(y(),C("span",xf,w(l.team),1)):(y(),C("span",bf,"-"))])]),category:Z(({item:l})=>[u("td",_f,[l.top_category?(y(),C("span",wf,[u("i",{class:Q([r(l.top_category),"mr-1"])},null,2),ae(" "+w(l.top_category),1)])):(y(),C("span",kf,"-"))])]),score:Z(({item:l})=>[u("span",Cf,w(A(U)(l.score)),1)]),_:1},8,["items"])])])]))}},Sf={class:"flex items-center justify-center min-h-[60vh]"},Af={class:"text-center"},Ef={class:"text-gray-600 dark:text-gray-400"},Zn={__name:"LoadingState",props:{message:{type:String,default:"Loading..."}},setup(e){return(t,s)=>(y(),C("div",Sf,[u("div",Af,[s[0]||(s[0]=u("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"},null,-1)),u("p",Ef,w(e.message),1)])]))}},Pf={class:"flex items-center justify-center min-h-[60vh]"},$f={class:"text-center"},Tf={class:"text-gray-600 dark:text-gray-400"},er={__name:"ErrorState",props:{message:{type:String,default:"An error occurred"},icon:{type:String,default:"fas fa-exclamation-triangle"}},setup(e){return(t,s)=>(y(),C("div",Pf,[u("div",$f,[u("i",{class:Q([e.icon,"text-4xl text-red-500 mb-4"])},null,2),u("p",Tf,w(e.message),1),Dt(t.$slots,"actions")])]))}},Of=["href"],If={key:0,class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},$i={__name:"GithubLink",props:{url:{type:String,required:!0},label:{type:String,default:""},showIcon:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),C("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",class:"hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=Qn(()=>{},["stop"]))},[Dt(t.$slots,"default",{},()=>[ae(w(e.label),1)]),e.showIcon?(y(),C("i",If)):q("",!0)],8,Of))}},Nf={class:"py-8 px-4"},Mf={class:"container mx-auto"},Df={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Lf={class:"py-8 px-4"},jf={class:"container mx-auto"},Ff={class:"text-gray-800 dark:text-white"},Vf={class:"text-gray-800 dark:text-white"},Hf={class:"text-gray-800 dark:text-white"},Bf={class:"text-green-500"},Gf={class:"text-red-500"},Uf={class:"text-lg font-bold gradient-text"},qf={__name:"Repository",setup(e){const t=Zs(),s=ke(null),n=ke(!0),r=ke(null),o=oe(()=>[{label:"Dashboard",to:"/"},{label:"Repositories"},{label:s.value?.name||t.params.name}]),i=[{key:"contributor",label:"Contributor",align:"left"},{key:"commits",label:"Commits",align:"center"},{key:"prs",label:"PRs",align:"center"},{key:"reviews",label:"Reviews",align:"center"},{key:"lines",label:"Lines +/-",align:"center"},{key:"score",label:"Score",align:"right"}];async function l(){n.value=!0,r.value=null;try{const a=await fetch(`./data/repos/${t.params.owner}/${t.params.name}/metrics.json`);if(!a.ok)throw new Error("Repository not found");s.value=await a.json()}catch(a){r.value=a.message}finally{n.value=!1}}return jt(l),Ge(()=>t.params,l),(a,c)=>(y(),C("div",null,[n.value?(y(),ie(Zn,{key:0,message:"Loading repository..."})):r.value?(y(),ie(er,{key:1,message:r.value},null,8,["message"])):s.value?(y(),C(J,{key:2},[N(en,{title:s.value.name,icon:"fas fa-code-branch","icon-color":"text-accent-500",breadcrumbs:o.value},{subtitle:Z(()=>[N($i,{url:`https://github.com/${s.value.owner}/${s.value.name}`},{default:Z(()=>[ae(w(s.value.owner)+"/"+w(s.value.name),1)]),_:1},8,["url"])]),_:1},8,["title","breadcrumbs"]),u("section",Nf,[u("div",Mf,[u("div",Df,[N(_e,{value:s.value.total_commits,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),N(_e,{value:s.value.total_prs,label:"Pull Requests",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),N(_e,{value:s.value.total_reviews,label:"Reviews",icon:"fas fa-eye","icon-color":"text-purple-500"},null,8,["value"]),N(_e,{value:s.value.active_contributors,label:"Contributors",icon:"fas fa-users","icon-color":"text-orange-500"},null,8,["value"])])])]),u("section",Lf,[u("div",jf,[N(It,{title:"Contributors",icon:"fas fa-users","icon-color":"text-blue-500"}),N(Ri,{columns:i,items:s.value.contributors,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{contributor:Z(({item:d})=>[N(Si,{contributor:d},null,8,["contributor"])]),commits:Z(({item:d})=>[u("span",Ff,w(A(U)(d.commit_count)),1)]),prs:Z(({item:d})=>[u("span",Vf,w(A(U)(d.prs_opened)),1)]),reviews:Z(({item:d})=>[u("span",Hf,w(A(U)(d.reviews_given)),1)]),lines:Z(({item:d})=>[u("span",Bf,"+"+w(A(U)(d.lines_added)),1),c[0]||(c[0]=u("span",{class:"text-gray-400 mx-1"},"/",-1)),u("span",Gf,"-"+w(A(U)(d.lines_deleted)),1)]),score:Z(({item:d})=>[u("span",Uf,w(A(U)(d.score?.total||0)),1)]),_:1},8,["items"])])])],64)):q("",!0)]))}},Wf={class:"flex items-center space-x-4 mb-4"},Kf={class:"font-semibold text-gray-800 dark:text-white"},zf={class:"text-sm text-gray-500 dark:text-gray-400"},Qf={class:"grid grid-cols-3 gap-4 text-center mb-4"},Jf={class:"text-lg font-semibold text-gray-800 dark:text-white"},Yf={class:"text-lg font-semibold text-gray-800 dark:text-white"},Xf={class:"text-lg font-semibold text-gray-800 dark:text-white"},Zf={class:"flex items-center justify-between pt-4 border-t border-gray-200 dark:border-gray-700"},em={class:"text-xl font-bold gradient-text"},tm={key:0,class:"mt-4 flex flex-wrap gap-2"},sm={key:0,class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},nm={__name:"MemberCard",props:{member:{type:Object,required:!0},linkToProfile:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),ie(jl(e.linkToProfile?A(Re):"div"),{to:e.linkToProfile?{name:"contributor",params:{login:e.member.login}}:void 0,class:Q(["card block",{"hover:shadow-lg transition cursor-pointer":e.linkToProfile}])},{default:Z(()=>[u("div",Wf,[N(Rs,{src:e.member.avatar_url,name:e.member.login,size:"lg"},null,8,["src","name"]),u("div",null,[u("h3",Kf,w(e.member.name||e.member.login),1),u("p",zf,"@"+w(e.member.login),1)])]),u("div",Qf,[u("div",null,[u("div",Jf,w(A(U)(e.member.commit_count)),1),s[0]||(s[0]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Commits",-1))]),u("div",null,[u("div",Yf,w(A(U)(e.member.prs_opened)),1),s[1]||(s[1]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"PRs",-1))]),u("div",null,[u("div",Xf,w(A(U)(e.member.reviews_given)),1),s[2]||(s[2]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Reviews",-1))])]),u("div",Zf,[s[3]||(s[3]=u("span",{class:"text-sm text-gray-500 dark:text-gray-400"},"Score",-1)),u("span",em,w(A(U)(e.member.score?.total||0)),1)]),e.member.achievements?.length?(y(),C("div",tm,[(y(!0),C(J,null,xe(e.member.achievements.slice(0,4),n=>(y(),ie(_s,{key:n,"achievement-id":n,size:"sm"},null,8,["achievement-id"]))),128)),e.member.achievements.length>4?(y(),C("span",sm," +"+w(e.member.achievements.length-4),1)):q("",!0)])):q("",!0)]),_:1},8,["to","class"]))}},rm={class:"py-8 px-4"},om={class:"container mx-auto"},im={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},lm={class:"py-8 px-4"},am={class:"container mx-auto"},cm={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},um={__name:"Team",setup(e){const t=Zs(),s=Pe("globalData"),n=ke(null),r=ke(!0),o=ke(null),i=oe(()=>[{label:"Dashboard",to:"/"},{label:"Teams"},{label:n.value?.name||t.params.slug}]);function l(){r.value=!0,o.value=null;const c=(s.value?.teams||[]).find(d=>ki(d.name)===t.params.slug);c?n.value=c:o.value="Team not found",r.value=!1}return jt(l),Ge(()=>t.params,l),Ge(s,l),(a,c)=>(y(),C("div",null,[r.value?(y(),ie(Zn,{key:0,message:"Loading team..."})):o.value?(y(),ie(er,{key:1,message:o.value},null,8,["message"])):n.value?(y(),C(J,{key:2},[N(en,{title:n.value.name,breadcrumbs:i.value,subtitle:`${n.value.members?.length||0} team members`},{prefix:Z(()=>[u("div",{class:"w-4 h-4 rounded-full mr-4",style:St({backgroundColor:n.value.color||"#8b5cf6"})},null,4)]),_:1},8,["title","breadcrumbs","subtitle"]),u("section",rm,[u("div",om,[u("div",im,[N(_e,{value:n.value.total_score,label:"Total Score",icon:"fas fa-star","icon-color":"text-yellow-500"},null,8,["value"]),N(_e,{value:n.value.aggregated_metrics?.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),N(_e,{value:n.value.aggregated_metrics?.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),N(_e,{value:n.value.aggregated_metrics?.reviews_given||0,label:"Reviews",icon:"fas fa-eye","icon-color":"text-blue-500"},null,8,["value"])])])]),u("section",lm,[u("div",am,[N(It,{title:"Team Members",icon:"fas fa-users","icon-color":"text-blue-500"}),u("div",cm,[(y(!0),C(J,null,xe(n.value.member_metrics,d=>(y(),ie(nm,{key:d.login,member:d},null,8,["member"]))),128))])])])],64)):q("",!0)]))}},dm={class:"space-y-3"},fm={class:"flex items-start justify-between mb-3"},mm={class:"flex items-center space-x-3"},hm={class:"text-sm font-semibold text-gray-800 dark:text-white"},pm={class:"flex items-center space-x-2 text-xs text-gray-500 dark:text-gray-400"},gm={class:"font-medium"},vm={class:"text-right"},ym={class:"text-gray-500 dark:text-gray-400 font-medium"},xm={class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5"},bm={class:"h-2.5 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden"},_m={class:"flex items-center justify-between mt-1.5"},wm={class:"flex items-center space-x-1"},km=["title"],Cm={key:0,class:"text-[10px] text-gray-400"},Rm={key:0,class:"text-center text-xs text-gray-500 dark:text-gray-400 pt-2"},Sm={key:1,class:"text-center py-8 text-gray-500 dark:text-gray-400"},Am={__name:"AchievementProgress",props:{contributor:{type:Object,required:!0},showEarned:{type:Boolean,default:!1},maxDisplay:{type:Number,default:6}},setup(e){const t=e,s=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3],n={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},r={1:"bg-stone-500",2:"bg-green-500",3:"bg-blue-500",4:"bg-purple-500",5:"bg-yellow-500",6:"bg-orange-500",7:"bg-red-500",8:"bg-pink-500",9:"bg-cyan-500",10:"bg-emerald-500",11:"bg-violet-500"},o=[{category:"Commits",icon:"fa-code-commit",iconColor:"text-green-500",getValue:d=>d.commit_count||0,achievements:[{id:"first-commit",threshold:1,name:"First Steps"},{id:"commit-10",threshold:10,name:"Getting Started"},{id:"commit-25",threshold:25,name:"Warming Up"},{id:"commit-50",threshold:50,name:"On A Roll"},{id:"commit-100",threshold:100,name:"Committed"},{id:"commit-250",threshold:250,name:"Dedicated"},{id:"commit-500",threshold:500,name:"Code Machine"},{id:"commit-1000",threshold:1e3,name:"Code Warrior"},{id:"commit-5000",threshold:5e3,name:"Legendary"},{id:"commit-10000",threshold:1e4,name:"Mythical"},{id:"commit-25000",threshold:25e3,name:"Transcendent"}]},{category:"Pull Requests",icon:"fa-code-pull-request",iconColor:"text-blue-500",getValue:d=>d.prs_opened||0,achievements:[{id:"pr-opener",threshold:1,name:"PR Pioneer"},{id:"pr-10",threshold:10,name:"Pull Request Pro"},{id:"pr-25",threshold:25,name:"PR Regular"},{id:"pr-50",threshold:50,name:"Merge Master"},{id:"pr-100",threshold:100,name:"PR Champion"}]},{category:"Reviews",icon:"fa-eye",iconColor:"text-purple-500",getValue:d=>d.reviews_given||0,achievements:[{id:"reviewer",threshold:1,name:"Code Reviewer"},{id:"reviewer-10",threshold:10,name:"Review Starter"},{id:"reviewer-25",threshold:25,name:"Review Regular"},{id:"reviewer-50",threshold:50,name:"Review Expert"},{id:"reviewer-100",threshold:100,name:"Review Guru"}]},{category:"Lines Added",icon:"fa-plus",iconColor:"text-emerald-500",getValue:d=>d.lines_added||0,achievements:[{id:"lines-1000",threshold:1e3,name:"Thousand Lines"},{id:"lines-10000",threshold:1e4,name:"Ten Thousand"}]},{category:"Lines Deleted",icon:"fa-minus",iconColor:"text-red-500",getValue:d=>d.lines_deleted||0,achievements:[{id:"cleaner",threshold:1e3,name:"Code Cleaner"},{id:"refactorer",threshold:1e4,name:"Refactoring Champion"}]},{category:"Small PRs",icon:"fa-compress",iconColor:"text-cyan-500",getValue:d=>d.small_pr_count||0,achievements:[{id:"small-pr-10",threshold:10,name:"Small PR Advocate"},{id:"small-pr-50",threshold:50,name:"Atomic Commits Hero"}]},{category:"Perfect PRs",icon:"fa-gem",iconColor:"text-pink-500",getValue:d=>d.perfect_prs||0,achievements:[{id:"perfect-pr-5",threshold:5,name:"Clean Code"},{id:"perfect-pr-25",threshold:25,name:"Flawless"}]},{category:"Active Days",icon:"fa-calendar-check",iconColor:"text-orange-500",getValue:d=>d.active_days||0,achievements:[{id:"active-30",threshold:30,name:"Consistent Contributor"},{id:"active-100",threshold:100,name:"Dedicated Developer"}]},{category:"Streak",icon:"fa-fire",iconColor:"text-amber-500",getValue:d=>d.longest_streak||0,achievements:[{id:"streak-7",threshold:7,name:"Week Warrior"},{id:"streak-30",threshold:30,name:"Month Master"}]}],i=d=>{for(let m=s.length-1;m>=0;m--)if(d>=s[m])return m+1;return 1},l=d=>d.map(m=>({threshold:m.threshold,name:m.name,tier:i(m.threshold)})),a=oe(()=>{const d=new Set(t.contributor.achievements||[]),m=[];for(const p of o){const v=p.getValue(t.contributor);let S=null,I=null;const K=l(p.achievements);for(const Ce of p.achievements)v>=Ce.threshold?I=Ce:S||(S=Ce);if(!S)continue;const j=I?I.threshold:0,D=S.threshold-j,V=v-j,L=Math.min(100,Math.max(0,Math.round(V/D*100))),ee=i(S.threshold),ve=K.findIndex(Ce=>Ce.threshold===S.threshold),he=K.length;m.push({category:p.category,icon:p.icon,iconColor:p.iconColor,currentValue:v,target:S.threshold,name:S.name,id:S.id,progress:L,tier:ee,tierIndex:ve+1,totalTiers:he,allTiers:K,gradient:n[ee],progressColor:r[ee],isClose:L>=75,remaining:S.threshold-v,isEarned:d.has(S.id)})}return m.sort((p,v)=>v.progress-p.progress),m}),c=oe(()=>{new Set(t.contributor.achievements||[]);let d=0;for(const m of o){const p=m.getValue(t.contributor);for(const v of m.achievements)p(y(),C("div",dm,[(y(!0),C(J,null,xe(a.value,p=>(y(),C("div",{key:p.id,class:"bg-gray-50 dark:bg-gray-800/50 rounded-xl p-4 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[u("div",fm,[u("div",mm,[u("div",{class:Q(["w-10 h-10 rounded-lg bg-gradient-to-br flex items-center justify-center shadow-md",p.gradient])},[u("i",{class:Q(["fas text-white text-sm",p.icon])},null,2)],2),u("div",null,[u("div",hm,w(p.name),1),u("div",pm,[u("span",null,w(p.category),1),m[0]||(m[0]=u("span",{class:"text-gray-300 dark:text-gray-600"},"•",-1)),u("span",gm,"Tier "+w(p.tierIndex)+"/"+w(p.totalTiers),1)])])]),u("div",vm,[u("div",{class:Q(["text-sm font-bold",p.isClose?"text-green-500":"text-gray-700 dark:text-gray-200"])},[ae(w(A(U)(p.currentValue))+" ",1),m[1]||(m[1]=u("span",{class:"text-gray-400 dark:text-gray-500 font-normal"},"/",-1)),u("span",ym,w(A(U)(p.target)),1)],2),u("div",xm,w(p.remaining>0?`${A(U)(p.remaining)} to go`:"Ready to claim!"),1)])]),u("div",bm,[u("div",{class:Q(["h-full rounded-full transition-all duration-500 ease-out",p.progressColor]),style:St({width:`${p.progress}%`})},null,6)]),u("div",_m,[u("div",wm,[(y(!0),C(J,null,xe(p.allTiers.slice(0,5),(v,S)=>(y(),C("span",{key:v.threshold,class:Q(["w-1.5 h-1.5 rounded-full",S5?(y(),C("span",Cm,"+"+w(p.totalTiers-5),1)):q("",!0)]),u("span",{class:Q(["text-xs font-semibold",p.isClose?"text-green-500":"text-gray-400 dark:text-gray-500"])},w(p.progress)+"% ",3)])]))),128)),c.value>0?(y(),C("div",Rm," +"+w(c.value)+" more achievements to unlock ",1)):q("",!0),a.value.length?q("",!0):(y(),C("div",Sm,[...m[2]||(m[2]=[u("div",{class:"w-16 h-16 mx-auto mb-3 rounded-2xl bg-gradient-to-br from-yellow-400 to-amber-500 flex items-center justify-center shadow-lg"},[u("i",{class:"fas fa-trophy text-2xl text-white"})],-1),u("p",{class:"font-medium text-gray-700 dark:text-gray-300"},"All achievements unlocked!",-1),u("p",{class:"text-sm mt-1"},"You're a legend!",-1)])]))]))}},Em={class:"py-12 px-4"},Pm={class:"container mx-auto"},$m={class:"flex flex-col md:flex-row items-center md:items-start space-y-4 md:space-y-0 md:space-x-8"},Tm={class:"text-center md:text-left"},Om={class:"text-4xl font-bold gradient-text"},Im={class:"text-xl text-gray-500 dark:text-gray-400 mt-1"},Nm={class:"flex items-center justify-center md:justify-start space-x-4 mt-4"},Mm={class:"score-card rounded-lg px-4 py-2"},Dm={class:"text-2xl font-bold gradient-text ml-2"},Lm={key:0,class:"text-sm text-gray-500 dark:text-gray-400"},jm={key:0},Fm={key:0,class:"mt-6 flex flex-wrap justify-center md:justify-start gap-3"},Vm={class:"py-8 px-4"},Hm={class:"container mx-auto"},Bm={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Gm={class:"py-8 px-4"},Um={class:"container mx-auto"},qm={class:"grid md:grid-cols-2 gap-6"},Wm={class:"card"},Km={class:"space-y-4"},zm={class:"flex items-center justify-between"},Qm={class:"text-green-500 font-semibold"},Jm={class:"flex items-center justify-between"},Ym={class:"text-red-500 font-semibold"},Xm={key:0,class:"flex items-center justify-between"},Zm={class:"text-emerald-500 font-semibold"},e0={key:1,class:"flex items-center justify-between"},t0={class:"text-rose-500 font-semibold"},s0={key:2,class:"flex items-center justify-between"},n0={class:"text-cyan-500 font-semibold"},r0={key:3,class:"flex items-center justify-between"},o0={class:"text-amber-500 font-semibold"},i0={class:"flex items-center justify-between"},l0={class:"text-gray-800 dark:text-white font-semibold"},a0={key:4,class:"flex items-center justify-between"},c0={class:"text-gray-800 dark:text-white font-semibold"},u0={class:"card"},d0={class:"space-y-4"},f0={class:"flex items-center justify-between"},m0={class:"text-gray-800 dark:text-white font-semibold"},h0={class:"flex items-center justify-between"},p0={class:"text-green-500 font-semibold"},g0={class:"flex items-center justify-between"},v0={class:"text-orange-500 font-semibold"},y0={class:"flex items-center justify-between"},x0={class:"text-gray-800 dark:text-white font-semibold"},b0={key:0,class:"flex items-center justify-between"},_0={class:"text-gray-800 dark:text-white font-semibold"},w0={key:0,class:"card"},k0={class:"space-y-4"},C0={class:"flex items-center justify-between"},R0={class:"text-red-500 font-semibold"},S0={class:"flex items-center justify-between"},A0={class:"text-green-500 font-semibold"},E0={class:"flex items-center justify-between"},P0={class:"text-blue-500 font-semibold"},$0={class:"flex items-center justify-between"},T0={class:"text-purple-500 font-semibold"},O0={key:0,class:"py-8 px-4"},I0={class:"container mx-auto"},N0={class:"card"},M0={class:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-8 gap-4"},D0={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},L0={class:"text-2xl font-bold text-green-500"},j0={class:"text-xs text-gray-400 dark:text-gray-500"},F0={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},V0={class:"text-2xl font-bold text-blue-500"},H0={class:"text-xs text-gray-400 dark:text-gray-500"},B0={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},G0={class:"text-2xl font-bold text-purple-500"},U0={class:"text-xs text-gray-400 dark:text-gray-500"},q0={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},W0={class:"text-2xl font-bold text-pink-500"},K0={class:"text-xs text-gray-400 dark:text-gray-500"},z0={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},Q0={class:"text-2xl font-bold text-red-500"},J0={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},Y0={class:"text-2xl font-bold text-orange-500"},X0={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},Z0={class:"text-2xl font-bold text-yellow-500"},eh={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},th={class:"text-2xl font-bold text-indigo-500"},sh={class:"text-xs text-gray-400 dark:text-gray-500"},nh={class:"py-8 px-4"},rh={class:"container mx-auto"},oh={class:"grid md:grid-cols-2 gap-6"},ih={key:0,class:"card"},lh={class:"flex items-center justify-between mb-6"},ah={class:"px-2.5 py-1 rounded-full bg-gradient-to-r from-yellow-400 to-amber-500 text-white text-sm font-bold shadow-md"},ch={class:"grid grid-cols-4 sm:grid-cols-5 gap-3"},uh={class:"card"},dh={key:1,class:"py-8 px-4"},fh={class:"container mx-auto"},mh={class:"flex flex-wrap gap-2"},hh={__name:"Contributor",setup(e){const t=Zs(),s=Pe("globalData"),n=ke(null),r=ke(!0),o=ke(null),i=oe(()=>[{label:"Dashboard",to:"/"},{label:"Contributors"},{label:n.value?.login||t.params.login}]);async function l(){r.value=!0,o.value=null;const a=t.params.login;try{const c=await fetch(`./data/contributors/${a}.json`);if(c.ok){const d=await c.json(),p=(s.value?.leaderboard||[]).find(v=>v.login===a);p&&(d.score={total:p.score,rank:p.rank,breakdown:d.score?.breakdown},d.achievements=p.achievements),n.value=d}else{let m=(s.value?.leaderboard||[]).find(p=>p.login===a);if(!m){const p=s.value?.repositories||[];for(const v of p){const S=v.contributors?.find(I=>I.login===a);if(S){m=S;break}}}m?n.value=m:o.value="Contributor not found"}}catch(c){o.value=`Failed to load contributor: ${c.message}`}r.value=!1}return jt(l),Ge(()=>t.params,l),Ge(s,l),(a,c)=>(y(),C("div",null,[r.value?(y(),ie(Zn,{key:0,message:"Loading contributor..."})):o.value?(y(),ie(er,{key:1,message:o.value},null,8,["message"])):n.value?(y(),C(J,{key:2},[u("header",Em,[u("div",Pm,[N(en,{breadcrumbs:i.value,title:""},null,8,["breadcrumbs"]),u("div",$m,[N(Rs,{src:n.value.avatar_url,name:n.value.login,size:"2xl",class:"shadow-modern"},null,8,["src","name"]),u("div",Tm,[u("h1",Om,w(n.value.name||n.value.login),1),u("p",Im,[N($i,{url:`https://github.com/${n.value.login}`},{default:Z(()=>[ae(" @"+w(n.value.login),1)]),_:1},8,["url"])]),u("div",Nm,[u("div",Mm,[c[0]||(c[0]=u("span",{class:"text-sm text-gray-500 dark:text-gray-400"},"Score:",-1)),u("span",Dm,w(A(U)(n.value.score?.total||n.value.score||0)),1)]),n.value.score?.rank?(y(),C("div",Lm,[ae(" Rank #"+w(n.value.score.rank)+" ",1),n.value.score?.percentile_rank?(y(),C("span",jm," (Top "+w(A(Iu)(n.value.score.percentile_rank))+") ",1)):q("",!0)])):q("",!0)]),n.value.achievements?.length?(y(),C("div",Fm,[(y(!0),C(J,null,xe(A(Pi)(n.value.achievements),d=>(y(),ie(_s,{key:d,"achievement-id":d,size:"lg","show-label":""},null,8,["achievement-id"]))),128))])):q("",!0)])])])]),u("section",Vm,[u("div",Hm,[u("div",Bm,[N(_e,{value:n.value.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),N(_e,{value:n.value.prs_opened||0,label:"PRs Opened",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),N(_e,{value:n.value.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),N(_e,{value:n.value.reviews_given||0,label:"Reviews Given",icon:"fas fa-eye","icon-color":"text-orange-500"},null,8,["value"])])])]),u("section",Gm,[u("div",Um,[u("div",qm,[u("div",Wm,[c[9]||(c[9]=u("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[u("i",{class:"fas fa-code text-green-500 mr-2"}),ae("Code Contributions ")],-1)),u("div",Km,[u("div",zm,[c[1]||(c[1]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Lines Added",-1)),u("span",Qm," +"+w(A(U)(n.value.lines_added||0)),1)]),u("div",Jm,[c[2]||(c[2]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Lines Deleted",-1)),u("span",Ym," -"+w(A(U)(n.value.lines_deleted||0)),1)]),n.value.meaningful_lines_added!==void 0?(y(),C("div",Xm,[c[3]||(c[3]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Meaningful Lines Added",-1)),u("span",Zm," +"+w(A(U)(n.value.meaningful_lines_added||0)),1)])):q("",!0),n.value.meaningful_lines_deleted!==void 0?(y(),C("div",e0,[c[4]||(c[4]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Meaningful Lines Deleted",-1)),u("span",t0," -"+w(A(U)(n.value.meaningful_lines_deleted||0)),1)])):q("",!0),n.value.comment_lines_added!==void 0?(y(),C("div",s0,[c[5]||(c[5]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Comment Lines Added",-1)),u("span",n0," +"+w(A(U)(n.value.comment_lines_added||0)),1)])):q("",!0),n.value.comment_lines_deleted!==void 0?(y(),C("div",r0,[c[6]||(c[6]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Comment Lines Deleted",-1)),u("span",o0," -"+w(A(U)(n.value.comment_lines_deleted||0)),1)])):q("",!0),u("div",i0,[c[7]||(c[7]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Files Changed",-1)),u("span",l0,w(A(U)(n.value.files_changed||0)),1)]),n.value.avg_pr_size?(y(),C("div",a0,[c[8]||(c[8]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Avg PR Size",-1)),u("span",c0,w(A(U)(Math.round(n.value.avg_pr_size)))+" lines ",1)])):q("",!0)])]),u("div",u0,[c[15]||(c[15]=u("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[u("i",{class:"fas fa-comments text-purple-500 mr-2"}),ae("Review Activity ")],-1)),u("div",d0,[u("div",f0,[c[10]||(c[10]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Reviews Given",-1)),u("span",m0,w(A(U)(n.value.reviews_given||0)),1)]),u("div",h0,[c[11]||(c[11]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Approvals",-1)),u("span",p0,w(A(U)(n.value.approvals_given||0)),1)]),u("div",g0,[c[12]||(c[12]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Changes Requested",-1)),u("span",v0,w(A(U)(n.value.changes_requested||0)),1)]),u("div",y0,[c[13]||(c[13]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Review Comments",-1)),u("span",x0,w(A(U)(n.value.review_comments||0)),1)]),n.value.avg_review_time_hours?(y(),C("div",b0,[c[14]||(c[14]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Avg Review Time",-1)),u("span",_0,w(A(Ou)(n.value.avg_review_time_hours)),1)])):q("",!0)])]),n.value.issues_opened||n.value.issues_closed||n.value.issue_comments||n.value.issue_references_in_commits?(y(),C("div",w0,[c[20]||(c[20]=u("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[u("i",{class:"fas fa-bug text-red-500 mr-2"}),ae("Issue Activity ")],-1)),u("div",k0,[u("div",C0,[c[16]||(c[16]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Issues Opened",-1)),u("span",R0,w(A(U)(n.value.issues_opened||0)),1)]),u("div",S0,[c[17]||(c[17]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Issues Closed",-1)),u("span",A0,w(A(U)(n.value.issues_closed||0)),1)]),u("div",E0,[c[18]||(c[18]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Issue Comments",-1)),u("span",P0,w(A(U)(n.value.issue_comments||0)),1)]),u("div",$0,[c[19]||(c[19]=u("span",{class:"text-gray-600 dark:text-gray-300"},"Issue References in Commits",-1)),u("span",T0,w(A(U)(n.value.issue_references_in_commits||0)),1)])])])):q("",!0)])])]),n.value.score?.breakdown?(y(),C("section",O0,[u("div",I0,[u("div",N0,[c[32]||(c[32]=u("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[u("i",{class:"fas fa-chart-pie gradient-text mr-2"}),ae("Score Breakdown ")],-1)),u("div",M0,[u("div",D0,[u("div",L0,w(A(U)(n.value.score.breakdown.commits||0)),1),c[21]||(c[21]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Commits",-1)),u("div",j0,w(n.value.commit_count||0)+" × 10 pts",1)]),u("div",F0,[u("div",V0,w(A(U)(n.value.score.breakdown.prs||0)),1),c[22]||(c[22]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"PRs",-1)),u("div",H0,w(n.value.prs_opened||0)+" opened + "+w(n.value.prs_merged||0)+" merged",1)]),u("div",B0,[u("div",G0,w(A(U)(n.value.score.breakdown.reviews||0)),1),c[23]||(c[23]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Reviews",-1)),u("div",U0,w(n.value.reviews_given||0)+" × 30 pts",1)]),u("div",q0,[u("div",W0,w(A(U)(n.value.score.breakdown.comments||0)),1),c[24]||(c[24]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Comments",-1)),u("div",K0,w(n.value.review_comments||0)+" × 5 pts",1)]),u("div",z0,[u("div",Q0,w(A(U)(n.value.score.breakdown.issues||0)),1),c[25]||(c[25]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Issues",-1)),c[26]||(c[26]=u("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"opened, closed, comments, refs",-1))]),u("div",J0,[u("div",Y0,w(A(U)(n.value.score.breakdown.line_changes||0)),1),c[27]||(c[27]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Line Changes",-1)),c[28]||(c[28]=u("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"meaningful lines × 0.1 pts",-1))]),u("div",X0,[u("div",Z0,w(A(U)(n.value.score.breakdown.response_bonus||0)),1),c[29]||(c[29]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Response Bonus",-1)),c[30]||(c[30]=u("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"fast review bonus",-1))]),u("div",eh,[u("div",th,w(A(U)(n.value.score.breakdown.out_of_hours||0)),1),c[31]||(c[31]=u("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Out of Hours",-1)),u("div",sh,w(n.value.out_of_hours_count||0)+" × 2 pts",1)])])])])])):q("",!0),u("section",nh,[u("div",rh,[u("div",oh,[n.value.achievements?.length?(y(),C("div",ih,[u("div",lh,[c[33]||(c[33]=u("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white"},[u("i",{class:"fas fa-award gradient-text mr-2"}),ae("Achievements Earned ")],-1)),u("span",ah,w(n.value.achievements.length),1)]),u("div",ch,[(y(!0),C(J,null,xe(n.value.achievements,d=>(y(),C("div",{key:d,class:"flex flex-col items-center p-2 rounded-xl bg-gray-50 dark:bg-gray-800/50 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[N(_s,{"achievement-id":d,size:"md","show-label":""},null,8,["achievement-id"])]))),128))])])):q("",!0),u("div",uh,[c[34]||(c[34]=u("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-6"},[u("i",{class:"fas fa-chart-line text-primary-500 mr-2"}),ae("Next Achievements ")],-1)),N(Am,{contributor:n.value,"max-display":6},null,8,["contributor"])])])])]),n.value.repositories_contributed?.length?(y(),C("section",dh,[u("div",fh,[N(It,{title:`Contributed to ${n.value.repositories_contributed.length} Repositories`,icon:"fas fa-folder-tree","icon-color":"text-blue-500"},null,8,["title"]),u("div",mh,[(y(!0),C(J,null,xe(n.value.repositories_contributed,d=>(y(),ie(A(Re),{key:d,to:`/repos/${d}`,class:"inline-flex items-center px-3 py-1.5 rounded-full text-sm bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 hover:bg-primary-100 dark:hover:bg-primary-900/30 hover:text-primary-700 dark:hover:text-primary-300 transition-colors"},{default:Z(()=>[c[35]||(c[35]=u("i",{class:"fas fa-code-branch text-gray-400 mr-2"},null,-1)),ae(" "+w(d),1)]),_:2},1032,["to"]))),128))])])])):q("",!0)],64)):q("",!0)]))}},ph=[{path:"/",name:"dashboard",component:Kd},{path:"/leaderboard",name:"leaderboard",component:Rf},{path:"/repos/:owner/:name",name:"repository",component:qf},{path:"/teams/:slug",name:"team",component:um},{path:"/contributors/:login",name:"contributor",component:hh}],gh=au({history:Hc(),routes:ph,scrollBehavior(){return{top:0}}}),Ti=ec(Tu);Ti.use(gh);Ti.mount("#app"); diff --git a/internal/generator/site/dist/index.html b/internal/generator/site/dist/index.html index e21745e..149e4bd 100644 --- a/internal/generator/site/dist/index.html +++ b/internal/generator/site/dist/index.html @@ -8,9 +8,9 @@ - + - +
diff --git a/web/src/components/DataTable.vue b/web/src/components/DataTable.vue index 48eb014..ffd93f8 100644 --- a/web/src/components/DataTable.vue +++ b/web/src/components/DataTable.vue @@ -47,7 +47,7 @@ const getAlignClass = (align) => { v-for="col in columns" :key="col.key" :class="[ - 'px-6 py-4 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider', + 'px-3 sm:px-6 py-3 sm:py-4 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider', getAlignClass(col.align), col.headerClass ]" @@ -66,7 +66,7 @@ const getAlignClass = (align) => { {{ item[col.key] }} diff --git a/web/src/components/Navbar.vue b/web/src/components/Navbar.vue index 95cfb42..18259b9 100644 --- a/web/src/components/Navbar.vue +++ b/web/src/components/Navbar.vue @@ -34,6 +34,12 @@ const repositories = computed(() => globalData.value?.Repositories || []) > Leaderboard + + How Scoring Works + globalData.value?.Repositories || []) -
-
+
+
- Dashboard + Dashboard - Leaderboard + Leaderboard + + + How Scoring Works - {{ repo.Name }} + {{ repo.Name }}
diff --git a/web/src/components/StatCard.vue b/web/src/components/StatCard.vue index 0d300e0..9051bd2 100644 --- a/web/src/components/StatCard.vue +++ b/web/src/components/StatCard.vue @@ -14,13 +14,13 @@ defineProps({