diff --git a/dist/assets/index-DH_ujkYf.css b/dist/assets/index-DH_ujkYf.css deleted file mode 100644 index 3f2f7fe..0000000 --- a/dist/assets/index-DH_ujkYf.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-space-y-reverse:0;--tw-border-style:solid;--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}}}@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-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-700:oklch(55.4% .135 66.442);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--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-800:oklch(42.4% .199 265.638);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-700:oklch(49.6% .265 301.924);--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-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--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-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--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)}}@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{.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.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-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.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-12{width:calc(var(--spacing)*12)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.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}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,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}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.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)}: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-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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.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-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-600{border-color:var(--color-blue-600)}.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-gray-400{border-color:var(--color-gray-400)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.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-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-green-100{background-color:var(--color-green-100)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.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-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-3{padding-top:calc(var(--spacing)*3)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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))}.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)}.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-blue-800{color:var(--color-blue-800)}.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-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-purple-500{color:var(--color-purple-500)}.text-purple-700{color:var(--color-purple-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px 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)}.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))}.outline-none{--tw-outline-style:none;outline-style:none}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.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\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}}}:root{--color-primary:#3b82f6;--color-primary-dark:#2563eb;--color-danger:#ef4444;--color-success:#22c55e;--color-warning:#f59e0b;--priority-1:#ef4444;--priority-2:#f59e0b;--priority-3:#3b82f6;--priority-4:#6b7280}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{cursor:pointer;border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{color:#374151;background:#f3f4f6}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.input{border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.input:focus{border-color:var(--color-primary);outline:none}.priority-1{color:var(--priority-1)}.priority-2{color:var(--priority-2)}.priority-3{color:var(--priority-3)}.priority-4{color:var(--priority-4)}.priority-dot-1{background:var(--priority-1)}.priority-dot-2{background:var(--priority-2)}.priority-dot-3{background:var(--priority-3)}.priority-dot-4{background:var(--priority-4)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/dist/assets/index-KBG7ug1d.js b/dist/assets/index-KBG7ug1d.js deleted file mode 100644 index f773cf2..0000000 --- a/dist/assets/index-KBG7ug1d.js +++ /dev/null @@ -1,11 +0,0 @@ -(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))c(f);new MutationObserver(f=>{for(const d of f)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&c(h)}).observe(document,{childList:!0,subtree:!0});function r(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function c(f){if(f.ep)return;f.ep=!0;const d=r(f);fetch(f.href,d)}})();function n0(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var bc={exports:{}},ni={};var nm;function l0(){if(nm)return ni;nm=1;var l=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function r(c,f,d){var h=null;if(d!==void 0&&(h=""+d),f.key!==void 0&&(h=""+f.key),"key"in f){d={};for(var p in f)p!=="key"&&(d[p]=f[p])}else d=f;return f=d.ref,{$$typeof:l,type:c,key:h,ref:f!==void 0?f:null,props:d}}return ni.Fragment=u,ni.jsx=r,ni.jsxs=r,ni}var lm;function i0(){return lm||(lm=1,bc.exports=l0()),bc.exports}var g=i0(),xc={exports:{}},re={};var im;function u0(){if(im)return re;im=1;var l=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),h=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),x=Symbol.for("react.activity"),_=Symbol.iterator;function z(w){return w===null||typeof w!="object"?null:(w=_&&w[_]||w["@@iterator"],typeof w=="function"?w:null)}var Y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},q=Object.assign,D={};function k(w,H,Q){this.props=w,this.context=H,this.refs=D,this.updater=Q||Y}k.prototype.isReactComponent={},k.prototype.setState=function(w,H){if(typeof w!="object"&&typeof w!="function"&&w!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,w,H,"setState")},k.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function G(){}G.prototype=k.prototype;function Z(w,H,Q){this.props=w,this.context=H,this.refs=D,this.updater=Q||Y}var P=Z.prototype=new G;P.constructor=Z,q(P,k.prototype),P.isPureReactComponent=!0;var ae=Array.isArray;function te(){}var I={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function we(w,H,Q){var V=Q.ref;return{$$typeof:l,type:w,key:H,ref:V!==void 0?V:null,props:Q}}function Ze(w,H){return we(w.type,H,w.props)}function ne(w){return typeof w=="object"&&w!==null&&w.$$typeof===l}function ge(w){var H={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(Q){return H[Q]})}var Xt=/\/+/g;function mt(w,H){return typeof w=="object"&&w!==null&&w.key!=null?ge(""+w.key):H.toString(36)}function Ke(w){switch(w.status){case"fulfilled":return w.value;case"rejected":throw w.reason;default:switch(typeof w.status=="string"?w.then(te,te):(w.status="pending",w.then(function(H){w.status==="pending"&&(w.status="fulfilled",w.value=H)},function(H){w.status==="pending"&&(w.status="rejected",w.reason=H)})),w.status){case"fulfilled":return w.value;case"rejected":throw w.reason}}throw w}function M(w,H,Q,V,ue){var oe=typeof w;(oe==="undefined"||oe==="boolean")&&(w=null);var ie=!1;if(w===null)ie=!0;else switch(oe){case"bigint":case"string":case"number":ie=!0;break;case"object":switch(w.$$typeof){case l:case u:ie=!0;break;case S:return ie=w._init,M(ie(w._payload),H,Q,V,ue)}}if(ie)return ue=ue(w),ie=V===""?"."+mt(w,0):V,ae(ue)?(Q="",ie!=null&&(Q=ie.replace(Xt,"$&/")+"/"),M(ue,H,Q,"",function(Vt){return Vt})):ue!=null&&(ne(ue)&&(ue=Ze(ue,Q+(ue.key==null||w&&w.key===ue.key?"":(""+ue.key).replace(Xt,"$&/")+"/")+ie)),H.push(ue)),1;ie=0;var Je=V===""?".":V+":";if(ae(w))for(var De=0;De>>1,Ee=M[xe];if(0>>1;xef(Q,B))Vf(ue,Q)?(M[xe]=ue,M[V]=B,xe=V):(M[xe]=Q,M[H]=B,xe=H);else if(Vf(ue,B))M[xe]=ue,M[V]=B,xe=V;else break e}}return X}function f(M,X){var B=M.sortIndex-X.sortIndex;return B!==0?B:M.id-X.id}if(l.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;l.unstable_now=function(){return d.now()}}else{var h=Date,p=h.now();l.unstable_now=function(){return h.now()-p}}var y=[],v=[],S=1,x=null,_=3,z=!1,Y=!1,q=!1,D=!1,k=typeof setTimeout=="function"?setTimeout:null,G=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function P(M){for(var X=r(v);X!==null;){if(X.callback===null)c(v);else if(X.startTime<=M)c(v),X.sortIndex=X.expirationTime,u(y,X);else break;X=r(v)}}function ae(M){if(q=!1,P(M),!Y)if(r(y)!==null)Y=!0,te||(te=!0,ge());else{var X=r(v);X!==null&&Ke(ae,X.startTime-M)}}var te=!1,I=-1,K=5,we=-1;function Ze(){return D?!0:!(l.unstable_now()-weM&&Ze());){var xe=x.callback;if(typeof xe=="function"){x.callback=null,_=x.priorityLevel;var Ee=xe(x.expirationTime<=M);if(M=l.unstable_now(),typeof Ee=="function"){x.callback=Ee,P(M),X=!0;break t}x===r(y)&&c(y),P(M)}else c(y);x=r(y)}if(x!==null)X=!0;else{var w=r(v);w!==null&&Ke(ae,w.startTime-M),X=!1}}break e}finally{x=null,_=B,z=!1}X=void 0}}finally{X?ge():te=!1}}}var ge;if(typeof Z=="function")ge=function(){Z(ne)};else if(typeof MessageChannel<"u"){var Xt=new MessageChannel,mt=Xt.port2;Xt.port1.onmessage=ne,ge=function(){mt.postMessage(null)}}else ge=function(){k(ne,0)};function Ke(M,X){I=k(function(){M(l.unstable_now())},X)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(M){M.callback=null},l.unstable_forceFrameRate=function(M){0>M||125xe?(M.sortIndex=B,u(v,M),r(y)===null&&M===r(v)&&(q?(G(I),I=-1):q=!0,Ke(ae,B-xe))):(M.sortIndex=Ee,u(y,M),Y||z||(Y=!0,te||(te=!0,ge()))),M},l.unstable_shouldYield=Ze,l.unstable_wrapCallback=function(M){var X=_;return function(){var B=_;_=X;try{return M.apply(this,arguments)}finally{_=B}}}})(wc)),wc}var sm;function s0(){return sm||(sm=1,Ec.exports=r0()),Ec.exports}var Tc={exports:{}},nt={};var cm;function c0(){if(cm)return nt;cm=1;var l=Qc();function u(y){var v="https://react.dev/errors/"+y;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(u){console.error(u)}}return l(),Tc.exports=c0(),Tc.exports}var fm;function f0(){if(fm)return li;fm=1;var l=s0(),u=Qc(),r=o0();function c(e){var t="https://react.dev/errors/"+e;if(1Ee||(e.current=xe[Ee],xe[Ee]=null,Ee--)}function Q(e,t){Ee++,xe[Ee]=e.current,e.current=t}var V=w(null),ue=w(null),oe=w(null),ie=w(null);function Je(e,t){switch(Q(oe,t),Q(ue,e),Q(V,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Nh(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Nh(t),e=jh(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}H(V),Q(V,e)}function De(){H(V),H(ue),H(oe)}function Vt(e){e.memoizedState!==null&&Q(ie,e);var t=V.current,a=jh(t,e.type);t!==a&&(Q(ue,e),Q(V,a))}function Sa(e){ue.current===e&&(H(V),H(ue)),ie.current===e&&(H(ie),Il._currentValue=B)}var Ea,eo;function Wa(e){if(Ea===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ea=t&&t[1]||"",eo=-1)":-1i||b[n]!==j[i]){var R=` -`+b[n].replace(" at new "," at ");return e.displayName&&R.includes("")&&(R=R.replace("",e.displayName)),R}while(1<=n&&0<=i);break}}}finally{ar=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Wa(a):""}function _y(e,t){switch(e.tag){case 26:case 27:case 5:return Wa(e.type);case 16:return Wa("Lazy");case 13:return e.child!==t&&t!==null?Wa("Suspense Fallback"):Wa("Suspense");case 19:return Wa("SuspenseList");case 0:case 15:return nr(e.type,!1);case 11:return nr(e.type.render,!1);case 1:return nr(e.type,!0);case 31:return Wa("Activity");default:return""}}function to(e){try{var t="",a=null;do t+=_y(e,a),a=e,e=e.return;while(e);return t}catch(n){return` -Error generating stack: `+n.message+` -`+n.stack}}var lr=Object.prototype.hasOwnProperty,ir=l.unstable_scheduleCallback,ur=l.unstable_cancelCallback,Uy=l.unstable_shouldYield,Hy=l.unstable_requestPaint,yt=l.unstable_now,Ly=l.unstable_getCurrentPriorityLevel,ao=l.unstable_ImmediatePriority,no=l.unstable_UserBlockingPriority,xi=l.unstable_NormalPriority,qy=l.unstable_LowPriority,lo=l.unstable_IdlePriority,By=l.log,Yy=l.unstable_setDisableYieldValue,fl=null,gt=null;function wa(e){if(typeof By=="function"&&Yy(e),gt&&typeof gt.setStrictMode=="function")try{gt.setStrictMode(fl,e)}catch{}}var pt=Math.clz32?Math.clz32:Gy,ky=Math.log,Qy=Math.LN2;function Gy(e){return e>>>=0,e===0?32:31-(ky(e)/Qy|0)|0}var Si=256,Ei=262144,wi=4194304;function $a(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ti(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var i=0,s=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var m=n&134217727;return m!==0?(n=m&~s,n!==0?i=$a(n):(o&=m,o!==0?i=$a(o):a||(a=m&~e,a!==0&&(i=$a(a))))):(m=n&~s,m!==0?i=$a(m):o!==0?i=$a(o):a||(a=n&~e,a!==0&&(i=$a(a)))),i===0?0:t!==0&&t!==i&&(t&s)===0&&(s=i&-i,a=t&-t,s>=a||s===32&&(a&4194048)!==0)?t:i}function dl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Xy(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function io(){var e=wi;return wi<<=1,(wi&62914560)===0&&(wi=4194304),e}function rr(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function hl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Vy(e,t,a,n,i,s){var o=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var m=e.entanglements,b=e.expirationTimes,j=e.hiddenUpdates;for(a=o&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var $y=/[\n"\\]/g;function At(e){return e.replace($y,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function hr(e,t,a,n,i,s,o,m){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+jt(t)):e.value!==""+jt(t)&&(e.value=""+jt(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?mr(e,o,jt(t)):a!=null?mr(e,o,jt(a)):n!=null&&e.removeAttribute("value"),i==null&&s!=null&&(e.defaultChecked=!!s),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.name=""+jt(m):e.removeAttribute("name")}function bo(e,t,a,n,i,s,o,m){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||a!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){dr(e);return}a=a!=null?""+jt(a):"",t=t!=null?""+jt(t):a,m||t===e.value||(e.value=t),e.defaultValue=t}n=n??i,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=m?e.checked:!!n,e.defaultChecked=!!n,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),dr(e)}function mr(e,t,a){t==="number"&&ji(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function Tn(e,t,a,n){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),br=!1;if(ea)try{var pl={};Object.defineProperty(pl,"passive",{get:function(){br=!0}}),window.addEventListener("test",pl,pl),window.removeEventListener("test",pl,pl)}catch{br=!1}var Oa=null,xr=null,Ci=null;function No(){if(Ci)return Ci;var e,t=xr,a=t.length,n,i="value"in Oa?Oa.value:Oa.textContent,s=i.length;for(e=0;e=xl),zo=" ",Ro=!1;function _o(e,t){switch(e){case"keyup":return Og.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Uo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var An=!1;function jg(e,t){switch(e){case"compositionend":return Uo(t);case"keypress":return t.which!==32?null:(Ro=!0,zo);case"textInput":return e=t.data,e===zo&&Ro?null:e;default:return null}}function Ag(e,t){if(An)return e==="compositionend"||!Or&&_o(e,t)?(e=No(),Ci=xr=Oa=null,An=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Go(a)}}function Vo(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Vo(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Zo(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ji(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=ji(e.document)}return t}function Ar(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Hg=ea&&"documentMode"in document&&11>=document.documentMode,Cn=null,Cr=null,Tl=null,Mr=!1;function Ko(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Mr||Cn==null||Cn!==ji(n)||(n=Cn,"selectionStart"in n&&Ar(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Tl&&wl(Tl,n)||(Tl=n,n=Eu(Cr,"onSelect"),0>=o,i-=o,Zt=1<<32-pt(t)+i|a<ce?(ye=$,$=null):ye=$.sibling;var be=A(T,$,N[ce],U);if(be===null){$===null&&($=ye);break}e&&$&&be.alternate===null&&t(T,$),E=s(be,E,ce),ve===null?ee=be:ve.sibling=be,ve=be,$=ye}if(ce===N.length)return a(T,$),pe&&aa(T,ce),ee;if($===null){for(;cece?(ye=$,$=null):ye=$.sibling;var Ka=A(T,$,be.value,U);if(Ka===null){$===null&&($=ye);break}e&&$&&Ka.alternate===null&&t(T,$),E=s(Ka,E,ce),ve===null?ee=Ka:ve.sibling=Ka,ve=Ka,$=ye}if(be.done)return a(T,$),pe&&aa(T,ce),ee;if($===null){for(;!be.done;ce++,be=N.next())be=L(T,be.value,U),be!==null&&(E=s(be,E,ce),ve===null?ee=be:ve.sibling=be,ve=be);return pe&&aa(T,ce),ee}for($=n($);!be.done;ce++,be=N.next())be=C($,T,ce,be.value,U),be!==null&&(e&&be.alternate!==null&&$.delete(be.key===null?ce:be.key),E=s(be,E,ce),ve===null?ee=be:ve.sibling=be,ve=be);return e&&$.forEach(function(a0){return t(T,a0)}),pe&&aa(T,ce),ee}function Ce(T,E,N,U){if(typeof N=="object"&&N!==null&&N.type===q&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case z:e:{for(var ee=N.key;E!==null;){if(E.key===ee){if(ee=N.type,ee===q){if(E.tag===7){a(T,E.sibling),U=i(E,N.props.children),U.return=T,T=U;break e}}else if(E.elementType===ee||typeof ee=="object"&&ee!==null&&ee.$$typeof===K&&cn(ee)===E.type){a(T,E.sibling),U=i(E,N.props),Ml(U,N),U.return=T,T=U;break e}a(T,E);break}else t(T,E);E=E.sibling}N.type===q?(U=nn(N.props.children,T.mode,U,N.key),U.return=T,T=U):(U=Bi(N.type,N.key,N.props,null,T.mode,U),Ml(U,N),U.return=T,T=U)}return o(T);case Y:e:{for(ee=N.key;E!==null;){if(E.key===ee)if(E.tag===4&&E.stateNode.containerInfo===N.containerInfo&&E.stateNode.implementation===N.implementation){a(T,E.sibling),U=i(E,N.children||[]),U.return=T,T=U;break e}else{a(T,E);break}else t(T,E);E=E.sibling}U=Lr(N,T.mode,U),U.return=T,T=U}return o(T);case K:return N=cn(N),Ce(T,E,N,U)}if(Ke(N))return J(T,E,N,U);if(ge(N)){if(ee=ge(N),typeof ee!="function")throw Error(c(150));return N=ee.call(N),le(T,E,N,U)}if(typeof N.then=="function")return Ce(T,E,Zi(N),U);if(N.$$typeof===Z)return Ce(T,E,Qi(T,N),U);Ki(T,N)}return typeof N=="string"&&N!==""||typeof N=="number"||typeof N=="bigint"?(N=""+N,E!==null&&E.tag===6?(a(T,E.sibling),U=i(E,N),U.return=T,T=U):(a(T,E),U=Hr(N,T.mode,U),U.return=T,T=U),o(T)):a(T,E)}return function(T,E,N,U){try{Cl=0;var ee=Ce(T,E,N,U);return Yn=null,ee}catch($){if($===Bn||$===Xi)throw $;var ve=bt(29,$,null,T.mode);return ve.lanes=U,ve.return=T,ve}}}var fn=pf(!0),vf=pf(!1),Ma=!1;function Fr(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Wr(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Da(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function za(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Se&2)!==0){var i=n.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),n.pending=t,t=qi(e),ef(e,null,a),t}return Li(e,n,t,a),qi(e)}function Dl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,ro(e,a)}}function $r(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var i=null,s=null;if(a=a.firstBaseUpdate,a!==null){do{var o={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};s===null?i=s=o:s=s.next=o,a=a.next}while(a!==null);s===null?i=s=t:s=s.next=t}else i=s=t;a={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Pr=!1;function zl(){if(Pr){var e=qn;if(e!==null)throw e}}function Rl(e,t,a,n){Pr=!1;var i=e.updateQueue;Ma=!1;var s=i.firstBaseUpdate,o=i.lastBaseUpdate,m=i.shared.pending;if(m!==null){i.shared.pending=null;var b=m,j=b.next;b.next=null,o===null?s=j:o.next=j,o=b;var R=e.alternate;R!==null&&(R=R.updateQueue,m=R.lastBaseUpdate,m!==o&&(m===null?R.firstBaseUpdate=j:m.next=j,R.lastBaseUpdate=b))}if(s!==null){var L=i.baseState;o=0,R=j=b=null,m=s;do{var A=m.lane&-536870913,C=A!==m.lane;if(C?(me&A)===A:(n&A)===A){A!==0&&A===Ln&&(Pr=!0),R!==null&&(R=R.next={lane:0,tag:m.tag,payload:m.payload,callback:null,next:null});e:{var J=e,le=m;A=t;var Ce=a;switch(le.tag){case 1:if(J=le.payload,typeof J=="function"){L=J.call(Ce,L,A);break e}L=J;break e;case 3:J.flags=J.flags&-65537|128;case 0:if(J=le.payload,A=typeof J=="function"?J.call(Ce,L,A):J,A==null)break e;L=x({},L,A);break e;case 2:Ma=!0}}A=m.callback,A!==null&&(e.flags|=64,C&&(e.flags|=8192),C=i.callbacks,C===null?i.callbacks=[A]:C.push(A))}else C={lane:A,tag:m.tag,payload:m.payload,callback:m.callback,next:null},R===null?(j=R=C,b=L):R=R.next=C,o|=A;if(m=m.next,m===null){if(m=i.shared.pending,m===null)break;C=m,m=C.next,C.next=null,i.lastBaseUpdate=C,i.shared.pending=null}}while(!0);R===null&&(b=L),i.baseState=b,i.firstBaseUpdate=j,i.lastBaseUpdate=R,s===null&&(i.shared.lanes=0),La|=o,e.lanes=o,e.memoizedState=L}}function bf(e,t){if(typeof e!="function")throw Error(c(191,e));e.call(t)}function xf(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;es?s:8;var o=M.T,m={};M.T=m,ps(e,!1,t,a);try{var b=i(),j=M.S;if(j!==null&&j(m,b),b!==null&&typeof b=="object"&&typeof b.then=="function"){var R=Vg(b,n);Hl(e,t,R,Tt(e))}else Hl(e,t,n,Tt(e))}catch(L){Hl(e,t,{then:function(){},status:"rejected",reason:L},Tt())}finally{X.p=s,o!==null&&m.types!==null&&(o.types=m.types),M.T=o}}function $g(){}function ys(e,t,a,n){if(e.tag!==5)throw Error(c(476));var i=Pf(e).queue;$f(e,i,t,B,a===null?$g:function(){return If(e),a(n)})}function Pf(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:B,baseState:B,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ua,lastRenderedState:B},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ua,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function If(e){var t=Pf(e);t.next===null&&(t=e.alternate.memoizedState),Hl(e,t.next.queue,{},Tt())}function gs(){return et(Il)}function ed(){return Be().memoizedState}function td(){return Be().memoizedState}function Pg(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Tt();e=Da(a);var n=za(t,e,a);n!==null&&(ht(n,t,a),Dl(n,t,a)),t={cache:Vr()},e.payload=t;return}t=t.return}}function Ig(e,t,a){var n=Tt();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},nu(e)?nd(t,a):(a=_r(e,t,a,n),a!==null&&(ht(a,e,n),ld(a,t,n)))}function ad(e,t,a){var n=Tt();Hl(e,t,a,n)}function Hl(e,t,a,n){var i={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(nu(e))nd(t,i);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,m=s(o,a);if(i.hasEagerState=!0,i.eagerState=m,vt(m,o))return Li(e,t,i,0),Me===null&&Hi(),!1}catch{}if(a=_r(e,t,i,n),a!==null)return ht(a,e,n),ld(a,t,n),!0}return!1}function ps(e,t,a,n){if(n={lane:2,revertLane:Fs(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},nu(e)){if(t)throw Error(c(479))}else t=_r(e,a,n,2),t!==null&&ht(t,e,2)}function nu(e){var t=e.alternate;return e===se||t!==null&&t===se}function nd(e,t){Qn=Wi=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function ld(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,ro(e,a)}}var Ll={readContext:et,use:Ii,useCallback:He,useContext:He,useEffect:He,useImperativeHandle:He,useLayoutEffect:He,useInsertionEffect:He,useMemo:He,useReducer:He,useRef:He,useState:He,useDebugValue:He,useDeferredValue:He,useTransition:He,useSyncExternalStore:He,useId:He,useHostTransitionStatus:He,useFormState:He,useActionState:He,useOptimistic:He,useMemoCache:He,useCacheRefresh:He};Ll.useEffectEvent=He;var id={readContext:et,use:Ii,useCallback:function(e,t){return it().memoizedState=[e,t===void 0?null:t],e},useContext:et,useEffect:Qf,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,tu(4194308,4,Zf.bind(null,t,e),a)},useLayoutEffect:function(e,t){return tu(4194308,4,e,t)},useInsertionEffect:function(e,t){tu(4,2,e,t)},useMemo:function(e,t){var a=it();t=t===void 0?null:t;var n=e();if(dn){wa(!0);try{e()}finally{wa(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=it();if(a!==void 0){var i=a(t);if(dn){wa(!0);try{a(t)}finally{wa(!1)}}}else i=t;return n.memoizedState=n.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},n.queue=e,e=e.dispatch=Ig.bind(null,se,e),[n.memoizedState,e]},useRef:function(e){var t=it();return e={current:e},t.memoizedState=e},useState:function(e){e=os(e);var t=e.queue,a=ad.bind(null,se,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:hs,useDeferredValue:function(e,t){var a=it();return ms(a,e,t)},useTransition:function(){var e=os(!1);return e=$f.bind(null,se,e.queue,!0,!1),it().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=se,i=it();if(pe){if(a===void 0)throw Error(c(407));a=a()}else{if(a=t(),Me===null)throw Error(c(349));(me&127)!==0||Nf(n,t,a)}i.memoizedState=a;var s={value:a,getSnapshot:t};return i.queue=s,Qf(Af.bind(null,n,s,e),[e]),n.flags|=2048,Xn(9,{destroy:void 0},jf.bind(null,n,s,a,t),null),a},useId:function(){var e=it(),t=Me.identifierPrefix;if(pe){var a=Kt,n=Zt;a=(n&~(1<<32-pt(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=$i++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof n.is=="string"?o.createElement("select",{is:n.is}):o.createElement("select"),n.multiple?s.multiple=!0:n.size&&(s.size=n.size);break;default:s=typeof n.is=="string"?o.createElement(i,{is:n.is}):o.createElement(i)}}s[Pe]=t,s[rt]=n;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)s.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=s;e:switch(at(s,i,n),i){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&sa(t)}}return Re(t),Ds(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&sa(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(c(166));if(e=oe.current,Un(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,i=Ie,i!==null)switch(i.tag){case 27:case 5:n=i.memoizedProps}e[Pe]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Th(e.nodeValue,a)),e||Aa(t,!0)}else e=wu(e).createTextNode(n),e[Pe]=t,t.stateNode=e}return Re(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=Un(t),a!==null){if(e===null){if(!n)throw Error(c(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(557));e[Pe]=t}else ln(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Re(t),e=!1}else a=kr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(St(t),t):(St(t),null);if((t.flags&128)!==0)throw Error(c(558))}return Re(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Un(t),n!==null&&n.dehydrated!==null){if(e===null){if(!i)throw Error(c(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(c(317));i[Pe]=t}else ln(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Re(t),i=!1}else i=kr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(St(t),t):(St(t),null)}return St(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,i=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(i=n.alternate.memoizedState.cachePool.pool),s=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(s=n.memoizedState.cachePool.pool),s!==i&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),su(t,t.updateQueue),Re(t),null);case 4:return De(),e===null&&Is(t.stateNode.containerInfo),Re(t),null;case 10:return la(t.type),Re(t),null;case 19:if(H(qe),n=t.memoizedState,n===null)return Re(t),null;if(i=(t.flags&128)!==0,s=n.rendering,s===null)if(i)Bl(n,!1);else{if(Le!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(s=Fi(e),s!==null){for(t.flags|=128,Bl(n,!1),e=s.updateQueue,t.updateQueue=e,su(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)tf(a,e),a=a.sibling;return Q(qe,qe.current&1|2),pe&&aa(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&yt()>hu&&(t.flags|=128,i=!0,Bl(n,!1),t.lanes=4194304)}else{if(!i)if(e=Fi(s),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,su(t,e),Bl(n,!0),n.tail===null&&n.tailMode==="hidden"&&!s.alternate&&!pe)return Re(t),null}else 2*yt()-n.renderingStartTime>hu&&a!==536870912&&(t.flags|=128,i=!0,Bl(n,!1),t.lanes=4194304);n.isBackwards?(s.sibling=t.child,t.child=s):(e=n.last,e!==null?e.sibling=s:t.child=s,n.last=s)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=yt(),e.sibling=null,a=qe.current,Q(qe,i?a&1|2:a&1),pe&&aa(t,n.treeForkCount),e):(Re(t),null);case 22:case 23:return St(t),es(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(Re(t),t.subtreeFlags&6&&(t.flags|=8192)):Re(t),a=t.updateQueue,a!==null&&su(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&H(sn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),la(Ye),Re(t),null;case 25:return null;case 30:return null}throw Error(c(156,t.tag))}function lp(e,t){switch(Br(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return la(Ye),De(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Sa(t),null;case 31:if(t.memoizedState!==null){if(St(t),t.alternate===null)throw Error(c(340));ln()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(St(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));ln()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(qe),null;case 4:return De(),null;case 10:return la(t.type),null;case 22:case 23:return St(t),es(),e!==null&&H(sn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return la(Ye),null;case 25:return null;default:return null}}function Cd(e,t){switch(Br(t),t.tag){case 3:la(Ye),De();break;case 26:case 27:case 5:Sa(t);break;case 4:De();break;case 31:t.memoizedState!==null&&St(t);break;case 13:St(t);break;case 19:H(qe);break;case 10:la(t.type);break;case 22:case 23:St(t),es(),e!==null&&H(sn);break;case 24:la(Ye)}}function Yl(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var i=n.next;a=i;do{if((a.tag&e)===e){n=void 0;var s=a.create,o=a.inst;n=s(),o.destroy=n}a=a.next}while(a!==i)}}catch(m){Oe(t,t.return,m)}}function Ua(e,t,a){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var s=i.next;n=s;do{if((n.tag&e)===e){var o=n.inst,m=o.destroy;if(m!==void 0){o.destroy=void 0,i=t;var b=a,j=m;try{j()}catch(R){Oe(i,b,R)}}}n=n.next}while(n!==s)}}catch(R){Oe(t,t.return,R)}}function Md(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{xf(t,a)}catch(n){Oe(e,e.return,n)}}}function Dd(e,t,a){a.props=hn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){Oe(e,t,n)}}function kl(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(i){Oe(e,t,i)}}function Jt(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(i){Oe(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){Oe(e,t,i)}else a.current=null}function zd(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(i){Oe(e,e.return,i)}}function zs(e,t,a){try{var n=e.stateNode;Np(n,e.type,a,t),n[rt]=t}catch(i){Oe(e,e.return,i)}}function Rd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Qa(e.type)||e.tag===4}function Rs(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Qa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function _s(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=It));else if(n!==4&&(n===27&&Qa(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(_s(e,t,a),e=e.sibling;e!==null;)_s(e,t,a),e=e.sibling}function cu(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&Qa(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(cu(e,t,a),e=e.sibling;e!==null;)cu(e,t,a),e=e.sibling}function _d(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);at(t,n,a),t[Pe]=e,t[rt]=a}catch(s){Oe(e,e.return,s)}}var ca=!1,Ge=!1,Us=!1,Ud=typeof WeakSet=="function"?WeakSet:Set,We=null;function ip(e,t){if(e=e.containerInfo,ac=Mu,e=Zo(e),Ar(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var i=n.anchorOffset,s=n.focusNode;n=n.focusOffset;try{a.nodeType,s.nodeType}catch{a=null;break e}var o=0,m=-1,b=-1,j=0,R=0,L=e,A=null;t:for(;;){for(var C;L!==a||i!==0&&L.nodeType!==3||(m=o+i),L!==s||n!==0&&L.nodeType!==3||(b=o+n),L.nodeType===3&&(o+=L.nodeValue.length),(C=L.firstChild)!==null;)A=L,L=C;for(;;){if(L===e)break t;if(A===a&&++j===i&&(m=o),A===s&&++R===n&&(b=o),(C=L.nextSibling)!==null)break;L=A,A=L.parentNode}L=C}a=m===-1||b===-1?null:{start:m,end:b}}else a=null}a=a||{start:0,end:0}}else a=null;for(nc={focusedElem:e,selectionRange:a},Mu=!1,We=t;We!==null;)if(t=We,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,We=e;else for(;We!==null;){switch(t=We,s=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),at(s,n,a),s[Pe]=e,Fe(s),n=s;break e;case"link":var o=kh("link","href",i).get(n+(a.href||""));if(o){for(var m=0;mCe&&(o=Ce,Ce=le,le=o);var T=Xo(m,le),E=Xo(m,Ce);if(T&&E&&(C.rangeCount!==1||C.anchorNode!==T.node||C.anchorOffset!==T.offset||C.focusNode!==E.node||C.focusOffset!==E.offset)){var N=L.createRange();N.setStart(T.node,T.offset),C.removeAllRanges(),le>Ce?(C.addRange(N),C.extend(E.node,E.offset)):(N.setEnd(E.node,E.offset),C.addRange(N))}}}}for(L=[],C=m;C=C.parentNode;)C.nodeType===1&&L.push({element:C,left:C.scrollLeft,top:C.scrollTop});for(typeof m.focus=="function"&&m.focus(),m=0;ma?32:a,M.T=null,a=Qs,Qs=null;var s=Ba,o=ma;if(Xe=0,Fn=Ba=null,ma=0,(Se&6)!==0)throw Error(c(331));var m=Se;if(Se|=4,Zd(s.current),Gd(s,s.current,o,a),Se=m,Kl(0,!1),gt&&typeof gt.onPostCommitFiberRoot=="function")try{gt.onPostCommitFiberRoot(fl,s)}catch{}return!0}finally{X.p=i,M.T=n,oh(e,t)}}function dh(e,t,a){t=Mt(a,t),t=Ss(e.stateNode,t,2),e=za(e,t,2),e!==null&&(hl(e,2),Ft(e))}function Oe(e,t,a){if(e.tag===3)dh(e,e,a);else for(;t!==null;){if(t.tag===3){dh(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(qa===null||!qa.has(n))){e=Mt(a,e),a=hd(2),n=za(t,a,2),n!==null&&(md(a,n,t,e),hl(n,2),Ft(n));break}}t=t.return}}function Zs(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new sp;var i=new Set;n.set(t,i)}else i=n.get(t),i===void 0&&(i=new Set,n.set(t,i));i.has(a)||(qs=!0,i.add(a),e=hp.bind(null,e,t,a),t.then(e,e))}function hp(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Me===e&&(me&a)===a&&(Le===4||Le===3&&(me&62914560)===me&&300>yt()-du?(Se&2)===0&&Wn(e,0):Bs|=a,Jn===me&&(Jn=0)),Ft(e)}function hh(e,t){t===0&&(t=io()),e=an(e,t),e!==null&&(hl(e,t),Ft(e))}function mp(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),hh(e,a)}function yp(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(c(314))}n!==null&&n.delete(t),hh(e,a)}function gp(e,t){return ir(e,t)}var bu=null,Pn=null,Ks=!1,xu=!1,Js=!1,ka=0;function Ft(e){e!==Pn&&e.next===null&&(Pn===null?bu=Pn=e:Pn=Pn.next=e),xu=!0,Ks||(Ks=!0,vp())}function Kl(e,t){if(!Js&&xu){Js=!0;do for(var a=!1,n=bu;n!==null;){if(e!==0){var i=n.pendingLanes;if(i===0)var s=0;else{var o=n.suspendedLanes,m=n.pingedLanes;s=(1<<31-pt(42|e)+1)-1,s&=i&~(o&~m),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(a=!0,ph(n,s))}else s=me,s=Ti(n,n===Me?s:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(s&3)===0||dl(n,s)||(a=!0,ph(n,s));n=n.next}while(a);Js=!1}}function pp(){mh()}function mh(){xu=Ks=!1;var e=0;ka!==0&&Ap()&&(e=ka);for(var t=yt(),a=null,n=bu;n!==null;){var i=n.next,s=yh(n,t);s===0?(n.next=null,a===null?bu=i:a.next=i,i===null&&(Pn=a)):(a=n,(e!==0||(s&3)!==0)&&(xu=!0)),n=i}Xe!==0&&Xe!==5||Kl(e),ka!==0&&(ka=0)}function yh(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,i=e.expirationTimes,s=e.pendingLanes&-62914561;0m)break;var R=b.transferSize,L=b.initiatorType;R&&Oh(L)&&(b=b.responseEnd,o+=R*(b"u"?null:document;function Lh(e,t,a){var n=In;if(n&&typeof t=="string"&&t){var i=At(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),Hh.has(i)||(Hh.add(i),e={rel:e,crossOrigin:a,href:t},n.querySelector(i)===null&&(t=n.createElement("link"),at(t,"link",e),Fe(t),n.head.appendChild(t)))}}function Lp(e){ya.D(e),Lh("dns-prefetch",e,null)}function qp(e,t){ya.C(e,t),Lh("preconnect",e,t)}function Bp(e,t,a){ya.L(e,t,a);var n=In;if(n&&e&&t){var i='link[rel="preload"][as="'+At(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+At(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+At(a.imageSizes)+'"]')):i+='[href="'+At(e)+'"]';var s=i;switch(t){case"style":s=el(e);break;case"script":s=tl(e)}Ht.has(s)||(e=x({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Ht.set(s,e),n.querySelector(i)!==null||t==="style"&&n.querySelector($l(s))||t==="script"&&n.querySelector(Pl(s))||(t=n.createElement("link"),at(t,"link",e),Fe(t),n.head.appendChild(t)))}}function Yp(e,t){ya.m(e,t);var a=In;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+At(n)+'"][href="'+At(e)+'"]',s=i;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=tl(e)}if(!Ht.has(s)&&(e=x({rel:"modulepreload",href:e},t),Ht.set(s,e),a.querySelector(i)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Pl(s)))return}n=a.createElement("link"),at(n,"link",e),Fe(n),a.head.appendChild(n)}}}function kp(e,t,a){ya.S(e,t,a);var n=In;if(n&&e){var i=En(n).hoistableStyles,s=el(e);t=t||"default";var o=i.get(s);if(!o){var m={loading:0,preload:null};if(o=n.querySelector($l(s)))m.loading=5;else{e=x({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Ht.get(s))&&oc(e,a);var b=o=n.createElement("link");Fe(b),at(b,"link",e),b._p=new Promise(function(j,R){b.onload=j,b.onerror=R}),b.addEventListener("load",function(){m.loading|=1}),b.addEventListener("error",function(){m.loading|=2}),m.loading|=4,Ou(o,t,n)}o={type:"stylesheet",instance:o,count:1,state:m},i.set(s,o)}}}function Qp(e,t){ya.X(e,t);var a=In;if(a&&e){var n=En(a).hoistableScripts,i=tl(e),s=n.get(i);s||(s=a.querySelector(Pl(i)),s||(e=x({src:e,async:!0},t),(t=Ht.get(i))&&fc(e,t),s=a.createElement("script"),Fe(s),at(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},n.set(i,s))}}function Gp(e,t){ya.M(e,t);var a=In;if(a&&e){var n=En(a).hoistableScripts,i=tl(e),s=n.get(i);s||(s=a.querySelector(Pl(i)),s||(e=x({src:e,async:!0,type:"module"},t),(t=Ht.get(i))&&fc(e,t),s=a.createElement("script"),Fe(s),at(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},n.set(i,s))}}function qh(e,t,a,n){var i=(i=oe.current)?Tu(i):null;if(!i)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=el(a.href),a=En(i).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=el(a.href);var s=En(i).hoistableStyles,o=s.get(e);if(o||(i=i.ownerDocument||i,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,o),(s=i.querySelector($l(e)))&&!s._p&&(o.instance=s,o.state.loading=5),Ht.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Ht.set(e,a),s||Xp(i,e,a,o.state))),t&&n===null)throw Error(c(528,""));return o}if(t&&n!==null)throw Error(c(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=tl(a),a=En(i).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function el(e){return'href="'+At(e)+'"'}function $l(e){return'link[rel="stylesheet"]['+e+"]"}function Bh(e){return x({},e,{"data-precedence":e.precedence,precedence:null})}function Xp(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),at(t,"link",a),Fe(t),e.head.appendChild(t))}function tl(e){return'[src="'+At(e)+'"]'}function Pl(e){return"script[async]"+e}function Yh(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+At(a.href)+'"]');if(n)return t.instance=n,Fe(n),n;var i=x({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),Fe(n),at(n,"style",i),Ou(n,a.precedence,e),t.instance=n;case"stylesheet":i=el(a.href);var s=e.querySelector($l(i));if(s)return t.state.loading|=4,t.instance=s,Fe(s),s;n=Bh(a),(i=Ht.get(i))&&oc(n,i),s=(e.ownerDocument||e).createElement("link"),Fe(s);var o=s;return o._p=new Promise(function(m,b){o.onload=m,o.onerror=b}),at(s,"link",n),t.state.loading|=4,Ou(s,a.precedence,e),t.instance=s;case"script":return s=tl(a.src),(i=e.querySelector(Pl(s)))?(t.instance=i,Fe(i),i):(n=a,(i=Ht.get(s))&&(n=x({},a),fc(n,i)),e=e.ownerDocument||e,i=e.createElement("script"),Fe(i),at(i,"link",n),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(c(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Ou(n,a.precedence,e));return t.instance}function Ou(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=n.length?n[n.length-1]:null,s=i,o=0;o title"):null)}function Vp(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Gh(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Zp(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=el(n.href),s=t.querySelector($l(i));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ju.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=s,Fe(s);return}s=t.ownerDocument||t,n=Bh(n),(i=Ht.get(i))&&oc(n,i),s=s.createElement("link"),Fe(s);var o=s;o._p=new Promise(function(m,b){o.onload=m,o.onerror=b}),at(s,"link",n),a.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ju.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var dc=0;function Kp(e,t){return e.stylesheets&&e.count===0&&Cu(e,e.stylesheets),0dc?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(i)}}:null}function ju(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Cu(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Au=null;function Cu(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Au=new Map,t.forEach(Jp,e),Au=null,ju.call(e))}function Jp(e,t){if(!(t.state.loading&4)){var a=Au.get(e);if(a)var n=a.get(null);else{a=new Map,Au.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(u){console.error(u)}}return l(),Sc.exports=f0(),Sc.exports}var h0=d0();var hm="popstate";function m0(l={}){function u(c,f){let{pathname:d,search:h,hash:p}=c.location;return Dc("",{pathname:d,search:h,hash:p},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function r(c,f){return typeof f=="string"?f:oi(f)}return g0(u,r,null,l)}function Ue(l,u){if(l===!1||l===null||typeof l>"u")throw new Error(u)}function Lt(l,u){if(!l){typeof console<"u"&&console.warn(u);try{throw new Error(u)}catch{}}}function y0(){return Math.random().toString(36).substring(2,10)}function mm(l,u){return{usr:l.state,key:l.key,idx:u}}function Dc(l,u,r=null,c){return{pathname:typeof l=="string"?l:l.pathname,search:"",hash:"",...typeof u=="string"?il(u):u,state:r,key:u&&u.key||c||y0()}}function oi({pathname:l="/",search:u="",hash:r=""}){return u&&u!=="?"&&(l+=u.charAt(0)==="?"?u:"?"+u),r&&r!=="#"&&(l+=r.charAt(0)==="#"?r:"#"+r),l}function il(l){let u={};if(l){let r=l.indexOf("#");r>=0&&(u.hash=l.substring(r),l=l.substring(0,r));let c=l.indexOf("?");c>=0&&(u.search=l.substring(c),l=l.substring(0,c)),l&&(u.pathname=l)}return u}function g0(l,u,r,c={}){let{window:f=document.defaultView,v5Compat:d=!1}=c,h=f.history,p="POP",y=null,v=S();v==null&&(v=0,h.replaceState({...h.state,idx:v},""));function S(){return(h.state||{idx:null}).idx}function x(){p="POP";let D=S(),k=D==null?null:D-v;v=D,y&&y({action:p,location:q.location,delta:k})}function _(D,k){p="PUSH";let G=Dc(q.location,D,k);v=S()+1;let Z=mm(G,v),P=q.createHref(G);try{h.pushState(Z,"",P)}catch(ae){if(ae instanceof DOMException&&ae.name==="DataCloneError")throw ae;f.location.assign(P)}d&&y&&y({action:p,location:q.location,delta:1})}function z(D,k){p="REPLACE";let G=Dc(q.location,D,k);v=S();let Z=mm(G,v),P=q.createHref(G);h.replaceState(Z,"",P),d&&y&&y({action:p,location:q.location,delta:0})}function Y(D){return p0(D)}let q={get action(){return p},get location(){return l(f,h)},listen(D){if(y)throw new Error("A history only accepts one active listener");return f.addEventListener(hm,x),y=D,()=>{f.removeEventListener(hm,x),y=null}},createHref(D){return u(f,D)},createURL:Y,encodeLocation(D){let k=Y(D);return{pathname:k.pathname,search:k.search,hash:k.hash}},push:_,replace:z,go(D){return h.go(D)}};return q}function p0(l,u=!1){let r="http://localhost";typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),Ue(r,"No window.location.(origin|href) available to create URL");let c=typeof l=="string"?l:oi(l);return c=c.replace(/ $/,"%20"),!u&&c.startsWith("//")&&(c=r+c),new URL(c,r)}function Gm(l,u,r="/"){return v0(l,u,r,!1)}function v0(l,u,r,c){let f=typeof u=="string"?il(u):u,d=ba(f.pathname||"/",r);if(d==null)return null;let h=Xm(l);b0(h);let p=null;for(let y=0;p==null&&y{let S={relativePath:v===void 0?h.path||"":v,caseSensitive:h.caseSensitive===!0,childrenIndex:p,route:h};if(S.relativePath.startsWith("/")){if(!S.relativePath.startsWith(c)&&y)return;Ue(S.relativePath.startsWith(c),`Absolute route path "${S.relativePath}" nested under path "${c}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),S.relativePath=S.relativePath.slice(c.length)}let x=va([c,S.relativePath]),_=r.concat(S);h.children&&h.children.length>0&&(Ue(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${x}".`),Xm(h.children,u,_,x,y)),!(h.path==null&&!h.index)&&u.push({path:x,score:N0(x,h.index),routesMeta:_})};return l.forEach((h,p)=>{if(h.path===""||!h.path?.includes("?"))d(h,p);else for(let y of Vm(h.path))d(h,p,!0,y)}),u}function Vm(l){let u=l.split("/");if(u.length===0)return[];let[r,...c]=u,f=r.endsWith("?"),d=r.replace(/\?$/,"");if(c.length===0)return f?[d,""]:[d];let h=Vm(c.join("/")),p=[];return p.push(...h.map(y=>y===""?d:[d,y].join("/"))),f&&p.push(...h),p.map(y=>l.startsWith("/")&&y===""?"/":y)}function b0(l){l.sort((u,r)=>u.score!==r.score?r.score-u.score:j0(u.routesMeta.map(c=>c.childrenIndex),r.routesMeta.map(c=>c.childrenIndex)))}var x0=/^:[\w-]+$/,S0=3,E0=2,w0=1,T0=10,O0=-2,ym=l=>l==="*";function N0(l,u){let r=l.split("/"),c=r.length;return r.some(ym)&&(c+=O0),u&&(c+=E0),r.filter(f=>!ym(f)).reduce((f,d)=>f+(x0.test(d)?S0:d===""?w0:T0),c)}function j0(l,u){return l.length===u.length&&l.slice(0,-1).every((c,f)=>c===u[f])?l[l.length-1]-u[u.length-1]:0}function A0(l,u,r=!1){let{routesMeta:c}=l,f={},d="/",h=[];for(let p=0;p{if(S==="*"){let Y=p[_]||"";h=d.slice(0,d.length-Y.length).replace(/(.)\/+$/,"$1")}const z=p[_];return x&&!z?v[S]=void 0:v[S]=(z||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:h,pattern:l}}function C0(l,u=!1,r=!0){Lt(l==="*"||!l.endsWith("*")||l.endsWith("/*"),`Route path "${l}" will be treated as if it were "${l.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${l.replace(/\*$/,"/*")}".`);let c=[],f="^"+l.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,p,y)=>(c.push({paramName:p,isOptional:y!=null}),y?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return l.endsWith("*")?(c.push({paramName:"*"}),f+=l==="*"||l==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?f+="\\/*$":l!==""&&l!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,u?void 0:"i"),c]}function M0(l){try{return l.split("/").map(u=>decodeURIComponent(u).replace(/\//g,"%2F")).join("/")}catch(u){return Lt(!1,`The URL path "${l}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${u}).`),l}}function ba(l,u){if(u==="/")return l;if(!l.toLowerCase().startsWith(u.toLowerCase()))return null;let r=u.endsWith("/")?u.length-1:u.length,c=l.charAt(r);return c&&c!=="/"?null:l.slice(r)||"/"}var D0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function z0(l,u="/"){let{pathname:r,search:c="",hash:f=""}=typeof l=="string"?il(l):l,d;return r?(r=r.replace(/\/\/+/g,"/"),r.startsWith("/")?d=gm(r.substring(1),"/"):d=gm(r,u)):d=u,{pathname:d,search:U0(c),hash:H0(f)}}function gm(l,u){let r=u.replace(/\/+$/,"").split("/");return l.split("/").forEach(f=>{f===".."?r.length>1&&r.pop():f!=="."&&r.push(f)}),r.length>1?r.join("/"):"/"}function Oc(l,u,r,c){return`Cannot include a '${l}' character in a manually specified \`to.${u}\` field [${JSON.stringify(c)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function R0(l){return l.filter((u,r)=>r===0||u.route.path&&u.route.path.length>0)}function Gc(l){let u=R0(l);return u.map((r,c)=>c===u.length-1?r.pathname:r.pathnameBase)}function Xc(l,u,r,c=!1){let f;typeof l=="string"?f=il(l):(f={...l},Ue(!f.pathname||!f.pathname.includes("?"),Oc("?","pathname","search",f)),Ue(!f.pathname||!f.pathname.includes("#"),Oc("#","pathname","hash",f)),Ue(!f.search||!f.search.includes("#"),Oc("#","search","hash",f)));let d=l===""||f.pathname==="",h=d?"/":f.pathname,p;if(h==null)p=r;else{let x=u.length-1;if(!c&&h.startsWith("..")){let _=h.split("/");for(;_[0]==="..";)_.shift(),x-=1;f.pathname=_.join("/")}p=x>=0?u[x]:"/"}let y=z0(f,p),v=h&&h!=="/"&&h.endsWith("/"),S=(d||h===".")&&r.endsWith("/");return!y.pathname.endsWith("/")&&(v||S)&&(y.pathname+="/"),y}var va=l=>l.join("/").replace(/\/\/+/g,"/"),_0=l=>l.replace(/\/+$/,"").replace(/^\/*/,"/"),U0=l=>!l||l==="?"?"":l.startsWith("?")?l:"?"+l,H0=l=>!l||l==="#"?"":l.startsWith("#")?l:"#"+l,L0=class{constructor(l,u,r,c=!1){this.status=l,this.statusText=u||"",this.internal=c,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function q0(l){return l!=null&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.internal=="boolean"&&"data"in l}function B0(l){return l.map(u=>u.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Zm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Km(l,u){let r=l;if(typeof r!="string"||!D0.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let c=r,f=!1;if(Zm)try{let d=new URL(window.location.href),h=r.startsWith("//")?new URL(d.protocol+r):new URL(r),p=ba(h.pathname,u);h.origin===d.origin&&p!=null?r=p+h.search+h.hash:f=!0}catch{Lt(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:c,isExternal:f,to:r}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Jm=["POST","PUT","PATCH","DELETE"];new Set(Jm);var Y0=["GET",...Jm];new Set(Y0);var ul=O.createContext(null);ul.displayName="DataRouter";var $u=O.createContext(null);$u.displayName="DataRouterState";var k0=O.createContext(!1),Fm=O.createContext({isTransitioning:!1});Fm.displayName="ViewTransition";var Q0=O.createContext(new Map);Q0.displayName="Fetchers";var G0=O.createContext(null);G0.displayName="Await";var Nt=O.createContext(null);Nt.displayName="Navigation";var pi=O.createContext(null);pi.displayName="Location";var Gt=O.createContext({outlet:null,matches:[],isDataRoute:!1});Gt.displayName="Route";var Vc=O.createContext(null);Vc.displayName="RouteError";var Wm="REACT_ROUTER_ERROR",X0="REDIRECT",V0="ROUTE_ERROR_RESPONSE";function Z0(l){if(l.startsWith(`${Wm}:${X0}:{`))try{let u=JSON.parse(l.slice(28));if(typeof u=="object"&&u&&typeof u.status=="number"&&typeof u.statusText=="string"&&typeof u.location=="string"&&typeof u.reloadDocument=="boolean"&&typeof u.replace=="boolean")return u}catch{}}function K0(l){if(l.startsWith(`${Wm}:${V0}:{`))try{let u=JSON.parse(l.slice(40));if(typeof u=="object"&&u&&typeof u.status=="number"&&typeof u.statusText=="string")return new L0(u.status,u.statusText,u.data)}catch{}}function J0(l,{relative:u}={}){Ue(rl(),"useHref() may be used only in the context of a component.");let{basename:r,navigator:c}=O.useContext(Nt),{hash:f,pathname:d,search:h}=vi(l,{relative:u}),p=d;return r!=="/"&&(p=d==="/"?r:va([r,d])),c.createHref({pathname:p,search:h,hash:f})}function rl(){return O.useContext(pi)!=null}function $t(){return Ue(rl(),"useLocation() may be used only in the context of a component."),O.useContext(pi).location}var $m="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Pm(l){O.useContext(Nt).static||O.useLayoutEffect(l)}function sl(){let{isDataRoute:l}=O.useContext(Gt);return l?cv():F0()}function F0(){Ue(rl(),"useNavigate() may be used only in the context of a component.");let l=O.useContext(ul),{basename:u,navigator:r}=O.useContext(Nt),{matches:c}=O.useContext(Gt),{pathname:f}=$t(),d=JSON.stringify(Gc(c)),h=O.useRef(!1);return Pm(()=>{h.current=!0}),O.useCallback((y,v={})=>{if(Lt(h.current,$m),!h.current)return;if(typeof y=="number"){r.go(y);return}let S=Xc(y,JSON.parse(d),f,v.relative==="path");l==null&&u!=="/"&&(S.pathname=S.pathname==="/"?u:va([u,S.pathname])),(v.replace?r.replace:r.push)(S,v.state,v)},[u,r,d,f,l])}var W0=O.createContext(null);function $0(l){let u=O.useContext(Gt).outlet;return O.useMemo(()=>u&&O.createElement(W0.Provider,{value:l},u),[u,l])}function vi(l,{relative:u}={}){let{matches:r}=O.useContext(Gt),{pathname:c}=$t(),f=JSON.stringify(Gc(r));return O.useMemo(()=>Xc(l,JSON.parse(f),c,u==="path"),[l,f,c,u])}function P0(l,u){return Im(l,u)}function Im(l,u,r,c,f){Ue(rl(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=O.useContext(Nt),{matches:h}=O.useContext(Gt),p=h[h.length-1],y=p?p.params:{},v=p?p.pathname:"/",S=p?p.pathnameBase:"/",x=p&&p.route;{let G=x&&x.path||"";ty(v,!x||G.endsWith("*")||G.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let _=$t(),z;if(u){let G=typeof u=="string"?il(u):u;Ue(S==="/"||G.pathname?.startsWith(S),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${S}" but pathname "${G.pathname}" was given in the \`location\` prop.`),z=G}else z=_;let Y=z.pathname||"/",q=Y;if(S!=="/"){let G=S.replace(/^\//,"").split("/");q="/"+Y.replace(/^\//,"").split("/").slice(G.length).join("/")}let D=Gm(l,{pathname:q});Lt(x||D!=null,`No routes matched location "${z.pathname}${z.search}${z.hash}" `),Lt(D==null||D[D.length-1].route.element!==void 0||D[D.length-1].route.Component!==void 0||D[D.length-1].route.lazy!==void 0,`Matched leaf route at location "${z.pathname}${z.search}${z.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let k=nv(D&&D.map(G=>Object.assign({},G,{params:Object.assign({},y,G.params),pathname:va([S,d.encodeLocation?d.encodeLocation(G.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:G.pathname]),pathnameBase:G.pathnameBase==="/"?S:va([S,d.encodeLocation?d.encodeLocation(G.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:G.pathnameBase])})),h,r,c,f);return u&&k?O.createElement(pi.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...z},navigationType:"POP"}},k):k}function I0(){let l=sv(),u=q0(l)?`${l.status} ${l.statusText}`:l instanceof Error?l.message:JSON.stringify(l),r=l instanceof Error?l.stack:null,c="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:c},d={padding:"2px 4px",backgroundColor:c},h=null;return console.error("Error handled by React Router default ErrorBoundary:",l),h=O.createElement(O.Fragment,null,O.createElement("p",null,"💿 Hey developer 👋"),O.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",O.createElement("code",{style:d},"ErrorBoundary")," or"," ",O.createElement("code",{style:d},"errorElement")," prop on your route.")),O.createElement(O.Fragment,null,O.createElement("h2",null,"Unexpected Application Error!"),O.createElement("h3",{style:{fontStyle:"italic"}},u),r?O.createElement("pre",{style:f},r):null,h)}var ev=O.createElement(I0,null),ey=class extends O.Component{constructor(l){super(l),this.state={location:l.location,revalidation:l.revalidation,error:l.error}}static getDerivedStateFromError(l){return{error:l}}static getDerivedStateFromProps(l,u){return u.location!==l.location||u.revalidation!=="idle"&&l.revalidation==="idle"?{error:l.error,location:l.location,revalidation:l.revalidation}:{error:l.error!==void 0?l.error:u.error,location:u.location,revalidation:l.revalidation||u.revalidation}}componentDidCatch(l,u){this.props.onError?this.props.onError(l,u):console.error("React Router caught the following error during render",l)}render(){let l=this.state.error;if(this.context&&typeof l=="object"&&l&&"digest"in l&&typeof l.digest=="string"){const r=K0(l.digest);r&&(l=r)}let u=l!==void 0?O.createElement(Gt.Provider,{value:this.props.routeContext},O.createElement(Vc.Provider,{value:l,children:this.props.component})):this.props.children;return this.context?O.createElement(tv,{error:l},u):u}};ey.contextType=k0;var Nc=new WeakMap;function tv({children:l,error:u}){let{basename:r}=O.useContext(Nt);if(typeof u=="object"&&u&&"digest"in u&&typeof u.digest=="string"){let c=Z0(u.digest);if(c){let f=Nc.get(u);if(f)throw f;let d=Km(c.location,r);if(Zm&&!Nc.get(u))if(d.isExternal||c.reloadDocument)window.location.href=d.absoluteURL||d.to;else{const h=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:c.replace}));throw Nc.set(u,h),h}return O.createElement("meta",{httpEquiv:"refresh",content:`0;url=${d.absoluteURL||d.to}`})}}return l}function av({routeContext:l,match:u,children:r}){let c=O.useContext(ul);return c&&c.static&&c.staticContext&&(u.route.errorElement||u.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=u.route.id),O.createElement(Gt.Provider,{value:l},r)}function nv(l,u=[],r=null,c=null,f=null){if(l==null){if(!r)return null;if(r.errors)l=r.matches;else if(u.length===0&&!r.initialized&&r.matches.length>0)l=r.matches;else return null}let d=l,h=r?.errors;if(h!=null){let S=d.findIndex(x=>x.route.id&&h?.[x.route.id]!==void 0);Ue(S>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(h).join(",")}`),d=d.slice(0,Math.min(d.length,S+1))}let p=!1,y=-1;if(r)for(let S=0;S=0?d=d.slice(0,y+1):d=[d[0]];break}}}let v=r&&c?(S,x)=>{c(S,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:B0(r.matches),errorInfo:x})}:void 0;return d.reduceRight((S,x,_)=>{let z,Y=!1,q=null,D=null;r&&(z=h&&x.route.id?h[x.route.id]:void 0,q=x.route.errorElement||ev,p&&(y<0&&_===0?(ty("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),Y=!0,D=null):y===_&&(Y=!0,D=x.route.hydrateFallbackElement||null)));let k=u.concat(d.slice(0,_+1)),G=()=>{let Z;return z?Z=q:Y?Z=D:x.route.Component?Z=O.createElement(x.route.Component,null):x.route.element?Z=x.route.element:Z=S,O.createElement(av,{match:x,routeContext:{outlet:S,matches:k,isDataRoute:r!=null},children:Z})};return r&&(x.route.ErrorBoundary||x.route.errorElement||_===0)?O.createElement(ey,{location:r.location,revalidation:r.revalidation,component:q,error:z,children:G(),routeContext:{outlet:null,matches:k,isDataRoute:!0},onError:v}):G()},null)}function Zc(l){return`${l} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function lv(l){let u=O.useContext(ul);return Ue(u,Zc(l)),u}function iv(l){let u=O.useContext($u);return Ue(u,Zc(l)),u}function uv(l){let u=O.useContext(Gt);return Ue(u,Zc(l)),u}function Kc(l){let u=uv(l),r=u.matches[u.matches.length-1];return Ue(r.route.id,`${l} can only be used on routes that contain a unique "id"`),r.route.id}function rv(){return Kc("useRouteId")}function sv(){let l=O.useContext(Vc),u=iv("useRouteError"),r=Kc("useRouteError");return l!==void 0?l:u.errors?.[r]}function cv(){let{router:l}=lv("useNavigate"),u=Kc("useNavigate"),r=O.useRef(!1);return Pm(()=>{r.current=!0}),O.useCallback(async(f,d={})=>{Lt(r.current,$m),r.current&&(typeof f=="number"?await l.navigate(f):await l.navigate(f,{fromRouteId:u,...d}))},[l,u])}var pm={};function ty(l,u,r){!u&&!pm[l]&&(pm[l]=!0,Lt(!1,r))}O.memo(ov);function ov({routes:l,future:u,state:r,onError:c}){return Im(l,void 0,r,c,u)}function Qu({to:l,replace:u,state:r,relative:c}){Ue(rl()," may be used only in the context of a component.");let{static:f}=O.useContext(Nt);Lt(!f," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:d}=O.useContext(Gt),{pathname:h}=$t(),p=sl(),y=Xc(l,Gc(d),h,c==="path"),v=JSON.stringify(y);return O.useEffect(()=>{p(JSON.parse(v),{replace:u,state:r,relative:c})},[p,v,c,u,r]),null}function fv(l){return $0(l.context)}function Wt(l){Ue(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function dv({basename:l="/",children:u=null,location:r,navigationType:c="POP",navigator:f,static:d=!1,unstable_useTransitions:h}){Ue(!rl(),"You cannot render a inside another . You should never have more than one in your app.");let p=l.replace(/^\/*/,"/"),y=O.useMemo(()=>({basename:p,navigator:f,static:d,unstable_useTransitions:h,future:{}}),[p,f,d,h]);typeof r=="string"&&(r=il(r));let{pathname:v="/",search:S="",hash:x="",state:_=null,key:z="default"}=r,Y=O.useMemo(()=>{let q=ba(v,p);return q==null?null:{location:{pathname:q,search:S,hash:x,state:_,key:z},navigationType:c}},[p,v,S,x,_,z,c]);return Lt(Y!=null,` is not able to match the URL "${v}${S}${x}" because it does not start with the basename, so the won't render anything.`),Y==null?null:O.createElement(Nt.Provider,{value:y},O.createElement(pi.Provider,{children:u,value:Y}))}function hv({children:l,location:u}){return P0(zc(l),u)}function zc(l,u=[]){let r=[];return O.Children.forEach(l,(c,f)=>{if(!O.isValidElement(c))return;let d=[...u,f];if(c.type===O.Fragment){r.push.apply(r,zc(c.props.children,d));return}Ue(c.type===Wt,`[${typeof c.type=="string"?c.type:c.type.name}] is not a component. All component children of must be a or `),Ue(!c.props.index||!c.props.children,"An index route cannot have child routes.");let h={id:c.props.id||d.join("-"),caseSensitive:c.props.caseSensitive,element:c.props.element,Component:c.props.Component,index:c.props.index,path:c.props.path,middleware:c.props.middleware,loader:c.props.loader,action:c.props.action,hydrateFallbackElement:c.props.hydrateFallbackElement,HydrateFallback:c.props.HydrateFallback,errorElement:c.props.errorElement,ErrorBoundary:c.props.ErrorBoundary,hasErrorBoundary:c.props.hasErrorBoundary===!0||c.props.ErrorBoundary!=null||c.props.errorElement!=null,shouldRevalidate:c.props.shouldRevalidate,handle:c.props.handle,lazy:c.props.lazy};c.props.children&&(h.children=zc(c.props.children,d)),r.push(h)}),r}var Gu="get",Xu="application/x-www-form-urlencoded";function Pu(l){return typeof HTMLElement<"u"&&l instanceof HTMLElement}function mv(l){return Pu(l)&&l.tagName.toLowerCase()==="button"}function yv(l){return Pu(l)&&l.tagName.toLowerCase()==="form"}function gv(l){return Pu(l)&&l.tagName.toLowerCase()==="input"}function pv(l){return!!(l.metaKey||l.altKey||l.ctrlKey||l.shiftKey)}function vv(l,u){return l.button===0&&(!u||u==="_self")&&!pv(l)}function Rc(l=""){return new URLSearchParams(typeof l=="string"||Array.isArray(l)||l instanceof URLSearchParams?l:Object.keys(l).reduce((u,r)=>{let c=l[r];return u.concat(Array.isArray(c)?c.map(f=>[r,f]):[[r,c]])},[]))}function bv(l,u){let r=Rc(l);return u&&u.forEach((c,f)=>{r.has(f)||u.getAll(f).forEach(d=>{r.append(f,d)})}),r}var qu=null;function xv(){if(qu===null)try{new FormData(document.createElement("form"),0),qu=!1}catch{qu=!0}return qu}var Sv=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function jc(l){return l!=null&&!Sv.has(l)?(Lt(!1,`"${l}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Xu}"`),null):l}function Ev(l,u){let r,c,f,d,h;if(yv(l)){let p=l.getAttribute("action");c=p?ba(p,u):null,r=l.getAttribute("method")||Gu,f=jc(l.getAttribute("enctype"))||Xu,d=new FormData(l)}else if(mv(l)||gv(l)&&(l.type==="submit"||l.type==="image")){let p=l.form;if(p==null)throw new Error('Cannot submit a + + + + + )} )} diff --git a/src/components/TaskItem.tsx b/src/components/TaskItem.tsx index c449169..e1a65b3 100644 --- a/src/components/TaskItem.tsx +++ b/src/components/TaskItem.tsx @@ -117,6 +117,16 @@ export function TaskItem({ task, onClick, showProject = false }: TaskItemProps) + {/* Assignee avatar */} + {task.assignee && ( + + {task.assignee.name.charAt(0).toUpperCase()} + + )} + {/* Priority flag */} {task.priority !== 'p4' && ( setSelectedTask(task)} + > +
+ {/* Priority indicator */} + +
+

+ {task.title} +

+ + {task.description && ( +

+ {task.description} +

+ )} + +
+ {task.dueDate && ( + + + {formatDate(task.dueDate)} + + )} + + {task.assignee && ( + + {task.assignee.name.charAt(0).toUpperCase()} + + )} +
+
+
+ + ); +} + +function BoardColumn({ + title, + tasks, + projectId, + sectionId, +}: { + title: string; + tasks: Task[]; + projectId: string; + sectionId?: string; +}) { + return ( +
+ {/* Column header */} +
+

+ {title} + {tasks.length} +

+
+ + {/* Tasks */} +
+ {tasks.map((task) => ( + + ))} +
+ + {/* Add task */} +
+ +
+
+ ); +} + +export function BoardView({ project, sections, tasks, isLoading }: BoardViewProps) { + if (isLoading) { + return ( +
Loading tasks...
+ ); + } + + const unsectionedTasks = tasks.filter((t) => !t.sectionId); + const columns = [ + { title: 'No Section', tasks: unsectionedTasks, sectionId: undefined }, + ...sections.map((section) => ({ + title: section.name, + tasks: tasks.filter((t) => t.sectionId === section.id), + sectionId: section.id, + })), + ]; + + return ( +
+ {columns.map((col) => ( + + ))} +
+ ); +} diff --git a/src/pages/Project.tsx b/src/pages/Project.tsx new file mode 100644 index 0000000..065b41c --- /dev/null +++ b/src/pages/Project.tsx @@ -0,0 +1,147 @@ +import { useEffect, useState } from 'react'; +import { useParams, useNavigate, useLocation } from 'react-router-dom'; +import { LayoutList, LayoutGrid, Plus } from 'lucide-react'; +import { cn } from '@/lib/utils'; +import { useTasksStore } from '@/stores/tasks'; +import { TaskItem } from '@/components/TaskItem'; +import { AddTask } from '@/components/AddTask'; +import { BoardView } from '@/pages/Board'; +import { api } from '@/lib/api'; +import type { Project as ProjectType, Section } from '@/types'; + +export function ProjectPage() { + const { id } = useParams<{ id: string }>(); + const location = useLocation(); + const navigate = useNavigate(); + const { tasks, isLoading, fetchTasks, setSelectedTask } = useTasksStore(); + const [project, setProject] = useState(null); + const [sections, setSections] = useState([]); + + const isBoardView = location.pathname.endsWith('/board'); + + useEffect(() => { + if (!id) return; + fetchTasks({ projectId: id, completed: false }); + api.getProject(id).then((p) => { + setProject(p); + setSections(p.sections || []); + }).catch(console.error); + }, [id]); + + if (!project) { + return ( +
+ Loading project... +
+ ); + } + + const toggleView = () => { + if (isBoardView) { + navigate(`/project/${id}`); + } else { + navigate(`/project/${id}/board`); + } + }; + + // Group tasks by section + const unsectionedTasks = tasks.filter((t) => !t.sectionId); + const tasksBySection = sections.map((section) => ({ + section, + tasks: tasks.filter((t) => t.sectionId === section.id), + })); + + return ( +
+ {/* Header */} +
+
+ +

{project.name}

+
+
+ + +
+
+ + {isBoardView ? ( + + ) : ( + /* List view */ +
+ {isLoading ? ( +
Loading tasks...
+ ) : ( + <> + {/* Unsectioned tasks */} + {unsectionedTasks.length > 0 && ( +
+ {unsectionedTasks.map((task) => ( + setSelectedTask(task)} + /> + ))} +
+ )} + + {/* Add task for unsectioned */} + + + {/* Sections */} + {tasksBySection.map(({ section, tasks: sectionTasks }) => ( +
+

+ {section.name} +

+
+ {sectionTasks.map((task) => ( + setSelectedTask(task)} + /> + ))} +
+ +
+ ))} + + )} +
+ )} +
+ ); +} diff --git a/src/stores/__tests__/tasks.test.ts b/src/stores/__tests__/tasks.test.ts index 15ac17c..6a2c9db 100644 --- a/src/stores/__tests__/tasks.test.ts +++ b/src/stores/__tests__/tasks.test.ts @@ -8,9 +8,11 @@ vi.mock('@/lib/api', () => ({ getTasks: vi.fn(), getProjects: vi.fn(), getLabels: vi.fn(), + getUsers: vi.fn(), createTask: vi.fn(), updateTask: vi.fn(), deleteTask: vi.fn(), + createProject: vi.fn(), }, })); @@ -62,6 +64,7 @@ describe('useTasksStore', () => { tasks: [], projects: [], labels: [], + users: [], isLoading: false, selectedTask: null, activeProjectId: null, @@ -74,6 +77,7 @@ describe('useTasksStore', () => { expect(state.tasks).toEqual([]); expect(state.projects).toEqual([]); expect(state.labels).toEqual([]); + expect(state.users).toEqual([]); expect(state.isLoading).toBe(false); expect(state.selectedTask).toBeNull(); expect(state.activeProjectId).toBeNull(); diff --git a/src/stores/tasks.ts b/src/stores/tasks.ts index e6e5007..9a9099c 100644 --- a/src/stores/tasks.ts +++ b/src/stores/tasks.ts @@ -1,11 +1,12 @@ import { create } from 'zustand'; -import type { Task, TaskCreate, TaskUpdate, Project, Label } from '@/types'; +import type { Task, TaskCreate, TaskUpdate, Project, Label, User } from '@/types'; import { api } from '@/lib/api'; interface TasksState { tasks: Task[]; projects: Project[]; labels: Label[]; + users: User[]; isLoading: boolean; // Selected items @@ -17,11 +18,13 @@ interface TasksState { fetchTasks: (params?: Parameters[0]) => Promise; fetchProjects: () => Promise; fetchLabels: () => Promise; + fetchUsers: () => Promise; createTask: (data: TaskCreate) => Promise; updateTask: (id: string, data: TaskUpdate) => Promise; deleteTask: (id: string) => Promise; toggleComplete: (id: string) => Promise; + createProject: (data: { name: string; color?: string; icon?: string }) => Promise; setSelectedTask: (task: Task | null) => void; setActiveProject: (projectId: string | null) => void; @@ -32,6 +35,7 @@ export const useTasksStore = create((set, get) => ({ tasks: [], projects: [], labels: [], + users: [], isLoading: false, selectedTask: null, activeProjectId: null, @@ -66,6 +70,15 @@ export const useTasksStore = create((set, get) => ({ } }, + fetchUsers: async () => { + try { + const users = await api.getUsers(); + set({ users }); + } catch (error) { + console.error('Failed to fetch users:', error); + } + }, + createTask: async (data) => { const task = await api.createTask(data); set((state) => ({ tasks: [task, ...state.tasks] })); @@ -90,6 +103,12 @@ export const useTasksStore = create((set, get) => ({ })); }, + createProject: async (data) => { + const project = await api.createProject(data); + set((state) => ({ projects: [...state.projects, project] })); + return project; + }, + toggleComplete: async (id) => { const task = get().tasks.find((t) => t.id === id); if (!task) return; diff --git a/vite.config.ts b/vite.config.ts index 89daf69..75f839a 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,4 +1,4 @@ -/// +/// import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import tailwindcss from '@tailwindcss/vite'