From b1ede54daba163964806a03baf59d85facfbb29b Mon Sep 17 00:00:00 2001 From: PJ Date: Mon, 27 Apr 2026 19:56:47 +0700 Subject: [PATCH] chore: rebuild inspect-ui dist without HtmlPanel Embedded SPA bundle no longer ships the iframe HTML viewer. --- inspect-ui/dist/assets/index-DGGVy3lK.css | 1 - .../{index-DzGEHe4c.js => index-jfR9BOx8.js} | 22 +++++++++---------- inspect-ui/dist/assets/index-t-0uLX7u.css | 1 + inspect-ui/dist/index.html | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 inspect-ui/dist/assets/index-DGGVy3lK.css rename inspect-ui/dist/assets/{index-DzGEHe4c.js => index-jfR9BOx8.js} (58%) create mode 100644 inspect-ui/dist/assets/index-t-0uLX7u.css diff --git a/inspect-ui/dist/assets/index-DGGVy3lK.css b/inspect-ui/dist/assets/index-DGGVy3lK.css deleted file mode 100644 index 7f718df..0000000 --- a/inspect-ui/dist/assets/index-DGGVy3lK.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-Medium.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-Bold.woff2) format("woff2")}body{font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--background);margin:0}:root{--background: #ffffff;--surface: #f7f7f7;--surface-elevated: #ffffff;--border: #e4e4e4;--border-strong: #c8c8c8;--text-primary: #111111;--text-muted: #6b6b6b;--accent-violation: #d32f2f;--accent-positive: #2e7d32;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=dark],:root[data-theme=dark] body{--background: #0e0e0e;--surface: #161616;--surface-elevated: #1d1d1d;--border: #2a2a2a;--border-strong: #3a3a3a;--text-primary: #f0f0f0;--text-muted: #9a9a9a;--accent-violation: #f06b6b;--accent-positive: #7cc47c}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--background: #0e0e0e;--surface: #161616;--surface-elevated: #1d1d1d;--border: #2a2a2a;--border-strong: #3a3a3a;--text-primary: #f0f0f0;--text-muted: #9a9a9a;--accent-violation: #f06b6b;--accent-positive: #7cc47c}}body{background:var(--background);color:var(--text-primary);margin:0;font-family:var(--font-mono)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);padding:4px 10px;cursor:pointer}button:hover{border-color:var(--border-strong)}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1 1 auto;min-height:0;padding:0;display:flex;flex-direction:column}.app-main>*{flex:1 1 auto;min-height:0}.run-table{width:100%;border-collapse:collapse;align-self:flex-start;flex:0 0 auto}.run-table th,.run-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border)}.run-table th{color:var(--text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.run-table tr:hover td{background:var(--surface)}.chip{display:inline-block;padding:2px 8px;border:1px solid var(--border-strong);border-radius:999px;font-size:11px}.chip-violation{border-color:var(--accent-violation);color:var(--accent-violation)}.chip-progress{border-color:var(--border-strong);color:var(--text-muted)}.detail-root{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-bottom:1px solid var(--border);flex:0 0 auto}.detail-toolbar-meta{display:flex;gap:16px;align-items:baseline;font-size:12px;color:var(--text-muted)}.detail-toolbar-meta strong{color:var(--text-primary);font-weight:500}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;color:var(--text-muted)}.theme-toggle:hover{color:var(--text-primary)}.theme-toggle svg{display:block}.detail-grid{flex:1 1 auto;display:grid;grid-template-columns:340px minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,130px);grid-template-areas:"actions before after" "metrics metrics metrics";gap:0;padding:0;min-height:0;overflow:hidden}.detail-grid>.detail-actions{grid-area:actions;min-height:0;overflow:hidden}.detail-grid>.detail-state-before,.detail-grid>.detail-state-after{display:flex;flex-direction:column;gap:0;min-height:0;min-width:0;overflow:hidden}.detail-grid>.detail-state-before{grid-area:before}.detail-grid>.detail-state-after{grid-area:after}.detail-grid>.detail-actions,.detail-grid>.detail-state-before{border-right:1px solid var(--border)}.detail-grid>.detail-state-before .screenshot-frame,.detail-grid>.detail-state-after .screenshot-frame,.detail-grid>.detail-state-before .screenshot-placeholder,.detail-grid>.detail-state-after .screenshot-placeholder{flex:1 1 auto;max-height:100%;max-width:100%;margin:0 auto;min-height:0}.detail-grid>.detail-metrics{grid-area:metrics;overflow:hidden;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--border)}.detail-grid>.detail-metrics .metrics-chart{flex:1 1 auto;min-height:0;max-height:100%}.detail-metrics .detail-panel-body{overflow:hidden}.detail-metrics-exceptions{padding:4px 8px;border-top:1px solid var(--border);overflow:auto;max-height:80px}.detail-panel{border:none;background:transparent;padding:0;min-height:0;display:flex;flex-direction:column}.detail-panel h2{margin:0;padding:4px 8px;font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);flex:0 0 auto}.detail-panel-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column}.detail-actions .detail-panel-body{padding:0}.status-block{padding:12px;color:var(--text-muted)}.status-error{color:var(--accent-violation)}.action-list{list-style:none;padding:0;margin:0;font-family:var(--font-mono);font-size:11px}.action-list-item{display:block;padding:3px 6px;border-left:2px solid transparent;cursor:pointer;color:var(--text-primary);outline:none}.action-list-item:focus-visible{outline:1px solid var(--text-primary);outline-offset:-1px}.action-list-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:baseline;column-gap:4px}.action-list-index{text-align:left;color:var(--text-muted);font-variant-numeric:tabular-nums}.action-list-body{display:inline-flex;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-list-verb{color:var(--text-primary);font-weight:500}.action-list-target{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-list-target-tag{color:var(--text-primary)}.action-list-markers{display:inline-flex;align-items:center;gap:6px;min-width:0}.action-list-elapsed{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;padding-left:8px}.action-list-item:hover{background:color-mix(in srgb,currentColor 6%,transparent)}.action-list-item:focus-visible{background:color-mix(in srgb,currentColor 8%,transparent)}.action-list-item[data-active=true]{background:color-mix(in srgb,currentColor 10%,transparent);border-left-color:currentColor}.action-list-item[data-active=true][data-violations=true]{border-left-color:var(--accent-violation)}.action-list-marker-violation{width:8px;height:8px;border-radius:50%;background:var(--accent-violation)}.action-list-marker-exception{width:8px;height:8px;border-radius:50%;border:1px solid var(--text-muted);background:transparent}.action-list-details{display:grid;grid-template-columns:20px 1fr;column-gap:4px;padding:2px 0;font-size:10px}.action-list-detail-row{grid-column:2;display:grid;grid-template-columns:70px 1fr;gap:6px;color:var(--text-muted)}.action-list-detail-label{color:var(--text-muted)}.action-list-detail-value{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-panel{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.hierarchy-filter{font-family:var(--font-mono);font-size:12px;padding:4px 8px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary)}.hierarchy-table-wrap{overflow:auto;max-height:480px;border:1px solid var(--border)}.hierarchy-table{width:100%;border-collapse:collapse}.hierarchy-table th{position:sticky;top:0;background:var(--surface-1);text-align:left;padding:4px 8px;font-weight:400;color:var(--text-secondary);border-bottom:1px solid var(--border)}.hierarchy-table td{padding:2px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--border-subtle, var(--border))}.hierarchy-table tr:hover td{background:var(--surface-2, transparent)}.hierarchy-tag{color:var(--text-secondary);max-width:140px}.hierarchy-id{color:var(--text-primary);max-width:160px}.hierarchy-text{max-width:320px;color:var(--text-primary)}.hierarchy-bounds{color:var(--text-secondary);text-align:right}.hierarchy-empty{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);padding:16px}.hierarchy-count{color:var(--text-secondary);font-size:11px}.html-panel{display:flex;flex-direction:column;gap:8px}.html-toolbar{display:flex;gap:4px}.html-tab{font-family:var(--font-mono);font-size:12px;padding:2px 10px;background:var(--surface-1);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer}.html-tab-active{color:var(--text-primary);border-color:var(--border-strong, var(--border))}.html-frame{width:100%;height:480px;border:1px solid var(--border);background:#fff}.html-source{font-family:var(--font-mono);font-size:11px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);padding:8px;margin:0;max-height:480px;overflow:auto;white-space:pre-wrap;word-break:break-all}.html-empty{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);padding:16px}.html-error{font-family:var(--font-mono);font-size:12px;color:var(--text-violation, #c33);padding:16px}.screenshot-frame{position:relative;width:100%;max-width:100%;max-height:100%;margin:0 auto;background:var(--surface);overflow:hidden}.screenshot-image{display:block;width:100%;height:100%;object-fit:contain}.screenshot-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.screenshot-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:240px;background:var(--surface);border:1px dashed var(--border-strong);color:var(--text-muted);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.snapshot-table{margin:0;padding:0;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.snapshot-row{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:12px;align-items:baseline;padding:4px 8px;border-left:2px solid transparent}.snapshot-row[data-changed=true]{border-left-color:var(--border-strong)}.snapshot-path{margin:0;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-value{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.snapshot-row[data-long-value=true] .snapshot-value{white-space:pre-wrap;max-height:6em;overflow-y:auto;text-align:left}.residual{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);line-height:1.6;word-break:break-word}.residual-leaf,.residual-unary,.residual-binary,.residual-group{display:inline}.residual-unary,.residual-binary{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px}.op-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:1px 4px;border:1px solid var(--border);border-radius:3px;background:var(--surface)}.residual-bound{color:var(--text-muted);font-size:11px}.residual-error{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border:1px solid var(--accent-violation);border-radius:3px;color:var(--accent-violation)}.residual-error .op-label{color:var(--accent-violation);border-color:var(--accent-violation);background:transparent}.residual-error-message{font-size:12px}.violations-panel{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);color:var(--text-primary)}.violations-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.violations-panel-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0}.violations-panel-jump{font-family:var(--font-mono);font-size:11px;text-transform:lowercase;padding:4px 8px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer}.violations-panel-jump:hover:not(:disabled){border-color:var(--border-strong)}.violations-panel-jump:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.violations-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.violations-panel-row{border:1px solid var(--border);border-radius:3px;padding:8px;background:var(--surface-elevated)}.violations-panel-row[data-status=violated]{border-color:var(--accent-violation)}.violations-panel-row-head{display:flex;align-items:center;gap:8px}.violations-panel-badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:3px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.violations-panel-badge[data-status=violated]{color:var(--accent-violation);border-color:var(--accent-violation);background:transparent}.violations-panel-badge[data-status=holds]{color:var(--text-muted);opacity:.7}.violations-panel-name{font-weight:700;font-size:13px}.violations-panel-residual{margin-top:6px;font-size:12px}.violations-panel-residual summary{cursor:pointer;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:2px 0;-webkit-user-select:none;user-select:none}.violations-panel-residual[open] summary{margin-bottom:6px}.exceptions-panel{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.exceptions-panel-toolbar{display:flex;justify-content:flex-end}.exceptions-panel-jump{font-family:var(--font-mono);font-size:11px}.exceptions-panel-jump:disabled{opacity:.5;cursor:not-allowed}.exceptions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.exceptions-row details{border:1px dashed var(--border-strong);background:var(--surface);padding:6px 8px}.exceptions-row details[open]{border-color:var(--text-primary)}.exceptions-summary{display:grid;grid-template-columns:8px auto auto minmax(0,1fr) auto;align-items:baseline;gap:6px;cursor:pointer;list-style:none;outline:none}.exceptions-summary::-webkit-details-marker{display:none}.exceptions-marker{width:8px;height:8px;border:1px dashed var(--text-primary);background:transparent;align-self:center}.exceptions-class{font-weight:700;white-space:nowrap}.exceptions-colon{color:var(--text-muted)}.exceptions-message{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exceptions-time{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.exceptions-stack{margin:8px 0 0;padding:8px;font-family:var(--font-mono);font-size:11px;background:var(--background);border:1px solid var(--border);max-height:220px;overflow-y:auto;white-space:pre}.metrics-chart{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;font-family:var(--font-mono);font-size:9px;color:var(--text-muted)}.metrics-lanes{flex:1 1 auto;position:relative;display:flex;flex-direction:column;min-height:0}.metrics-lane{flex:1 1 0;display:grid;grid-template-columns:18px minmax(0,1fr) 32px;align-items:stretch;min-height:0;border-bottom:1px solid var(--border)}.metrics-lane:last-of-type{border-bottom:none}.metrics-lane-label{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;font-weight:600;letter-spacing:.12em;border-right:1px solid var(--border)}.metrics-lane-plot{position:relative;min-width:0;min-height:0}.metrics-lane-canvas{position:absolute;top:4px;right:0;bottom:4px;left:0}.metrics-lane-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.metrics-lane-path{fill:none;stroke:var(--text-primary);stroke-width:1;vector-effect:non-scaling-stroke}.metrics-lane-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--text-primary);transform:translate(-50%,-50%);pointer-events:none}.metrics-lane-dot[data-active=true]{width:7px;height:7px}.metrics-lane-tooltip{position:absolute;padding:2px 6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:10px;white-space:nowrap;pointer-events:none;z-index:2}.metrics-lane-tooltip[data-placement=above]{transform:translate(-50%,calc(-100% - 6px))}.metrics-lane-tooltip[data-placement=below]{transform:translate(-50%,6px)}.metrics-lane-highlight{position:absolute;top:0;bottom:0;width:1px;background:var(--text-primary);opacity:.7;pointer-events:none}.metrics-lane-ticks{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:2px 6px;border-left:1px solid var(--border);font-variant-numeric:tabular-nums;font-size:9px}.metrics-hits{position:absolute;top:0;right:32px;bottom:0;left:18px;display:block;pointer-events:none}.metrics-hit{position:absolute;top:0;bottom:0;background:transparent;border:0;padding:0;margin:0;cursor:pointer;pointer-events:auto}.metrics-hit:hover{background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.metrics-axis{flex:0 0 auto;position:relative;height:20px;margin:0 32px 0 18px;border-top:1px solid var(--border)}.metrics-axis-label{position:absolute;top:2px;transform:translate(-50%);font-variant-numeric:tabular-nums;font-size:9px;white-space:nowrap}.tabs{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;font-family:var(--font-mono)}.tabs-header{display:flex;gap:0;border-bottom:1px solid var(--border);flex:0 0 auto;padding:0 4px}.tabs-tab{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;background:transparent;border:none;border-bottom:1px solid transparent;color:var(--text-muted);cursor:pointer;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px;outline:none}.tabs-tab:focus-visible{outline:1px solid var(--text-primary);outline-offset:-1px}.tabs-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;padding:0 4px;border:1px solid var(--border-strong);border-radius:999px;font-size:9px;line-height:1;letter-spacing:0}.tabs-tab[data-active=true] .tabs-badge{border-color:var(--text-primary)}.tabs-badge[data-kind=violation]{border-color:var(--accent-violation);color:var(--accent-violation)}.tabs-tab:hover{color:var(--text-primary)}.tabs-tab[data-active=true]{color:var(--text-primary);border-bottom-color:var(--text-primary)}.tabs-panel{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column} diff --git a/inspect-ui/dist/assets/index-DzGEHe4c.js b/inspect-ui/dist/assets/index-jfR9BOx8.js similarity index 58% rename from inspect-ui/dist/assets/index-DzGEHe4c.js rename to inspect-ui/dist/assets/index-jfR9BOx8.js index a94d2e8..dd0b054 100644 --- a/inspect-ui/dist/assets/index-DzGEHe4c.js +++ b/inspect-ui/dist/assets/index-jfR9BOx8.js @@ -1,4 +1,4 @@ -function Sf(e,t){for(var n=0;nr[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();function kf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Bu={exports:{}},yl={},Wu={exports:{}},M={};/** +function wf(e,t){for(var n=0;nr[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();function Sf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Vu={exports:{}},yl={},Bu={exports:{}},O={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ function Sf(e,t){for(var n=0;n>>1,ee=T[K];if(0>>1;Kl(Dl,z))Ntl(mr,Dl)?(T[K]=mr,T[Nt]=z,K=Nt):(T[K]=Dl,T[Et]=z,K=Et);else if(Ntl(mr,z))T[K]=mr,T[Nt]=z,K=Nt;else break e}}return I}function l(T,I){var z=T.sortIndex-I.sortIndex;return z!==0?z:T.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var u=[],a=[],h=1,f=null,d=3,y=!1,g=!1,S=!1,C=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,p=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(T){for(var I=n(a);I!==null;){if(I.callback===null)r(a);else if(I.startTime<=T)r(a),I.sortIndex=I.expirationTime,t(u,I);else break;I=n(a)}}function x(T){if(S=!1,v(T),!g)if(n(u)!==null)g=!0,Ol(E);else{var I=n(a);I!==null&&Fl(x,I.startTime-T)}}function E(T,I){g=!1,S&&(S=!1,m(N),N=-1),y=!0;var z=d;try{for(v(I),f=n(u);f!==null&&(!(f.expirationTime>I)||T&&!X());){var K=f.callback;if(typeof K=="function"){f.callback=null,d=f.priorityLevel;var ee=K(f.expirationTime<=I);I=e.unstable_now(),typeof ee=="function"?f.callback=ee:f===n(u)&&r(u),v(I)}else r(u);f=n(u)}if(f!==null)var hr=!0;else{var Et=n(a);Et!==null&&Fl(x,Et.startTime-I),hr=!1}return hr}finally{f=null,d=z,y=!1}}var _=!1,P=null,N=-1,R=5,L=-1;function X(){return!(e.unstable_now()-LT||125K?(T.sortIndex=z,t(a,T),n(u)===null&&T===n(a)&&(S?(m(N),N=-1):S=!0,Fl(x,z-K))):(T.sortIndex=ee,t(u,T),g||y||(g=!0,Ol(E))),T},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(T){var I=d;return function(){var z=d;d=I;try{return T.apply(this,arguments)}finally{d=z}}}})(na);ta.exports=na;var Qf=ta.exports;/** + */(function(e){function t(T,z){var I=T.length;T.push(z);e:for(;0>>1,ee=T[K];if(0>>1;Kl(Dl,I))Ntl(mr,Dl)?(T[K]=mr,T[Nt]=I,K=Nt):(T[K]=Dl,T[Et]=I,K=Et);else if(Ntl(mr,I))T[K]=mr,T[Nt]=I,K=Nt;else break e}}return z}function l(T,z){var I=T.sortIndex-z.sortIndex;return I!==0?I:T.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var u=[],a=[],h=1,f=null,d=3,y=!1,g=!1,w=!1,C=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,p=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(T){for(var z=n(a);z!==null;){if(z.callback===null)r(a);else if(z.startTime<=T)r(a),z.sortIndex=z.expirationTime,t(u,z);else break;z=n(a)}}function x(T){if(w=!1,v(T),!g)if(n(u)!==null)g=!0,Ml(E);else{var z=n(a);z!==null&&Fl(x,z.startTime-T)}}function E(T,z){g=!1,w&&(w=!1,m(N),N=-1),y=!0;var I=d;try{for(v(z),f=n(u);f!==null&&(!(f.expirationTime>z)||T&&!X());){var K=f.callback;if(typeof K=="function"){f.callback=null,d=f.priorityLevel;var ee=K(f.expirationTime<=z);z=e.unstable_now(),typeof ee=="function"?f.callback=ee:f===n(u)&&r(u),v(z)}else r(u);f=n(u)}if(f!==null)var hr=!0;else{var Et=n(a);Et!==null&&Fl(x,Et.startTime-z),hr=!1}return hr}finally{f=null,d=I,y=!1}}var _=!1,P=null,N=-1,R=5,L=-1;function X(){return!(e.unstable_now()-LT||125K?(T.sortIndex=I,t(a,T),n(u)===null&&T===n(a)&&(w?(m(N),N=-1):w=!0,Fl(x,I-K))):(T.sortIndex=ee,t(u,T),g||y||(g=!0,Ml(E))),T},e.unstable_shouldYield=X,e.unstable_wrapCallback=function(T){var z=d;return function(){var I=d;d=z;try{return T.apply(this,arguments)}finally{d=I}}}})(ta);ea.exports=ta;var Hf=ea.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ function Sf(e,t){for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fi=Object.prototype.hasOwnProperty,Gf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ps={},hs={};function Jf(e){return fi.call(hs,e)?!0:fi.call(ps,e)?!1:Gf.test(e)?hs[e]=!0:(ps[e]=!0,!1)}function Yf(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Xf(e,t,n,r){if(t===null||typeof t>"u"||Yf(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function pe(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var ie={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ie[e]=new pe(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ie[t]=new pe(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ie[e]=new pe(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ie[e]=new pe(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ie[e]=new pe(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ie[e]=new pe(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ie[e]=new pe(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ie[e]=new pe(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ie[e]=new pe(e,5,!1,e.toLowerCase(),null,!1,!1)});var po=/[\-:]([a-z])/g;function ho(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(po,ho);ie[t]=new pe(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(po,ho);ie[t]=new pe(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(po,ho);ie[t]=new pe(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ie[e]=new pe(e,1,!1,e.toLowerCase(),null,!1,!1)});ie.xlinkHref=new pe("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ie[e]=new pe(e,1,!1,e.toLowerCase(),null,!0,!0)});function mo(e,t,n,r){var l=ie.hasOwnProperty(t)?ie[t]:null;(l!==null?l.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fi=Object.prototype.hasOwnProperty,Kf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ps={},hs={};function Gf(e){return fi.call(hs,e)?!0:fi.call(ps,e)?!1:Kf.test(e)?hs[e]=!0:(ps[e]=!0,!1)}function Jf(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Yf(e,t,n,r){if(t===null||typeof t>"u"||Jf(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function pe(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var ie={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ie[e]=new pe(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ie[t]=new pe(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ie[e]=new pe(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ie[e]=new pe(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ie[e]=new pe(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ie[e]=new pe(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ie[e]=new pe(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ie[e]=new pe(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ie[e]=new pe(e,5,!1,e.toLowerCase(),null,!1,!1)});var po=/[\-:]([a-z])/g;function ho(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(po,ho);ie[t]=new pe(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(po,ho);ie[t]=new pe(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(po,ho);ie[t]=new pe(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ie[e]=new pe(e,1,!1,e.toLowerCase(),null,!1,!1)});ie.xlinkHref=new pe("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ie[e]=new pe(e,1,!1,e.toLowerCase(),null,!0,!0)});function mo(e,t,n,r){var l=ie.hasOwnProperty(t)?ie[t]:null;(l!==null?l.type!==0:r||!(2s||l[o]!==i[s]){var u=` -`+l[o].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=s);break}}}finally{Al=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Pn(e):""}function Zf(e){switch(e.tag){case 5:return Pn(e.type);case 16:return Pn("Lazy");case 13:return Pn("Suspense");case 19:return Pn("SuspenseList");case 0:case 2:case 15:return e=Vl(e.type,!1),e;case 11:return e=Vl(e.type.render,!1),e;case 1:return e=Vl(e.type,!0),e;default:return""}}function mi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Wt:return"Fragment";case Bt:return"Portal";case di:return"Profiler";case vo:return"StrictMode";case pi:return"Suspense";case hi:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ia:return(e.displayName||"Context")+".Consumer";case la:return(e._context.displayName||"Context")+".Provider";case go:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yo:return t=e.displayName||null,t!==null?t:mi(e.type)||"Memo";case tt:t=e._payload,e=e._init;try{return mi(e(t))}catch{}}return null}function qf(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return mi(t);case 8:return t===vo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function gt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function sa(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function bf(e){var t=sa(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function yr(e){e._valueTracker||(e._valueTracker=bf(e))}function ua(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=sa(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Gr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function vi(e,t){var n=t.checked;return W({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vs(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=gt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function aa(e,t){t=t.checked,t!=null&&mo(e,"checked",t,!1)}function gi(e,t){aa(e,t);var n=gt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?yi(e,t.type,n):t.hasOwnProperty("defaultValue")&&yi(e,t.type,gt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function gs(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function yi(e,t,n){(t!=="number"||Gr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Tn=Array.isArray;function tn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=xr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Wn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var zn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ed=["Webkit","ms","Moz","O"];Object.keys(zn).forEach(function(e){ed.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),zn[t]=zn[e]})});function pa(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||zn.hasOwnProperty(e)&&zn[e]?(""+t).trim():t+"px"}function ha(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=pa(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var td=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Si(e,t){if(t){if(td[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(k(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(k(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(k(61))}if(t.style!=null&&typeof t.style!="object")throw Error(k(62))}}function ki(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ei=null;function xo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ni=null,nn=null,rn=null;function ws(e){if(e=cr(e)){if(typeof Ni!="function")throw Error(k(280));var t=e.stateNode;t&&(t=El(t),Ni(e.stateNode,e.type,t))}}function ma(e){nn?rn?rn.push(e):rn=[e]:nn=e}function va(){if(nn){var e=nn,t=rn;if(rn=nn=null,ws(e),t)for(e=0;e>>=0,e===0?32:31-(dd(e)/pd|0)|0}var wr=64,Sr=4194304;function Ln(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Zr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~l;s!==0?r=Ln(s):(i&=o,i!==0&&(r=Ln(i)))}else o=n&~l,o!==0?r=Ln(o):i!==0&&(r=Ln(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ur(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function gd(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=On),Ts=" ",Ls=!1;function Fa(e,t){switch(e){case"keyup":return Qd.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Da(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ht=!1;function Gd(e,t){switch(e){case"compositionend":return Da(t);case"keypress":return t.which!==32?null:(Ls=!0,Ts);case"textInput":return e=t.data,e===Ts&&Ls?null:e;default:return null}}function Jd(e,t){if(Ht)return e==="compositionend"||!_o&&Fa(e,t)?(e=Ma(),$r=No=it=null,Ht=!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:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Ms(n)}}function Va(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Va(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ba(){for(var e=window,t=Gr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Gr(e.document)}return t}function Po(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")}function rp(e){var t=Ba(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Va(n.ownerDocument.documentElement,n)){if(r!==null&&Po(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=Os(n,i);var o=Os(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Qt=null,Li=null,Dn=null,Ri=!1;function Fs(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ri||Qt==null||Qt!==Gr(r)||(r=Qt,"selectionStart"in r&&Po(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Dn&&Yn(Dn,r)||(Dn=r,r=el(Li,"onSelect"),0Jt||(e.current=Di[Jt],Di[Jt]=null,Jt--)}function D(e,t){Jt++,Di[Jt]=e.current,e.current=t}var yt={},ae=wt(yt),ve=wt(!1),It=yt;function an(e,t){var n=e.type.contextTypes;if(!n)return yt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ge(e){return e=e.childContextTypes,e!=null}function nl(){U(ve),U(ae)}function Ws(e,t,n){if(ae.current!==yt)throw Error(k(168));D(ae,t),D(ve,n)}function Za(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(k(108,qf(e)||"Unknown",l));return W({},n,r)}function rl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||yt,It=ae.current,D(ae,e),D(ve,ve.current),!0}function Hs(e,t,n){var r=e.stateNode;if(!r)throw Error(k(169));n?(e=Za(e,t,It),r.__reactInternalMemoizedMergedChildContext=e,U(ve),U(ae),D(ae,e)):U(ve),D(ve,n)}var He=null,Nl=!1,ti=!1;function qa(e){He===null?He=[e]:He.push(e)}function mp(e){Nl=!0,qa(e)}function St(){if(!ti&&He!==null){ti=!0;var e=0,t=F;try{var n=He;for(F=1;e>=o,l-=o,Qe=1<<32-Oe(t)+l|n<N?(R=P,P=null):R=P.sibling;var L=d(m,P,v[N],x);if(L===null){P===null&&(P=R);break}e&&P&&L.alternate===null&&t(m,P),p=i(L,p,N),_===null?E=L:_.sibling=L,_=L,P=R}if(N===v.length)return n(m,P),A&&Ct(m,N),E;if(P===null){for(;NN?(R=P,P=null):R=P.sibling;var X=d(m,P,L.value,x);if(X===null){P===null&&(P=R);break}e&&P&&X.alternate===null&&t(m,P),p=i(X,p,N),_===null?E=X:_.sibling=X,_=X,P=R}if(L.done)return n(m,P),A&&Ct(m,N),E;if(P===null){for(;!L.done;N++,L=v.next())L=f(m,L.value,x),L!==null&&(p=i(L,p,N),_===null?E=L:_.sibling=L,_=L);return A&&Ct(m,N),E}for(P=r(m,P);!L.done;N++,L=v.next())L=y(P,m,N,L.value,x),L!==null&&(e&&L.alternate!==null&&P.delete(L.key===null?N:L.key),p=i(L,p,N),_===null?E=L:_.sibling=L,_=L);return e&&P.forEach(function(Q){return t(m,Q)}),A&&Ct(m,N),E}function C(m,p,v,x){if(typeof v=="object"&&v!==null&&v.type===Wt&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case gr:e:{for(var E=v.key,_=p;_!==null;){if(_.key===E){if(E=v.type,E===Wt){if(_.tag===7){n(m,_.sibling),p=l(_,v.props.children),p.return=m,m=p;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===tt&&Gs(E)===_.type){n(m,_.sibling),p=l(_,v.props),p.ref=Cn(m,_,v),p.return=m,m=p;break e}n(m,_);break}else t(m,_);_=_.sibling}v.type===Wt?(p=Rt(v.props.children,m.mode,x,v.key),p.return=m,m=p):(x=Kr(v.type,v.key,v.props,null,m.mode,x),x.ref=Cn(m,p,v),x.return=m,m=x)}return o(m);case Bt:e:{for(_=v.key;p!==null;){if(p.key===_)if(p.tag===4&&p.stateNode.containerInfo===v.containerInfo&&p.stateNode.implementation===v.implementation){n(m,p.sibling),p=l(p,v.children||[]),p.return=m,m=p;break e}else{n(m,p);break}else t(m,p);p=p.sibling}p=ai(v,m.mode,x),p.return=m,m=p}return o(m);case tt:return _=v._init,C(m,p,_(v._payload),x)}if(Tn(v))return g(m,p,v,x);if(wn(v))return S(m,p,v,x);Pr(m,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,p!==null&&p.tag===6?(n(m,p.sibling),p=l(p,v),p.return=m,m=p):(n(m,p),p=ui(v,m.mode,x),p.return=m,m=p),o(m)):n(m,p)}return C}var fn=nc(!0),rc=nc(!1),ol=wt(null),sl=null,Zt=null,Io=null;function zo(){Io=Zt=sl=null}function Mo(e){var t=ol.current;U(ol),e._currentValue=t}function Ai(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function on(e,t){sl=e,Io=Zt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(me=!0),e.firstContext=null)}function Te(e){var t=e._currentValue;if(Io!==e)if(e={context:e,memoizedValue:t,next:null},Zt===null){if(sl===null)throw Error(k(308));Zt=e,sl.dependencies={lanes:0,firstContext:e}}else Zt=Zt.next=e;return t}var Pt=null;function Oo(e){Pt===null?Pt=[e]:Pt.push(e)}function lc(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Oo(t)):(n.next=l.next,l.next=n),t.interleaved=n,Xe(e,r)}function Xe(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var nt=!1;function Fo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ic(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ge(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function dt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,O&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Xe(e,n)}return l=r.interleaved,l===null?(t.next=t,Oo(r)):(t.next=l.next,l.next=t),r.interleaved=t,Xe(e,n)}function Ar(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,So(e,n)}}function Js(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ul(e,t,n,r){var l=e.updateQueue;nt=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,s=l.shared.pending;if(s!==null){l.shared.pending=null;var u=s,a=u.next;u.next=null,o===null?i=a:o.next=a,o=u;var h=e.alternate;h!==null&&(h=h.updateQueue,s=h.lastBaseUpdate,s!==o&&(s===null?h.firstBaseUpdate=a:s.next=a,h.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;o=0,h=a=u=null,s=i;do{var d=s.lane,y=s.eventTime;if((r&d)===d){h!==null&&(h=h.next={eventTime:y,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var g=e,S=s;switch(d=t,y=n,S.tag){case 1:if(g=S.payload,typeof g=="function"){f=g.call(y,f,d);break e}f=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=S.payload,d=typeof g=="function"?g.call(y,f,d):g,d==null)break e;f=W({},f,d);break e;case 2:nt=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,d=l.effects,d===null?l.effects=[s]:d.push(s))}else y={eventTime:y,lane:d,tag:s.tag,payload:s.payload,callback:s.callback,next:null},h===null?(a=h=y,u=f):h=h.next=y,o|=d;if(s=s.next,s===null){if(s=l.shared.pending,s===null)break;d=s,s=d.next,d.next=null,l.lastBaseUpdate=d,l.shared.pending=null}}while(!0);if(h===null&&(u=f),l.baseState=u,l.firstBaseUpdate=a,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ot|=o,e.lanes=o,e.memoizedState=f}}function Ys(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=ri.transition;ri.transition={};try{e(!1),t()}finally{F=n,ri.transition=r}}function kc(){return Le().memoizedState}function xp(e,t,n){var r=ht(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ec(e))Nc(t,n);else if(n=lc(e,t,n,r),n!==null){var l=fe();Fe(n,e,r,l),Cc(n,t,r)}}function wp(e,t,n){var r=ht(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ec(e))Nc(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,s=i(o,n);if(l.hasEagerState=!0,l.eagerState=s,De(s,o)){var u=t.interleaved;u===null?(l.next=l,Oo(t)):(l.next=u.next,u.next=l),t.interleaved=l;return}}catch{}finally{}n=lc(e,t,l,r),n!==null&&(l=fe(),Fe(n,e,r,l),Cc(n,t,r))}}function Ec(e){var t=e.alternate;return e===B||t!==null&&t===B}function Nc(e,t){$n=cl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Cc(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,So(e,n)}}var fl={readContext:Te,useCallback:oe,useContext:oe,useEffect:oe,useImperativeHandle:oe,useInsertionEffect:oe,useLayoutEffect:oe,useMemo:oe,useReducer:oe,useRef:oe,useState:oe,useDebugValue:oe,useDeferredValue:oe,useTransition:oe,useMutableSource:oe,useSyncExternalStore:oe,useId:oe,unstable_isNewReconciler:!1},Sp={readContext:Te,useCallback:function(e,t){return Ue().memoizedState=[e,t===void 0?null:t],e},useContext:Te,useEffect:Zs,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Br(4194308,4,gc.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Br(4194308,4,e,t)},useInsertionEffect:function(e,t){return Br(4,2,e,t)},useMemo:function(e,t){var n=Ue();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ue();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=xp.bind(null,B,e),[r.memoizedState,e]},useRef:function(e){var t=Ue();return e={current:e},t.memoizedState=e},useState:Xs,useDebugValue:Ho,useDeferredValue:function(e){return Ue().memoizedState=e},useTransition:function(){var e=Xs(!1),t=e[0];return e=yp.bind(null,e[1]),Ue().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=B,l=Ue();if(A){if(n===void 0)throw Error(k(407));n=n()}else{if(n=t(),ne===null)throw Error(k(349));Mt&30||ac(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Zs(fc.bind(null,r,i,e),[e]),r.flags|=2048,rr(9,cc.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ue(),t=ne.identifierPrefix;if(A){var n=Ke,r=Qe;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=tr++,0")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=s);break}}}finally{Al=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Pn(e):""}function Xf(e){switch(e.tag){case 5:return Pn(e.type);case 16:return Pn("Lazy");case 13:return Pn("Suspense");case 19:return Pn("SuspenseList");case 0:case 2:case 15:return e=Vl(e.type,!1),e;case 11:return e=Vl(e.type.render,!1),e;case 1:return e=Vl(e.type,!0),e;default:return""}}function mi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Wt:return"Fragment";case Bt:return"Portal";case di:return"Profiler";case vo:return"StrictMode";case pi:return"Suspense";case hi:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case la:return(e.displayName||"Context")+".Consumer";case ra:return(e._context.displayName||"Context")+".Provider";case go:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yo:return t=e.displayName||null,t!==null?t:mi(e.type)||"Memo";case tt:t=e._payload,e=e._init;try{return mi(e(t))}catch{}}return null}function Zf(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return mi(t);case 8:return t===vo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function gt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function oa(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function qf(e){var t=oa(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function yr(e){e._valueTracker||(e._valueTracker=qf(e))}function sa(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=oa(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Gr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function vi(e,t){var n=t.checked;return W({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vs(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=gt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ua(e,t){t=t.checked,t!=null&&mo(e,"checked",t,!1)}function gi(e,t){ua(e,t);var n=gt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?yi(e,t.type,n):t.hasOwnProperty("defaultValue")&&yi(e,t.type,gt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function gs(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function yi(e,t,n){(t!=="number"||Gr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Tn=Array.isArray;function tn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=xr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Wn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var In={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},bf=["Webkit","ms","Moz","O"];Object.keys(In).forEach(function(e){bf.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),In[t]=In[e]})});function da(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||In.hasOwnProperty(e)&&In[e]?(""+t).trim():t+"px"}function pa(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=da(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var ed=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Si(e,t){if(t){if(ed[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(k(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(k(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(k(61))}if(t.style!=null&&typeof t.style!="object")throw Error(k(62))}}function ki(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ei=null;function xo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ni=null,nn=null,rn=null;function ws(e){if(e=cr(e)){if(typeof Ni!="function")throw Error(k(280));var t=e.stateNode;t&&(t=El(t),Ni(e.stateNode,e.type,t))}}function ha(e){nn?rn?rn.push(e):rn=[e]:nn=e}function ma(){if(nn){var e=nn,t=rn;if(rn=nn=null,ws(e),t)for(e=0;e>>=0,e===0?32:31-(fd(e)/dd|0)|0}var wr=64,Sr=4194304;function Ln(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Zr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~l;s!==0?r=Ln(s):(i&=o,i!==0&&(r=Ln(i)))}else o=n&~l,o!==0?r=Ln(o):i!==0&&(r=Ln(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ur(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Me(t),e[t]=n}function vd(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Mn),Ts=" ",Ls=!1;function Ma(e,t){switch(e){case"keyup":return Hd.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fa(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ht=!1;function Kd(e,t){switch(e){case"compositionend":return Fa(t);case"keypress":return t.which!==32?null:(Ls=!0,Ts);case"textInput":return e=t.data,e===Ts&&Ls?null:e;default:return null}}function Gd(e,t){if(Ht)return e==="compositionend"||!_o&&Ma(e,t)?(e=Ia(),$r=No=it=null,Ht=!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:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Os(n)}}function Aa(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Aa(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Va(){for(var e=window,t=Gr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Gr(e.document)}return t}function Po(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")}function np(e){var t=Va(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Aa(n.ownerDocument.documentElement,n)){if(r!==null&&Po(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=Ms(n,i);var o=Ms(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Qt=null,Li=null,Dn=null,Ri=!1;function Fs(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ri||Qt==null||Qt!==Gr(r)||(r=Qt,"selectionStart"in r&&Po(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Dn&&Yn(Dn,r)||(Dn=r,r=el(Li,"onSelect"),0Jt||(e.current=Di[Jt],Di[Jt]=null,Jt--)}function D(e,t){Jt++,Di[Jt]=e.current,e.current=t}var yt={},ae=wt(yt),ve=wt(!1),zt=yt;function an(e,t){var n=e.type.contextTypes;if(!n)return yt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ge(e){return e=e.childContextTypes,e!=null}function nl(){U(ve),U(ae)}function Ws(e,t,n){if(ae.current!==yt)throw Error(k(168));D(ae,t),D(ve,n)}function Xa(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(k(108,Zf(e)||"Unknown",l));return W({},n,r)}function rl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||yt,zt=ae.current,D(ae,e),D(ve,ve.current),!0}function Hs(e,t,n){var r=e.stateNode;if(!r)throw Error(k(169));n?(e=Xa(e,t,zt),r.__reactInternalMemoizedMergedChildContext=e,U(ve),U(ae),D(ae,e)):U(ve),D(ve,n)}var He=null,Nl=!1,ti=!1;function Za(e){He===null?He=[e]:He.push(e)}function hp(e){Nl=!0,Za(e)}function St(){if(!ti&&He!==null){ti=!0;var e=0,t=F;try{var n=He;for(F=1;e>=o,l-=o,Qe=1<<32-Me(t)+l|n<N?(R=P,P=null):R=P.sibling;var L=d(m,P,v[N],x);if(L===null){P===null&&(P=R);break}e&&P&&L.alternate===null&&t(m,P),p=i(L,p,N),_===null?E=L:_.sibling=L,_=L,P=R}if(N===v.length)return n(m,P),A&&Ct(m,N),E;if(P===null){for(;NN?(R=P,P=null):R=P.sibling;var X=d(m,P,L.value,x);if(X===null){P===null&&(P=R);break}e&&P&&X.alternate===null&&t(m,P),p=i(X,p,N),_===null?E=X:_.sibling=X,_=X,P=R}if(L.done)return n(m,P),A&&Ct(m,N),E;if(P===null){for(;!L.done;N++,L=v.next())L=f(m,L.value,x),L!==null&&(p=i(L,p,N),_===null?E=L:_.sibling=L,_=L);return A&&Ct(m,N),E}for(P=r(m,P);!L.done;N++,L=v.next())L=y(P,m,N,L.value,x),L!==null&&(e&&L.alternate!==null&&P.delete(L.key===null?N:L.key),p=i(L,p,N),_===null?E=L:_.sibling=L,_=L);return e&&P.forEach(function(Q){return t(m,Q)}),A&&Ct(m,N),E}function C(m,p,v,x){if(typeof v=="object"&&v!==null&&v.type===Wt&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case gr:e:{for(var E=v.key,_=p;_!==null;){if(_.key===E){if(E=v.type,E===Wt){if(_.tag===7){n(m,_.sibling),p=l(_,v.props.children),p.return=m,m=p;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===tt&&Gs(E)===_.type){n(m,_.sibling),p=l(_,v.props),p.ref=Cn(m,_,v),p.return=m,m=p;break e}n(m,_);break}else t(m,_);_=_.sibling}v.type===Wt?(p=Rt(v.props.children,m.mode,x,v.key),p.return=m,m=p):(x=Kr(v.type,v.key,v.props,null,m.mode,x),x.ref=Cn(m,p,v),x.return=m,m=x)}return o(m);case Bt:e:{for(_=v.key;p!==null;){if(p.key===_)if(p.tag===4&&p.stateNode.containerInfo===v.containerInfo&&p.stateNode.implementation===v.implementation){n(m,p.sibling),p=l(p,v.children||[]),p.return=m,m=p;break e}else{n(m,p);break}else t(m,p);p=p.sibling}p=ai(v,m.mode,x),p.return=m,m=p}return o(m);case tt:return _=v._init,C(m,p,_(v._payload),x)}if(Tn(v))return g(m,p,v,x);if(wn(v))return w(m,p,v,x);Pr(m,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,p!==null&&p.tag===6?(n(m,p.sibling),p=l(p,v),p.return=m,m=p):(n(m,p),p=ui(v,m.mode,x),p.return=m,m=p),o(m)):n(m,p)}return C}var fn=tc(!0),nc=tc(!1),ol=wt(null),sl=null,Zt=null,zo=null;function Io(){zo=Zt=sl=null}function Oo(e){var t=ol.current;U(ol),e._currentValue=t}function Ai(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function on(e,t){sl=e,zo=Zt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(me=!0),e.firstContext=null)}function Te(e){var t=e._currentValue;if(zo!==e)if(e={context:e,memoizedValue:t,next:null},Zt===null){if(sl===null)throw Error(k(308));Zt=e,sl.dependencies={lanes:0,firstContext:e}}else Zt=Zt.next=e;return t}var Pt=null;function Mo(e){Pt===null?Pt=[e]:Pt.push(e)}function rc(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Mo(t)):(n.next=l.next,l.next=n),t.interleaved=n,Xe(e,r)}function Xe(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var nt=!1;function Fo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ge(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function dt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,M&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Xe(e,n)}return l=r.interleaved,l===null?(t.next=t,Mo(r)):(t.next=l.next,l.next=t),r.interleaved=t,Xe(e,n)}function Ar(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,So(e,n)}}function Js(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ul(e,t,n,r){var l=e.updateQueue;nt=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,s=l.shared.pending;if(s!==null){l.shared.pending=null;var u=s,a=u.next;u.next=null,o===null?i=a:o.next=a,o=u;var h=e.alternate;h!==null&&(h=h.updateQueue,s=h.lastBaseUpdate,s!==o&&(s===null?h.firstBaseUpdate=a:s.next=a,h.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;o=0,h=a=u=null,s=i;do{var d=s.lane,y=s.eventTime;if((r&d)===d){h!==null&&(h=h.next={eventTime:y,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var g=e,w=s;switch(d=t,y=n,w.tag){case 1:if(g=w.payload,typeof g=="function"){f=g.call(y,f,d);break e}f=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=w.payload,d=typeof g=="function"?g.call(y,f,d):g,d==null)break e;f=W({},f,d);break e;case 2:nt=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,d=l.effects,d===null?l.effects=[s]:d.push(s))}else y={eventTime:y,lane:d,tag:s.tag,payload:s.payload,callback:s.callback,next:null},h===null?(a=h=y,u=f):h=h.next=y,o|=d;if(s=s.next,s===null){if(s=l.shared.pending,s===null)break;d=s,s=d.next,d.next=null,l.lastBaseUpdate=d,l.shared.pending=null}}while(!0);if(h===null&&(u=f),l.baseState=u,l.firstBaseUpdate=a,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Mt|=o,e.lanes=o,e.memoizedState=f}}function Ys(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=ri.transition;ri.transition={};try{e(!1),t()}finally{F=n,ri.transition=r}}function Sc(){return Le().memoizedState}function yp(e,t,n){var r=ht(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},kc(e))Ec(t,n);else if(n=rc(e,t,n,r),n!==null){var l=fe();Fe(n,e,r,l),Nc(n,t,r)}}function xp(e,t,n){var r=ht(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(kc(e))Ec(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,s=i(o,n);if(l.hasEagerState=!0,l.eagerState=s,De(s,o)){var u=t.interleaved;u===null?(l.next=l,Mo(t)):(l.next=u.next,u.next=l),t.interleaved=l;return}}catch{}finally{}n=rc(e,t,l,r),n!==null&&(l=fe(),Fe(n,e,r,l),Nc(n,t,r))}}function kc(e){var t=e.alternate;return e===B||t!==null&&t===B}function Ec(e,t){$n=cl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Nc(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,So(e,n)}}var fl={readContext:Te,useCallback:oe,useContext:oe,useEffect:oe,useImperativeHandle:oe,useInsertionEffect:oe,useLayoutEffect:oe,useMemo:oe,useReducer:oe,useRef:oe,useState:oe,useDebugValue:oe,useDeferredValue:oe,useTransition:oe,useMutableSource:oe,useSyncExternalStore:oe,useId:oe,unstable_isNewReconciler:!1},wp={readContext:Te,useCallback:function(e,t){return Ue().memoizedState=[e,t===void 0?null:t],e},useContext:Te,useEffect:Zs,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Br(4194308,4,vc.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Br(4194308,4,e,t)},useInsertionEffect:function(e,t){return Br(4,2,e,t)},useMemo:function(e,t){var n=Ue();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ue();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=yp.bind(null,B,e),[r.memoizedState,e]},useRef:function(e){var t=Ue();return e={current:e},t.memoizedState=e},useState:Xs,useDebugValue:Ho,useDeferredValue:function(e){return Ue().memoizedState=e},useTransition:function(){var e=Xs(!1),t=e[0];return e=gp.bind(null,e[1]),Ue().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=B,l=Ue();if(A){if(n===void 0)throw Error(k(407));n=n()}else{if(n=t(),ne===null)throw Error(k(349));Ot&30||uc(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Zs(cc.bind(null,r,i,e),[e]),r.flags|=2048,rr(9,ac.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ue(),t=ne.identifierPrefix;if(A){var n=Ke,r=Qe;n=(r&~(1<<32-Me(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=tr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ae]=t,e[qn]=r,Oc(e,t,!1,!1),t.stateNode=e;e:{switch(o=ki(n,r),n){case"dialog":$("cancel",e),$("close",e),l=r;break;case"iframe":case"object":case"embed":$("load",e),l=r;break;case"video":case"audio":for(l=0;lhn&&(t.flags|=128,r=!0,jn(i,!1),t.lanes=4194304)}else{if(!r)if(e=al(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),jn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!A)return se(t),null}else 2*G()-i.renderingStartTime>hn&&n!==1073741824&&(t.flags|=128,r=!0,jn(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=G(),t.sibling=null,n=V.current,D(V,r?n&1|2:n&1),t):(se(t),null);case 22:case 23:return Xo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?xe&1073741824&&(se(t),t.subtreeFlags&6&&(t.flags|=8192)):se(t),null;case 24:return null;case 25:return null}throw Error(k(156,t.tag))}function Tp(e,t){switch(Lo(t),t.tag){case 1:return ge(t.type)&&nl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return dn(),U(ve),U(ae),Uo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $o(t),null;case 13:if(U(V),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(k(340));cn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(V),null;case 4:return dn(),null;case 10:return Mo(t.type._context),null;case 22:case 23:return Xo(),null;case 24:return null;default:return null}}var Lr=!1,ue=!1,Lp=typeof WeakSet=="function"?WeakSet:Set,j=null;function qt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){H(e,t,r)}else n.current=null}function Yi(e,t,n){try{n()}catch(r){H(e,t,r)}}var uu=!1;function Rp(e,t){if(Ii=qr,e=Ba(),Po(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,s=-1,u=-1,a=0,h=0,f=e,d=null;t:for(;;){for(var y;f!==n||l!==0&&f.nodeType!==3||(s=o+l),f!==i||r!==0&&f.nodeType!==3||(u=o+r),f.nodeType===3&&(o+=f.nodeValue.length),(y=f.firstChild)!==null;)d=f,f=y;for(;;){if(f===e)break t;if(d===n&&++a===l&&(s=o),d===i&&++h===r&&(u=o),(y=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=y}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(zi={focusedElem:e,selectionRange:n},qr=!1,j=t;j!==null;)if(t=j,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,j=e;else for(;j!==null;){t=j;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var S=g.memoizedProps,C=g.memoizedState,m=t.stateNode,p=m.getSnapshotBeforeUpdate(t.elementType===t.type?S:Ie(t.type,S),C);m.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(k(163))}}catch(x){H(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,j=e;break}j=t.return}return g=uu,uu=!1,g}function Un(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Yi(t,n,i)}l=l.next}while(l!==r)}}function _l(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Xi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function $c(e){var t=e.alternate;t!==null&&(e.alternate=null,$c(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ae],delete t[qn],delete t[Fi],delete t[pp],delete t[hp])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Uc(e){return e.tag===5||e.tag===3||e.tag===4}function au(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Uc(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.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 Zi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=tl));else if(r!==4&&(e=e.child,e!==null))for(Zi(e,t,n),e=e.sibling;e!==null;)Zi(e,t,n),e=e.sibling}function qi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(qi(e,t,n),e=e.sibling;e!==null;)qi(e,t,n),e=e.sibling}var re=null,ze=!1;function et(e,t,n){for(n=n.child;n!==null;)Ac(e,t,n),n=n.sibling}function Ac(e,t,n){if(Ve&&typeof Ve.onCommitFiberUnmount=="function")try{Ve.onCommitFiberUnmount(xl,n)}catch{}switch(n.tag){case 5:ue||qt(n,t);case 6:var r=re,l=ze;re=null,et(e,t,n),re=r,ze=l,re!==null&&(ze?(e=re,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):re.removeChild(n.stateNode));break;case 18:re!==null&&(ze?(e=re,n=n.stateNode,e.nodeType===8?ei(e.parentNode,n):e.nodeType===1&&ei(e,n),Gn(e)):ei(re,n.stateNode));break;case 4:r=re,l=ze,re=n.stateNode.containerInfo,ze=!0,et(e,t,n),re=r,ze=l;break;case 0:case 11:case 14:case 15:if(!ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Yi(n,t,o),l=l.next}while(l!==r)}et(e,t,n);break;case 1:if(!ue&&(qt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){H(n,t,s)}et(e,t,n);break;case 21:et(e,t,n);break;case 22:n.mode&1?(ue=(r=ue)||n.memoizedState!==null,et(e,t,n),ue=r):et(e,t,n);break;default:et(e,t,n)}}function cu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Lp),t.forEach(function(r){var l=Ap.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Re(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*zp(r/1960))-r,10e?16:e,ot===null)var r=!1;else{if(e=ot,ot=null,hl=0,O&6)throw Error(k(331));var l=O;for(O|=4,j=e.current;j!==null;){var i=j,o=i.child;if(j.flags&16){var s=i.deletions;if(s!==null){for(var u=0;uG()-Jo?Lt(e,0):Go|=n),ye(e,t)}function Jc(e,t){t===0&&(e.mode&1?(t=Sr,Sr<<=1,!(Sr&130023424)&&(Sr=4194304)):t=1);var n=fe();e=Xe(e,t),e!==null&&(ur(e,t,n),ye(e,n))}function Up(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Jc(e,n)}function Ap(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(k(314))}r!==null&&r.delete(t),Jc(e,n)}var Yc;Yc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ve.current)me=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return me=!1,_p(e,t,n);me=!!(e.flags&131072)}else me=!1,A&&t.flags&1048576&&ba(t,il,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Wr(e,t),e=t.pendingProps;var l=an(t,ae.current);on(t,n),l=Vo(null,t,r,e,l,n);var i=Bo();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ge(r)?(i=!0,rl(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Fo(t),l.updater=jl,t.stateNode=l,l._reactInternals=t,Bi(t,r,e,n),t=Qi(null,t,r,!0,i,n)):(t.tag=0,A&&i&&To(t),ce(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Wr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Bp(r),e=Ie(r,e),l){case 0:t=Hi(null,t,r,e,n);break e;case 1:t=iu(null,t,r,e,n);break e;case 11:t=ru(null,t,r,e,n);break e;case 14:t=lu(null,t,r,Ie(r.type,e),n);break e}throw Error(k(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ie(r,l),Hi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ie(r,l),iu(e,t,r,l,n);case 3:e:{if(Ic(t),e===null)throw Error(k(387));r=t.pendingProps,i=t.memoizedState,l=i.element,ic(e,t),ul(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=pn(Error(k(423)),t),t=ou(e,t,r,n,l);break e}else if(r!==l){l=pn(Error(k(424)),t),t=ou(e,t,r,n,l);break e}else for(we=ft(t.stateNode.containerInfo.firstChild),Se=t,A=!0,Me=null,n=rc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(cn(),r===l){t=Ze(e,t,n);break e}ce(e,t,r,n)}t=t.child}return t;case 5:return oc(t),e===null&&Ui(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,Mi(r,l)?o=null:i!==null&&Mi(r,i)&&(t.flags|=32),Rc(e,t),ce(e,t,o,n),t.child;case 6:return e===null&&Ui(t),null;case 13:return zc(e,t,n);case 4:return Do(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=fn(t,null,r,n):ce(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ie(r,l),ru(e,t,r,l,n);case 7:return ce(e,t,t.pendingProps,n),t.child;case 8:return ce(e,t,t.pendingProps.children,n),t.child;case 12:return ce(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,D(ol,r._currentValue),r._currentValue=o,i!==null)if(De(i.value,o)){if(i.children===l.children&&!ve.current){t=Ze(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){o=i.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=Ge(-1,n&-n),u.tag=2;var a=i.updateQueue;if(a!==null){a=a.shared;var h=a.pending;h===null?u.next=u:(u.next=h.next,h.next=u),a.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),Ai(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(k(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Ai(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}ce(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,on(t,n),l=Te(l),r=r(l),t.flags|=1,ce(e,t,r,n),t.child;case 14:return r=t.type,l=Ie(r,t.pendingProps),l=Ie(r.type,l),lu(e,t,r,l,n);case 15:return Tc(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ie(r,l),Wr(e,t),t.tag=1,ge(r)?(e=!0,rl(t)):e=!1,on(t,n),jc(t,r,l),Bi(t,r,l,n),Qi(null,t,r,!0,e,n);case 19:return Mc(e,t,n);case 22:return Lc(e,t,n)}throw Error(k(156,t.tag))};function Xc(e,t){return Ea(e,t)}function Vp(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,t,n,r){return new Vp(e,t,n,r)}function qo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Bp(e){if(typeof e=="function")return qo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===go)return 11;if(e===yo)return 14}return 2}function mt(e,t){var n=e.alternate;return n===null?(n=_e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Kr(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")qo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Wt:return Rt(n.children,l,i,t);case vo:o=8,l|=8;break;case di:return e=_e(12,n,t,l|2),e.elementType=di,e.lanes=i,e;case pi:return e=_e(13,n,t,l),e.elementType=pi,e.lanes=i,e;case hi:return e=_e(19,n,t,l),e.elementType=hi,e.lanes=i,e;case oa:return Tl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case la:o=10;break e;case ia:o=9;break e;case go:o=11;break e;case yo:o=14;break e;case tt:o=16,r=null;break e}throw Error(k(130,e==null?e:typeof e,""))}return t=_e(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Rt(e,t,n,r){return e=_e(7,e,r,t),e.lanes=n,e}function Tl(e,t,n,r){return e=_e(22,e,r,t),e.elementType=oa,e.lanes=n,e.stateNode={isHidden:!1},e}function ui(e,t,n){return e=_e(6,e,null,t),e.lanes=n,e}function ai(e,t,n){return t=_e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Wp(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Wl(0),this.expirationTimes=Wl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Wl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function bo(e,t,n,r,l,i,o,s,u){return e=new Wp(e,t,n,s,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_e(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fo(i),e}function Hp(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ef)}catch(e){console.error(e)}}ef(),ea.exports=Ee;var Yp=ea.exports,tf,yu=Yp;tf=yu.createRoot,yu.hydrateRoot;/** +`+i.stack}return{value:e,source:t,stack:l,digest:null}}function oi(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Wi(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Ep=typeof WeakMap=="function"?WeakMap:Map;function jc(e,t,n){n=Ge(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){pl||(pl=!0,bi=r),Wi(e,t)},n}function _c(e,t,n){n=Ge(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){Wi(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){Wi(e,t),typeof r!="function"&&(pt===null?pt=new Set([this]):pt.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function eu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ep;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=Dp.bind(null,e,t,n),t.then(e,e))}function tu(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function nu(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ge(-1,1),t.tag=2,dt(n,t,1))),n.lanes|=1),e)}var Np=qe.ReactCurrentOwner,me=!1;function ce(e,t,n,r){t.child=e===null?nc(t,null,n,r):fn(t,e.child,n,r)}function ru(e,t,n,r,l){n=n.render;var i=t.ref;return on(t,l),r=Vo(e,t,n,r,i,l),n=Bo(),e!==null&&!me?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ze(e,t,l)):(A&&n&&To(t),t.flags|=1,ce(e,t,r,l),t.child)}function lu(e,t,n,r,l){if(e===null){var i=n.type;return typeof i=="function"&&!qo(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Pc(e,t,i,r,l)):(e=Kr(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&l)){var o=i.memoizedProps;if(n=n.compare,n=n!==null?n:Yn,n(o,r)&&e.ref===t.ref)return Ze(e,t,l)}return t.flags|=1,e=mt(i,r),e.ref=t.ref,e.return=t,t.child=e}function Pc(e,t,n,r,l){if(e!==null){var i=e.memoizedProps;if(Yn(i,r)&&e.ref===t.ref)if(me=!1,t.pendingProps=r=i,(e.lanes&l)!==0)e.flags&131072&&(me=!0);else return t.lanes=e.lanes,Ze(e,t,l)}return Hi(e,t,n,r,l)}function Tc(e,t,n){var r=t.pendingProps,l=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},D(bt,xe),xe|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,D(bt,xe),xe|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,D(bt,xe),xe|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,D(bt,xe),xe|=r;return ce(e,t,l,n),t.child}function Lc(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Hi(e,t,n,r,l){var i=ge(n)?zt:ae.current;return i=an(t,i),on(t,l),n=Vo(e,t,n,r,i,l),r=Bo(),e!==null&&!me?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ze(e,t,l)):(A&&r&&To(t),t.flags|=1,ce(e,t,n,l),t.child)}function iu(e,t,n,r,l){if(ge(n)){var i=!0;rl(t)}else i=!1;if(on(t,l),t.stateNode===null)Wr(e,t),Cc(t,n,r),Bi(t,n,r,l),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var u=o.context,a=n.contextType;typeof a=="object"&&a!==null?a=Te(a):(a=ge(n)?zt:ae.current,a=an(t,a));var h=n.getDerivedStateFromProps,f=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(s!==r||u!==a)&&bs(t,o,r,a),nt=!1;var d=t.memoizedState;o.state=d,ul(t,r,o,l),u=t.memoizedState,s!==r||d!==u||ve.current||nt?(typeof h=="function"&&(Vi(t,n,h,r),u=t.memoizedState),(s=nt||qs(t,n,s,r,d,u,a))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),o.props=r,o.state=u,o.context=a,r=s):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,lc(e,t),s=t.memoizedProps,a=t.type===t.elementType?s:ze(t.type,s),o.props=a,f=t.pendingProps,d=o.context,u=n.contextType,typeof u=="object"&&u!==null?u=Te(u):(u=ge(n)?zt:ae.current,u=an(t,u));var y=n.getDerivedStateFromProps;(h=typeof y=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(s!==f||d!==u)&&bs(t,o,r,u),nt=!1,d=t.memoizedState,o.state=d,ul(t,r,o,l);var g=t.memoizedState;s!==f||d!==g||ve.current||nt?(typeof y=="function"&&(Vi(t,n,y,r),g=t.memoizedState),(a=nt||qs(t,n,a,r,d,g,u)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,g,u),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,g,u)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),o.props=r,o.state=g,o.context=u,r=a):(typeof o.componentDidUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return Qi(e,t,n,r,i,l)}function Qi(e,t,n,r,l,i){Lc(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return l&&Hs(t,n,!1),Ze(e,t,i);r=t.stateNode,Np.current=t;var s=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=fn(t,e.child,null,i),t.child=fn(t,null,s,i)):ce(e,t,s,i),t.memoizedState=r.state,l&&Hs(t,n,!0),t.child}function Rc(e){var t=e.stateNode;t.pendingContext?Ws(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Ws(e,t.context,!1),Do(e,t.containerInfo)}function ou(e,t,n,r,l){return cn(),Ro(l),t.flags|=256,ce(e,t,n,r),t.child}var Ki={dehydrated:null,treeContext:null,retryLane:0};function Gi(e){return{baseLanes:e,cachePool:null,transitions:null}}function zc(e,t,n){var r=t.pendingProps,l=V.current,i=!1,o=(t.flags&128)!==0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(l&2)!==0),s?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),D(V,l&1),e===null)return Ui(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,i?(r=t.mode,i=t.child,o={mode:"hidden",children:o},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Tl(o,r,0,null),e=Rt(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Gi(n),t.memoizedState=Ki,e):Qo(t,o));if(l=e.memoizedState,l!==null&&(s=l.dehydrated,s!==null))return Cp(e,t,o,r,s,l,n);if(i){i=r.fallback,o=t.mode,l=e.child,s=l.sibling;var u={mode:"hidden",children:r.children};return!(o&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=u,t.deletions=null):(r=mt(l,u),r.subtreeFlags=l.subtreeFlags&14680064),s!==null?i=mt(s,i):(i=Rt(i,o,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,o=e.child.memoizedState,o=o===null?Gi(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~n,t.memoizedState=Ki,r}return i=e.child,e=i.sibling,r=mt(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Qo(e,t){return t=Tl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Tr(e,t,n,r){return r!==null&&Ro(r),fn(t,e.child,null,n),e=Qo(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Cp(e,t,n,r,l,i,o){if(n)return t.flags&256?(t.flags&=-257,r=oi(Error(k(422))),Tr(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,l=t.mode,r=Tl({mode:"visible",children:r.children},l,0,null),i=Rt(i,l,o,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&fn(t,e.child,null,o),t.child.memoizedState=Gi(o),t.memoizedState=Ki,i);if(!(t.mode&1))return Tr(e,t,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var s=r.dgst;return r=s,i=Error(k(419)),r=oi(i,r,void 0),Tr(e,t,o,r)}if(s=(o&e.childLanes)!==0,me||s){if(r=ne,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|o)?0:l,l!==0&&l!==i.retryLane&&(i.retryLane=l,Xe(e,l),Fe(r,e,l,-1))}return Zo(),r=oi(Error(k(421))),Tr(e,t,o,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=$p.bind(null,e),l._reactRetry=t,null):(e=i.treeContext,we=ft(l.nextSibling),Se=t,A=!0,Oe=null,e!==null&&(Ce[je++]=Qe,Ce[je++]=Ke,Ce[je++]=It,Qe=e.id,Ke=e.overflow,It=t),t=Qo(t,r.children),t.flags|=4096,t)}function su(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ai(e.return,t,n)}function si(e,t,n,r,l){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=l)}function Ic(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(ce(e,t,r.children,n),r=V.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&su(e,n,t);else if(e.tag===19)su(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(D(V,r),!(t.mode&1))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&al(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),si(t,!1,l,n,i);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&al(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}si(t,!0,n,null,i);break;case"together":si(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Wr(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ze(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Mt|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(k(153));if(t.child!==null){for(e=t.child,n=mt(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=mt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function jp(e,t,n){switch(t.tag){case 3:Rc(t),cn();break;case 5:ic(t);break;case 1:ge(t.type)&&rl(t);break;case 4:Do(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;D(ol,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(D(V,V.current&1),t.flags|=128,null):n&t.child.childLanes?zc(e,t,n):(D(V,V.current&1),e=Ze(e,t,n),e!==null?e.sibling:null);D(V,V.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return Ic(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),D(V,V.current),r)break;return null;case 22:case 23:return t.lanes=0,Tc(e,t,n)}return Ze(e,t,n)}var Oc,Ji,Mc,Fc;Oc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Ji=function(){};Mc=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,Tt(Be.current);var i=null;switch(n){case"input":l=vi(e,l),r=vi(e,r),i=[];break;case"select":l=W({},l,{value:void 0}),r=W({},r,{value:void 0}),i=[];break;case"textarea":l=xi(e,l),r=xi(e,r),i=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=tl)}Si(n,r);var o;n=null;for(a in l)if(!r.hasOwnProperty(a)&&l.hasOwnProperty(a)&&l[a]!=null)if(a==="style"){var s=l[a];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else a!=="dangerouslySetInnerHTML"&&a!=="children"&&a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(Bn.hasOwnProperty(a)?i||(i=[]):(i=i||[]).push(a,null));for(a in r){var u=r[a];if(s=l!=null?l[a]:void 0,r.hasOwnProperty(a)&&u!==s&&(u!=null||s!=null))if(a==="style")if(s){for(o in s)!s.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&s[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(i||(i=[]),i.push(a,n)),n=u;else a==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,s=s?s.__html:void 0,u!=null&&s!==u&&(i=i||[]).push(a,u)):a==="children"?typeof u!="string"&&typeof u!="number"||(i=i||[]).push(a,""+u):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&(Bn.hasOwnProperty(a)?(u!=null&&a==="onScroll"&&$("scroll",e),i||s===u||(i=[])):(i=i||[]).push(a,u))}n&&(i=i||[]).push("style",n);var a=i;(t.updateQueue=a)&&(t.flags|=4)}};Fc=function(e,t,n,r){n!==r&&(t.flags|=4)};function jn(e,t){if(!A)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function se(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function _p(e,t,n){var r=t.pendingProps;switch(Lo(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return se(t),null;case 1:return ge(t.type)&&nl(),se(t),null;case 3:return r=t.stateNode,dn(),U(ve),U(ae),Uo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(_r(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Oe!==null&&(no(Oe),Oe=null))),Ji(e,t),se(t),null;case 5:$o(t);var l=Tt(er.current);if(n=t.type,e!==null&&t.stateNode!=null)Mc(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(k(166));return se(t),null}if(e=Tt(Be.current),_r(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[Ae]=t,r[qn]=i,e=(t.mode&1)!==0,n){case"dialog":$("cancel",r),$("close",r);break;case"iframe":case"object":case"embed":$("load",r);break;case"video":case"audio":for(l=0;l<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ae]=t,e[qn]=r,Oc(e,t,!1,!1),t.stateNode=e;e:{switch(o=ki(n,r),n){case"dialog":$("cancel",e),$("close",e),l=r;break;case"iframe":case"object":case"embed":$("load",e),l=r;break;case"video":case"audio":for(l=0;lhn&&(t.flags|=128,r=!0,jn(i,!1),t.lanes=4194304)}else{if(!r)if(e=al(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),jn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!A)return se(t),null}else 2*G()-i.renderingStartTime>hn&&n!==1073741824&&(t.flags|=128,r=!0,jn(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=G(),t.sibling=null,n=V.current,D(V,r?n&1|2:n&1),t):(se(t),null);case 22:case 23:return Xo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?xe&1073741824&&(se(t),t.subtreeFlags&6&&(t.flags|=8192)):se(t),null;case 24:return null;case 25:return null}throw Error(k(156,t.tag))}function Pp(e,t){switch(Lo(t),t.tag){case 1:return ge(t.type)&&nl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return dn(),U(ve),U(ae),Uo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $o(t),null;case 13:if(U(V),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(k(340));cn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(V),null;case 4:return dn(),null;case 10:return Oo(t.type._context),null;case 22:case 23:return Xo(),null;case 24:return null;default:return null}}var Lr=!1,ue=!1,Tp=typeof WeakSet=="function"?WeakSet:Set,j=null;function qt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){H(e,t,r)}else n.current=null}function Yi(e,t,n){try{n()}catch(r){H(e,t,r)}}var uu=!1;function Lp(e,t){if(zi=qr,e=Va(),Po(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,s=-1,u=-1,a=0,h=0,f=e,d=null;t:for(;;){for(var y;f!==n||l!==0&&f.nodeType!==3||(s=o+l),f!==i||r!==0&&f.nodeType!==3||(u=o+r),f.nodeType===3&&(o+=f.nodeValue.length),(y=f.firstChild)!==null;)d=f,f=y;for(;;){if(f===e)break t;if(d===n&&++a===l&&(s=o),d===i&&++h===r&&(u=o),(y=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=y}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ii={focusedElem:e,selectionRange:n},qr=!1,j=t;j!==null;)if(t=j,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,j=e;else for(;j!==null;){t=j;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var w=g.memoizedProps,C=g.memoizedState,m=t.stateNode,p=m.getSnapshotBeforeUpdate(t.elementType===t.type?w:ze(t.type,w),C);m.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(k(163))}}catch(x){H(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,j=e;break}j=t.return}return g=uu,uu=!1,g}function Un(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Yi(t,n,i)}l=l.next}while(l!==r)}}function _l(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Xi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Dc(e){var t=e.alternate;t!==null&&(e.alternate=null,Dc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ae],delete t[qn],delete t[Fi],delete t[dp],delete t[pp])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function $c(e){return e.tag===5||e.tag===3||e.tag===4}function au(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||$c(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.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 Zi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=tl));else if(r!==4&&(e=e.child,e!==null))for(Zi(e,t,n),e=e.sibling;e!==null;)Zi(e,t,n),e=e.sibling}function qi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(qi(e,t,n),e=e.sibling;e!==null;)qi(e,t,n),e=e.sibling}var re=null,Ie=!1;function et(e,t,n){for(n=n.child;n!==null;)Uc(e,t,n),n=n.sibling}function Uc(e,t,n){if(Ve&&typeof Ve.onCommitFiberUnmount=="function")try{Ve.onCommitFiberUnmount(xl,n)}catch{}switch(n.tag){case 5:ue||qt(n,t);case 6:var r=re,l=Ie;re=null,et(e,t,n),re=r,Ie=l,re!==null&&(Ie?(e=re,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):re.removeChild(n.stateNode));break;case 18:re!==null&&(Ie?(e=re,n=n.stateNode,e.nodeType===8?ei(e.parentNode,n):e.nodeType===1&&ei(e,n),Gn(e)):ei(re,n.stateNode));break;case 4:r=re,l=Ie,re=n.stateNode.containerInfo,Ie=!0,et(e,t,n),re=r,Ie=l;break;case 0:case 11:case 14:case 15:if(!ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Yi(n,t,o),l=l.next}while(l!==r)}et(e,t,n);break;case 1:if(!ue&&(qt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){H(n,t,s)}et(e,t,n);break;case 21:et(e,t,n);break;case 22:n.mode&1?(ue=(r=ue)||n.memoizedState!==null,et(e,t,n),ue=r):et(e,t,n);break;default:et(e,t,n)}}function cu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Tp),t.forEach(function(r){var l=Up.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Re(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*zp(r/1960))-r,10e?16:e,ot===null)var r=!1;else{if(e=ot,ot=null,hl=0,M&6)throw Error(k(331));var l=M;for(M|=4,j=e.current;j!==null;){var i=j,o=i.child;if(j.flags&16){var s=i.deletions;if(s!==null){for(var u=0;uG()-Jo?Lt(e,0):Go|=n),ye(e,t)}function Gc(e,t){t===0&&(e.mode&1?(t=Sr,Sr<<=1,!(Sr&130023424)&&(Sr=4194304)):t=1);var n=fe();e=Xe(e,t),e!==null&&(ur(e,t,n),ye(e,n))}function $p(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gc(e,n)}function Up(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(k(314))}r!==null&&r.delete(t),Gc(e,n)}var Jc;Jc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ve.current)me=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return me=!1,jp(e,t,n);me=!!(e.flags&131072)}else me=!1,A&&t.flags&1048576&&qa(t,il,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Wr(e,t),e=t.pendingProps;var l=an(t,ae.current);on(t,n),l=Vo(null,t,r,e,l,n);var i=Bo();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ge(r)?(i=!0,rl(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Fo(t),l.updater=jl,t.stateNode=l,l._reactInternals=t,Bi(t,r,e,n),t=Qi(null,t,r,!0,i,n)):(t.tag=0,A&&i&&To(t),ce(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Wr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Vp(r),e=ze(r,e),l){case 0:t=Hi(null,t,r,e,n);break e;case 1:t=iu(null,t,r,e,n);break e;case 11:t=ru(null,t,r,e,n);break e;case 14:t=lu(null,t,r,ze(r.type,e),n);break e}throw Error(k(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Hi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),iu(e,t,r,l,n);case 3:e:{if(Rc(t),e===null)throw Error(k(387));r=t.pendingProps,i=t.memoizedState,l=i.element,lc(e,t),ul(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=pn(Error(k(423)),t),t=ou(e,t,r,n,l);break e}else if(r!==l){l=pn(Error(k(424)),t),t=ou(e,t,r,n,l);break e}else for(we=ft(t.stateNode.containerInfo.firstChild),Se=t,A=!0,Oe=null,n=nc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(cn(),r===l){t=Ze(e,t,n);break e}ce(e,t,r,n)}t=t.child}return t;case 5:return ic(t),e===null&&Ui(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,Oi(r,l)?o=null:i!==null&&Oi(r,i)&&(t.flags|=32),Lc(e,t),ce(e,t,o,n),t.child;case 6:return e===null&&Ui(t),null;case 13:return zc(e,t,n);case 4:return Do(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=fn(t,null,r,n):ce(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),ru(e,t,r,l,n);case 7:return ce(e,t,t.pendingProps,n),t.child;case 8:return ce(e,t,t.pendingProps.children,n),t.child;case 12:return ce(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,D(ol,r._currentValue),r._currentValue=o,i!==null)if(De(i.value,o)){if(i.children===l.children&&!ve.current){t=Ze(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){o=i.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=Ge(-1,n&-n),u.tag=2;var a=i.updateQueue;if(a!==null){a=a.shared;var h=a.pending;h===null?u.next=u:(u.next=h.next,h.next=u),a.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),Ai(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(k(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Ai(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}ce(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,on(t,n),l=Te(l),r=r(l),t.flags|=1,ce(e,t,r,n),t.child;case 14:return r=t.type,l=ze(r,t.pendingProps),l=ze(r.type,l),lu(e,t,r,l,n);case 15:return Pc(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Wr(e,t),t.tag=1,ge(r)?(e=!0,rl(t)):e=!1,on(t,n),Cc(t,r,l),Bi(t,r,l,n),Qi(null,t,r,!0,e,n);case 19:return Ic(e,t,n);case 22:return Tc(e,t,n)}throw Error(k(156,t.tag))};function Yc(e,t){return ka(e,t)}function Ap(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,t,n,r){return new Ap(e,t,n,r)}function qo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Vp(e){if(typeof e=="function")return qo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===go)return 11;if(e===yo)return 14}return 2}function mt(e,t){var n=e.alternate;return n===null?(n=_e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Kr(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")qo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Wt:return Rt(n.children,l,i,t);case vo:o=8,l|=8;break;case di:return e=_e(12,n,t,l|2),e.elementType=di,e.lanes=i,e;case pi:return e=_e(13,n,t,l),e.elementType=pi,e.lanes=i,e;case hi:return e=_e(19,n,t,l),e.elementType=hi,e.lanes=i,e;case ia:return Tl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ra:o=10;break e;case la:o=9;break e;case go:o=11;break e;case yo:o=14;break e;case tt:o=16,r=null;break e}throw Error(k(130,e==null?e:typeof e,""))}return t=_e(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Rt(e,t,n,r){return e=_e(7,e,r,t),e.lanes=n,e}function Tl(e,t,n,r){return e=_e(22,e,r,t),e.elementType=ia,e.lanes=n,e.stateNode={isHidden:!1},e}function ui(e,t,n){return e=_e(6,e,null,t),e.lanes=n,e}function ai(e,t,n){return t=_e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bp(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Wl(0),this.expirationTimes=Wl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Wl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function bo(e,t,n,r,l,i,o,s,u){return e=new Bp(e,t,n,s,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=_e(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fo(i),e}function Wp(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(bc)}catch(e){console.error(e)}}bc(),bu.exports=Ee;var Jp=bu.exports,ef,yu=Jp;ef=yu.createRoot,yu.hydrateRoot;/** * @remix-run/router v1.23.2 * * Copyright (c) Remix Software Inc. @@ -46,7 +46,7 @@ Error generating stack: `+i.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function rs(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Zp(){return Math.random().toString(36).substr(2,8)}function wu(e,t){return{usr:e.state,key:e.key,idx:t}}function ro(e,t,n,r){return n===void 0&&(n=null),ir({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?yn(t):t,{state:n,key:t&&t.key||r||Zp()})}function gl(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function yn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function qp(e,t,n,r){r===void 0&&(r={});let{window:l=document.defaultView,v5Compat:i=!1}=r,o=l.history,s=st.Pop,u=null,a=h();a==null&&(a=0,o.replaceState(ir({},o.state,{idx:a}),""));function h(){return(o.state||{idx:null}).idx}function f(){s=st.Pop;let C=h(),m=C==null?null:C-a;a=C,u&&u({action:s,location:S.location,delta:m})}function d(C,m){s=st.Push;let p=ro(S.location,C,m);a=h()+1;let v=wu(p,a),x=S.createHref(p);try{o.pushState(v,"",x)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;l.location.assign(x)}i&&u&&u({action:s,location:S.location,delta:1})}function y(C,m){s=st.Replace;let p=ro(S.location,C,m);a=h();let v=wu(p,a),x=S.createHref(p);o.replaceState(v,"",x),i&&u&&u({action:s,location:S.location,delta:0})}function g(C){let m=l.location.origin!=="null"?l.location.origin:l.location.href,p=typeof C=="string"?C:gl(C);return p=p.replace(/ $/,"%20"),J(m,"No window.location.(origin|href) available to create URL for href: "+p),new URL(p,m)}let S={get action(){return s},get location(){return e(l,o)},listen(C){if(u)throw new Error("A history only accepts one active listener");return l.addEventListener(xu,f),u=C,()=>{l.removeEventListener(xu,f),u=null}},createHref(C){return t(l,C)},createURL:g,encodeLocation(C){let m=g(C);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:d,replace:y,go(C){return o.go(C)}};return S}var Su;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Su||(Su={}));function bp(e,t,n){return n===void 0&&(n="/"),eh(e,t,n)}function eh(e,t,n,r){let l=typeof t=="string"?yn(t):t,i=ls(l.pathname||"/",n);if(i==null)return null;let o=nf(e);th(o);let s=null;for(let u=0;s==null&&u{let u={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};u.relativePath.startsWith("/")&&(J(u.relativePath.startsWith(r),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(r.length));let a=vt([r,u.relativePath]),h=n.concat(u);i.children&&i.children.length>0&&(J(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+a+'".')),nf(i.children,t,h,a)),!(i.path==null&&!i.index)&&t.push({path:a,score:uh(a,i.index),routesMeta:h})};return e.forEach((i,o)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))l(i,o);else for(let u of rf(i.path))l(i,o,u)}),t}function rf(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,l=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return l?[i,""]:[i];let o=rf(r.join("/")),s=[];return s.push(...o.map(u=>u===""?i:[i,u].join("/"))),l&&s.push(...o),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function th(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:ah(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const nh=/^:[\w-]+$/,rh=3,lh=2,ih=1,oh=10,sh=-2,ku=e=>e==="*";function uh(e,t){let n=e.split("/"),r=n.length;return n.some(ku)&&(r+=sh),t&&(r+=lh),n.filter(l=>!ku(l)).reduce((l,i)=>l+(nh.test(i)?rh:i===""?ih:oh),r)}function ah(e,t){return e.length===t.length&&e.slice(0,-1).every((r,l)=>r===t[l])?e[e.length-1]-t[t.length-1]:0}function ch(e,t,n){let{routesMeta:r}=e,l={},i="/",o=[];for(let s=0;s{let{paramName:d,isOptional:y}=h;if(d==="*"){let S=s[f]||"";o=i.slice(0,i.length-S.length).replace(/(.)\/+$/,"$1")}const g=s[f];return y&&!g?a[d]=void 0:a[d]=(g||"").replace(/%2F/g,"/"),a},{}),pathname:i,pathnameBase:o,pattern:e}}function dh(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),rs(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],l="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,s,u)=>(r.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),l+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?l+="\\/*$":e!==""&&e!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,t?void 0:"i"),r]}function ph(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return rs(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function ls(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}const hh=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,mh=e=>hh.test(e);function vh(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:l=""}=typeof e=="string"?yn(e):e,i;if(n)if(mh(n))i=n;else{if(n.includes("//")){let o=n;n=n.replace(/\/\/+/g,"/"),rs(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+n))}n.startsWith("/")?i=Eu(n.substring(1),"/"):i=Eu(n,t)}else i=t;return{pathname:i,search:xh(r),hash:wh(l)}}function Eu(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(l=>{l===".."?n.length>1&&n.pop():l!=="."&&n.push(l)}),n.length>1?n.join("/"):"/"}function ci(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function gh(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function is(e,t){let n=gh(e);return t?n.map((r,l)=>l===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function os(e,t,n,r){r===void 0&&(r=!1);let l;typeof e=="string"?l=yn(e):(l=ir({},e),J(!l.pathname||!l.pathname.includes("?"),ci("?","pathname","search",l)),J(!l.pathname||!l.pathname.includes("#"),ci("#","pathname","hash",l)),J(!l.search||!l.search.includes("#"),ci("#","search","hash",l)));let i=e===""||l.pathname==="",o=i?"/":l.pathname,s;if(o==null)s=n;else{let f=t.length-1;if(!r&&o.startsWith("..")){let d=o.split("/");for(;d[0]==="..";)d.shift(),f-=1;l.pathname=d.join("/")}s=f>=0?t[f]:"/"}let u=vh(l,s),a=o&&o!=="/"&&o.endsWith("/"),h=(i||o===".")&&n.endsWith("/");return!u.pathname.endsWith("/")&&(a||h)&&(u.pathname+="/"),u}const vt=e=>e.join("/").replace(/\/\/+/g,"/"),yh=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),xh=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,wh=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Sh(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const lf=["post","put","patch","delete"];new Set(lf);const kh=["get",...lf];new Set(kh);/** + */function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function rs(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Xp(){return Math.random().toString(36).substr(2,8)}function wu(e,t){return{usr:e.state,key:e.key,idx:t}}function ro(e,t,n,r){return n===void 0&&(n=null),ir({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?yn(t):t,{state:n,key:t&&t.key||r||Xp()})}function gl(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function yn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Zp(e,t,n,r){r===void 0&&(r={});let{window:l=document.defaultView,v5Compat:i=!1}=r,o=l.history,s=st.Pop,u=null,a=h();a==null&&(a=0,o.replaceState(ir({},o.state,{idx:a}),""));function h(){return(o.state||{idx:null}).idx}function f(){s=st.Pop;let C=h(),m=C==null?null:C-a;a=C,u&&u({action:s,location:w.location,delta:m})}function d(C,m){s=st.Push;let p=ro(w.location,C,m);a=h()+1;let v=wu(p,a),x=w.createHref(p);try{o.pushState(v,"",x)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;l.location.assign(x)}i&&u&&u({action:s,location:w.location,delta:1})}function y(C,m){s=st.Replace;let p=ro(w.location,C,m);a=h();let v=wu(p,a),x=w.createHref(p);o.replaceState(v,"",x),i&&u&&u({action:s,location:w.location,delta:0})}function g(C){let m=l.location.origin!=="null"?l.location.origin:l.location.href,p=typeof C=="string"?C:gl(C);return p=p.replace(/ $/,"%20"),J(m,"No window.location.(origin|href) available to create URL for href: "+p),new URL(p,m)}let w={get action(){return s},get location(){return e(l,o)},listen(C){if(u)throw new Error("A history only accepts one active listener");return l.addEventListener(xu,f),u=C,()=>{l.removeEventListener(xu,f),u=null}},createHref(C){return t(l,C)},createURL:g,encodeLocation(C){let m=g(C);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:d,replace:y,go(C){return o.go(C)}};return w}var Su;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Su||(Su={}));function qp(e,t,n){return n===void 0&&(n="/"),bp(e,t,n)}function bp(e,t,n,r){let l=typeof t=="string"?yn(t):t,i=ls(l.pathname||"/",n);if(i==null)return null;let o=tf(e);eh(o);let s=null;for(let u=0;s==null&&u{let u={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};u.relativePath.startsWith("/")&&(J(u.relativePath.startsWith(r),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(r.length));let a=vt([r,u.relativePath]),h=n.concat(u);i.children&&i.children.length>0&&(J(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+a+'".')),tf(i.children,t,h,a)),!(i.path==null&&!i.index)&&t.push({path:a,score:sh(a,i.index),routesMeta:h})};return e.forEach((i,o)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))l(i,o);else for(let u of nf(i.path))l(i,o,u)}),t}function nf(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,l=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return l?[i,""]:[i];let o=nf(r.join("/")),s=[];return s.push(...o.map(u=>u===""?i:[i,u].join("/"))),l&&s.push(...o),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function eh(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:uh(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const th=/^:[\w-]+$/,nh=3,rh=2,lh=1,ih=10,oh=-2,ku=e=>e==="*";function sh(e,t){let n=e.split("/"),r=n.length;return n.some(ku)&&(r+=oh),t&&(r+=rh),n.filter(l=>!ku(l)).reduce((l,i)=>l+(th.test(i)?nh:i===""?lh:ih),r)}function uh(e,t){return e.length===t.length&&e.slice(0,-1).every((r,l)=>r===t[l])?e[e.length-1]-t[t.length-1]:0}function ah(e,t,n){let{routesMeta:r}=e,l={},i="/",o=[];for(let s=0;s{let{paramName:d,isOptional:y}=h;if(d==="*"){let w=s[f]||"";o=i.slice(0,i.length-w.length).replace(/(.)\/+$/,"$1")}const g=s[f];return y&&!g?a[d]=void 0:a[d]=(g||"").replace(/%2F/g,"/"),a},{}),pathname:i,pathnameBase:o,pattern:e}}function fh(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),rs(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],l="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,s,u)=>(r.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),l+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?l+="\\/*$":e!==""&&e!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,t?void 0:"i"),r]}function dh(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return rs(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function ls(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}const ph=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,hh=e=>ph.test(e);function mh(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:l=""}=typeof e=="string"?yn(e):e,i;if(n)if(hh(n))i=n;else{if(n.includes("//")){let o=n;n=n.replace(/\/\/+/g,"/"),rs(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+n))}n.startsWith("/")?i=Eu(n.substring(1),"/"):i=Eu(n,t)}else i=t;return{pathname:i,search:yh(r),hash:xh(l)}}function Eu(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(l=>{l===".."?n.length>1&&n.pop():l!=="."&&n.push(l)}),n.length>1?n.join("/"):"/"}function ci(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function vh(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function is(e,t){let n=vh(e);return t?n.map((r,l)=>l===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function os(e,t,n,r){r===void 0&&(r=!1);let l;typeof e=="string"?l=yn(e):(l=ir({},e),J(!l.pathname||!l.pathname.includes("?"),ci("?","pathname","search",l)),J(!l.pathname||!l.pathname.includes("#"),ci("#","pathname","hash",l)),J(!l.search||!l.search.includes("#"),ci("#","search","hash",l)));let i=e===""||l.pathname==="",o=i?"/":l.pathname,s;if(o==null)s=n;else{let f=t.length-1;if(!r&&o.startsWith("..")){let d=o.split("/");for(;d[0]==="..";)d.shift(),f-=1;l.pathname=d.join("/")}s=f>=0?t[f]:"/"}let u=mh(l,s),a=o&&o!=="/"&&o.endsWith("/"),h=(i||o===".")&&n.endsWith("/");return!u.pathname.endsWith("/")&&(a||h)&&(u.pathname+="/"),u}const vt=e=>e.join("/").replace(/\/\/+/g,"/"),gh=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),yh=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,xh=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function wh(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const rf=["post","put","patch","delete"];new Set(rf);const Sh=["get",...rf];new Set(Sh);/** * React Router v6.30.3 * * Copyright (c) Remix Software Inc. @@ -55,7 +55,7 @@ Error generating stack: `+i.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function or(){return or=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),w.useCallback(function(a,h){if(h===void 0&&(h={}),!s.current)return;if(typeof a=="number"){r.go(a);return}let f=os(a,JSON.parse(o),i,h.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:vt([t,f.pathname])),(h.replace?r.replace:r.push)(f,h.state,h)},[t,r,o,i,e])}function uf(){let{matches:e}=w.useContext(be),t=e[e.length-1];return t?t.params:{}}function af(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=w.useContext(kt),{matches:l}=w.useContext(be),{pathname:i}=dr(),o=JSON.stringify(is(l,r.v7_relativeSplatPath));return w.useMemo(()=>os(e,JSON.parse(o),i,n==="path"),[e,o,i,n])}function jh(e,t){return _h(e,t)}function _h(e,t,n,r){xn()||J(!1);let{navigator:l}=w.useContext(kt),{matches:i}=w.useContext(be),o=i[i.length-1],s=o?o.params:{};o&&o.pathname;let u=o?o.pathnameBase:"/";o&&o.route;let a=dr(),h;if(t){var f;let C=typeof t=="string"?yn(t):t;u==="/"||(f=C.pathname)!=null&&f.startsWith(u)||J(!1),h=C}else h=a;let d=h.pathname||"/",y=d;if(u!=="/"){let C=u.replace(/^\//,"").split("/");y="/"+d.replace(/^\//,"").split("/").slice(C.length).join("/")}let g=bp(e,{pathname:y}),S=Ih(g&&g.map(C=>Object.assign({},C,{params:Object.assign({},s,C.params),pathname:vt([u,l.encodeLocation?l.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?u:vt([u,l.encodeLocation?l.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),i,n,r);return t&&S?w.createElement(Ml.Provider,{value:{location:or({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:st.Pop}},S):S}function Ph(){let e=Fh(),t=Sh(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,l={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return w.createElement(w.Fragment,null,w.createElement("h2",null,"Unexpected Application Error!"),w.createElement("h3",{style:{fontStyle:"italic"}},t),n?w.createElement("pre",{style:l},n):null,null)}const Th=w.createElement(Ph,null);class Lh extends w.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?w.createElement(be.Provider,{value:this.props.routeContext},w.createElement(of.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Rh(e){let{routeContext:t,match:n,children:r}=e,l=w.useContext(ss);return l&&l.static&&l.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=n.route.id),w.createElement(be.Provider,{value:t},r)}function Ih(e,t,n,r){var l;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let o=e,s=(l=n)==null?void 0:l.errors;if(s!=null){let h=o.findIndex(f=>f.route.id&&(s==null?void 0:s[f.route.id])!==void 0);h>=0||J(!1),o=o.slice(0,Math.min(o.length,h+1))}let u=!1,a=-1;if(n&&r&&r.v7_partialHydration)for(let h=0;h=0?o=o.slice(0,a+1):o=[o[0]];break}}}return o.reduceRight((h,f,d)=>{let y,g=!1,S=null,C=null;n&&(y=s&&f.route.id?s[f.route.id]:void 0,S=f.route.errorElement||Th,u&&(a<0&&d===0?($h("route-fallback"),g=!0,C=null):a===d&&(g=!0,C=f.route.hydrateFallbackElement||null)));let m=t.concat(o.slice(0,d+1)),p=()=>{let v;return y?v=S:g?v=C:f.route.Component?v=w.createElement(f.route.Component,null):f.route.element?v=f.route.element:v=h,w.createElement(Rh,{match:f,routeContext:{outlet:h,matches:m,isDataRoute:n!=null},children:v})};return n&&(f.route.ErrorBoundary||f.route.errorElement||d===0)?w.createElement(Lh,{location:n.location,revalidation:n.revalidation,component:S,error:y,children:p(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):p()},null)}var cf=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(cf||{}),ff=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(ff||{});function zh(e){let t=w.useContext(ss);return t||J(!1),t}function Mh(e){let t=w.useContext(Eh);return t||J(!1),t}function Oh(e){let t=w.useContext(be);return t||J(!1),t}function df(e){let t=Oh(),n=t.matches[t.matches.length-1];return n.route.id||J(!1),n.route.id}function Fh(){var e;let t=w.useContext(of),n=Mh(),r=df();return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function Dh(){let{router:e}=zh(cf.UseNavigateStable),t=df(ff.UseNavigateStable),n=w.useRef(!1);return sf(()=>{n.current=!0}),w.useCallback(function(l,i){i===void 0&&(i={}),n.current&&(typeof l=="number"?e.navigate(l):e.navigate(l,or({fromRouteId:t},i)))},[e,t])}const Nu={};function $h(e,t,n){Nu[e]||(Nu[e]=!0)}function Uh(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function Ah(e){let{to:t,replace:n,state:r,relative:l}=e;xn()||J(!1);let{future:i,static:o}=w.useContext(kt),{matches:s}=w.useContext(be),{pathname:u}=dr(),a=us(),h=os(t,is(s,i.v7_relativeSplatPath),u,l==="path"),f=JSON.stringify(h);return w.useEffect(()=>a(JSON.parse(f),{replace:n,state:r,relative:l}),[a,f,l,n,r]),null}function In(e){J(!1)}function Vh(e){let{basename:t="/",children:n=null,location:r,navigationType:l=st.Pop,navigator:i,static:o=!1,future:s}=e;xn()&&J(!1);let u=t.replace(/^\/*/,"/"),a=w.useMemo(()=>({basename:u,navigator:i,static:o,future:or({v7_relativeSplatPath:!1},s)}),[u,s,i,o]);typeof r=="string"&&(r=yn(r));let{pathname:h="/",search:f="",hash:d="",state:y=null,key:g="default"}=r,S=w.useMemo(()=>{let C=ls(h,u);return C==null?null:{location:{pathname:C,search:f,hash:d,state:y,key:g},navigationType:l}},[u,h,f,d,y,g,l]);return S==null?null:w.createElement(kt.Provider,{value:a},w.createElement(Ml.Provider,{children:n,value:S}))}function Bh(e){let{children:t,location:n}=e;return jh(lo(t),n)}new Promise(()=>{});function lo(e,t){t===void 0&&(t=[]);let n=[];return w.Children.forEach(e,(r,l)=>{if(!w.isValidElement(r))return;let i=[...t,l];if(r.type===w.Fragment){n.push.apply(n,lo(r.props.children,i));return}r.type!==In&&J(!1),!r.props.index||!r.props.children||J(!1);let o={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=lo(r.props.children,i)),n.push(o)}),n}/** + */function or(){return or=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),S.useCallback(function(a,h){if(h===void 0&&(h={}),!s.current)return;if(typeof a=="number"){r.go(a);return}let f=os(a,JSON.parse(o),i,h.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:vt([t,f.pathname])),(h.replace?r.replace:r.push)(f,h.state,h)},[t,r,o,i,e])}function sf(){let{matches:e}=S.useContext(be),t=e[e.length-1];return t?t.params:{}}function uf(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=S.useContext(kt),{matches:l}=S.useContext(be),{pathname:i}=dr(),o=JSON.stringify(is(l,r.v7_relativeSplatPath));return S.useMemo(()=>os(e,JSON.parse(o),i,n==="path"),[e,o,i,n])}function Ch(e,t){return jh(e,t)}function jh(e,t,n,r){xn()||J(!1);let{navigator:l}=S.useContext(kt),{matches:i}=S.useContext(be),o=i[i.length-1],s=o?o.params:{};o&&o.pathname;let u=o?o.pathnameBase:"/";o&&o.route;let a=dr(),h;if(t){var f;let C=typeof t=="string"?yn(t):t;u==="/"||(f=C.pathname)!=null&&f.startsWith(u)||J(!1),h=C}else h=a;let d=h.pathname||"/",y=d;if(u!=="/"){let C=u.replace(/^\//,"").split("/");y="/"+d.replace(/^\//,"").split("/").slice(C.length).join("/")}let g=qp(e,{pathname:y}),w=Rh(g&&g.map(C=>Object.assign({},C,{params:Object.assign({},s,C.params),pathname:vt([u,l.encodeLocation?l.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?u:vt([u,l.encodeLocation?l.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),i,n,r);return t&&w?S.createElement(Ol.Provider,{value:{location:or({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:st.Pop}},w):w}function _h(){let e=Mh(),t=wh(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,l={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},t),n?S.createElement("pre",{style:l},n):null,null)}const Ph=S.createElement(_h,null);class Th extends S.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?S.createElement(be.Provider,{value:this.props.routeContext},S.createElement(lf.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Lh(e){let{routeContext:t,match:n,children:r}=e,l=S.useContext(ss);return l&&l.static&&l.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=n.route.id),S.createElement(be.Provider,{value:t},r)}function Rh(e,t,n,r){var l;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let o=e,s=(l=n)==null?void 0:l.errors;if(s!=null){let h=o.findIndex(f=>f.route.id&&(s==null?void 0:s[f.route.id])!==void 0);h>=0||J(!1),o=o.slice(0,Math.min(o.length,h+1))}let u=!1,a=-1;if(n&&r&&r.v7_partialHydration)for(let h=0;h=0?o=o.slice(0,a+1):o=[o[0]];break}}}return o.reduceRight((h,f,d)=>{let y,g=!1,w=null,C=null;n&&(y=s&&f.route.id?s[f.route.id]:void 0,w=f.route.errorElement||Ph,u&&(a<0&&d===0?(Dh("route-fallback"),g=!0,C=null):a===d&&(g=!0,C=f.route.hydrateFallbackElement||null)));let m=t.concat(o.slice(0,d+1)),p=()=>{let v;return y?v=w:g?v=C:f.route.Component?v=S.createElement(f.route.Component,null):f.route.element?v=f.route.element:v=h,S.createElement(Lh,{match:f,routeContext:{outlet:h,matches:m,isDataRoute:n!=null},children:v})};return n&&(f.route.ErrorBoundary||f.route.errorElement||d===0)?S.createElement(Th,{location:n.location,revalidation:n.revalidation,component:w,error:y,children:p(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):p()},null)}var af=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(af||{}),cf=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(cf||{});function zh(e){let t=S.useContext(ss);return t||J(!1),t}function Ih(e){let t=S.useContext(kh);return t||J(!1),t}function Oh(e){let t=S.useContext(be);return t||J(!1),t}function ff(e){let t=Oh(),n=t.matches[t.matches.length-1];return n.route.id||J(!1),n.route.id}function Mh(){var e;let t=S.useContext(lf),n=Ih(),r=ff();return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function Fh(){let{router:e}=zh(af.UseNavigateStable),t=ff(cf.UseNavigateStable),n=S.useRef(!1);return of(()=>{n.current=!0}),S.useCallback(function(l,i){i===void 0&&(i={}),n.current&&(typeof l=="number"?e.navigate(l):e.navigate(l,or({fromRouteId:t},i)))},[e,t])}const Nu={};function Dh(e,t,n){Nu[e]||(Nu[e]=!0)}function $h(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function Uh(e){let{to:t,replace:n,state:r,relative:l}=e;xn()||J(!1);let{future:i,static:o}=S.useContext(kt),{matches:s}=S.useContext(be),{pathname:u}=dr(),a=us(),h=os(t,is(s,i.v7_relativeSplatPath),u,l==="path"),f=JSON.stringify(h);return S.useEffect(()=>a(JSON.parse(f),{replace:n,state:r,relative:l}),[a,f,l,n,r]),null}function zn(e){J(!1)}function Ah(e){let{basename:t="/",children:n=null,location:r,navigationType:l=st.Pop,navigator:i,static:o=!1,future:s}=e;xn()&&J(!1);let u=t.replace(/^\/*/,"/"),a=S.useMemo(()=>({basename:u,navigator:i,static:o,future:or({v7_relativeSplatPath:!1},s)}),[u,s,i,o]);typeof r=="string"&&(r=yn(r));let{pathname:h="/",search:f="",hash:d="",state:y=null,key:g="default"}=r,w=S.useMemo(()=>{let C=ls(h,u);return C==null?null:{location:{pathname:C,search:f,hash:d,state:y,key:g},navigationType:l}},[u,h,f,d,y,g,l]);return w==null?null:S.createElement(kt.Provider,{value:a},S.createElement(Ol.Provider,{children:n,value:w}))}function Vh(e){let{children:t,location:n}=e;return Ch(lo(t),n)}new Promise(()=>{});function lo(e,t){t===void 0&&(t=[]);let n=[];return S.Children.forEach(e,(r,l)=>{if(!S.isValidElement(r))return;let i=[...t,l];if(r.type===S.Fragment){n.push.apply(n,lo(r.props.children,i));return}r.type!==zn&&J(!1),!r.props.index||!r.props.children||J(!1);let o={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=lo(r.props.children,i)),n.push(o)}),n}/** * React Router DOM v6.30.3 * * Copyright (c) Remix Software Inc. @@ -64,4 +64,4 @@ Error generating stack: `+i.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function io(){return io=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[l]=e[l]);return n}function Hh(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Qh(e,t){return e.button===0&&(!t||t==="_self")&&!Hh(e)}const Kh=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Gh="6";try{window.__reactRouterVersion=Gh}catch{}const Jh="startTransition",Cu=$f[Jh];function Yh(e){let{basename:t,children:n,future:r,window:l}=e,i=w.useRef();i.current==null&&(i.current=Xp({window:l,v5Compat:!0}));let o=i.current,[s,u]=w.useState({action:o.action,location:o.location}),{v7_startTransition:a}=r||{},h=w.useCallback(f=>{a&&Cu?Cu(()=>u(f)):u(f)},[u,a]);return w.useLayoutEffect(()=>o.listen(h),[o,h]),w.useEffect(()=>Uh(r),[r]),w.createElement(Vh,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:o,future:r})}const Xh=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Zh=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pf=w.forwardRef(function(t,n){let{onClick:r,relative:l,reloadDocument:i,replace:o,state:s,target:u,to:a,preventScrollReset:h,viewTransition:f}=t,d=Wh(t,Kh),{basename:y}=w.useContext(kt),g,S=!1;if(typeof a=="string"&&Zh.test(a)&&(g=a,Xh))try{let v=new URL(window.location.href),x=a.startsWith("//")?new URL(v.protocol+a):new URL(a),E=ls(x.pathname,y);x.origin===v.origin&&E!=null?a=E+x.search+x.hash:S=!0}catch{}let C=Nh(a,{relative:l}),m=qh(a,{replace:o,state:s,target:u,preventScrollReset:h,relative:l,viewTransition:f});function p(v){r&&r(v),v.defaultPrevented||m(v)}return w.createElement("a",io({},d,{href:g||C,onClick:S||i?r:p,ref:n,target:u}))});var ju;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(ju||(ju={}));var _u;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(_u||(_u={}));function qh(e,t){let{target:n,replace:r,state:l,preventScrollReset:i,relative:o,viewTransition:s}=t===void 0?{}:t,u=us(),a=dr(),h=af(e,{relative:o});return w.useCallback(f=>{if(Qh(f,n)){f.preventDefault();let d=r!==void 0?r:gl(a)===gl(h);u(e,{replace:d,state:l,preventScrollReset:i,relative:o,viewTransition:s})}},[a,u,h,r,l,n,e,i,o,s])}async function as(e){const t=await fetch(e,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`request failed: ${t.status} ${t.statusText} (${e})`);return await t.json()}function bh(){return as("/api/runs")}function em(e){return as(`/api/runs/${encodeURIComponent(e)}`)}function tm(e,t){return as(`/api/runs/${encodeURIComponent(e)}/steps/${t}`)}function Pu(e,t){return`/api/runs/${encodeURIComponent(e)}/screenshots/${encodeURIComponent(t)}`}function nm(e,t){return`/api/runs/${encodeURIComponent(e)}/html/${encodeURIComponent(t)}`}function rm(e,t){w.useEffect(()=>{if(typeof EventSource>"u")return;const n=new EventSource("/api/events"),r=()=>{t()};return n.addEventListener(e,r),()=>{n.removeEventListener(e,r),n.close()}},[e,t])}function lm(e){if(!e)return"-";if(e<1e3)return`${e}ms`;const t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;const n=Math.floor(t/60),r=Math.round(t-n*60);return`${n}m${r}s`}function im(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function om(){const[e,t]=w.useState(null),[n,r]=w.useState(null),l=w.useCallback(()=>{bh().then(t).catch(i=>{r(i instanceof Error?i.message:String(i))})},[]);return w.useEffect(()=>{l()},[l]),rm("runs.changed",l),n?c.jsxs("div",{className:"status-block status-error",children:["failed to load runs: ",n]}):e?e.length===0?c.jsx("div",{className:"status-block",children:"no runs yet. run `sanderling test` to produce some."}):c.jsxs("table",{className:"run-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"started"}),c.jsx("th",{children:"spec"}),c.jsx("th",{children:"seed"}),c.jsx("th",{children:"platform"}),c.jsx("th",{children:"duration"}),c.jsx("th",{children:"steps"}),c.jsx("th",{children:"violations"}),c.jsx("th",{})]})}),c.jsx("tbody",{children:e.map(i=>c.jsxs("tr",{children:[c.jsx("td",{children:c.jsx(pf,{to:`/runs/${i.id}`,children:im(i.started_at)})}),c.jsx("td",{children:i.spec_path}),c.jsx("td",{children:i.seed}),c.jsx("td",{children:i.platform}),c.jsx("td",{children:lm(i.duration_millis)}),c.jsx("td",{children:i.step_count}),c.jsx("td",{children:i.violation_count>0?c.jsx("span",{className:"chip chip-violation",children:i.violation_count}):"0"}),c.jsx("td",{children:i.in_progress?c.jsx("span",{className:"chip chip-progress",children:"in progress"}):null})]},i.id))})]}):c.jsx("div",{className:"status-block",children:"loading runs..."})}const sm=["id","text","textPrefix","desc","descPrefix","class","classPrefix","package"];function hf(e){const t=e.indexOf(":");if(t<=0)return null;const n=e.slice(0,t),r=e.slice(t+1);return sm.includes(n)?{kind:n,value:r}:null}function um(e){const t=hf(e);return t?t.kind.endsWith("Prefix")?`${t.value}...`:t.value:e}function am(e){const t=e.action_kind,n=e.action_label??"";if(!t)return e.screen?{verb:"Observe",target:`@ ${e.screen}`,targetIsTag:!1}:{verb:"Observe",target:"",targetIsTag:!1};switch(t){case"Tap":return n?n.startsWith("(")&&n.endsWith(")")?{verb:"Click",target:n,targetIsTag:!1}:hf(n)?{verb:"Click",target:um(n),targetIsTag:!0}:{verb:"Click",target:n,targetIsTag:!1}:{verb:"Click",target:"",targetIsTag:!1};case"InputText":return{verb:"Type",target:n,targetIsTag:!1};case"Swipe":return{verb:"Swipe",target:n,targetIsTag:!0};case"PressKey":return{verb:"Press",target:n,targetIsTag:!0};case"Wait":return{verb:"Wait",target:n,targetIsTag:!0};default:return{verb:t,target:n,targetIsTag:!1}}}function cm(e){const t=Math.max(0,Math.floor(e)),n=Math.floor(t/1e3),r=Math.floor(n/60),l=n%60,i=t%1e3,o=u=>String(u).padStart(2,"0"),s=u=>String(u).padStart(3,"0");return`${o(r)}:${o(l)}.${s(i)}`}function fm(e,t){return e?t?c.jsx("span",{className:"action-list-target action-list-target-tag",children:`<${e}/>`}):c.jsx("span",{className:"action-list-target",children:e}):null}function dm(e){const t=e.action;return t&&typeof t.text=="string"?t.text:""}function pm(e){const t=e.action;return t?t.tap_point?`${t.tap_point.x.toFixed(1)}, ${t.tap_point.y.toFixed(1)}`:typeof t.x=="number"&&typeof t.y=="number"?`${t.x.toFixed(1)}, ${t.y.toFixed(1)}`:typeof t.from_x=="number"&&typeof t.from_y=="number"?`${t.from_x.toFixed(1)}, ${t.from_y.toFixed(1)}`:null:null}function hm({steps:e,selectedIndex:t,onSelect:n,runStartMillis:r,selectedStep:l}){const i=w.useRef(new Map),o=r??(e[0]?new Date(e[0].timestamp).getTime():0);w.useEffect(()=>{const a=i.current.get(t);a&&typeof a.scrollIntoView=="function"&&a.scrollIntoView({block:"nearest"})},[t]);const s=a=>{const h=i.current.get(a);h&&typeof h.focus=="function"&&h.focus()},u=(a,h)=>{var d,y;const f=e.findIndex(g=>g.index===h);switch(a.key){case"Enter":case" ":a.preventDefault(),n(h);return;case"ArrowDown":{if(f<0||f>=e.length-1)return;a.preventDefault();const g=e[f+1].index;n(g),s(g);return}case"ArrowUp":{if(f<=0)return;a.preventDefault();const g=e[f-1].index;n(g),s(g);return}case"Home":{a.preventDefault();const g=(d=e[0])==null?void 0:d.index;g!==void 0&&(n(g),s(g));return}case"End":{a.preventDefault();const g=(y=e[e.length-1])==null?void 0:y.index;g!==void 0&&(n(g),s(g));return}}};return c.jsx("ol",{className:"action-list",role:"listbox","aria-label":"Steps",children:e.map(a=>{const h=a.index===t,{verb:f,target:d,targetIsTag:y}=am(a),g=new Date(a.timestamp).getTime()-o,S=cm(g),C=d?y?`<${d}/>`:d:"",m=C?`Step ${a.index} ${f} ${C}`:`Step ${a.index} ${f}`,p=h&&l&&l.step===a.index,v=p?pm(l):null,x=p?dm(l):"";return c.jsxs("li",{ref:E=>{E?i.current.set(a.index,E):i.current.delete(a.index)},className:"action-list-item",role:"option",tabIndex:h?0:-1,"aria-selected":h,"aria-label":m,"data-active":h?"true":"false","data-violations":a.has_violations?"true":"false","data-exceptions":a.has_exceptions?"true":"false",onClick:()=>n(a.index),onKeyDown:E=>u(E,a.index),title:d||void 0,children:[c.jsxs("div",{className:"action-list-row",children:[c.jsxs("span",{className:"action-list-index",children:[a.index,"."]}),c.jsxs("span",{className:"action-list-body",children:[c.jsx("span",{className:"action-list-verb",children:f}),fm(d,y)]}),c.jsxs("span",{className:"action-list-markers",children:[a.has_exceptions?c.jsx("span",{className:"action-list-marker-exception","aria-label":"exceptions",role:"img"}):null,a.has_violations?c.jsx("span",{className:"action-list-marker-violation","aria-label":"violations",role:"img"}):null]}),c.jsx("span",{className:"action-list-elapsed",children:S})]}),p?c.jsxs("div",{className:"action-list-details",children:[c.jsxs("div",{className:"action-list-detail-row",children:[c.jsx("span",{className:"action-list-detail-label",children:"Position"}),c.jsx("span",{className:"action-list-detail-value",children:v??""})]}),c.jsxs("div",{className:"action-list-detail-row",children:[c.jsx("span",{className:"action-list-detail-label",children:"Content"}),c.jsx("span",{className:"action-list-detail-value",children:x||'""'})]})]}):null]},a.index)})})}function Tu({hierarchy:e}){const[t,n]=w.useState(""),r=(e==null?void 0:e.elements)??[],l=w.useMemo(()=>{const i=t.trim().toLowerCase();return i?r.filter(o=>vm(o,i)):r},[r,t]);return r.length===0?c.jsx("div",{className:"hierarchy-empty",children:"no hierarchy captured"}):c.jsxs("div",{className:"hierarchy-panel",children:[c.jsx("input",{type:"text",className:"hierarchy-filter",placeholder:"filter by id, text, desc, class, tag...",value:t,onChange:i=>n(i.target.value)}),c.jsx("div",{className:"hierarchy-table-wrap",children:c.jsxs("table",{className:"hierarchy-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"tag/class"}),c.jsx("th",{children:"id"}),c.jsx("th",{children:"text/desc"}),c.jsx("th",{children:"bounds"})]})}),c.jsx("tbody",{children:l.map((i,o)=>c.jsx(mm,{element:i},o))})]})}),c.jsxs("div",{className:"hierarchy-count",children:[l.length," of ",r.length]})]})}function mm({element:e}){const t=e.tag??e.class??"",n=(e.text??e.description??"").slice(0,80),r=e.bounds;return c.jsxs("tr",{children:[c.jsx("td",{className:"hierarchy-tag",children:t}),c.jsx("td",{className:"hierarchy-id",children:e.resourceId??""}),c.jsx("td",{className:"hierarchy-text",children:n}),c.jsxs("td",{className:"hierarchy-bounds",children:["[",r.left,",",r.top,",",r.right,",",r.bottom,"]"]})]})}function vm(e,t){const n=[e.resourceId,e.text,e.description,e.class,e.tag];for(const r of n)if(r&&r.toLowerCase().includes(t))return!0;if(e.attributes){for(const r of Object.values(e.attributes))if(r.toLowerCase().includes(t))return!0}return!1}function Lu({runId:e,fileName:t,available:n}){const[r,l]=w.useState("render"),[i,o]=w.useState(null),[s,u]=w.useState(null),a=nm(e,t);return w.useEffect(()=>{if(!n||r!=="source")return;let h=!1;return o(null),u(null),fetch(a).then(f=>{if(!f.ok)throw new Error(`${f.status} ${f.statusText}`);return f.text()}).then(f=>{h||o(f)}).catch(f=>{h||u(f instanceof Error?f.message:String(f))}),()=>{h=!0}},[n,r,a]),n?c.jsxs("div",{className:"html-panel",children:[c.jsxs("div",{className:"html-toolbar",children:[c.jsx("button",{type:"button",className:r==="render"?"html-tab html-tab-active":"html-tab",onClick:()=>l("render"),children:"render"}),c.jsx("button",{type:"button",className:r==="source"?"html-tab html-tab-active":"html-tab",onClick:()=>l("source"),children:"source"})]}),r==="render"?c.jsx("iframe",{className:"html-frame",src:a,sandbox:"",title:t}):s?c.jsxs("div",{className:"html-error",children:["failed to load: ",s]}):i===null?c.jsx("div",{className:"html-empty",children:"loading..."}):c.jsx("pre",{className:"html-source",children:i})]}):c.jsx("div",{className:"html-empty",children:"no html captured for this step"})}const gm=1080,ym=1920;function Ru({src:e,action:t,deviceWidth:n,deviceHeight:r}){const[l,i]=w.useState(null),[o,s]=w.useState(!1),u=w.useRef(e),h=`screenshot-spotlight-${w.useId().replace(/:/g,"")}`;if(w.useEffect(()=>{u.current!==e&&(u.current=e,s(!1),i(null))},[e]),!e||o)return c.jsx("div",{className:"screenshot-placeholder","data-testid":"screenshot-placeholder",children:"no screenshot"});const f=n??(l==null?void 0:l.width)??gm,d=r??(l==null?void 0:l.height)??ym,y=Math.max(2,f/200),g=Math.max(12,f/60),S=Math.max(18,f/40),C=g*3,m=t==null?void 0:t.resolved_bounds,p=t==null?void 0:t.tap_point,v=(t==null?void 0:t.kind)==="Swipe"&&t.from_x!==void 0&&t.from_y!==void 0&&t.to_x!==void 0&&t.to_y!==void 0;return c.jsxs("div",{className:"screenshot-frame",style:{aspectRatio:`${f} / ${d}`},children:[c.jsx("img",{className:"screenshot-image",src:e,alt:"device screenshot",onLoad:x=>{const E=x.currentTarget;E.naturalWidth>0&&E.naturalHeight>0&&i({width:E.naturalWidth,height:E.naturalHeight})},onError:()=>s(!0)}),c.jsxs("svg",{className:"screenshot-overlay",viewBox:`0 0 ${f} ${d}`,preserveAspectRatio:"xMidYMid meet","aria-hidden":"true",children:[p&&c.jsxs(c.Fragment,{children:[c.jsxs("defs",{children:[c.jsxs("radialGradient",{id:`${h}-gradient`,cx:p.x,cy:p.y,r:C,gradientUnits:"userSpaceOnUse",children:[c.jsx("stop",{offset:"0%",stopColor:"black"}),c.jsx("stop",{offset:"55%",stopColor:"black"}),c.jsx("stop",{offset:"100%",stopColor:"white"})]}),c.jsx("mask",{id:h,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:f,height:d,children:c.jsx("rect",{x:"0",y:"0",width:f,height:d,fill:`url(#${h}-gradient)`})})]}),c.jsx("rect",{"data-testid":"screenshot-spotlight",x:"0",y:"0",width:f,height:d,fill:"black",opacity:"0.5",mask:`url(#${h})`})]}),m&&c.jsx("rect",{x:m.x,y:m.y,width:m.width,height:m.height,fill:"none",stroke:"var(--accent-violation)",strokeWidth:y}),v&&c.jsx(xm,{fromX:t.from_x,fromY:t.from_y,toX:t.to_x,toY:t.to_y,stroke:y,headSize:S})]})]})}function xm({fromX:e,fromY:t,toX:n,toY:r,stroke:l,headSize:i}){const o=Math.atan2(r-t,n-e)*180/Math.PI,s=i/2,u=`${n},${r} ${n-i},${r-s} ${n-i},${r+s}`;return c.jsxs("g",{children:[c.jsx("line",{x1:e,y1:t,x2:n,y2:r,stroke:"var(--text-muted)",strokeWidth:l,strokeLinecap:"round"}),c.jsx("polygon",{points:u,fill:"var(--text-muted)",transform:`rotate(${o} ${n} ${r})`})]})}const wm=2;function mf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}function Iu(e){const t=[],n=(r,l)=>{if(mf(r)){const i=Object.keys(r).sort();if(i.length===0){t.push({path:l,value:{}});return}for(const o of i){const s=l===""?o:`${l}.${o}`;n(r[o],s)}return}if(Array.isArray(r)){if(r.length<=wm){t.push({path:l,value:r});return}for(let i=0;ir.pathl.path?1:0)}function Sm(e,t){if(!e)return;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const n=t.split(/\.|\[(\d+)\]/).filter(l=>l!==void 0&&l!=="");let r=e;for(const l of n){if(r==null)return;if(Array.isArray(r)){const i=Number(l);if(Number.isNaN(i))return;r=r[i];continue}if(typeof r=="object"){r=r[l];continue}return}return r}function oo(e){if(Array.isArray(e))return e.map(oo);if(mf(e)){const t={};for(const n of Object.keys(e).sort())t[n]=oo(e[n]);return t}return e}function so(e){return JSON.stringify(oo(e))}function zu(e){return e===null?"null":e===void 0?"undefined":typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):so(e)}function Mu({snapshots:e,previousSnapshots:t}){if(!e||Object.keys(e).length===0)return c.jsx("div",{className:"status-block",children:"no snapshots"});const n=Iu(e),r=t!==void 0,l=r?Iu(t):[],i=new Map(l.map(o=>[o.path,o.value]));return c.jsx("dl",{className:"snapshot-table",children:n.map(o=>{const s=zu(o.value);let u=!1,a;if(r){const f=i.has(o.path)?i.get(o.path):Sm(t,o.path);so(f)!==so(o.value)&&(u=!0,a=zu(f))}const h={};return u&&(h["data-changed"]="true",h.title=`was: ${a}`),c.jsxs("div",{className:"snapshot-row",...h,children:[c.jsx("dt",{className:"snapshot-path",title:o.path,children:o.path}),c.jsx("dd",{className:"snapshot-value",title:s,children:s})]},o.path)})})}function At({children:e}){return c.jsx("span",{className:"op-label",children:e})}function Vt({node:e}){return c.jsxs("span",{className:"residual-group",children:["(",c.jsx(vf,{node:e}),")"]})}function vf({node:e}){switch(e.op){case"true":return c.jsx("span",{className:"residual-leaf",children:"true"});case"false":return c.jsx("span",{className:"residual-leaf",children:"false"});case"predicate":return c.jsxs("span",{className:"residual-leaf",children:[c.jsx(At,{children:"pred"}),e.name?c.jsxs(c.Fragment,{children:["(",e.name,")"]}):null]});case"error":return c.jsxs("span",{className:"residual-error",role:"status",children:[c.jsx(At,{children:"error"}),c.jsx("span",{className:"residual-error-message",children:e.message})]});case"always":case"now":case"next":case"not":return c.jsxs("span",{className:"residual-unary",children:[c.jsx(At,{children:e.op}),c.jsx(Vt,{node:e.arg})]});case"eventually":return c.jsxs("span",{className:"residual-unary",children:[c.jsx(At,{children:"eventually"}),e.within?c.jsxs("span",{className:"residual-bound",children:["within ",e.within.amount," ",e.within.unit]}):null,c.jsx(Vt,{node:e.arg})]});case"and":case"or":return c.jsxs("span",{className:"residual-binary",children:[c.jsx(Vt,{node:e.left}),c.jsx(At,{children:e.op}),c.jsx(Vt,{node:e.right})]});case"implies":return c.jsxs("span",{className:"residual-binary",children:[c.jsx(Vt,{node:e.left}),c.jsx(At,{children:"=>"}),c.jsx(Vt,{node:e.right})]})}}function km({node:e}){return c.jsx("span",{className:"residual",children:c.jsx(vf,{node:e})})}const Ou={violated:0,pending:1,holds:2};function Em(e,t,n){if(t.has(e))return"violated";const r=n==null?void 0:n[e];return r&&r.op==="true"?"holds":"pending"}function zr({propertyNames:e,violations:t,residuals:n,onJumpToFirstViolation:r,hasFirstViolation:l,violationsOnly:i=!1}){const o=w.useMemo(()=>new Set(t),[t]),s=w.useMemo(()=>{const a=[...e].sort((f,d)=>f.localeCompare(d)).map(f=>({name:f,status:Em(f,o,n)}));return(i?a.filter(f=>f.status==="violated"):a).sort((f,d)=>{const y=Ou[f.status]-Ou[d.status];return y!==0?y:f.name.localeCompare(d.name)})},[e,o,n,i]);return i&&s.length===0?c.jsx("div",{className:"status-block",children:"no violations"}):c.jsxs("section",{className:"violations-panel",children:[i?null:c.jsxs("header",{className:"violations-panel-header",children:[c.jsx("h2",{className:"violations-panel-title",children:"properties"}),c.jsx("button",{type:"button",className:"violations-panel-jump",onClick:r,disabled:!l,children:"jump to first violation"})]}),c.jsx("ul",{className:"violations-panel-list",children:s.map(({name:u,status:a})=>{const h=n==null?void 0:n[u];return c.jsxs("li",{className:"violations-panel-row","data-status":a,children:[c.jsxs("div",{className:"violations-panel-row-head",children:[c.jsx("span",{className:"violations-panel-badge","data-status":a,"aria-label":`status ${a}`,children:a}),c.jsx("span",{className:"violations-panel-name",children:u})]}),h?c.jsxs("details",{className:"violations-panel-residual",children:[c.jsx("summary",{children:"residual"}),c.jsx(km,{node:h})]}):null]},u)})})]})}function Nm(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0"),l=String(t.getSeconds()).padStart(2,"0"),i=String(t.getMilliseconds()).padStart(3,"0");return`${n}:${r}:${l}.${i}`}function Cm({exceptions:e,onJumpToFirstException:t,hasFirstException:n}){return c.jsxs("div",{className:"exceptions-panel",children:[c.jsx("div",{className:"exceptions-panel-toolbar",children:c.jsx("button",{type:"button",className:"exceptions-panel-jump",onClick:t,disabled:!n,children:"jump to first exception"})}),!e||e.length===0?c.jsx("div",{className:"status-block",children:"no exceptions"}):c.jsx("ol",{className:"exceptions-list",children:e.map((r,l)=>c.jsx("li",{className:"exceptions-row",children:c.jsxs("details",{open:l===0,children:[c.jsxs("summary",{className:"exceptions-summary",children:[c.jsx("span",{className:"exceptions-marker","aria-hidden":"true"}),c.jsx("span",{className:"exceptions-class",children:r.class}),r.message?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"exceptions-colon",children:":"}),c.jsx("span",{className:"exceptions-message",children:r.message})]}):null,r.unix_millis!==void 0?c.jsx("span",{className:"exceptions-time",children:Nm(r.unix_millis)}):null]}),r.stack_trace?c.jsx("pre",{className:"exceptions-stack",children:r.stack_trace}):null]})},l))})]})}const Mr=1024*1024;function Fu(e){return e<=0?"0B":e{const s=t(i);if(s===void 0){l="M";return}const u=en(o,e.length),h=1-(n===0?0:Math.min(s/n,1));r.push(`${l}${u.toFixed(4)},${h.toFixed(4)}`),l="L"}),r.join(" ")}function $u({label:e,path:t,dots:n,topTickLabel:r,bottomTickLabel:l,selectedFraction:i,hover:o}){return c.jsxs("div",{className:"metrics-lane",children:[c.jsx("div",{className:"metrics-lane-label",children:e}),c.jsxs("div",{className:"metrics-lane-plot",children:[i!==null?c.jsx("div",{className:"metrics-lane-highlight",style:{left:`${i*100}%`}}):null,c.jsxs("div",{className:"metrics-lane-canvas",children:[c.jsx("svg",{className:"metrics-lane-svg",viewBox:"0 0 1 1",preserveAspectRatio:"none","aria-hidden":"true",children:t?c.jsx("path",{d:t,className:"metrics-lane-path"}):null}),n.map(s=>c.jsx("div",{className:"metrics-lane-dot",style:{left:`${s.x*100}%`,top:`${s.y*100}%`},"data-active":o!==null&&Math.abs(o.fraction-s.x)<1e-6?"true":void 0},s.key)),o?c.jsx("div",{className:"metrics-lane-tooltip","data-placement":o.y<.35?"below":"above",style:{left:`${o.fraction*100}%`,top:`${o.y*100}%`},children:o.label}):null]})]}),c.jsxs("div",{className:"metrics-lane-ticks",children:[c.jsx("span",{children:r}),c.jsx("span",{children:l})]})]})}function Uu(e,t,n){const r=[];return e.forEach((l,i)=>{const o=t(l);if(o===void 0)return;const s=n===0?0:Math.min(o/n,1);r.push({key:l.stepIndex,x:en(i,e.length),y:1-s})}),r}function _m({samples:e,selectedIndex:t,onSelect:n,runStartMillis:r}){var _,P;const[l,i]=w.useState(null);if(e.length===0||!e.some(N=>N.metrics!==void 0))return c.jsx("div",{className:"status-block",children:"no metrics"});const o=e.reduce((N,R)=>{var L;return Math.max(N,((L=R.metrics)==null?void 0:L.heap_bytes)??0)},0),s=e.reduce((N,R)=>{var L;return Math.max(N,((L=R.metrics)==null?void 0:L.cpu_percent)??0)},0),u=Math.max(100,s),a=Du(e,N=>{var R;return(R=N.metrics)==null?void 0:R.heap_bytes},o),h=Du(e,N=>{var R;return(R=N.metrics)==null?void 0:R.cpu_percent},u),f=Uu(e,N=>{var R;return(R=N.metrics)==null?void 0:R.heap_bytes},o),d=Uu(e,N=>{var R;return(R=N.metrics)==null?void 0:R.cpu_percent},u),y=r??new Date(e[0].timestamp).getTime(),g=Math.min(5,e.length),S=Array.from({length:g},(N,R)=>{const L=g===1?0:Math.round(R/(g-1)*(e.length-1)),X=e[L],Q=new Date(X.timestamp).getTime(),b=Number.isFinite(Q)&&Number.isFinite(y)?Q-y:NaN;return{key:X.stepIndex,fraction:en(L,e.length),label:Number.isFinite(b)?jm(b):String(X.stepIndex)}}),C=e.findIndex(N=>N.stepIndex===t),m=C>=0?en(C,e.length):null,p=l!==null&&l>=0&&l{const L=(()=>{if(e.length===1)return 0;const Q=.5/(e.length-1);return Math.max(0,en(R,e.length)-Q)})(),X=e.length===1?1:1/(e.length-1);return c.jsx("button",{type:"button",className:"metrics-hit",style:{left:`${L*100}%`,width:`${X*100}%`},onClick:()=>n(N.stepIndex),onPointerEnter:()=>i(R),onPointerLeave:()=>i(Q=>Q===R?null:Q),"aria-label":`select step ${N.stepIndex}`},N.stepIndex)})})]}),c.jsx("div",{className:"metrics-axis",children:S.map(N=>c.jsx("span",{className:"metrics-axis-label",style:{left:`${N.fraction*100}%`},children:N.label},N.key))})]})}function Au({tabs:e,defaultTabId:t,ariaLabel:n}){var f;const r=t&&e.some(d=>d.id===t)?t:(f=e[0])==null?void 0:f.id,[l,i]=w.useState(r),o=w.useRef(new Map);if(e.length===0)return null;const s=e.find(d=>d.id===l)??e[0],u=d=>{i(d);const y=o.current.get(d);y&&y.focus()},a=d=>{const y=e.findIndex(g=>g.id===s.id);if(!(y<0))switch(d.key){case"ArrowRight":case"ArrowDown":{d.preventDefault();const g=e[(y+1)%e.length];u(g.id);return}case"ArrowLeft":case"ArrowUp":{d.preventDefault();const g=e[(y-1+e.length)%e.length];u(g.id);return}case"Home":{d.preventDefault(),u(e[0].id);return}case"End":{d.preventDefault(),u(e[e.length-1].id);return}}},h=`${n??"tabs"}-panel`.replace(/\s+/g,"-");return c.jsxs("div",{className:"tabs",children:[c.jsx("div",{className:"tabs-header",role:"tablist","aria-label":n,onKeyDown:a,children:e.map(d=>{const y=d.id===s.id;return c.jsxs("button",{ref:g=>{g?o.current.set(d.id,g):o.current.delete(d.id)},type:"button",role:"tab",id:`${h}-tab-${d.id}`,className:"tabs-tab","data-active":y?"true":"false","aria-selected":y,"aria-controls":h,tabIndex:y?0:-1,onClick:()=>i(d.id),children:[c.jsx("span",{children:d.label}),d.badge!==void 0?c.jsx("span",{className:"tabs-badge",children:d.badge}):null]},d.id)})}),c.jsx("div",{className:"tabs-panel",role:"tabpanel",id:h,"aria-labelledby":`${h}-tab-${s.id}`,children:s.content})]})}function Pm(e){const t=us(),{id:n,step:r}=uf(),l=n??"",i=Number(r??"1"),o=Number.isFinite(i)&&i>0?i:1,s=Vu(o,e);return w.useEffect(()=>{s!==o&&l!==""&&t(`/runs/${l}/steps/${s}`,{replace:!0})},[s,o,l,t]),{runId:l,stepIndex:s,goTo:a=>{const h=Vu(a,e);h!==o&&l!==""&&t(`/runs/${l}/steps/${h}`)}}}function Vu(e,t){return e<1?1:t!==void 0&&e>t?t:e}const Tm=new Set(["INPUT","TEXTAREA","SELECT"]),Lm=new Set(["tab","tablist","option","listbox","menuitem","menu"]);function Rm(e){var n;let t=e;for(;t;){const r=(n=t.getAttribute)==null?void 0:n.call(t,"role");if(r&&Lm.has(r))return!0;t=t.parentElement}return!1}function Im(e){w.useEffect(()=>{const t=n=>{const r=n.target;if(!(r&&(Tm.has(r.tagName)||r.isContentEditable)||n.key.startsWith("Arrow")&&Rm(r))&&!(n.metaKey||n.ctrlKey||n.altKey))switch(n.key){case"ArrowLeft":case"k":n.shiftKey?e.onJumpPrev10():e.onPrev(),n.preventDefault();return;case"ArrowRight":case"j":n.shiftKey?e.onJumpNext10():e.onNext(),n.preventDefault();return;case"g":e.onJumpStart(),n.preventDefault();return;case"G":e.onJumpEnd(),n.preventDefault();return;case".":e.onJumpNextViolation(),n.preventDefault();return}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e])}const gf="sanderling-inspect-theme";function zm(){if(typeof window>"u")return"light";const e=window.localStorage.getItem(gf);return e==="light"||e==="dark"?e:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Mm(){const[e,t]=w.useState(()=>zm());return w.useEffect(()=>{if(!(typeof document>"u")){document.documentElement.dataset.theme=e;try{window.localStorage.setItem(gf,e)}catch{}}},[e]),{theme:e,toggle:()=>t(n=>n==="dark"?"light":"dark")}}function Om(){const[e,t]=w.useState(null),[n,r]=w.useState(null),[l,i]=w.useState(null),{theme:o,toggle:s}=Mm(),u=e==null?void 0:e.steps.length,{runId:a,stepIndex:h,goTo:f}=Pm(u);w.useEffect(()=>{if(!a)return;let Q=!1;return t(null),r(null),i(null),em(a).then(async b=>{if(Q)return;t(b);const pr=await Fm(b);Q||r(pr)}).catch(b=>{Q||i(b instanceof Error?b.message:String(b))}),()=>{Q=!0}},[a]);const d=(n==null?void 0:n.steps[h-1])??null,y=h>1?(n==null?void 0:n.steps[h-2])??null:null,g=n&&h{n!=null&&n.firstViolationStep&&f(n.firstViolationStep)},[n,f]),C=w.useCallback(()=>{n!=null&&n.firstExceptionStep&&f(n.firstExceptionStep)},[n,f]),m=w.useCallback(()=>{if(!e)return;const Q=e.steps.find(b=>b.index>h&&b.has_violations);Q&&f(Q.index)},[e,h,f]);Im({onPrev:()=>f(h-1),onNext:()=>f(h+1),onJumpStart:()=>f(1),onJumpEnd:()=>u&&f(u),onJumpPrev10:()=>f(h-10),onJumpNext10:()=>f(h+10),onJumpNextViolation:m});const p=w.useMemo(()=>{if(!(!a||!d))return Pu(a,`step-${String(d.step).padStart(5,"0")}.png`)},[a,d]),v=w.useMemo(()=>{if(!(!a||!d))return Pu(a,`step-${String(d.step).padStart(5,"0")}-after.png`)},[a,d]),x=w.useMemo(()=>e!=null&&e.steps.length?new Date(e.steps[0].timestamp).getTime():0,[e]);if(l)return c.jsxs("div",{className:"status-block status-error",children:["failed: ",l]});if(!e)return c.jsx("div",{className:"status-block",children:"loading run..."});const E=(d==null?void 0:d.violations)??[],_=(g==null?void 0:g.violations)??E,P=d==null?void 0:d.residuals,N=(g==null?void 0:g.residuals)??P,R=d==null?void 0:d.exceptions,L=[{id:"screenshot",label:"Screenshot",content:c.jsx(Ru,{src:p,action:d==null?void 0:d.action})},{id:"snapshots",label:"Snapshots",content:c.jsx(Mu,{snapshots:d==null?void 0:d.snapshots,previousSnapshots:(y==null?void 0:y.snapshots)??void 0})},{id:"hierarchy",label:"Hierarchy",content:c.jsx(Tu,{hierarchy:d==null?void 0:d.hierarchy})},...a&&(d!=null&&d.html_available)?[{id:"html",label:"HTML",content:c.jsx(Lu,{runId:a,fileName:`step-${String(d.step).padStart(5,"0")}.html`,available:!0})}]:[],{id:"properties",label:"Properties",content:c.jsx(zr,{propertyNames:(n==null?void 0:n.names)??[],violations:E,residuals:P,onJumpToFirstViolation:S,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0})},{id:"violations",label:"Violations",badge:E.length>0?c.jsx("span",{className:"tabs-badge","data-kind":"violation",children:E.length}):void 0,content:c.jsx(zr,{propertyNames:(n==null?void 0:n.names)??[],violations:E,residuals:P,onJumpToFirstViolation:S,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0,violationsOnly:!0})}],X=[{id:"screenshot",label:"Screenshot",content:c.jsx(Ru,{src:v,action:void 0})},{id:"snapshots",label:"Snapshots",content:c.jsx(Mu,{snapshots:(g==null?void 0:g.snapshots)??(d==null?void 0:d.snapshots),previousSnapshots:(d==null?void 0:d.snapshots)??void 0})},{id:"hierarchy",label:"Hierarchy",content:c.jsx(Tu,{hierarchy:(g==null?void 0:g.hierarchy)??(d==null?void 0:d.hierarchy)})},...a&&(d!=null&&d.html_available)?[{id:"html",label:"HTML",content:c.jsx(Lu,{runId:a,fileName:`step-${String(d.step).padStart(5,"0")}-after.html`,available:!0})}]:[],{id:"properties",label:"Properties",content:c.jsx(zr,{propertyNames:(n==null?void 0:n.names)??[],violations:_,residuals:N,onJumpToFirstViolation:S,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0})},{id:"violations",label:"Violations",badge:_.length>0?c.jsx("span",{className:"tabs-badge","data-kind":"violation",children:_.length}):void 0,content:c.jsx(zr,{propertyNames:(n==null?void 0:n.names)??[],violations:_,residuals:N,onJumpToFirstViolation:S,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0,violationsOnly:!0})}];return c.jsxs("div",{className:"detail-root",children:[c.jsxs("div",{className:"detail-toolbar",children:[c.jsxs("div",{className:"detail-toolbar-meta",children:[c.jsx(pf,{to:"/",children:"runs"}),c.jsx("span",{children:e.id}),c.jsxs("span",{children:[c.jsx("strong",{children:e.spec_path})," seed=",e.seed]}),c.jsxs("span",{children:["step ",h," / ",u??0]})]}),c.jsx("button",{type:"button",className:"theme-toggle",onClick:s,"aria-label":o==="dark"?"switch to light theme":"switch to dark theme",title:o==="dark"?"switch to light theme":"switch to dark theme",children:o==="dark"?c.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":"true",focusable:"false",children:[c.jsx("circle",{cx:"8",cy:"8",r:"3",fill:"none",stroke:"currentColor",strokeWidth:"1.25"}),c.jsxs("g",{stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",children:[c.jsx("line",{x1:"8",y1:"1.5",x2:"8",y2:"3.5"}),c.jsx("line",{x1:"8",y1:"12.5",x2:"8",y2:"14.5"}),c.jsx("line",{x1:"1.5",y1:"8",x2:"3.5",y2:"8"}),c.jsx("line",{x1:"12.5",y1:"8",x2:"14.5",y2:"8"}),c.jsx("line",{x1:"3.4",y1:"3.4",x2:"4.8",y2:"4.8"}),c.jsx("line",{x1:"11.2",y1:"11.2",x2:"12.6",y2:"12.6"}),c.jsx("line",{x1:"3.4",y1:"12.6",x2:"4.8",y2:"11.2"}),c.jsx("line",{x1:"11.2",y1:"4.8",x2:"12.6",y2:"3.4"})]})]}):c.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":"true",focusable:"false",children:c.jsx("path",{d:"M13.2 9.8A5.2 5.2 0 0 1 6.2 2.8a5.2 5.2 0 1 0 7 7Z",fill:"none",stroke:"currentColor",strokeWidth:"1.25",strokeLinejoin:"round"})})})]}),c.jsxs("div",{className:"detail-grid",children:[c.jsxs("aside",{className:"detail-actions detail-panel",children:[c.jsx("h2",{children:"actions"}),c.jsx("div",{className:"detail-panel-body",children:c.jsx(hm,{steps:e.steps,selectedIndex:h,onSelect:f,runStartMillis:x,selectedStep:d??void 0})})]}),c.jsxs("section",{className:"detail-state-before detail-panel",children:[c.jsx("h2",{children:"state before"}),c.jsx("div",{className:"detail-panel-body",children:c.jsx(Au,{tabs:L,defaultTabId:"screenshot",ariaLabel:"state before"})})]}),c.jsxs("section",{className:"detail-state-after detail-panel",children:[c.jsx("h2",{children:"state after"}),c.jsx("div",{className:"detail-panel-body",children:c.jsx(Au,{tabs:X,defaultTabId:"screenshot",ariaLabel:"state after"})})]}),c.jsx("section",{className:"detail-metrics detail-panel",children:c.jsxs("div",{className:"detail-panel-body",children:[c.jsx(_m,{samples:(n==null?void 0:n.metricsSamples)??[],selectedIndex:h,onSelect:f,runStartMillis:x}),R&&R.length>0||(n==null?void 0:n.firstExceptionStep)!==void 0?c.jsx("div",{className:"detail-metrics-exceptions",children:c.jsx(Cm,{exceptions:R,onJumpToFirstException:C,hasFirstException:(n==null?void 0:n.firstExceptionStep)!==void 0})}):null]})})]})]})}async function Fm(e){var a,h;const t=await Promise.all(e.steps.map(f=>tm(e.id,f.index).catch(()=>null))),n=Dm(t),r=n.map(f=>({name:f,statuses:t.map(d=>$m(f,d))})),l=(a=e.steps.find(f=>f.has_violations))==null?void 0:a.index,i=(h=e.steps.find(f=>f.has_exceptions))==null?void 0:h.index,o=e.steps.filter(f=>f.has_exceptions).map(f=>f.index),s=e.steps.filter(f=>f.has_violations).map(f=>f.index),u=e.steps.map((f,d)=>{var y;return{stepIndex:f.index,timestamp:f.timestamp,metrics:(y=t[d])==null?void 0:y.metrics}});return{names:n,lanes:Um(r),firstViolationStep:l,firstExceptionStep:i,exceptionStepIndices:o,violationStepIndices:s,metricsSamples:u,steps:t}}function Dm(e){const t=new Set;for(const n of e)if(n!=null&&n.residuals)for(const r of Object.keys(n.residuals))t.add(r);return[...t].sort()}function $m(e,t){var r,l;if(!t)return"pending";if((r=t.violations)!=null&&r.includes(e))return"violated";const n=(l=t.residuals)==null?void 0:l[e];return n&&n.op==="true"?"holds":"pending"}function Um(e){const t=n=>{const r=n.statuses[n.statuses.length-1];return n.statuses.includes("violated")?0:r==="pending"?1:2};return[...e].sort((n,r)=>{const l=t(n)-t(r);return l!==0?l:n.name.localeCompare(r.name)})}function Am(){const{id:e}=uf();return e?c.jsx(Ah,{to:`/runs/${e}/steps/1`,replace:!0}):c.jsx(yf,{})}function yf(){return c.jsx("div",{className:"status-block",children:"not found"})}function Vm(){return c.jsx(Yh,{children:c.jsx("div",{className:"app-shell",children:c.jsx("main",{className:"app-main",children:c.jsxs(Bh,{children:[c.jsx(In,{path:"/",element:c.jsx(om,{})}),c.jsx(In,{path:"/runs/:id",element:c.jsx(Am,{})}),c.jsx(In,{path:"/runs/:id/steps/:step",element:c.jsx(Om,{})}),c.jsx(In,{path:"*",element:c.jsx(yf,{})})]})})})})}const xf=document.getElementById("root");if(!xf)throw new Error("missing #root element");tf(xf).render(c.jsx(qu.StrictMode,{children:c.jsx(Vm,{})})); + */function io(){return io=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[l]=e[l]);return n}function Wh(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Hh(e,t){return e.button===0&&(!t||t==="_self")&&!Wh(e)}const Qh=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Kh="6";try{window.__reactRouterVersion=Kh}catch{}const Gh="startTransition",Cu=Df[Gh];function Jh(e){let{basename:t,children:n,future:r,window:l}=e,i=S.useRef();i.current==null&&(i.current=Yp({window:l,v5Compat:!0}));let o=i.current,[s,u]=S.useState({action:o.action,location:o.location}),{v7_startTransition:a}=r||{},h=S.useCallback(f=>{a&&Cu?Cu(()=>u(f)):u(f)},[u,a]);return S.useLayoutEffect(()=>o.listen(h),[o,h]),S.useEffect(()=>$h(r),[r]),S.createElement(Ah,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:o,future:r})}const Yh=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Xh=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,df=S.forwardRef(function(t,n){let{onClick:r,relative:l,reloadDocument:i,replace:o,state:s,target:u,to:a,preventScrollReset:h,viewTransition:f}=t,d=Bh(t,Qh),{basename:y}=S.useContext(kt),g,w=!1;if(typeof a=="string"&&Xh.test(a)&&(g=a,Yh))try{let v=new URL(window.location.href),x=a.startsWith("//")?new URL(v.protocol+a):new URL(a),E=ls(x.pathname,y);x.origin===v.origin&&E!=null?a=E+x.search+x.hash:w=!0}catch{}let C=Eh(a,{relative:l}),m=Zh(a,{replace:o,state:s,target:u,preventScrollReset:h,relative:l,viewTransition:f});function p(v){r&&r(v),v.defaultPrevented||m(v)}return S.createElement("a",io({},d,{href:g||C,onClick:w||i?r:p,ref:n,target:u}))});var ju;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(ju||(ju={}));var _u;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(_u||(_u={}));function Zh(e,t){let{target:n,replace:r,state:l,preventScrollReset:i,relative:o,viewTransition:s}=t===void 0?{}:t,u=us(),a=dr(),h=uf(e,{relative:o});return S.useCallback(f=>{if(Hh(f,n)){f.preventDefault();let d=r!==void 0?r:gl(a)===gl(h);u(e,{replace:d,state:l,preventScrollReset:i,relative:o,viewTransition:s})}},[a,u,h,r,l,n,e,i,o,s])}async function as(e){const t=await fetch(e,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`request failed: ${t.status} ${t.statusText} (${e})`);return await t.json()}function qh(){return as("/api/runs")}function bh(e){return as(`/api/runs/${encodeURIComponent(e)}`)}function em(e,t){return as(`/api/runs/${encodeURIComponent(e)}/steps/${t}`)}function Pu(e,t){return`/api/runs/${encodeURIComponent(e)}/screenshots/${encodeURIComponent(t)}`}function tm(e,t){S.useEffect(()=>{if(typeof EventSource>"u")return;const n=new EventSource("/api/events"),r=()=>{t()};return n.addEventListener(e,r),()=>{n.removeEventListener(e,r),n.close()}},[e,t])}function nm(e){if(!e)return"-";if(e<1e3)return`${e}ms`;const t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;const n=Math.floor(t/60),r=Math.round(t-n*60);return`${n}m${r}s`}function rm(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function lm(){const[e,t]=S.useState(null),[n,r]=S.useState(null),l=S.useCallback(()=>{qh().then(t).catch(i=>{r(i instanceof Error?i.message:String(i))})},[]);return S.useEffect(()=>{l()},[l]),tm("runs.changed",l),n?c.jsxs("div",{className:"status-block status-error",children:["failed to load runs: ",n]}):e?e.length===0?c.jsx("div",{className:"status-block",children:"no runs yet. run `sanderling test` to produce some."}):c.jsxs("table",{className:"run-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"started"}),c.jsx("th",{children:"spec"}),c.jsx("th",{children:"seed"}),c.jsx("th",{children:"platform"}),c.jsx("th",{children:"duration"}),c.jsx("th",{children:"steps"}),c.jsx("th",{children:"violations"}),c.jsx("th",{})]})}),c.jsx("tbody",{children:e.map(i=>c.jsxs("tr",{children:[c.jsx("td",{children:c.jsx(df,{to:`/runs/${i.id}`,children:rm(i.started_at)})}),c.jsx("td",{children:i.spec_path}),c.jsx("td",{children:i.seed}),c.jsx("td",{children:i.platform}),c.jsx("td",{children:nm(i.duration_millis)}),c.jsx("td",{children:i.step_count}),c.jsx("td",{children:i.violation_count>0?c.jsx("span",{className:"chip chip-violation",children:i.violation_count}):"0"}),c.jsx("td",{children:i.in_progress?c.jsx("span",{className:"chip chip-progress",children:"in progress"}):null})]},i.id))})]}):c.jsx("div",{className:"status-block",children:"loading runs..."})}const im=["id","text","textPrefix","desc","descPrefix","class","classPrefix","package"];function pf(e){const t=e.indexOf(":");if(t<=0)return null;const n=e.slice(0,t),r=e.slice(t+1);return im.includes(n)?{kind:n,value:r}:null}function om(e){const t=pf(e);return t?t.kind.endsWith("Prefix")?`${t.value}...`:t.value:e}function sm(e){const t=e.action_kind,n=e.action_label??"";if(!t)return e.screen?{verb:"Observe",target:`@ ${e.screen}`,targetIsTag:!1}:{verb:"Observe",target:"",targetIsTag:!1};switch(t){case"Tap":return n?n.startsWith("(")&&n.endsWith(")")?{verb:"Click",target:n,targetIsTag:!1}:pf(n)?{verb:"Click",target:om(n),targetIsTag:!0}:{verb:"Click",target:n,targetIsTag:!1}:{verb:"Click",target:"",targetIsTag:!1};case"InputText":return{verb:"Type",target:n,targetIsTag:!1};case"Swipe":return{verb:"Swipe",target:n,targetIsTag:!0};case"PressKey":return{verb:"Press",target:n,targetIsTag:!0};case"Wait":return{verb:"Wait",target:n,targetIsTag:!0};default:return{verb:t,target:n,targetIsTag:!1}}}function um(e){const t=Math.max(0,Math.floor(e)),n=Math.floor(t/1e3),r=Math.floor(n/60),l=n%60,i=t%1e3,o=u=>String(u).padStart(2,"0"),s=u=>String(u).padStart(3,"0");return`${o(r)}:${o(l)}.${s(i)}`}function am(e,t){return e?t?c.jsx("span",{className:"action-list-target action-list-target-tag",children:`<${e}/>`}):c.jsx("span",{className:"action-list-target",children:e}):null}function cm(e){const t=e.action;return t&&typeof t.text=="string"?t.text:""}function fm(e){const t=e.action;return t?t.tap_point?`${t.tap_point.x.toFixed(1)}, ${t.tap_point.y.toFixed(1)}`:typeof t.x=="number"&&typeof t.y=="number"?`${t.x.toFixed(1)}, ${t.y.toFixed(1)}`:typeof t.from_x=="number"&&typeof t.from_y=="number"?`${t.from_x.toFixed(1)}, ${t.from_y.toFixed(1)}`:null:null}function dm({steps:e,selectedIndex:t,onSelect:n,runStartMillis:r,selectedStep:l}){const i=S.useRef(new Map),o=r??(e[0]?new Date(e[0].timestamp).getTime():0);S.useEffect(()=>{const a=i.current.get(t);a&&typeof a.scrollIntoView=="function"&&a.scrollIntoView({block:"nearest"})},[t]);const s=a=>{const h=i.current.get(a);h&&typeof h.focus=="function"&&h.focus()},u=(a,h)=>{var d,y;const f=e.findIndex(g=>g.index===h);switch(a.key){case"Enter":case" ":a.preventDefault(),n(h);return;case"ArrowDown":{if(f<0||f>=e.length-1)return;a.preventDefault();const g=e[f+1].index;n(g),s(g);return}case"ArrowUp":{if(f<=0)return;a.preventDefault();const g=e[f-1].index;n(g),s(g);return}case"Home":{a.preventDefault();const g=(d=e[0])==null?void 0:d.index;g!==void 0&&(n(g),s(g));return}case"End":{a.preventDefault();const g=(y=e[e.length-1])==null?void 0:y.index;g!==void 0&&(n(g),s(g));return}}};return c.jsx("ol",{className:"action-list",role:"listbox","aria-label":"Steps",children:e.map(a=>{const h=a.index===t,{verb:f,target:d,targetIsTag:y}=sm(a),g=new Date(a.timestamp).getTime()-o,w=um(g),C=d?y?`<${d}/>`:d:"",m=C?`Step ${a.index} ${f} ${C}`:`Step ${a.index} ${f}`,p=h&&l&&l.step===a.index,v=p?fm(l):null,x=p?cm(l):"";return c.jsxs("li",{ref:E=>{E?i.current.set(a.index,E):i.current.delete(a.index)},className:"action-list-item",role:"option",tabIndex:h?0:-1,"aria-selected":h,"aria-label":m,"data-active":h?"true":"false","data-violations":a.has_violations?"true":"false","data-exceptions":a.has_exceptions?"true":"false",onClick:()=>n(a.index),onKeyDown:E=>u(E,a.index),title:d||void 0,children:[c.jsxs("div",{className:"action-list-row",children:[c.jsxs("span",{className:"action-list-index",children:[a.index,"."]}),c.jsxs("span",{className:"action-list-body",children:[c.jsx("span",{className:"action-list-verb",children:f}),am(d,y)]}),c.jsxs("span",{className:"action-list-markers",children:[a.has_exceptions?c.jsx("span",{className:"action-list-marker-exception","aria-label":"exceptions",role:"img"}):null,a.has_violations?c.jsx("span",{className:"action-list-marker-violation","aria-label":"violations",role:"img"}):null]}),c.jsx("span",{className:"action-list-elapsed",children:w})]}),p?c.jsxs("div",{className:"action-list-details",children:[c.jsxs("div",{className:"action-list-detail-row",children:[c.jsx("span",{className:"action-list-detail-label",children:"Position"}),c.jsx("span",{className:"action-list-detail-value",children:v??""})]}),c.jsxs("div",{className:"action-list-detail-row",children:[c.jsx("span",{className:"action-list-detail-label",children:"Content"}),c.jsx("span",{className:"action-list-detail-value",children:x||'""'})]})]}):null]},a.index)})})}function Tu({hierarchy:e}){const[t,n]=S.useState(""),r=(e==null?void 0:e.elements)??[],l=S.useMemo(()=>{const i=t.trim().toLowerCase();return i?r.filter(o=>hm(o,i)):r},[r,t]);return r.length===0?c.jsx("div",{className:"hierarchy-empty",children:"no hierarchy captured"}):c.jsxs("div",{className:"hierarchy-panel",children:[c.jsx("input",{type:"text",className:"hierarchy-filter",placeholder:"filter by id, text, desc, class, tag...",value:t,onChange:i=>n(i.target.value)}),c.jsx("div",{className:"hierarchy-table-wrap",children:c.jsxs("table",{className:"hierarchy-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"tag/class"}),c.jsx("th",{children:"id"}),c.jsx("th",{children:"text/desc"}),c.jsx("th",{children:"bounds"})]})}),c.jsx("tbody",{children:l.map((i,o)=>c.jsx(pm,{element:i},o))})]})}),c.jsxs("div",{className:"hierarchy-count",children:[l.length," of ",r.length]})]})}function pm({element:e}){const t=e.tag??e.class??"",n=(e.text??e.description??"").slice(0,80),r=e.bounds;return c.jsxs("tr",{children:[c.jsx("td",{className:"hierarchy-tag",children:t}),c.jsx("td",{className:"hierarchy-id",children:e.resourceId??""}),c.jsx("td",{className:"hierarchy-text",children:n}),c.jsxs("td",{className:"hierarchy-bounds",children:["[",r.left,",",r.top,",",r.right,",",r.bottom,"]"]})]})}function hm(e,t){const n=[e.resourceId,e.text,e.description,e.class,e.tag];for(const r of n)if(r&&r.toLowerCase().includes(t))return!0;if(e.attributes){for(const r of Object.values(e.attributes))if(r.toLowerCase().includes(t))return!0}return!1}const mm=1080,vm=1920;function Lu({src:e,action:t,deviceWidth:n,deviceHeight:r}){const[l,i]=S.useState(null),[o,s]=S.useState(!1),u=S.useRef(e),h=`screenshot-spotlight-${S.useId().replace(/:/g,"")}`;if(S.useEffect(()=>{u.current!==e&&(u.current=e,s(!1),i(null))},[e]),!e||o)return c.jsx("div",{className:"screenshot-placeholder","data-testid":"screenshot-placeholder",children:"no screenshot"});const f=n??(l==null?void 0:l.width)??mm,d=r??(l==null?void 0:l.height)??vm,y=Math.max(2,f/200),g=Math.max(12,f/60),w=Math.max(18,f/40),C=g*3,m=t==null?void 0:t.resolved_bounds,p=t==null?void 0:t.tap_point,v=(t==null?void 0:t.kind)==="Swipe"&&t.from_x!==void 0&&t.from_y!==void 0&&t.to_x!==void 0&&t.to_y!==void 0;return c.jsxs("div",{className:"screenshot-frame",style:{aspectRatio:`${f} / ${d}`},children:[c.jsx("img",{className:"screenshot-image",src:e,alt:"device screenshot",onLoad:x=>{const E=x.currentTarget;E.naturalWidth>0&&E.naturalHeight>0&&i({width:E.naturalWidth,height:E.naturalHeight})},onError:()=>s(!0)}),c.jsxs("svg",{className:"screenshot-overlay",viewBox:`0 0 ${f} ${d}`,preserveAspectRatio:"xMidYMid meet","aria-hidden":"true",children:[p&&c.jsxs(c.Fragment,{children:[c.jsxs("defs",{children:[c.jsxs("radialGradient",{id:`${h}-gradient`,cx:p.x,cy:p.y,r:C,gradientUnits:"userSpaceOnUse",children:[c.jsx("stop",{offset:"0%",stopColor:"black"}),c.jsx("stop",{offset:"55%",stopColor:"black"}),c.jsx("stop",{offset:"100%",stopColor:"white"})]}),c.jsx("mask",{id:h,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:f,height:d,children:c.jsx("rect",{x:"0",y:"0",width:f,height:d,fill:`url(#${h}-gradient)`})})]}),c.jsx("rect",{"data-testid":"screenshot-spotlight",x:"0",y:"0",width:f,height:d,fill:"black",opacity:"0.5",mask:`url(#${h})`})]}),m&&c.jsx("rect",{x:m.x,y:m.y,width:m.width,height:m.height,fill:"none",stroke:"var(--accent-violation)",strokeWidth:y}),v&&c.jsx(gm,{fromX:t.from_x,fromY:t.from_y,toX:t.to_x,toY:t.to_y,stroke:y,headSize:w})]})]})}function gm({fromX:e,fromY:t,toX:n,toY:r,stroke:l,headSize:i}){const o=Math.atan2(r-t,n-e)*180/Math.PI,s=i/2,u=`${n},${r} ${n-i},${r-s} ${n-i},${r+s}`;return c.jsxs("g",{children:[c.jsx("line",{x1:e,y1:t,x2:n,y2:r,stroke:"var(--text-muted)",strokeWidth:l,strokeLinecap:"round"}),c.jsx("polygon",{points:u,fill:"var(--text-muted)",transform:`rotate(${o} ${n} ${r})`})]})}const ym=2;function hf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}function Ru(e){const t=[],n=(r,l)=>{if(hf(r)){const i=Object.keys(r).sort();if(i.length===0){t.push({path:l,value:{}});return}for(const o of i){const s=l===""?o:`${l}.${o}`;n(r[o],s)}return}if(Array.isArray(r)){if(r.length<=ym){t.push({path:l,value:r});return}for(let i=0;ir.pathl.path?1:0)}function xm(e,t){if(!e)return;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const n=t.split(/\.|\[(\d+)\]/).filter(l=>l!==void 0&&l!=="");let r=e;for(const l of n){if(r==null)return;if(Array.isArray(r)){const i=Number(l);if(Number.isNaN(i))return;r=r[i];continue}if(typeof r=="object"){r=r[l];continue}return}return r}function oo(e){if(Array.isArray(e))return e.map(oo);if(hf(e)){const t={};for(const n of Object.keys(e).sort())t[n]=oo(e[n]);return t}return e}function so(e){return JSON.stringify(oo(e))}function zu(e){return e===null?"null":e===void 0?"undefined":typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):so(e)}function Iu({snapshots:e,previousSnapshots:t}){if(!e||Object.keys(e).length===0)return c.jsx("div",{className:"status-block",children:"no snapshots"});const n=Ru(e),r=t!==void 0,l=r?Ru(t):[],i=new Map(l.map(o=>[o.path,o.value]));return c.jsx("dl",{className:"snapshot-table",children:n.map(o=>{const s=zu(o.value);let u=!1,a;if(r){const f=i.has(o.path)?i.get(o.path):xm(t,o.path);so(f)!==so(o.value)&&(u=!0,a=zu(f))}const h={};return u&&(h["data-changed"]="true",h.title=`was: ${a}`),c.jsxs("div",{className:"snapshot-row",...h,children:[c.jsx("dt",{className:"snapshot-path",title:o.path,children:o.path}),c.jsx("dd",{className:"snapshot-value",title:s,children:s})]},o.path)})})}function At({children:e}){return c.jsx("span",{className:"op-label",children:e})}function Vt({node:e}){return c.jsxs("span",{className:"residual-group",children:["(",c.jsx(mf,{node:e}),")"]})}function mf({node:e}){switch(e.op){case"true":return c.jsx("span",{className:"residual-leaf",children:"true"});case"false":return c.jsx("span",{className:"residual-leaf",children:"false"});case"predicate":return c.jsxs("span",{className:"residual-leaf",children:[c.jsx(At,{children:"pred"}),e.name?c.jsxs(c.Fragment,{children:["(",e.name,")"]}):null]});case"error":return c.jsxs("span",{className:"residual-error",role:"status",children:[c.jsx(At,{children:"error"}),c.jsx("span",{className:"residual-error-message",children:e.message})]});case"always":case"now":case"next":case"not":return c.jsxs("span",{className:"residual-unary",children:[c.jsx(At,{children:e.op}),c.jsx(Vt,{node:e.arg})]});case"eventually":return c.jsxs("span",{className:"residual-unary",children:[c.jsx(At,{children:"eventually"}),e.within?c.jsxs("span",{className:"residual-bound",children:["within ",e.within.amount," ",e.within.unit]}):null,c.jsx(Vt,{node:e.arg})]});case"and":case"or":return c.jsxs("span",{className:"residual-binary",children:[c.jsx(Vt,{node:e.left}),c.jsx(At,{children:e.op}),c.jsx(Vt,{node:e.right})]});case"implies":return c.jsxs("span",{className:"residual-binary",children:[c.jsx(Vt,{node:e.left}),c.jsx(At,{children:"=>"}),c.jsx(Vt,{node:e.right})]})}}function wm({node:e}){return c.jsx("span",{className:"residual",children:c.jsx(mf,{node:e})})}const Ou={violated:0,pending:1,holds:2};function Sm(e,t,n){if(t.has(e))return"violated";const r=n==null?void 0:n[e];return r&&r.op==="true"?"holds":"pending"}function Ir({propertyNames:e,violations:t,residuals:n,onJumpToFirstViolation:r,hasFirstViolation:l,violationsOnly:i=!1}){const o=S.useMemo(()=>new Set(t),[t]),s=S.useMemo(()=>{const a=[...e].sort((f,d)=>f.localeCompare(d)).map(f=>({name:f,status:Sm(f,o,n)}));return(i?a.filter(f=>f.status==="violated"):a).sort((f,d)=>{const y=Ou[f.status]-Ou[d.status];return y!==0?y:f.name.localeCompare(d.name)})},[e,o,n,i]);return i&&s.length===0?c.jsx("div",{className:"status-block",children:"no violations"}):c.jsxs("section",{className:"violations-panel",children:[i?null:c.jsxs("header",{className:"violations-panel-header",children:[c.jsx("h2",{className:"violations-panel-title",children:"properties"}),c.jsx("button",{type:"button",className:"violations-panel-jump",onClick:r,disabled:!l,children:"jump to first violation"})]}),c.jsx("ul",{className:"violations-panel-list",children:s.map(({name:u,status:a})=>{const h=n==null?void 0:n[u];return c.jsxs("li",{className:"violations-panel-row","data-status":a,children:[c.jsxs("div",{className:"violations-panel-row-head",children:[c.jsx("span",{className:"violations-panel-badge","data-status":a,"aria-label":`status ${a}`,children:a}),c.jsx("span",{className:"violations-panel-name",children:u})]}),h?c.jsxs("details",{className:"violations-panel-residual",children:[c.jsx("summary",{children:"residual"}),c.jsx(wm,{node:h})]}):null]},u)})})]})}function km(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0"),l=String(t.getSeconds()).padStart(2,"0"),i=String(t.getMilliseconds()).padStart(3,"0");return`${n}:${r}:${l}.${i}`}function Em({exceptions:e,onJumpToFirstException:t,hasFirstException:n}){return c.jsxs("div",{className:"exceptions-panel",children:[c.jsx("div",{className:"exceptions-panel-toolbar",children:c.jsx("button",{type:"button",className:"exceptions-panel-jump",onClick:t,disabled:!n,children:"jump to first exception"})}),!e||e.length===0?c.jsx("div",{className:"status-block",children:"no exceptions"}):c.jsx("ol",{className:"exceptions-list",children:e.map((r,l)=>c.jsx("li",{className:"exceptions-row",children:c.jsxs("details",{open:l===0,children:[c.jsxs("summary",{className:"exceptions-summary",children:[c.jsx("span",{className:"exceptions-marker","aria-hidden":"true"}),c.jsx("span",{className:"exceptions-class",children:r.class}),r.message?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"exceptions-colon",children:":"}),c.jsx("span",{className:"exceptions-message",children:r.message})]}):null,r.unix_millis!==void 0?c.jsx("span",{className:"exceptions-time",children:km(r.unix_millis)}):null]}),r.stack_trace?c.jsx("pre",{className:"exceptions-stack",children:r.stack_trace}):null]})},l))})]})}const Or=1024*1024;function Mu(e){return e<=0?"0B":e{const s=t(i);if(s===void 0){l="M";return}const u=en(o,e.length),h=1-(n===0?0:Math.min(s/n,1));r.push(`${l}${u.toFixed(4)},${h.toFixed(4)}`),l="L"}),r.join(" ")}function Du({label:e,path:t,dots:n,topTickLabel:r,bottomTickLabel:l,selectedFraction:i,hover:o}){return c.jsxs("div",{className:"metrics-lane",children:[c.jsx("div",{className:"metrics-lane-label",children:e}),c.jsxs("div",{className:"metrics-lane-plot",children:[i!==null?c.jsx("div",{className:"metrics-lane-highlight",style:{left:`${i*100}%`}}):null,c.jsxs("div",{className:"metrics-lane-canvas",children:[c.jsx("svg",{className:"metrics-lane-svg",viewBox:"0 0 1 1",preserveAspectRatio:"none","aria-hidden":"true",children:t?c.jsx("path",{d:t,className:"metrics-lane-path"}):null}),n.map(s=>c.jsx("div",{className:"metrics-lane-dot",style:{left:`${s.x*100}%`,top:`${s.y*100}%`},"data-active":o!==null&&Math.abs(o.fraction-s.x)<1e-6?"true":void 0},s.key)),o?c.jsx("div",{className:"metrics-lane-tooltip","data-placement":o.y<.35?"below":"above",style:{left:`${o.fraction*100}%`,top:`${o.y*100}%`},children:o.label}):null]})]}),c.jsxs("div",{className:"metrics-lane-ticks",children:[c.jsx("span",{children:r}),c.jsx("span",{children:l})]})]})}function $u(e,t,n){const r=[];return e.forEach((l,i)=>{const o=t(l);if(o===void 0)return;const s=n===0?0:Math.min(o/n,1);r.push({key:l.stepIndex,x:en(i,e.length),y:1-s})}),r}function Cm({samples:e,selectedIndex:t,onSelect:n,runStartMillis:r}){var _,P;const[l,i]=S.useState(null);if(e.length===0||!e.some(N=>N.metrics!==void 0))return c.jsx("div",{className:"status-block",children:"no metrics"});const o=e.reduce((N,R)=>{var L;return Math.max(N,((L=R.metrics)==null?void 0:L.heap_bytes)??0)},0),s=e.reduce((N,R)=>{var L;return Math.max(N,((L=R.metrics)==null?void 0:L.cpu_percent)??0)},0),u=Math.max(100,s),a=Fu(e,N=>{var R;return(R=N.metrics)==null?void 0:R.heap_bytes},o),h=Fu(e,N=>{var R;return(R=N.metrics)==null?void 0:R.cpu_percent},u),f=$u(e,N=>{var R;return(R=N.metrics)==null?void 0:R.heap_bytes},o),d=$u(e,N=>{var R;return(R=N.metrics)==null?void 0:R.cpu_percent},u),y=r??new Date(e[0].timestamp).getTime(),g=Math.min(5,e.length),w=Array.from({length:g},(N,R)=>{const L=g===1?0:Math.round(R/(g-1)*(e.length-1)),X=e[L],Q=new Date(X.timestamp).getTime(),b=Number.isFinite(Q)&&Number.isFinite(y)?Q-y:NaN;return{key:X.stepIndex,fraction:en(L,e.length),label:Number.isFinite(b)?Nm(b):String(X.stepIndex)}}),C=e.findIndex(N=>N.stepIndex===t),m=C>=0?en(C,e.length):null,p=l!==null&&l>=0&&l{const L=(()=>{if(e.length===1)return 0;const Q=.5/(e.length-1);return Math.max(0,en(R,e.length)-Q)})(),X=e.length===1?1:1/(e.length-1);return c.jsx("button",{type:"button",className:"metrics-hit",style:{left:`${L*100}%`,width:`${X*100}%`},onClick:()=>n(N.stepIndex),onPointerEnter:()=>i(R),onPointerLeave:()=>i(Q=>Q===R?null:Q),"aria-label":`select step ${N.stepIndex}`},N.stepIndex)})})]}),c.jsx("div",{className:"metrics-axis",children:w.map(N=>c.jsx("span",{className:"metrics-axis-label",style:{left:`${N.fraction*100}%`},children:N.label},N.key))})]})}function Uu({tabs:e,defaultTabId:t,ariaLabel:n}){var f;const r=t&&e.some(d=>d.id===t)?t:(f=e[0])==null?void 0:f.id,[l,i]=S.useState(r),o=S.useRef(new Map);if(e.length===0)return null;const s=e.find(d=>d.id===l)??e[0],u=d=>{i(d);const y=o.current.get(d);y&&y.focus()},a=d=>{const y=e.findIndex(g=>g.id===s.id);if(!(y<0))switch(d.key){case"ArrowRight":case"ArrowDown":{d.preventDefault();const g=e[(y+1)%e.length];u(g.id);return}case"ArrowLeft":case"ArrowUp":{d.preventDefault();const g=e[(y-1+e.length)%e.length];u(g.id);return}case"Home":{d.preventDefault(),u(e[0].id);return}case"End":{d.preventDefault(),u(e[e.length-1].id);return}}},h=`${n??"tabs"}-panel`.replace(/\s+/g,"-");return c.jsxs("div",{className:"tabs",children:[c.jsx("div",{className:"tabs-header",role:"tablist","aria-label":n,onKeyDown:a,children:e.map(d=>{const y=d.id===s.id;return c.jsxs("button",{ref:g=>{g?o.current.set(d.id,g):o.current.delete(d.id)},type:"button",role:"tab",id:`${h}-tab-${d.id}`,className:"tabs-tab","data-active":y?"true":"false","aria-selected":y,"aria-controls":h,tabIndex:y?0:-1,onClick:()=>i(d.id),children:[c.jsx("span",{children:d.label}),d.badge!==void 0?c.jsx("span",{className:"tabs-badge",children:d.badge}):null]},d.id)})}),c.jsx("div",{className:"tabs-panel",role:"tabpanel",id:h,"aria-labelledby":`${h}-tab-${s.id}`,children:s.content})]})}function jm(e){const t=us(),{id:n,step:r}=sf(),l=n??"",i=Number(r??"1"),o=Number.isFinite(i)&&i>0?i:1,s=Au(o,e);return S.useEffect(()=>{s!==o&&l!==""&&t(`/runs/${l}/steps/${s}`,{replace:!0})},[s,o,l,t]),{runId:l,stepIndex:s,goTo:a=>{const h=Au(a,e);h!==o&&l!==""&&t(`/runs/${l}/steps/${h}`)}}}function Au(e,t){return e<1?1:t!==void 0&&e>t?t:e}const _m=new Set(["INPUT","TEXTAREA","SELECT"]),Pm=new Set(["tab","tablist","option","listbox","menuitem","menu"]);function Tm(e){var n;let t=e;for(;t;){const r=(n=t.getAttribute)==null?void 0:n.call(t,"role");if(r&&Pm.has(r))return!0;t=t.parentElement}return!1}function Lm(e){S.useEffect(()=>{const t=n=>{const r=n.target;if(!(r&&(_m.has(r.tagName)||r.isContentEditable)||n.key.startsWith("Arrow")&&Tm(r))&&!(n.metaKey||n.ctrlKey||n.altKey))switch(n.key){case"ArrowLeft":case"k":n.shiftKey?e.onJumpPrev10():e.onPrev(),n.preventDefault();return;case"ArrowRight":case"j":n.shiftKey?e.onJumpNext10():e.onNext(),n.preventDefault();return;case"g":e.onJumpStart(),n.preventDefault();return;case"G":e.onJumpEnd(),n.preventDefault();return;case".":e.onJumpNextViolation(),n.preventDefault();return}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e])}const vf="sanderling-inspect-theme";function Rm(){if(typeof window>"u")return"light";const e=window.localStorage.getItem(vf);return e==="light"||e==="dark"?e:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function zm(){const[e,t]=S.useState(()=>Rm());return S.useEffect(()=>{if(!(typeof document>"u")){document.documentElement.dataset.theme=e;try{window.localStorage.setItem(vf,e)}catch{}}},[e]),{theme:e,toggle:()=>t(n=>n==="dark"?"light":"dark")}}function Im(){const[e,t]=S.useState(null),[n,r]=S.useState(null),[l,i]=S.useState(null),{theme:o,toggle:s}=zm(),u=e==null?void 0:e.steps.length,{runId:a,stepIndex:h,goTo:f}=jm(u);S.useEffect(()=>{if(!a)return;let Q=!1;return t(null),r(null),i(null),bh(a).then(async b=>{if(Q)return;t(b);const pr=await Om(b);Q||r(pr)}).catch(b=>{Q||i(b instanceof Error?b.message:String(b))}),()=>{Q=!0}},[a]);const d=(n==null?void 0:n.steps[h-1])??null,y=h>1?(n==null?void 0:n.steps[h-2])??null:null,g=n&&h{n!=null&&n.firstViolationStep&&f(n.firstViolationStep)},[n,f]),C=S.useCallback(()=>{n!=null&&n.firstExceptionStep&&f(n.firstExceptionStep)},[n,f]),m=S.useCallback(()=>{if(!e)return;const Q=e.steps.find(b=>b.index>h&&b.has_violations);Q&&f(Q.index)},[e,h,f]);Lm({onPrev:()=>f(h-1),onNext:()=>f(h+1),onJumpStart:()=>f(1),onJumpEnd:()=>u&&f(u),onJumpPrev10:()=>f(h-10),onJumpNext10:()=>f(h+10),onJumpNextViolation:m});const p=S.useMemo(()=>{if(!(!a||!d))return Pu(a,`step-${String(d.step).padStart(5,"0")}.png`)},[a,d]),v=S.useMemo(()=>{if(!(!a||!d))return Pu(a,`step-${String(d.step).padStart(5,"0")}-after.png`)},[a,d]),x=S.useMemo(()=>e!=null&&e.steps.length?new Date(e.steps[0].timestamp).getTime():0,[e]);if(l)return c.jsxs("div",{className:"status-block status-error",children:["failed: ",l]});if(!e)return c.jsx("div",{className:"status-block",children:"loading run..."});const E=(d==null?void 0:d.violations)??[],_=(g==null?void 0:g.violations)??E,P=d==null?void 0:d.residuals,N=(g==null?void 0:g.residuals)??P,R=d==null?void 0:d.exceptions,L=[{id:"screenshot",label:"Screenshot",content:c.jsx(Lu,{src:p,action:d==null?void 0:d.action})},{id:"snapshots",label:"Snapshots",content:c.jsx(Iu,{snapshots:d==null?void 0:d.snapshots,previousSnapshots:(y==null?void 0:y.snapshots)??void 0})},{id:"hierarchy",label:"Hierarchy",content:c.jsx(Tu,{hierarchy:d==null?void 0:d.hierarchy})},{id:"properties",label:"Properties",content:c.jsx(Ir,{propertyNames:(n==null?void 0:n.names)??[],violations:E,residuals:P,onJumpToFirstViolation:w,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0})},{id:"violations",label:"Violations",badge:E.length>0?c.jsx("span",{className:"tabs-badge","data-kind":"violation",children:E.length}):void 0,content:c.jsx(Ir,{propertyNames:(n==null?void 0:n.names)??[],violations:E,residuals:P,onJumpToFirstViolation:w,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0,violationsOnly:!0})}],X=[{id:"screenshot",label:"Screenshot",content:c.jsx(Lu,{src:v,action:void 0})},{id:"snapshots",label:"Snapshots",content:c.jsx(Iu,{snapshots:(g==null?void 0:g.snapshots)??(d==null?void 0:d.snapshots),previousSnapshots:(d==null?void 0:d.snapshots)??void 0})},{id:"hierarchy",label:"Hierarchy",content:c.jsx(Tu,{hierarchy:(g==null?void 0:g.hierarchy)??(d==null?void 0:d.hierarchy)})},{id:"properties",label:"Properties",content:c.jsx(Ir,{propertyNames:(n==null?void 0:n.names)??[],violations:_,residuals:N,onJumpToFirstViolation:w,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0})},{id:"violations",label:"Violations",badge:_.length>0?c.jsx("span",{className:"tabs-badge","data-kind":"violation",children:_.length}):void 0,content:c.jsx(Ir,{propertyNames:(n==null?void 0:n.names)??[],violations:_,residuals:N,onJumpToFirstViolation:w,hasFirstViolation:(n==null?void 0:n.firstViolationStep)!==void 0,violationsOnly:!0})}];return c.jsxs("div",{className:"detail-root",children:[c.jsxs("div",{className:"detail-toolbar",children:[c.jsxs("div",{className:"detail-toolbar-meta",children:[c.jsx(df,{to:"/",children:"runs"}),c.jsx("span",{children:e.id}),c.jsxs("span",{children:[c.jsx("strong",{children:e.spec_path})," seed=",e.seed]}),c.jsxs("span",{children:["step ",h," / ",u??0]})]}),c.jsx("button",{type:"button",className:"theme-toggle",onClick:s,"aria-label":o==="dark"?"switch to light theme":"switch to dark theme",title:o==="dark"?"switch to light theme":"switch to dark theme",children:o==="dark"?c.jsxs("svg",{viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":"true",focusable:"false",children:[c.jsx("circle",{cx:"8",cy:"8",r:"3",fill:"none",stroke:"currentColor",strokeWidth:"1.25"}),c.jsxs("g",{stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",children:[c.jsx("line",{x1:"8",y1:"1.5",x2:"8",y2:"3.5"}),c.jsx("line",{x1:"8",y1:"12.5",x2:"8",y2:"14.5"}),c.jsx("line",{x1:"1.5",y1:"8",x2:"3.5",y2:"8"}),c.jsx("line",{x1:"12.5",y1:"8",x2:"14.5",y2:"8"}),c.jsx("line",{x1:"3.4",y1:"3.4",x2:"4.8",y2:"4.8"}),c.jsx("line",{x1:"11.2",y1:"11.2",x2:"12.6",y2:"12.6"}),c.jsx("line",{x1:"3.4",y1:"12.6",x2:"4.8",y2:"11.2"}),c.jsx("line",{x1:"11.2",y1:"4.8",x2:"12.6",y2:"3.4"})]})]}):c.jsx("svg",{viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":"true",focusable:"false",children:c.jsx("path",{d:"M13.2 9.8A5.2 5.2 0 0 1 6.2 2.8a5.2 5.2 0 1 0 7 7Z",fill:"none",stroke:"currentColor",strokeWidth:"1.25",strokeLinejoin:"round"})})})]}),c.jsxs("div",{className:"detail-grid",children:[c.jsxs("aside",{className:"detail-actions detail-panel",children:[c.jsx("h2",{children:"actions"}),c.jsx("div",{className:"detail-panel-body",children:c.jsx(dm,{steps:e.steps,selectedIndex:h,onSelect:f,runStartMillis:x,selectedStep:d??void 0})})]}),c.jsxs("section",{className:"detail-state-before detail-panel",children:[c.jsx("h2",{children:"state before"}),c.jsx("div",{className:"detail-panel-body",children:c.jsx(Uu,{tabs:L,defaultTabId:"screenshot",ariaLabel:"state before"})})]}),c.jsxs("section",{className:"detail-state-after detail-panel",children:[c.jsx("h2",{children:"state after"}),c.jsx("div",{className:"detail-panel-body",children:c.jsx(Uu,{tabs:X,defaultTabId:"screenshot",ariaLabel:"state after"})})]}),c.jsx("section",{className:"detail-metrics detail-panel",children:c.jsxs("div",{className:"detail-panel-body",children:[c.jsx(Cm,{samples:(n==null?void 0:n.metricsSamples)??[],selectedIndex:h,onSelect:f,runStartMillis:x}),R&&R.length>0||(n==null?void 0:n.firstExceptionStep)!==void 0?c.jsx("div",{className:"detail-metrics-exceptions",children:c.jsx(Em,{exceptions:R,onJumpToFirstException:C,hasFirstException:(n==null?void 0:n.firstExceptionStep)!==void 0})}):null]})})]})]})}async function Om(e){var a,h;const t=await Promise.all(e.steps.map(f=>em(e.id,f.index).catch(()=>null))),n=Mm(t),r=n.map(f=>({name:f,statuses:t.map(d=>Fm(f,d))})),l=(a=e.steps.find(f=>f.has_violations))==null?void 0:a.index,i=(h=e.steps.find(f=>f.has_exceptions))==null?void 0:h.index,o=e.steps.filter(f=>f.has_exceptions).map(f=>f.index),s=e.steps.filter(f=>f.has_violations).map(f=>f.index),u=e.steps.map((f,d)=>{var y;return{stepIndex:f.index,timestamp:f.timestamp,metrics:(y=t[d])==null?void 0:y.metrics}});return{names:n,lanes:Dm(r),firstViolationStep:l,firstExceptionStep:i,exceptionStepIndices:o,violationStepIndices:s,metricsSamples:u,steps:t}}function Mm(e){const t=new Set;for(const n of e)if(n!=null&&n.residuals)for(const r of Object.keys(n.residuals))t.add(r);return[...t].sort()}function Fm(e,t){var r,l;if(!t)return"pending";if((r=t.violations)!=null&&r.includes(e))return"violated";const n=(l=t.residuals)==null?void 0:l[e];return n&&n.op==="true"?"holds":"pending"}function Dm(e){const t=n=>{const r=n.statuses[n.statuses.length-1];return n.statuses.includes("violated")?0:r==="pending"?1:2};return[...e].sort((n,r)=>{const l=t(n)-t(r);return l!==0?l:n.name.localeCompare(r.name)})}function $m(){const{id:e}=sf();return e?c.jsx(Uh,{to:`/runs/${e}/steps/1`,replace:!0}):c.jsx(gf,{})}function gf(){return c.jsx("div",{className:"status-block",children:"not found"})}function Um(){return c.jsx(Jh,{children:c.jsx("div",{className:"app-shell",children:c.jsx("main",{className:"app-main",children:c.jsxs(Vh,{children:[c.jsx(zn,{path:"/",element:c.jsx(lm,{})}),c.jsx(zn,{path:"/runs/:id",element:c.jsx($m,{})}),c.jsx(zn,{path:"/runs/:id/steps/:step",element:c.jsx(Im,{})}),c.jsx(zn,{path:"*",element:c.jsx(gf,{})})]})})})})}const yf=document.getElementById("root");if(!yf)throw new Error("missing #root element");ef(yf).render(c.jsx(Zu.StrictMode,{children:c.jsx(Um,{})})); diff --git a/inspect-ui/dist/assets/index-t-0uLX7u.css b/inspect-ui/dist/assets/index-t-0uLX7u.css new file mode 100644 index 0000000..ff446d2 --- /dev/null +++ b/inspect-ui/dist/assets/index-t-0uLX7u.css @@ -0,0 +1 @@ +@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-Medium.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-Bold.woff2) format("woff2")}body{font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--background);margin:0}:root{--background: #ffffff;--surface: #f7f7f7;--surface-elevated: #ffffff;--border: #e4e4e4;--border-strong: #c8c8c8;--text-primary: #111111;--text-muted: #6b6b6b;--accent-violation: #d32f2f;--accent-positive: #2e7d32;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=dark],:root[data-theme=dark] body{--background: #0e0e0e;--surface: #161616;--surface-elevated: #1d1d1d;--border: #2a2a2a;--border-strong: #3a3a3a;--text-primary: #f0f0f0;--text-muted: #9a9a9a;--accent-violation: #f06b6b;--accent-positive: #7cc47c}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--background: #0e0e0e;--surface: #161616;--surface-elevated: #1d1d1d;--border: #2a2a2a;--border-strong: #3a3a3a;--text-primary: #f0f0f0;--text-muted: #9a9a9a;--accent-violation: #f06b6b;--accent-positive: #7cc47c}}body{background:var(--background);color:var(--text-primary);margin:0;font-family:var(--font-mono)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);padding:4px 10px;cursor:pointer}button:hover{border-color:var(--border-strong)}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1 1 auto;min-height:0;padding:0;display:flex;flex-direction:column}.app-main>*{flex:1 1 auto;min-height:0}.run-table{width:100%;border-collapse:collapse;align-self:flex-start;flex:0 0 auto}.run-table th,.run-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border)}.run-table th{color:var(--text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.run-table tr:hover td{background:var(--surface)}.chip{display:inline-block;padding:2px 8px;border:1px solid var(--border-strong);border-radius:999px;font-size:11px}.chip-violation{border-color:var(--accent-violation);color:var(--accent-violation)}.chip-progress{border-color:var(--border-strong);color:var(--text-muted)}.detail-root{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-bottom:1px solid var(--border);flex:0 0 auto}.detail-toolbar-meta{display:flex;gap:16px;align-items:baseline;font-size:12px;color:var(--text-muted)}.detail-toolbar-meta strong{color:var(--text-primary);font-weight:500}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;color:var(--text-muted)}.theme-toggle:hover{color:var(--text-primary)}.theme-toggle svg{display:block}.detail-grid{flex:1 1 auto;display:grid;grid-template-columns:340px minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,130px);grid-template-areas:"actions before after" "metrics metrics metrics";gap:0;padding:0;min-height:0;overflow:hidden}.detail-grid>.detail-actions{grid-area:actions;min-height:0;overflow:hidden}.detail-grid>.detail-state-before,.detail-grid>.detail-state-after{display:flex;flex-direction:column;gap:0;min-height:0;min-width:0;overflow:hidden}.detail-grid>.detail-state-before{grid-area:before}.detail-grid>.detail-state-after{grid-area:after}.detail-grid>.detail-actions,.detail-grid>.detail-state-before{border-right:1px solid var(--border)}.detail-grid>.detail-state-before .screenshot-frame,.detail-grid>.detail-state-after .screenshot-frame,.detail-grid>.detail-state-before .screenshot-placeholder,.detail-grid>.detail-state-after .screenshot-placeholder{flex:1 1 auto;max-height:100%;max-width:100%;margin:0 auto;min-height:0}.detail-grid>.detail-metrics{grid-area:metrics;overflow:hidden;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--border)}.detail-grid>.detail-metrics .metrics-chart{flex:1 1 auto;min-height:0;max-height:100%}.detail-metrics .detail-panel-body{overflow:hidden}.detail-metrics-exceptions{padding:4px 8px;border-top:1px solid var(--border);overflow:auto;max-height:80px}.detail-panel{border:none;background:transparent;padding:0;min-height:0;display:flex;flex-direction:column}.detail-panel h2{margin:0;padding:4px 8px;font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);flex:0 0 auto}.detail-panel-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column}.detail-actions .detail-panel-body{padding:0}.status-block{padding:12px;color:var(--text-muted)}.status-error{color:var(--accent-violation)}.action-list{list-style:none;padding:0;margin:0;font-family:var(--font-mono);font-size:11px}.action-list-item{display:block;padding:3px 6px;border-left:2px solid transparent;cursor:pointer;color:var(--text-primary);outline:none}.action-list-item:focus-visible{outline:1px solid var(--text-primary);outline-offset:-1px}.action-list-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:baseline;column-gap:4px}.action-list-index{text-align:left;color:var(--text-muted);font-variant-numeric:tabular-nums}.action-list-body{display:inline-flex;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-list-verb{color:var(--text-primary);font-weight:500}.action-list-target{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-list-target-tag{color:var(--text-primary)}.action-list-markers{display:inline-flex;align-items:center;gap:6px;min-width:0}.action-list-elapsed{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;padding-left:8px}.action-list-item:hover{background:color-mix(in srgb,currentColor 6%,transparent)}.action-list-item:focus-visible{background:color-mix(in srgb,currentColor 8%,transparent)}.action-list-item[data-active=true]{background:color-mix(in srgb,currentColor 10%,transparent);border-left-color:currentColor}.action-list-item[data-active=true][data-violations=true]{border-left-color:var(--accent-violation)}.action-list-marker-violation{width:8px;height:8px;border-radius:50%;background:var(--accent-violation)}.action-list-marker-exception{width:8px;height:8px;border-radius:50%;border:1px solid var(--text-muted);background:transparent}.action-list-details{display:grid;grid-template-columns:20px 1fr;column-gap:4px;padding:2px 0;font-size:10px}.action-list-detail-row{grid-column:2;display:grid;grid-template-columns:70px 1fr;gap:6px;color:var(--text-muted)}.action-list-detail-label{color:var(--text-muted)}.action-list-detail-value{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-panel{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.hierarchy-filter{font-family:var(--font-mono);font-size:12px;padding:4px 8px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary)}.hierarchy-table-wrap{overflow:auto;max-height:480px;border:1px solid var(--border)}.hierarchy-table{width:100%;border-collapse:collapse}.hierarchy-table th{position:sticky;top:0;background:var(--surface-1);text-align:left;padding:4px 8px;font-weight:400;color:var(--text-secondary);border-bottom:1px solid var(--border)}.hierarchy-table td{padding:2px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--border-subtle, var(--border))}.hierarchy-table tr:hover td{background:var(--surface-2, transparent)}.hierarchy-tag{color:var(--text-secondary);max-width:140px}.hierarchy-id{color:var(--text-primary);max-width:160px}.hierarchy-text{max-width:320px;color:var(--text-primary)}.hierarchy-bounds{color:var(--text-secondary);text-align:right}.hierarchy-empty{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);padding:16px}.hierarchy-count{color:var(--text-secondary);font-size:11px}.screenshot-frame{position:relative;width:100%;max-width:100%;max-height:100%;margin:0 auto;background:var(--surface);overflow:hidden}.screenshot-image{display:block;width:100%;height:100%;object-fit:contain}.screenshot-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.screenshot-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:240px;background:var(--surface);border:1px dashed var(--border-strong);color:var(--text-muted);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.snapshot-table{margin:0;padding:0;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.snapshot-row{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:12px;align-items:baseline;padding:4px 8px;border-left:2px solid transparent}.snapshot-row[data-changed=true]{border-left-color:var(--border-strong)}.snapshot-path{margin:0;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-value{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.snapshot-row[data-long-value=true] .snapshot-value{white-space:pre-wrap;max-height:6em;overflow-y:auto;text-align:left}.residual{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);line-height:1.6;word-break:break-word}.residual-leaf,.residual-unary,.residual-binary,.residual-group{display:inline}.residual-unary,.residual-binary{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px}.op-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:1px 4px;border:1px solid var(--border);border-radius:3px;background:var(--surface)}.residual-bound{color:var(--text-muted);font-size:11px}.residual-error{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border:1px solid var(--accent-violation);border-radius:3px;color:var(--accent-violation)}.residual-error .op-label{color:var(--accent-violation);border-color:var(--accent-violation);background:transparent}.residual-error-message{font-size:12px}.violations-panel{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);color:var(--text-primary)}.violations-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.violations-panel-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0}.violations-panel-jump{font-family:var(--font-mono);font-size:11px;text-transform:lowercase;padding:4px 8px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer}.violations-panel-jump:hover:not(:disabled){border-color:var(--border-strong)}.violations-panel-jump:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.violations-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.violations-panel-row{border:1px solid var(--border);border-radius:3px;padding:8px;background:var(--surface-elevated)}.violations-panel-row[data-status=violated]{border-color:var(--accent-violation)}.violations-panel-row-head{display:flex;align-items:center;gap:8px}.violations-panel-badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:3px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.violations-panel-badge[data-status=violated]{color:var(--accent-violation);border-color:var(--accent-violation);background:transparent}.violations-panel-badge[data-status=holds]{color:var(--text-muted);opacity:.7}.violations-panel-name{font-weight:700;font-size:13px}.violations-panel-residual{margin-top:6px;font-size:12px}.violations-panel-residual summary{cursor:pointer;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:2px 0;-webkit-user-select:none;user-select:none}.violations-panel-residual[open] summary{margin-bottom:6px}.exceptions-panel{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.exceptions-panel-toolbar{display:flex;justify-content:flex-end}.exceptions-panel-jump{font-family:var(--font-mono);font-size:11px}.exceptions-panel-jump:disabled{opacity:.5;cursor:not-allowed}.exceptions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.exceptions-row details{border:1px dashed var(--border-strong);background:var(--surface);padding:6px 8px}.exceptions-row details[open]{border-color:var(--text-primary)}.exceptions-summary{display:grid;grid-template-columns:8px auto auto minmax(0,1fr) auto;align-items:baseline;gap:6px;cursor:pointer;list-style:none;outline:none}.exceptions-summary::-webkit-details-marker{display:none}.exceptions-marker{width:8px;height:8px;border:1px dashed var(--text-primary);background:transparent;align-self:center}.exceptions-class{font-weight:700;white-space:nowrap}.exceptions-colon{color:var(--text-muted)}.exceptions-message{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exceptions-time{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.exceptions-stack{margin:8px 0 0;padding:8px;font-family:var(--font-mono);font-size:11px;background:var(--background);border:1px solid var(--border);max-height:220px;overflow-y:auto;white-space:pre}.metrics-chart{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;font-family:var(--font-mono);font-size:9px;color:var(--text-muted)}.metrics-lanes{flex:1 1 auto;position:relative;display:flex;flex-direction:column;min-height:0}.metrics-lane{flex:1 1 0;display:grid;grid-template-columns:18px minmax(0,1fr) 32px;align-items:stretch;min-height:0;border-bottom:1px solid var(--border)}.metrics-lane:last-of-type{border-bottom:none}.metrics-lane-label{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;font-weight:600;letter-spacing:.12em;border-right:1px solid var(--border)}.metrics-lane-plot{position:relative;min-width:0;min-height:0}.metrics-lane-canvas{position:absolute;top:4px;right:0;bottom:4px;left:0}.metrics-lane-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.metrics-lane-path{fill:none;stroke:var(--text-primary);stroke-width:1;vector-effect:non-scaling-stroke}.metrics-lane-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--text-primary);transform:translate(-50%,-50%);pointer-events:none}.metrics-lane-dot[data-active=true]{width:7px;height:7px}.metrics-lane-tooltip{position:absolute;padding:2px 6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:10px;white-space:nowrap;pointer-events:none;z-index:2}.metrics-lane-tooltip[data-placement=above]{transform:translate(-50%,calc(-100% - 6px))}.metrics-lane-tooltip[data-placement=below]{transform:translate(-50%,6px)}.metrics-lane-highlight{position:absolute;top:0;bottom:0;width:1px;background:var(--text-primary);opacity:.7;pointer-events:none}.metrics-lane-ticks{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:2px 6px;border-left:1px solid var(--border);font-variant-numeric:tabular-nums;font-size:9px}.metrics-hits{position:absolute;top:0;right:32px;bottom:0;left:18px;display:block;pointer-events:none}.metrics-hit{position:absolute;top:0;bottom:0;background:transparent;border:0;padding:0;margin:0;cursor:pointer;pointer-events:auto}.metrics-hit:hover{background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.metrics-axis{flex:0 0 auto;position:relative;height:20px;margin:0 32px 0 18px;border-top:1px solid var(--border)}.metrics-axis-label{position:absolute;top:2px;transform:translate(-50%);font-variant-numeric:tabular-nums;font-size:9px;white-space:nowrap}.tabs{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;font-family:var(--font-mono)}.tabs-header{display:flex;gap:0;border-bottom:1px solid var(--border);flex:0 0 auto;padding:0 4px}.tabs-tab{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;background:transparent;border:none;border-bottom:1px solid transparent;color:var(--text-muted);cursor:pointer;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px;outline:none}.tabs-tab:focus-visible{outline:1px solid var(--text-primary);outline-offset:-1px}.tabs-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;padding:0 4px;border:1px solid var(--border-strong);border-radius:999px;font-size:9px;line-height:1;letter-spacing:0}.tabs-tab[data-active=true] .tabs-badge{border-color:var(--text-primary)}.tabs-badge[data-kind=violation]{border-color:var(--accent-violation);color:var(--accent-violation)}.tabs-tab:hover{color:var(--text-primary)}.tabs-tab[data-active=true]{color:var(--text-primary);border-bottom-color:var(--text-primary)}.tabs-panel{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column} diff --git a/inspect-ui/dist/index.html b/inspect-ui/dist/index.html index 8c15b01..abe8294 100644 --- a/inspect-ui/dist/index.html +++ b/inspect-ui/dist/index.html @@ -4,8 +4,8 @@ sanderling inspect - - + +