nuxt-devtools-observatory 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/dist/assets/index-BugqFK5S.css +1 -0
- package/client/dist/assets/index-DILjvs09.js +17 -0
- package/client/dist/index.html +2 -2
- package/client/src/stores/observatory.ts +59 -15
- package/client/src/views/ComposableTracker.vue +386 -116
- package/client/src/views/ProvideInjectGraph.vue +232 -61
- package/client/src/views/RenderHeatmap.vue +138 -37
- package/client/src/views/TransitionTimeline.vue +2 -2
- package/dist/module.json +1 -1
- package/dist/runtime/composables/composable-registry.d.ts +20 -0
- package/dist/runtime/composables/composable-registry.js +178 -53
- package/dist/runtime/composables/provide-inject-registry.d.ts +13 -1
- package/dist/runtime/composables/provide-inject-registry.js +34 -6
- package/dist/runtime/composables/render-registry.d.ts +18 -8
- package/dist/runtime/composables/render-registry.js +29 -35
- package/dist/runtime/composables/transition-registry.js +13 -7
- package/dist/runtime/plugin.js +41 -15
- package/package.json +7 -3
- package/client/dist/assets/index--Igqz_EM.js +0 -17
- package/client/dist/assets/index-BoC4M4Nb.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.view[data-v-8c1465c0]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.stats-row[data-v-8c1465c0]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0}.toolbar[data-v-8c1465c0]{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.split[data-v-8c1465c0]{display:flex;gap:12px;flex:1;overflow:hidden;min-height:0}.table-wrap[data-v-8c1465c0]{flex:1;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg)}.detail-panel[data-v-8c1465c0]{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg3)}.detail-empty[data-v-8c1465c0]{width:280px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:12px;border:.5px dashed var(--border);border-radius:var(--radius-lg)}.detail-header[data-v-8c1465c0]{display:flex;align-items:center;justify-content:space-between}.meta-grid[data-v-8c1465c0]{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:11px}.section-label[data-v-8c1465c0]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-top:6px}.payload-box[data-v-8c1465c0]{font-family:var(--mono);font-size:11px;color:var(--text2);background:var(--bg2);border-radius:var(--radius);padding:8px 10px;overflow:auto;white-space:pre;max-height:160px}.waterfall[data-v-8c1465c0]{flex-shrink:0;background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:10px 12px}.waterfall-header[data-v-8c1465c0]{display:flex;align-items:center;justify-content:space-between;gap:8px}.waterfall-body[data-v-8c1465c0]{margin-top:6px}.wf-row[data-v-8c1465c0]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.wf-track[data-v-8c1465c0]{flex:1;position:relative;height:8px;background:var(--bg2);border-radius:2px;overflow:hidden}.wf-bar[data-v-8c1465c0]{position:absolute;top:0;height:100%;border-radius:2px;opacity:.8}.view[data-v-f074866d]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.toolbar[data-v-f074866d]{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.split[data-v-f074866d]{display:flex;gap:12px;flex:1;overflow:hidden;min-height:0}.graph-area[data-v-f074866d]{flex:1;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg3)}.legend[data-v-f074866d]{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text2);margin-bottom:12px}.canvas-stage[data-v-f074866d]{display:flex;justify-content:center;align-items:flex-start;min-width:100%}.dot[data-v-f074866d]{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:2px}.canvas-wrap[data-v-f074866d]{position:relative}.edges-svg[data-v-f074866d]{position:absolute;top:0;left:0;pointer-events:none}.edge[data-v-f074866d]{stroke:var(--border);stroke-width:1.5}.graph-node[data-v-f074866d]{position:absolute;display:flex;align-items:center;gap:7px;padding:0 10px;height:32px;border-radius:var(--radius);border:.5px solid var(--border);background:var(--bg3);cursor:pointer;transition:border-color .12s,background .12s;overflow:hidden;box-sizing:border-box;white-space:nowrap}.graph-node[data-v-f074866d]:hover{border-color:var(--text3)}.graph-node.is-selected[data-v-f074866d]{border-color:var(--node-color);background:color-mix(in srgb,var(--node-color) 8%,transparent)}.node-dot[data-v-f074866d]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.node-label[data-v-f074866d]{font-size:11px;flex:1;overflow:hidden;text-overflow:ellipsis}.badge-xs[data-v-f074866d]{font-size:9px;padding:1px 4px}.detail-panel[data-v-f074866d]{width:280px;flex-shrink:0;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg3);display:flex;flex-direction:column;gap:4px;min-height:0}.detail-empty[data-v-f074866d]{width:280px;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:12px;border:.5px dashed var(--border);border-radius:var(--radius-lg);flex-shrink:0}.graph-empty[data-v-f074866d]{display:flex;align-items:center;justify-content:center;min-height:180px;color:var(--text3);font-size:12px}.detail-header[data-v-f074866d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.section-label[data-v-f074866d]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin:8px 0 5px}.detail-section[data-v-f074866d]{display:flex;flex-direction:column;min-height:0}.detail-list[data-v-f074866d]{display:flex;flex-direction:column;gap:3px;overflow:auto;max-height:220px;padding-right:2px}.provide-row[data-v-f074866d]{display:flex;flex-direction:column;gap:4px;padding:5px 8px;background:var(--bg2);border-radius:var(--radius);margin-bottom:3px}.row-warning[data-v-f074866d]{font-size:11px;color:var(--amber);padding:2px 0}.row-consumers[data-v-f074866d]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 0}.consumer-chip[data-v-f074866d]{font-size:10px;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--blue) 10%,var(--bg3));border:.5px solid color-mix(in srgb,var(--blue) 30%,var(--border));color:var(--text2)}.scope-badge[data-v-f074866d]{font-size:10px;padding:1px 6px;border-radius:4px}.scope-global[data-v-f074866d]{background:color-mix(in srgb,var(--amber) 15%,transparent);border:.5px solid color-mix(in srgb,var(--amber) 40%,var(--border));color:color-mix(in srgb,var(--amber) 80%,var(--text))}.scope-layout[data-v-f074866d]{background:color-mix(in srgb,var(--purple) 15%,transparent);border:.5px solid color-mix(in srgb,var(--purple) 40%,var(--border));color:color-mix(in srgb,var(--purple) 80%,var(--text))}.scope-component[data-v-f074866d]{background:var(--bg3);border:.5px solid var(--border);color:var(--text3)}.row-main[data-v-f074866d]{display:flex;align-items:center;gap:8px;min-width:0}.row-key[data-v-f074866d]{min-width:100px;color:var(--text2);flex-shrink:0}.row-value-preview[data-v-f074866d]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-toggle[data-v-f074866d]{padding:2px 8px;font-size:10px}.value-box[data-v-f074866d]{font-family:var(--mono);font-size:11px;color:var(--text2);background:#0000001a;border-radius:var(--radius);padding:8px 10px;white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:180px}.inject-row[data-v-f074866d]{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg2);border-radius:var(--radius);margin-bottom:3px}.row-from[data-v-f074866d]{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inject-miss[data-v-f074866d]{background:#e24b4a14}.view[data-v-846415d7]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.stats-row[data-v-846415d7]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0}.toolbar[data-v-846415d7]{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.clear-btn[data-v-846415d7]{color:var(--text3);border-color:var(--border);flex-shrink:0}.clear-btn[data-v-846415d7]:hover{color:var(--red);border-color:var(--red);background:transparent}.list[data-v-846415d7]{flex:1;overflow:auto;display:flex;flex-direction:column;gap:5px;min-height:0}.comp-card[data-v-846415d7]{background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;flex-shrink:0}.comp-card[data-v-846415d7]:hover{border-color:var(--text3)}.comp-card.leak[data-v-846415d7]{border-left:2px solid var(--red);border-radius:0 var(--radius-lg) var(--radius-lg) 0}.comp-card.expanded[data-v-846415d7]{border-color:var(--purple)}.comp-header[data-v-846415d7]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;gap:8px}.comp-identity[data-v-846415d7]{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1}.comp-name[data-v-846415d7]{font-size:12px;font-weight:500;color:var(--text);flex-shrink:0}.comp-file[data-v-846415d7]{font-size:11px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-meta[data-v-846415d7]{display:flex;align-items:center;gap:5px;flex-shrink:0}.refs-preview[data-v-846415d7]{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px 8px;align-items:center}.ref-chip[data-v-846415d7]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;background:var(--bg2);border:.5px solid var(--border);font-size:11px;font-family:var(--mono);max-width:220px;overflow:hidden}.ref-chip--reactive[data-v-846415d7]{border-color:color-mix(in srgb,var(--purple) 40%,var(--border));background:color-mix(in srgb,var(--purple) 8%,var(--bg2))}.ref-chip--computed[data-v-846415d7]{border-color:color-mix(in srgb,var(--blue) 40%,var(--border));background:color-mix(in srgb,var(--blue) 8%,var(--bg2))}.ref-chip-key[data-v-846415d7]{color:var(--text2);flex-shrink:0}.ref-chip-val[data-v-846415d7]{color:var(--teal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-detail[data-v-846415d7]{padding:4px 12px 12px;border-top:.5px solid var(--border);display:flex;flex-direction:column;gap:3px}.leak-banner[data-v-846415d7]{background:color-mix(in srgb,var(--red) 12%,transparent);border:.5px solid color-mix(in srgb,var(--red) 40%,var(--border));border-radius:var(--radius);padding:6px 10px;font-size:11px;color:var(--red);margin-bottom:6px;font-family:var(--mono)}.section-label[data-v-846415d7]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-top:6px;margin-bottom:3px}.ref-row[data-v-846415d7]{display:flex;align-items:center;gap:8px;padding:3px 0}.ref-key[data-v-846415d7]{min-width:90px;color:var(--text2);flex-shrink:0}.ref-val[data-v-846415d7]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal)}.lc-row[data-v-846415d7]{display:flex;align-items:center;gap:8px;padding:2px 0}.lc-dot[data-v-846415d7]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ref-chip--shared[data-v-846415d7]{border-color:color-mix(in srgb,var(--amber) 50%,var(--border));background:color-mix(in srgb,var(--amber) 10%,var(--bg2))}.ref-chip-shared-dot[data-v-846415d7]{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-left:1px}.global-banner[data-v-846415d7]{display:flex;align-items:flex-start;gap:8px;background:color-mix(in srgb,var(--amber) 10%,transparent);border:.5px solid color-mix(in srgb,var(--amber) 40%,var(--border));border-radius:var(--radius);padding:7px 10px;font-size:11px;color:var(--text2);margin-bottom:6px}.global-dot[data-v-846415d7]{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-top:3px}.badge-amber[data-v-846415d7]{background:color-mix(in srgb,var(--amber) 15%,transparent);color:color-mix(in srgb,var(--amber) 80%,var(--text));border:.5px solid color-mix(in srgb,var(--amber) 40%,var(--border))}.history-list[data-v-846415d7]{display:flex;flex-direction:column;gap:1px;background:var(--bg2);border-radius:var(--radius);padding:4px 8px;max-height:180px;overflow-y:auto}.history-row[data-v-846415d7]{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:11px;font-family:var(--mono);border-bottom:.5px solid var(--border)}.history-row[data-v-846415d7]:last-child{border-bottom:none}.history-time[data-v-846415d7]{min-width:52px;color:var(--text3);flex-shrink:0}.history-key[data-v-846415d7]{min-width:80px;color:var(--text2);flex-shrink:0}.history-val[data-v-846415d7]{color:var(--amber);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.stat-card[data-v-846415d7]{background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:10px 14px}.stat-label[data-v-846415d7]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-bottom:4px}.stat-val[data-v-846415d7]{font-size:22px;font-weight:500;line-height:1;color:var(--text)}.view[data-v-73881a11]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.controls[data-v-73881a11]{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.mode-group[data-v-73881a11]{display:flex;gap:2px}.threshold-group[data-v-73881a11]{display:flex;align-items:center;gap:6px}.stats-row[data-v-73881a11]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0}.stat-sub[data-v-73881a11]{margin-top:4px;font-size:11px;color:var(--text3)}.inspector[data-v-73881a11]{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(260px,320px);gap:12px;flex:1;min-height:0}.roots-panel[data-v-73881a11],.tree-panel[data-v-73881a11],.detail-panel[data-v-73881a11]{border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--bg3);min-height:0}.roots-panel[data-v-73881a11],.detail-panel[data-v-73881a11]{display:flex;flex-direction:column;overflow:auto;padding:12px;gap:8px}.panel-title[data-v-73881a11]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3)}.root-item[data-v-73881a11]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);color:var(--text);text-align:left}.root-item.active[data-v-73881a11]{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 16%,var(--bg2))}.root-label[data-v-73881a11]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.root-copy[data-v-73881a11]{display:flex;flex-direction:column;min-width:0}.root-sub[data-v-73881a11]{font-size:11px}.root-meta[data-v-73881a11]{color:var(--text3);font-size:11px}.tree-panel[data-v-73881a11]{display:flex;flex-direction:column;overflow:hidden}.tree-toolbar[data-v-73881a11]{padding:12px;border-bottom:.5px solid var(--border)}.search-input[data-v-73881a11]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);color:var(--text)}.tree-frame[data-v-73881a11]{flex:1;min-height:0;overflow:auto;padding:12px}[data-v-73881a11] .tree-canvas{display:inline-block;min-width:100%;width:max-content}[data-v-73881a11] .tree-node{margin-bottom:4px}[data-v-73881a11] .tree-row{display:grid;grid-template-columns:8px 18px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;width:100%;padding:4px 8px;padding-left:calc(8px + (var(--tree-depth, 0) * 16px));border:1px solid transparent;border-radius:var(--radius);cursor:pointer;white-space:nowrap}[data-v-73881a11] .tree-row:hover{background:var(--bg2)}[data-v-73881a11] .tree-row.selected{background:color-mix(in srgb,var(--teal) 12%,var(--bg2));border-color:var(--teal)}[data-v-73881a11] .tree-row.hot{box-shadow:inset 2px 0 0 var(--red)}[data-v-73881a11] .tree-toggle{width:16px;height:16px;border:none;background:transparent;color:var(--text3);padding:0;font-size:14px;display:inline-flex;align-items:center;justify-content:center}[data-v-73881a11] .tree-toggle:disabled{cursor:default}[data-v-73881a11] .tree-toggle.empty{opacity:0}[data-v-73881a11] .tree-rail{display:block;width:2px;height:14px;border-radius:999px;background:color-mix(in srgb,var(--border) 75%,transparent)}[data-v-73881a11] .tree-copy{display:flex;align-items:center;min-width:0;gap:6px;overflow:hidden}[data-v-73881a11] .tree-name{font-size:12px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis}[data-v-73881a11] .tree-badges{display:flex;gap:6px;flex-shrink:0;overflow:hidden}[data-v-73881a11] .tree-badge{border:1px solid var(--border);border-radius:999px;padding:2px 7px;font-size:10px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}[data-v-73881a11] .tree-metrics{display:flex;align-items:center;min-width:92px;justify-content:flex-end;flex-shrink:0;gap:6px}[data-v-73881a11] .tree-metric-pill{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg2);font-size:10px;color:var(--text3)}[data-v-73881a11] .tree-persistent-pill{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid color-mix(in srgb,var(--amber) 55%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--amber) 10%,var(--bg2));font-size:10px;color:color-mix(in srgb,var(--amber) 80%,var(--text))}[data-v-73881a11] .tree-hydration-pill{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid color-mix(in srgb,var(--teal) 55%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--teal) 10%,var(--bg2));font-size:10px;color:color-mix(in srgb,var(--teal) 80%,var(--text))}[data-v-73881a11] .tree-children{margin-left:7px;padding-left:11px;border-left:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.detail-empty[data-v-73881a11]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text3);font-size:12px}.detail-header[data-v-73881a11]{display:flex;align-items:center;justify-content:space-between}.meta-grid[data-v-73881a11]{display:grid;grid-template-columns:auto 1fr;gap:4px 12px}.detail-pill-row[data-v-73881a11]{display:flex;flex-wrap:wrap;gap:6px}.detail-pill[data-v-73881a11]{border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--bg2);font-size:11px}.detail-pill.hot[data-v-73881a11]{border-color:color-mix(in srgb,var(--red) 50%,var(--border));color:var(--red)}.detail-pill.persistent[data-v-73881a11]{border-color:color-mix(in srgb,var(--amber) 55%,var(--border));color:color-mix(in srgb,var(--amber) 80%,var(--text))}.detail-pill.hydrated[data-v-73881a11]{border-color:color-mix(in srgb,var(--teal) 55%,var(--border));color:color-mix(in srgb,var(--teal) 80%,var(--text))}.detail-pill.muted[data-v-73881a11]{color:var(--text3);border-color:var(--border)}.section-label[data-v-73881a11]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-top:8px;margin-bottom:4px}.trigger-item[data-v-73881a11]{background:var(--bg2);border-radius:var(--radius);padding:4px 8px;margin-bottom:3px;color:var(--text2)}@media(max-width:1180px){.inspector[data-v-73881a11]{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}.detail-panel[data-v-73881a11]{grid-column:1 / -1;max-height:220px}}.timeline-root[data-v-da869dac]{display:flex;flex-direction:column;height:100%;overflow:hidden}.stats-row[data-v-da869dac]{display:flex;gap:10px;padding:12px 14px 0;flex-shrink:0}.stat-card[data-v-da869dac]{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);padding:8px 14px;min-width:72px;text-align:center}.stat-val[data-v-da869dac]{font-size:20px;font-weight:600;font-family:var(--mono);line-height:1.1}.stat-unit[data-v-da869dac]{font-size:12px;opacity:.6;margin-left:1px}.stat-label[data-v-da869dac]{font-size:10px;color:var(--text3);margin-top:2px;text-transform:uppercase;letter-spacing:.4px}.toolbar[data-v-da869dac]{display:flex;align-items:center;gap:8px;padding:10px 14px;flex-shrink:0;border-bottom:.5px solid var(--border)}.search-input[data-v-da869dac]{flex:1;max-width:260px}.filter-group[data-v-da869dac]{display:flex;gap:4px}.content-area[data-v-da869dac]{display:flex;flex:1;overflow:hidden;min-height:0}.table-pane[data-v-da869dac]{flex:1;overflow:hidden auto;min-width:0}.bar-cell[data-v-da869dac]{width:200px;padding:4px 8px}.bar-track[data-v-da869dac]{position:relative;height:8px;background:var(--bg2);border-radius:4px;overflow:hidden}.bar-fill[data-v-da869dac]{position:absolute;top:0;height:100%;min-width:3px;border-radius:4px;transition:width .15s}.detail-panel[data-v-da869dac]{width:260px;flex-shrink:0;border-left:.5px solid var(--border);overflow-y:auto;background:var(--bg3);padding:0 0 16px}.panel-header[data-v-da869dac]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:.5px solid var(--border);position:sticky;top:0;background:var(--bg3);z-index:1}.panel-title[data-v-da869dac]{font-family:var(--mono);font-size:13px;font-weight:500}.close-btn[data-v-da869dac]{border:none;background:transparent;color:var(--text3);font-size:11px;padding:2px 6px;cursor:pointer}.panel-section[data-v-da869dac]{padding:10px 14px 6px;border-bottom:.5px solid var(--border)}.panel-section-title[data-v-da869dac]{font-size:10px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.panel-row[data-v-da869dac]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:12px}.panel-key[data-v-da869dac]{color:var(--text3);flex-shrink:0}.panel-val[data-v-da869dac]{color:var(--text);text-align:right;word-break:break-all}.cancel-notice[data-v-da869dac],.active-notice[data-v-da869dac]{margin:10px 14px 0;font-size:11px;line-height:1.6;padding:8px 10px;border-radius:var(--radius)}.cancel-notice[data-v-da869dac]{background:#e24b4a1a;color:var(--red);border:.5px solid rgb(226 75 74 / 30%)}.active-notice[data-v-da869dac]{background:#7f77dd1a;color:var(--purple);border:.5px solid rgb(127 119 221 / 30%)}code[data-v-da869dac]{font-family:var(--mono);font-size:10px;background:#00000026;padding:1px 4px;border-radius:3px}.panel-slide-enter-active[data-v-da869dac],.panel-slide-leave-active[data-v-da869dac]{transition:transform .18s ease,opacity .18s ease}.panel-slide-enter-from[data-v-da869dac],.panel-slide-leave-to[data-v-da869dac]{transform:translate(12px);opacity:0}#app-root[data-v-08e3ddb5]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.tabbar[data-v-08e3ddb5]{display:flex;align-items:center;gap:2px;padding:8px 12px 0;border-bottom:.5px solid var(--border);background:var(--bg3);flex-shrink:0}.tabbar-brand[data-v-08e3ddb5]{font-size:11px;font-weight:500;color:var(--purple);letter-spacing:.5px;margin-right:12px;padding-bottom:8px}.tab-btn[data-v-08e3ddb5]{border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text3);font-size:12px;padding:6px 12px 8px;cursor:pointer;transition:color .12s,border-color .12s;display:flex;align-items:center;gap:5px}.tab-btn[data-v-08e3ddb5]:hover{color:var(--text);background:transparent}.tab-btn.active[data-v-08e3ddb5]{color:var(--purple);border-bottom-color:var(--purple)}.tab-icon[data-v-08e3ddb5]{font-size:10px;opacity:.6}.tab-content[data-v-08e3ddb5]{flex:1;overflow:hidden;display:flex;flex-direction:column}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:13px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}button{font-family:var(--font);font-size:12px;cursor:pointer;border:.5px solid var(--border);background:transparent;color:var(--text2);padding:4px 10px;border-radius:var(--radius);transition:background .12s}button:hover{background:var(--bg2)}button:active{transform:scale(.98)}button.active{background:#7f77dd26;color:var(--purple);border-color:var(--purple)}button.danger-active{background:#e24b4a1f;color:var(--red);border-color:var(--red)}button.success-active{background:#1d9e751f;color:var(--teal);border-color:var(--teal)}input[type=text],input[type=search]{font-family:var(--font);font-size:12px;border:.5px solid var(--border);background:var(--bg2);color:var(--text);padding:5px 10px;border-radius:var(--radius);outline:none;width:100%}input[type=text]:focus,input[type=search]:focus{border-color:var(--purple);box-shadow:0 0 0 2px #7f77dd33}input[type=range]{accent-color:var(--purple);cursor:pointer}.mono{font-family:var(--mono)}.muted{color:var(--text3)}.text-sm{font-size:11px}.text-xs{font-size:10px}.bold{font-weight:500}.badge{display:inline-block;font-size:10px;font-weight:500;padding:2px 7px;border-radius:99px;white-space:nowrap}.badge-ok{background:#1d9e7526;color:var(--teal)}.badge-err{background:#e24b4a1f;color:var(--red)}.badge-warn{background:#ef9f2726;color:var(--amber)}.badge-info{background:#378add1f;color:var(--blue)}.badge-gray{background:var(--bg2);color:var(--text3);border:.5px solid var(--border)}.badge-purple{background:#7f77dd26;color:var(--purple)}.card{background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;font-size:10px;font-weight:500;color:var(--text3);padding:6px 8px;border-bottom:.5px solid var(--border);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td{padding:8px;border-bottom:.5px solid var(--border);color:var(--text);vertical-align:middle}.data-table tr:hover td{background:var(--bg2);cursor:pointer}.data-table tr.selected td{background:#7f77dd14}.stat-card{background:var(--bg2);border-radius:var(--radius);padding:10px 12px}.stat-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.stat-val{font-size:20px;font-weight:500}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.flex-1{flex:1}.overflow-auto{overflow:auto}.p-3{padding:12px}.p-4{padding:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mt-2{margin-top:8px}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const r of l.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function n(o){if(o.ep)return;o.ep=!0;const l=s(o);fetch(o.href,l)}})();/**
|
|
2
|
+
* @vue/shared v3.5.30
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**/function _n(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ue={},Ht=[],tt=()=>{},Mo=()=>!1,Fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),bn=e=>e.startsWith("onUpdate:"),ye=Object.assign,yn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ql=Object.prototype.hasOwnProperty,ae=(e,t)=>ql.call(e,t),K=Array.isArray,Vt=e=>ps(e)==="[object Map]",Eo=e=>ps(e)==="[object Set]",Vn=e=>ps(e)==="[object Date]",J=e=>typeof e=="function",_e=e=>typeof e=="string",st=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",Ao=e=>(ce(e)||J(e))&&J(e.then)&&J(e.catch),Oo=Object.prototype.toString,ps=e=>Oo.call(e),Gl=e=>ps(e).slice(8,-1),Io=e=>ps(e)==="[object Object]",xn=e=>_e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Zt=_n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Rs=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Jl=/-\w/g,Be=Rs(e=>e.replace(Jl,t=>t.slice(1).toUpperCase())),Yl=/\B([A-Z])/g,Ot=Rs(e=>e.replace(Yl,"-$1").toLowerCase()),Po=Rs(e=>e.charAt(0).toUpperCase()+e.slice(1)),zs=Rs(e=>e?`on${Po(e)}`:""),et=(e,t)=>!Object.is(e,t),$s=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Lo=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},wn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ql=e=>{const t=_e(e)?Number(e):NaN;return isNaN(t)?e:t};let Un;const js=()=>Un||(Un=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function $e(e){if(K(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=_e(n)?ti(n):$e(n);if(o)for(const l in o)t[l]=o[l]}return t}else if(_e(e)||ce(e))return e}const Xl=/;(?![^(]*\))/g,Zl=/:([^]+)/,ei=/\/\*[^]*?\*\//g;function ti(e){const t={};return e.replace(ei,"").split(Xl).forEach(s=>{if(s){const n=s.split(Zl);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Q(e){let t="";if(_e(e))t=e;else if(K(e))for(let s=0;s<e.length;s++){const n=Q(e[s]);n&&(t+=n+" ")}else if(ce(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const si="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ni=_n(si);function No(e){return!!e||e===""}function oi(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=$n(e[n],t[n]);return s}function $n(e,t){if(e===t)return!0;let s=Vn(e),n=Vn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=st(e),n=st(t),s||n)return e===t;if(s=K(e),n=K(t),s||n)return s&&n?oi(e,t):!1;if(s=ce(e),n=ce(t),s||n){if(!s||!n)return!1;const o=Object.keys(e).length,l=Object.keys(t).length;if(o!==l)return!1;for(const r in e){const a=e.hasOwnProperty(r),c=t.hasOwnProperty(r);if(a&&!c||!a&&c||!$n(e[r],t[r]))return!1}}return String(e)===String(t)}const Fo=e=>!!(e&&e.__v_isRef===!0),w=e=>_e(e)?e:e==null?"":K(e)||ce(e)&&(e.toString===Oo||!J(e.toString))?Fo(e)?w(e.value):JSON.stringify(e,Ro,2):String(e),Ro=(e,t)=>Fo(t)?Ro(e,t.value):Vt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],l)=>(s[qs(n,l)+" =>"]=o,s),{})}:Eo(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>qs(s))}:st(t)?qs(t):ce(t)&&!K(t)&&!Io(t)?String(t):t,qs=(e,t="")=>{var s;return st(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
|
6
|
+
* @vue/reactivity v3.5.30
|
|
7
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
+
* @license MIT
|
|
9
|
+
**/let Le;class li{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Le,!t&&Le&&(this.index=(Le.scopes||(Le.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=Le;try{return Le=this,t()}finally{Le=s}}}on(){++this._on===1&&(this.prevScope=Le,Le=this)}off(){this._on>0&&--this._on===0&&(Le=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function ii(){return Le}let fe;const Gs=new WeakSet;class jo{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Le&&Le.active&&Le.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Gs.has(this)&&(Gs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ho(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Bn(this),Vo(this);const t=fe,s=Ke;fe=this,Ke=!0;try{return this.fn()}finally{Uo(this),fe=t,Ke=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)kn(t);this.deps=this.depsTail=void 0,Bn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Gs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){on(this)&&this.run()}get dirty(){return on(this)}}let Do=0,es,ts;function Ho(e,t=!1){if(e.flags|=8,t){e.next=ts,ts=e;return}e.next=es,es=e}function Cn(){Do++}function Sn(){if(--Do>0)return;if(ts){let t=ts;for(ts=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;es;){let t=es;for(es=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Vo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Uo(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),kn(n),ri(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function on(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Bo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Bo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===is)||(e.globalVersion=is,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!on(e))))return;e.flags|=2;const t=e.dep,s=fe,n=Ke;fe=e,Ke=!0;try{Vo(e);const o=e.fn(e._value);(t.version===0||et(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{fe=s,Ke=n,Uo(e),e.flags&=-3}}function kn(e,t=!1){const{dep:s,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let l=s.computed.deps;l;l=l.nextDep)kn(l,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function ri(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ke=!0;const Ko=[];function dt(){Ko.push(Ke),Ke=!1}function ft(){const e=Ko.pop();Ke=e===void 0?!0:e}function Bn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=fe;fe=void 0;try{t()}finally{fe=s}}}let is=0;class ai{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Tn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!fe||!Ke||fe===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==fe)s=this.activeLink=new ai(fe,this),fe.deps?(s.prevDep=fe.depsTail,fe.depsTail.nextDep=s,fe.depsTail=s):fe.deps=fe.depsTail=s,Wo(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=fe.depsTail,s.nextDep=void 0,fe.depsTail.nextDep=s,fe.depsTail=s,fe.deps===s&&(fe.deps=n)}return s}trigger(t){this.version++,is++,this.notify(t)}notify(t){Cn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Sn()}}}function Wo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Wo(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const ln=new WeakMap,Mt=Symbol(""),rn=Symbol(""),rs=Symbol("");function Ce(e,t,s){if(Ke&&fe){let n=ln.get(e);n||ln.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new Tn),o.map=n,o.key=s),o.track()}}function ct(e,t,s,n,o,l){const r=ln.get(e);if(!r){is++;return}const a=c=>{c&&c.trigger()};if(Cn(),t==="clear")r.forEach(a);else{const c=K(e),m=c&&xn(s);if(c&&s==="length"){const p=Number(n);r.forEach((g,E)=>{(E==="length"||E===rs||!st(E)&&E>=p)&&a(g)})}else switch((s!==void 0||r.has(void 0))&&a(r.get(s)),m&&a(r.get(rs)),t){case"add":c?m&&a(r.get("length")):(a(r.get(Mt)),Vt(e)&&a(r.get(rn)));break;case"delete":c||(a(r.get(Mt)),Vt(e)&&a(r.get(rn)));break;case"set":Vt(e)&&a(r.get(Mt));break}}Sn()}function Lt(e){const t=re(e);return t===e?t:(Ce(t,"iterate",rs),Ve(e)?t:t.map(We))}function Ds(e){return Ce(e=re(e),"iterate",rs),e}function Qe(e,t){return pt(e)?Kt(Et(e)?We(t):t):We(t)}const ci={__proto__:null,[Symbol.iterator](){return Js(this,Symbol.iterator,e=>Qe(this,e))},concat(...e){return Lt(this).concat(...e.map(t=>K(t)?Lt(t):t))},entries(){return Js(this,"entries",e=>(e[1]=Qe(this,e[1]),e))},every(e,t){return lt(this,"every",e,t,void 0,arguments)},filter(e,t){return lt(this,"filter",e,t,s=>s.map(n=>Qe(this,n)),arguments)},find(e,t){return lt(this,"find",e,t,s=>Qe(this,s),arguments)},findIndex(e,t){return lt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return lt(this,"findLast",e,t,s=>Qe(this,s),arguments)},findLastIndex(e,t){return lt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return lt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ys(this,"includes",e)},indexOf(...e){return Ys(this,"indexOf",e)},join(e){return Lt(this).join(e)},lastIndexOf(...e){return Ys(this,"lastIndexOf",e)},map(e,t){return lt(this,"map",e,t,void 0,arguments)},pop(){return Gt(this,"pop")},push(...e){return Gt(this,"push",e)},reduce(e,...t){return Kn(this,"reduce",e,t)},reduceRight(e,...t){return Kn(this,"reduceRight",e,t)},shift(){return Gt(this,"shift")},some(e,t){return lt(this,"some",e,t,void 0,arguments)},splice(...e){return Gt(this,"splice",e)},toReversed(){return Lt(this).toReversed()},toSorted(e){return Lt(this).toSorted(e)},toSpliced(...e){return Lt(this).toSpliced(...e)},unshift(...e){return Gt(this,"unshift",e)},values(){return Js(this,"values",e=>Qe(this,e))}};function Js(e,t,s){const n=Ds(e),o=n[t]();return n!==e&&!Ve(e)&&(o._next=o.next,o.next=()=>{const l=o._next();return l.done||(l.value=s(l.value)),l}),o}const ui=Array.prototype;function lt(e,t,s,n,o,l){const r=Ds(e),a=r!==e&&!Ve(e),c=r[t];if(c!==ui[t]){const g=c.apply(e,l);return a?We(g):g}let m=s;r!==e&&(a?m=function(g,E){return s.call(this,Qe(e,g),E,e)}:s.length>2&&(m=function(g,E){return s.call(this,g,E,e)}));const p=c.call(r,m,n);return a&&o?o(p):p}function Kn(e,t,s,n){const o=Ds(e),l=o!==e&&!Ve(e);let r=s,a=!1;o!==e&&(l?(a=n.length===0,r=function(m,p,g){return a&&(a=!1,m=Qe(e,m)),s.call(this,m,Qe(e,p),g,e)}):s.length>3&&(r=function(m,p,g){return s.call(this,m,p,g,e)}));const c=o[t](r,...n);return a?Qe(e,c):c}function Ys(e,t,s){const n=re(e);Ce(n,"iterate",rs);const o=n[t](...s);return(o===-1||o===!1)&&On(s[0])?(s[0]=re(s[0]),n[t](...s)):o}function Gt(e,t,s=[]){dt(),Cn();const n=re(e)[t].apply(e,s);return Sn(),ft(),n}const di=_n("__proto__,__v_isRef,__isVue"),zo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(st));function fi(e){st(e)||(e=String(e));const t=re(this);return Ce(t,"has",e),t.hasOwnProperty(e)}class qo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const o=this._isReadonly,l=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return l;if(s==="__v_raw")return n===(o?l?wi:Qo:l?Yo:Jo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=K(t);if(!o){let c;if(r&&(c=ci[s]))return c;if(s==="hasOwnProperty")return fi}const a=Reflect.get(t,s,Se(t)?t:n);if((st(s)?zo.has(s):di(s))||(o||Ce(t,"get",s),l))return a;if(Se(a)){const c=r&&xn(s)?a:a.value;return o&&ce(c)?cn(c):c}return ce(a)?o?cn(a):En(a):a}}class Go extends qo{constructor(t=!1){super(!1,t)}set(t,s,n,o){let l=t[s];const r=K(t)&&xn(s);if(!this._isShallow){const m=pt(l);if(!Ve(n)&&!pt(n)&&(l=re(l),n=re(n)),!r&&Se(l)&&!Se(n))return m||(l.value=n),!0}const a=r?Number(s)<t.length:ae(t,s),c=Reflect.set(t,s,n,Se(t)?t:o);return t===re(o)&&(a?et(n,l)&&ct(t,"set",s,n):ct(t,"add",s,n)),c}deleteProperty(t,s){const n=ae(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&ct(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!st(s)||!zo.has(s))&&Ce(t,"has",s),n}ownKeys(t){return Ce(t,"iterate",K(t)?"length":Mt),Reflect.ownKeys(t)}}class pi extends qo{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const hi=new Go,vi=new pi,mi=new Go(!0);const an=e=>e,ys=e=>Reflect.getPrototypeOf(e);function gi(e,t,s){return function(...n){const o=this.__v_raw,l=re(o),r=Vt(l),a=e==="entries"||e===Symbol.iterator&&r,c=e==="keys"&&r,m=o[e](...n),p=s?an:t?Kt:We;return!t&&Ce(l,"iterate",c?rn:Mt),ye(Object.create(m),{next(){const{value:g,done:E}=m.next();return E?{value:g,done:E}:{value:a?[p(g[0]),p(g[1])]:p(g),done:E}}})}}function xs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function _i(e,t){const s={get(o){const l=this.__v_raw,r=re(l),a=re(o);e||(et(o,a)&&Ce(r,"get",o),Ce(r,"get",a));const{has:c}=ys(r),m=t?an:e?Kt:We;if(c.call(r,o))return m(l.get(o));if(c.call(r,a))return m(l.get(a));l!==r&&l.get(o)},get size(){const o=this.__v_raw;return!e&&Ce(re(o),"iterate",Mt),o.size},has(o){const l=this.__v_raw,r=re(l),a=re(o);return e||(et(o,a)&&Ce(r,"has",o),Ce(r,"has",a)),o===a?l.has(o):l.has(o)||l.has(a)},forEach(o,l){const r=this,a=r.__v_raw,c=re(a),m=t?an:e?Kt:We;return!e&&Ce(c,"iterate",Mt),a.forEach((p,g)=>o.call(l,m(p),m(g),r))}};return ye(s,e?{add:xs("add"),set:xs("set"),delete:xs("delete"),clear:xs("clear")}:{add(o){const l=re(this),r=ys(l),a=re(o),c=!t&&!Ve(o)&&!pt(o)?a:o;return r.has.call(l,c)||et(o,c)&&r.has.call(l,o)||et(a,c)&&r.has.call(l,a)||(l.add(c),ct(l,"add",c,c)),this},set(o,l){!t&&!Ve(l)&&!pt(l)&&(l=re(l));const r=re(this),{has:a,get:c}=ys(r);let m=a.call(r,o);m||(o=re(o),m=a.call(r,o));const p=c.call(r,o);return r.set(o,l),m?et(l,p)&&ct(r,"set",o,l):ct(r,"add",o,l),this},delete(o){const l=re(this),{has:r,get:a}=ys(l);let c=r.call(l,o);c||(o=re(o),c=r.call(l,o)),a&&a.call(l,o);const m=l.delete(o);return c&&ct(l,"delete",o,void 0),m},clear(){const o=re(this),l=o.size!==0,r=o.clear();return l&&ct(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=gi(o,e,t)}),s}function Mn(e,t){const s=_i(e,t);return(n,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(ae(s,o)&&o in n?s:n,o,l)}const bi={get:Mn(!1,!1)},yi={get:Mn(!1,!0)},xi={get:Mn(!0,!1)};const Jo=new WeakMap,Yo=new WeakMap,Qo=new WeakMap,wi=new WeakMap;function $i(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ci(e){return e.__v_skip||!Object.isExtensible(e)?0:$i(Gl(e))}function En(e){return pt(e)?e:An(e,!1,hi,bi,Jo)}function Si(e){return An(e,!1,mi,yi,Yo)}function cn(e){return An(e,!0,vi,xi,Qo)}function An(e,t,s,n,o){if(!ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=Ci(e);if(l===0)return e;const r=o.get(e);if(r)return r;const a=new Proxy(e,l===2?n:s);return o.set(e,a),a}function Et(e){return pt(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function pt(e){return!!(e&&e.__v_isReadonly)}function Ve(e){return!!(e&&e.__v_isShallow)}function On(e){return e?!!e.__v_raw:!1}function re(e){const t=e&&e.__v_raw;return t?re(t):e}function ki(e){return!ae(e,"__v_skip")&&Object.isExtensible(e)&&Lo(e,"__v_skip",!0),e}const We=e=>ce(e)?En(e):e,Kt=e=>ce(e)?cn(e):e;function Se(e){return e?e.__v_isRef===!0:!1}function oe(e){return Ti(e,!1)}function Ti(e,t){return Se(e)?e:new Mi(e,t)}class Mi{constructor(t,s){this.dep=new Tn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:re(t),this._value=s?t:We(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Ve(t)||pt(t);t=n?t:re(t),et(t,s)&&(this._rawValue=t,this._value=n?t:We(t),this.dep.trigger())}}function _t(e){return Se(e)?e.value:e}const Ei={get:(e,t,s)=>t==="__v_raw"?e:_t(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return Se(o)&&!Se(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function Xo(e){return Et(e)?e:new Proxy(e,Ei)}class Ai{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Tn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=is-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&fe!==this)return Ho(this,!0),!0}get value(){const t=this.dep.track();return Bo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Oi(e,t,s=!1){let n,o;return J(e)?n=e:(n=e.get,o=e.set),new Ai(n,o,s)}const ws={},Ms=new WeakMap;let St;function Ii(e,t=!1,s=St){if(s){let n=Ms.get(s);n||Ms.set(s,n=[]),n.push(e)}}function Pi(e,t,s=ue){const{immediate:n,deep:o,once:l,scheduler:r,augmentJob:a,call:c}=s,m=T=>o?T:Ve(T)||o===!1||o===0?ut(T,1):ut(T);let p,g,E,x,C=!1,y=!1;if(Se(e)?(g=()=>e.value,C=Ve(e)):Et(e)?(g=()=>m(e),C=!0):K(e)?(y=!0,C=e.some(T=>Et(T)||Ve(T)),g=()=>e.map(T=>{if(Se(T))return T.value;if(Et(T))return m(T);if(J(T))return c?c(T,2):T()})):J(e)?t?g=c?()=>c(e,2):e:g=()=>{if(E){dt();try{E()}finally{ft()}}const T=St;St=p;try{return c?c(e,3,[x]):e(x)}finally{St=T}}:g=tt,t&&o){const T=g,R=o===!0?1/0:o;g=()=>ut(T(),R)}const N=ii(),S=()=>{p.stop(),N&&N.active&&yn(N.effects,p)};if(l&&t){const T=t;t=(...R)=>{T(...R),S()}}let B=y?new Array(e.length).fill(ws):ws;const M=T=>{if(!(!(p.flags&1)||!p.dirty&&!T))if(t){const R=p.run();if(o||C||(y?R.some((X,de)=>et(X,B[de])):et(R,B))){E&&E();const X=St;St=p;try{const de=[R,B===ws?void 0:y&&B[0]===ws?[]:B,x];B=R,c?c(t,3,de):t(...de)}finally{St=X}}}else p.run()};return a&&a(M),p=new jo(g),p.scheduler=r?()=>r(M,!1):M,x=T=>Ii(T,!1,p),E=p.onStop=()=>{const T=Ms.get(p);if(T){if(c)c(T,4);else for(const R of T)R();Ms.delete(p)}},t?n?M(!0):B=p.run():r?r(M.bind(null,!0),!0):p.run(),S.pause=p.pause.bind(p),S.resume=p.resume.bind(p),S.stop=S,S}function ut(e,t=1/0,s){if(t<=0||!ce(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Se(e))ut(e.value,t,s);else if(K(e))for(let n=0;n<e.length;n++)ut(e[n],t,s);else if(Eo(e)||Vt(e))e.forEach(n=>{ut(n,t,s)});else if(Io(e)){for(const n in e)ut(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ut(e[n],t,s)}return e}/**
|
|
10
|
+
* @vue/runtime-core v3.5.30
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**/function hs(e,t,s,n){try{return n?e(...n):e()}catch(o){Hs(o,t,s)}}function ze(e,t,s,n){if(J(e)){const o=hs(e,t,s,n);return o&&Ao(o)&&o.catch(l=>{Hs(l,t,s)}),o}if(K(e)){const o=[];for(let l=0;l<e.length;l++)o.push(ze(e[l],t,s,n));return o}}function Hs(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:l,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||ue;if(t){let a=t.parent;const c=t.proxy,m=`https://vuejs.org/error-reference/#runtime-${s}`;for(;a;){const p=a.ec;if(p){for(let g=0;g<p.length;g++)if(p[g](e,c,m)===!1)return}a=a.parent}if(l){dt(),hs(l,null,10,[e,c,m]),ft();return}}Li(e,s,o,n,r)}function Li(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const Ee=[];let Je=-1;const Ut=[];let mt=null,jt=0;const Zo=Promise.resolve();let Es=null;function Ni(e){const t=Es||Zo;return e?t.then(this?e.bind(this):e):t}function Fi(e){let t=Je+1,s=Ee.length;for(;t<s;){const n=t+s>>>1,o=Ee[n],l=as(o);l<e||l===e&&o.flags&2?t=n+1:s=n}return t}function In(e){if(!(e.flags&1)){const t=as(e),s=Ee[Ee.length-1];!s||!(e.flags&2)&&t>=as(s)?Ee.push(e):Ee.splice(Fi(t),0,e),e.flags|=1,el()}}function el(){Es||(Es=Zo.then(sl))}function Ri(e){K(e)?Ut.push(...e):mt&&e.id===-1?mt.splice(jt+1,0,e):e.flags&1||(Ut.push(e),e.flags|=1),el()}function Wn(e,t,s=Je+1){for(;s<Ee.length;s++){const n=Ee[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Ee.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function tl(e){if(Ut.length){const t=[...new Set(Ut)].sort((s,n)=>as(s)-as(n));if(Ut.length=0,mt){mt.push(...t);return}for(mt=t,jt=0;jt<mt.length;jt++){const s=mt[jt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}mt=null,jt=0}}const as=e=>e.id==null?e.flags&2?-1:1/0:e.id;function sl(e){try{for(Je=0;Je<Ee.length;Je++){const t=Ee[Je];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hs(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Je<Ee.length;Je++){const t=Ee[Je];t&&(t.flags&=-2)}Je=-1,Ee.length=0,tl(),Es=null,(Ee.length||Ut.length)&&sl()}}let He=null,nl=null;function As(e){const t=He;return He=e,nl=e&&e.type.__scopeId||null,t}function ol(e,t=He,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&Ps(-1);const l=As(t);let r;try{r=e(...o)}finally{As(l),n._d&&Ps(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function vs(e,t){if(He===null)return e;const s=Ws(He),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[l,r,a,c=ue]=t[o];l&&(J(l)&&(l={mounted:l,updated:l}),l.deep&&ut(r),n.push({dir:l,instance:s,value:r,oldValue:void 0,arg:a,modifiers:c}))}return e}function xt(e,t,s,n){const o=e.dirs,l=t&&t.dirs;for(let r=0;r<o.length;r++){const a=o[r];l&&(a.oldValue=l[r].value);let c=a.dir[n];c&&(dt(),ze(c,s,8,[e.el,a,e,t]),ft())}}function ji(e,t){if(Oe){let s=Oe.provides;const n=Oe.parent&&Oe.parent.provides;n===s&&(s=Oe.provides=Object.create(n)),s[e]=t}}function Cs(e,t,s=!1){const n=Rl();if(n||Bt){let o=Bt?Bt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return s&&J(t)?t.call(n&&n.proxy):t}}const Di=Symbol.for("v-scx"),Hi=()=>Cs(Di);function gt(e,t,s){return ll(e,t,s)}function ll(e,t,s=ue){const{immediate:n,deep:o,flush:l,once:r}=s,a=ye({},s),c=t&&n||!t&&l!=="post";let m;if(ds){if(l==="sync"){const x=Hi();m=x.__watcherHandles||(x.__watcherHandles=[])}else if(!c){const x=()=>{};return x.stop=tt,x.resume=tt,x.pause=tt,x}}const p=Oe;a.call=(x,C,y)=>ze(x,p,C,y);let g=!1;l==="post"?a.scheduler=x=>{Pe(x,p&&p.suspense)}:l!=="sync"&&(g=!0,a.scheduler=(x,C)=>{C?x():In(x)}),a.augmentJob=x=>{t&&(x.flags|=4),g&&(x.flags|=2,p&&(x.id=p.uid,x.i=p))};const E=Pi(e,t,a);return ds&&(m?m.push(E):c&&E()),E}function Vi(e,t,s){const n=this.proxy,o=_e(e)?e.includes(".")?il(n,e):()=>n[e]:e.bind(n,n);let l;J(t)?l=t:(l=t.handler,s=t);const r=ms(this),a=ll(o,l.bind(n),s);return r(),a}function il(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o<s.length&&n;o++)n=n[s[o]];return n}}const Ui=Symbol("_vte"),rl=e=>e.__isTeleport,Ye=Symbol("_leaveCb"),Jt=Symbol("_enterCb");function Bi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return vl(()=>{e.isMounted=!0}),ml(()=>{e.isUnmounting=!0}),e}const De=[Function,Array],al={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:De,onEnter:De,onAfterEnter:De,onEnterCancelled:De,onBeforeLeave:De,onLeave:De,onAfterLeave:De,onLeaveCancelled:De,onBeforeAppear:De,onAppear:De,onAfterAppear:De,onAppearCancelled:De},cl=e=>{const t=e.subTree;return t.component?cl(t.component):t},Ki={name:"BaseTransition",props:al,setup(e,{slots:t}){const s=Rl(),n=Bi();return()=>{const o=t.default&&fl(t.default(),!0);if(!o||!o.length)return;const l=ul(o),r=re(e),{mode:a}=r;if(n.isLeaving)return Qs(l);const c=zn(l);if(!c)return Qs(l);let m=un(c,r,n,s,g=>m=g);c.type!==Ae&&cs(c,m);let p=s.subTree&&zn(s.subTree);if(p&&p.type!==Ae&&!Tt(p,c)&&cl(s).type!==Ae){let g=un(p,r,n,s);if(cs(p,g),a==="out-in"&&c.type!==Ae)return n.isLeaving=!0,g.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete g.afterLeave,p=void 0},Qs(l);a==="in-out"&&c.type!==Ae?g.delayLeave=(E,x,C)=>{const y=dl(n,p);y[String(p.key)]=p,E[Ye]=()=>{x(),E[Ye]=void 0,delete m.delayedLeave,p=void 0},m.delayedLeave=()=>{C(),delete m.delayedLeave,p=void 0}}:p=void 0}else p&&(p=void 0);return l}}};function ul(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==Ae){t=s;break}}return t}const Wi=Ki;function dl(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function un(e,t,s,n,o){const{appear:l,mode:r,persisted:a=!1,onBeforeEnter:c,onEnter:m,onAfterEnter:p,onEnterCancelled:g,onBeforeLeave:E,onLeave:x,onAfterLeave:C,onLeaveCancelled:y,onBeforeAppear:N,onAppear:S,onAfterAppear:B,onAppearCancelled:M}=t,T=String(e.key),R=dl(s,e),X=(G,I)=>{G&&ze(G,n,9,I)},de=(G,I)=>{const L=I[1];X(G,I),K(G)?G.every(v=>v.length<=1)&&L():G.length<=1&&L()},he={mode:r,persisted:a,beforeEnter(G){let I=c;if(!s.isMounted)if(l)I=N||c;else return;G[Ye]&&G[Ye](!0);const L=R[T];L&&Tt(e,L)&&L.el[Ye]&&L.el[Ye](),X(I,[G])},enter(G){if(R[T]===e)return;let I=m,L=p,v=g;if(!s.isMounted)if(l)I=S||m,L=B||p,v=M||g;else return;let U=!1;G[Jt]=ve=>{U||(U=!0,ve?X(v,[G]):X(L,[G]),he.delayedLeave&&he.delayedLeave(),G[Jt]=void 0)};const Y=G[Jt].bind(null,!1);I?de(I,[G,Y]):Y()},leave(G,I){const L=String(e.key);if(G[Jt]&&G[Jt](!0),s.isUnmounting)return I();X(E,[G]);let v=!1;G[Ye]=Y=>{v||(v=!0,I(),Y?X(y,[G]):X(C,[G]),G[Ye]=void 0,R[L]===e&&delete R[L])};const U=G[Ye].bind(null,!1);R[L]=e,x?de(x,[G,U]):U()},clone(G){const I=un(G,t,s,n,o);return o&&o(I),I}};return he}function Qs(e){if(Vs(e))return e=bt(e),e.children=null,e}function zn(e){if(!Vs(e))return rl(e.type)&&e.children?ul(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&J(s.default))return s.default()}}function cs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,cs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function fl(e,t=!1,s){let n=[],o=0;for(let l=0;l<e.length;l++){let r=e[l];const a=s==null?r.key:String(s)+String(r.key!=null?r.key:l);r.type===le?(r.patchFlag&128&&o++,n=n.concat(fl(r.children,t,a))):(t||r.type!==Ae)&&n.push(a!=null?bt(r,{key:a}):r)}if(o>1)for(let l=0;l<n.length;l++)n[l].patchFlag=-2;return n}function At(e,t){return J(e)?ye({name:e.name},t,{setup:e}):e}function pl(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function qn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Os=new WeakMap;function ss(e,t,s,n,o=!1){if(K(e)){e.forEach((y,N)=>ss(y,t&&(K(t)?t[N]:t),s,n,o));return}if(ns(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ss(e,t,s,n.component.subTree);return}const l=n.shapeFlag&4?Ws(n.component):n.el,r=o?null:l,{i:a,r:c}=e,m=t&&t.r,p=a.refs===ue?a.refs={}:a.refs,g=a.setupState,E=re(g),x=g===ue?Mo:y=>qn(p,y)?!1:ae(E,y),C=(y,N)=>!(N&&qn(p,N));if(m!=null&&m!==c){if(Gn(t),_e(m))p[m]=null,x(m)&&(g[m]=null);else if(Se(m)){const y=t;C(m,y.k)&&(m.value=null),y.k&&(p[y.k]=null)}}if(J(c))hs(c,a,12,[r,p]);else{const y=_e(c),N=Se(c);if(y||N){const S=()=>{if(e.f){const B=y?x(c)?g[c]:p[c]:C()||!e.k?c.value:p[e.k];if(o)K(B)&&yn(B,l);else if(K(B))B.includes(l)||B.push(l);else if(y)p[c]=[l],x(c)&&(g[c]=p[c]);else{const M=[l];C(c,e.k)&&(c.value=M),e.k&&(p[e.k]=M)}}else y?(p[c]=r,x(c)&&(g[c]=r)):N&&(C(c,e.k)&&(c.value=r),e.k&&(p[e.k]=r))};if(r){const B=()=>{S(),Os.delete(e)};B.id=-1,Os.set(e,B),Pe(B,s)}else Gn(e),S()}}}function Gn(e){const t=Os.get(e);t&&(t.flags|=8,Os.delete(e))}js().requestIdleCallback;js().cancelIdleCallback;const ns=e=>!!e.type.__asyncLoader,Vs=e=>e.type.__isKeepAlive;function zi(e,t){hl(e,"a",t)}function qi(e,t){hl(e,"da",t)}function hl(e,t,s=Oe){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Us(t,n,s),s){let o=s.parent;for(;o&&o.parent;)Vs(o.parent.vnode)&&Gi(n,t,s,o),o=o.parent}}function Gi(e,t,s,n){const o=Us(t,e,n,!0);gl(()=>{yn(n[t],o)},s)}function Us(e,t,s=Oe,n=!1){if(s){const o=s[e]||(s[e]=[]),l=t.__weh||(t.__weh=(...r)=>{dt();const a=ms(s),c=ze(t,s,e,r);return a(),ft(),c});return n?o.unshift(l):o.push(l),l}}const ht=e=>(t,s=Oe)=>{(!ds||e==="sp")&&Us(e,(...n)=>t(...n),s)},Ji=ht("bm"),vl=ht("m"),Yi=ht("bu"),Qi=ht("u"),ml=ht("bum"),gl=ht("um"),Xi=ht("sp"),Zi=ht("rtg"),er=ht("rtc");function tr(e,t=Oe){Us("ec",e,t)}const sr=Symbol.for("v-ndc");function be(e,t,s,n){let o;const l=s,r=K(e);if(r||_e(e)){const a=r&&Et(e);let c=!1,m=!1;a&&(c=!Ve(e),m=pt(e),e=Ds(e)),o=new Array(e.length);for(let p=0,g=e.length;p<g;p++)o[p]=t(c?m?Kt(We(e[p])):We(e[p]):e[p],p,void 0,l)}else if(typeof e=="number"){o=new Array(e);for(let a=0;a<e;a++)o[a]=t(a+1,a,void 0,l)}else if(ce(e))if(e[Symbol.iterator])o=Array.from(e,(a,c)=>t(a,c,void 0,l));else{const a=Object.keys(e);o=new Array(a.length);for(let c=0,m=a.length;c<m;c++){const p=a[c];o[c]=t(e[p],p,c,l)}}else o=[];return o}const dn=e=>e?jl(e)?Ws(e):dn(e.parent):null,os=ye(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>dn(e.parent),$root:e=>dn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>bl(e),$forceUpdate:e=>e.f||(e.f=()=>{In(e.update)}),$nextTick:e=>e.n||(e.n=Ni.bind(e.proxy)),$watch:e=>Vi.bind(e)}),Xs=(e,t)=>e!==ue&&!e.__isScriptSetup&&ae(e,t),nr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:l,accessCache:r,type:a,appContext:c}=e;if(t[0]!=="$"){const E=r[t];if(E!==void 0)switch(E){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return l[t]}else{if(Xs(n,t))return r[t]=1,n[t];if(o!==ue&&ae(o,t))return r[t]=2,o[t];if(ae(l,t))return r[t]=3,l[t];if(s!==ue&&ae(s,t))return r[t]=4,s[t];fn&&(r[t]=0)}}const m=os[t];let p,g;if(m)return t==="$attrs"&&Ce(e.attrs,"get",""),m(e);if((p=a.__cssModules)&&(p=p[t]))return p;if(s!==ue&&ae(s,t))return r[t]=4,s[t];if(g=c.config.globalProperties,ae(g,t))return g[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:l}=e;return Xs(o,t)?(o[t]=s,!0):n!==ue&&ae(n,t)?(n[t]=s,!0):ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:l,type:r}},a){let c;return!!(s[a]||e!==ue&&a[0]!=="$"&&ae(e,a)||Xs(t,a)||ae(l,a)||ae(n,a)||ae(os,a)||ae(o.config.globalProperties,a)||(c=r.__cssModules)&&c[a])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:ae(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Jn(e){return K(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let fn=!0;function or(e){const t=bl(e),s=e.proxy,n=e.ctx;fn=!1,t.beforeCreate&&Yn(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:r,watch:a,provide:c,inject:m,created:p,beforeMount:g,mounted:E,beforeUpdate:x,updated:C,activated:y,deactivated:N,beforeDestroy:S,beforeUnmount:B,destroyed:M,unmounted:T,render:R,renderTracked:X,renderTriggered:de,errorCaptured:he,serverPrefetch:G,expose:I,inheritAttrs:L,components:v,directives:U,filters:Y}=t;if(m&&lr(m,n,null),r)for(const W in r){const q=r[W];J(q)&&(n[W]=q.bind(s))}if(o){const W=o.call(s,s);ce(W)&&(e.data=En(W))}if(fn=!0,l)for(const W in l){const q=l[W],pe=J(q)?q.bind(s,s):J(q.get)?q.get.bind(s,s):tt,Ne=!J(q)&&J(q.set)?q.set.bind(s):tt,ke=se({get:pe,set:Ne});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>ke.value,set:me=>ke.value=me})}if(a)for(const W in a)_l(a[W],n,s,W);if(c){const W=J(c)?c.call(s):c;Reflect.ownKeys(W).forEach(q=>{ji(q,W[q])})}p&&Yn(p,e,"c");function D(W,q){K(q)?q.forEach(pe=>W(pe.bind(s))):q&&W(q.bind(s))}if(D(Ji,g),D(vl,E),D(Yi,x),D(Qi,C),D(zi,y),D(qi,N),D(tr,he),D(er,X),D(Zi,de),D(ml,B),D(gl,T),D(Xi,G),K(I))if(I.length){const W=e.exposed||(e.exposed={});I.forEach(q=>{Object.defineProperty(W,q,{get:()=>s[q],set:pe=>s[q]=pe,enumerable:!0})})}else e.exposed||(e.exposed={});R&&e.render===tt&&(e.render=R),L!=null&&(e.inheritAttrs=L),v&&(e.components=v),U&&(e.directives=U),G&&pl(e)}function lr(e,t,s=tt){K(e)&&(e=pn(e));for(const n in e){const o=e[n];let l;ce(o)?"default"in o?l=Cs(o.from||n,o.default,!0):l=Cs(o.from||n):l=Cs(o),Se(l)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>l.value,set:r=>l.value=r}):t[n]=l}}function Yn(e,t,s){ze(K(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function _l(e,t,s,n){let o=n.includes(".")?il(s,n):()=>s[n];if(_e(e)){const l=t[e];J(l)&>(o,l)}else if(J(e))gt(o,e.bind(s));else if(ce(e))if(K(e))e.forEach(l=>_l(l,t,s,n));else{const l=J(e.handler)?e.handler.bind(s):t[e.handler];J(l)&>(o,l,e)}}function bl(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:r}}=e.appContext,a=l.get(t);let c;return a?c=a:!o.length&&!s&&!n?c=t:(c={},o.length&&o.forEach(m=>Is(c,m,r,!0)),Is(c,t,r)),ce(t)&&l.set(t,c),c}function Is(e,t,s,n=!1){const{mixins:o,extends:l}=t;l&&Is(e,l,s,!0),o&&o.forEach(r=>Is(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const a=ir[r]||s&&s[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const ir={data:Qn,props:Xn,emits:Xn,methods:Xt,computed:Xt,beforeCreate:Te,created:Te,beforeMount:Te,mounted:Te,beforeUpdate:Te,updated:Te,beforeDestroy:Te,beforeUnmount:Te,destroyed:Te,unmounted:Te,activated:Te,deactivated:Te,errorCaptured:Te,serverPrefetch:Te,components:Xt,directives:Xt,watch:ar,provide:Qn,inject:rr};function Qn(e,t){return t?e?function(){return ye(J(e)?e.call(this,this):e,J(t)?t.call(this,this):t)}:t:e}function rr(e,t){return Xt(pn(e),pn(t))}function pn(e){if(K(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function Te(e,t){return e?[...new Set([].concat(e,t))]:t}function Xt(e,t){return e?ye(Object.create(null),e,t):t}function Xn(e,t){return e?K(e)&&K(t)?[...new Set([...e,...t])]:ye(Object.create(null),Jn(e),Jn(t??{})):t}function ar(e,t){if(!e)return t;if(!t)return e;const s=ye(Object.create(null),e);for(const n in t)s[n]=Te(e[n],t[n]);return s}function yl(){return{app:null,config:{isNativeTag:Mo,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let cr=0;function ur(e,t){return function(n,o=null){J(n)||(n=ye({},n)),o!=null&&!ce(o)&&(o=null);const l=yl(),r=new WeakSet,a=[];let c=!1;const m=l.app={_uid:cr++,_component:n,_props:o,_container:null,_context:l,_instance:null,version:Ur,get config(){return l.config},set config(p){},use(p,...g){return r.has(p)||(p&&J(p.install)?(r.add(p),p.install(m,...g)):J(p)&&(r.add(p),p(m,...g))),m},mixin(p){return l.mixins.includes(p)||l.mixins.push(p),m},component(p,g){return g?(l.components[p]=g,m):l.components[p]},directive(p,g){return g?(l.directives[p]=g,m):l.directives[p]},mount(p,g,E){if(!c){const x=m._ceVNode||Ie(n,o);return x.appContext=l,E===!0?E="svg":E===!1&&(E=void 0),e(x,p,E),c=!0,m._container=p,p.__vue_app__=m,Ws(x.component)}},onUnmount(p){a.push(p)},unmount(){c&&(ze(a,m._instance,16),e(null,m._container),delete m._container.__vue_app__)},provide(p,g){return l.provides[p]=g,m},runWithContext(p){const g=Bt;Bt=m;try{return p()}finally{Bt=g}}};return m}}let Bt=null;const dr=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Be(t)}Modifiers`]||e[`${Ot(t)}Modifiers`];function fr(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ue;let o=s;const l=t.startsWith("update:"),r=l&&dr(n,t.slice(7));r&&(r.trim&&(o=s.map(p=>_e(p)?p.trim():p)),r.number&&(o=s.map(wn)));let a,c=n[a=zs(t)]||n[a=zs(Be(t))];!c&&l&&(c=n[a=zs(Ot(t))]),c&&ze(c,e,6,o);const m=n[a+"Once"];if(m){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ze(m,e,6,o)}}const pr=new WeakMap;function xl(e,t,s=!1){const n=s?pr:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const l=e.emits;let r={},a=!1;if(!J(e)){const c=m=>{const p=xl(m,t,!0);p&&(a=!0,ye(r,p))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!l&&!a?(ce(e)&&n.set(e,null),null):(K(l)?l.forEach(c=>r[c]=null):ye(r,l),ce(e)&&n.set(e,r),r)}function Bs(e,t){return!e||!Fs(t)?!1:(t=t.slice(2).replace(/Once$/,""),ae(e,t[0].toLowerCase()+t.slice(1))||ae(e,Ot(t))||ae(e,t))}function Zn(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[l],slots:r,attrs:a,emit:c,render:m,renderCache:p,props:g,data:E,setupState:x,ctx:C,inheritAttrs:y}=e,N=As(e);let S,B;try{if(s.shapeFlag&4){const T=o||n,R=T;S=Ze(m.call(R,T,p,g,x,E,C)),B=a}else{const T=t;S=Ze(T.length>1?T(g,{attrs:a,slots:r,emit:c}):T(g,null)),B=t.props?a:hr(a)}}catch(T){ls.length=0,Hs(T,e,1),S=Ie(Ae)}let M=S;if(B&&y!==!1){const T=Object.keys(B),{shapeFlag:R}=M;T.length&&R&7&&(l&&T.some(bn)&&(B=vr(B,l)),M=bt(M,B,!1,!0))}return s.dirs&&(M=bt(M,null,!1,!0),M.dirs=M.dirs?M.dirs.concat(s.dirs):s.dirs),s.transition&&cs(M,s.transition),S=M,As(N),S}const hr=e=>{let t;for(const s in e)(s==="class"||s==="style"||Fs(s))&&((t||(t={}))[s]=e[s]);return t},vr=(e,t)=>{const s={};for(const n in e)(!bn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function mr(e,t,s){const{props:n,children:o,component:l}=e,{props:r,children:a,patchFlag:c}=t,m=l.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?eo(n,r,m):!!r;if(c&8){const p=t.dynamicProps;for(let g=0;g<p.length;g++){const E=p[g];if(wl(r,n,E)&&!Bs(m,E))return!0}}}else return(o||a)&&(!a||!a.$stable)?!0:n===r?!1:n?r?eo(n,r,m):!0:!!r;return!1}function eo(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let o=0;o<n.length;o++){const l=n[o];if(wl(t,e,l)&&!Bs(s,l))return!0}return!1}function wl(e,t,s){const n=e[s],o=t[s];return s==="style"&&ce(n)&&ce(o)?!$n(n,o):n!==o}function gr({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const $l={},Cl=()=>Object.create($l),Sl=e=>Object.getPrototypeOf(e)===$l;function _r(e,t,s,n=!1){const o={},l=Cl();e.propsDefaults=Object.create(null),kl(e,t,o,l);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);s?e.props=n?o:Si(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function br(e,t,s,n){const{props:o,attrs:l,vnode:{patchFlag:r}}=e,a=re(o),[c]=e.propsOptions;let m=!1;if((n||r>0)&&!(r&16)){if(r&8){const p=e.vnode.dynamicProps;for(let g=0;g<p.length;g++){let E=p[g];if(Bs(e.emitsOptions,E))continue;const x=t[E];if(c)if(ae(l,E))x!==l[E]&&(l[E]=x,m=!0);else{const C=Be(E);o[C]=hn(c,a,C,x,e,!1)}else x!==l[E]&&(l[E]=x,m=!0)}}}else{kl(e,t,o,l)&&(m=!0);let p;for(const g in a)(!t||!ae(t,g)&&((p=Ot(g))===g||!ae(t,p)))&&(c?s&&(s[g]!==void 0||s[p]!==void 0)&&(o[g]=hn(c,a,g,void 0,e,!0)):delete o[g]);if(l!==a)for(const g in l)(!t||!ae(t,g))&&(delete l[g],m=!0)}m&&ct(e.attrs,"set","")}function kl(e,t,s,n){const[o,l]=e.propsOptions;let r=!1,a;if(t)for(let c in t){if(Zt(c))continue;const m=t[c];let p;o&&ae(o,p=Be(c))?!l||!l.includes(p)?s[p]=m:(a||(a={}))[p]=m:Bs(e.emitsOptions,c)||(!(c in n)||m!==n[c])&&(n[c]=m,r=!0)}if(l){const c=re(s),m=a||ue;for(let p=0;p<l.length;p++){const g=l[p];s[g]=hn(o,c,g,m[g],e,!ae(m,g))}}return r}function hn(e,t,s,n,o,l){const r=e[s];if(r!=null){const a=ae(r,"default");if(a&&n===void 0){const c=r.default;if(r.type!==Function&&!r.skipFactory&&J(c)){const{propsDefaults:m}=o;if(s in m)n=m[s];else{const p=ms(o);n=m[s]=c.call(null,t),p()}}else n=c;o.ce&&o.ce._setProp(s,n)}r[0]&&(l&&!a?n=!1:r[1]&&(n===""||n===Ot(s))&&(n=!0))}return n}const yr=new WeakMap;function Tl(e,t,s=!1){const n=s?yr:t.propsCache,o=n.get(e);if(o)return o;const l=e.props,r={},a=[];let c=!1;if(!J(e)){const p=g=>{c=!0;const[E,x]=Tl(g,t,!0);ye(r,E),x&&a.push(...x)};!s&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!l&&!c)return ce(e)&&n.set(e,Ht),Ht;if(K(l))for(let p=0;p<l.length;p++){const g=Be(l[p]);to(g)&&(r[g]=ue)}else if(l)for(const p in l){const g=Be(p);if(to(g)){const E=l[p],x=r[g]=K(E)||J(E)?{type:E}:ye({},E),C=x.type;let y=!1,N=!0;if(K(C))for(let S=0;S<C.length;++S){const B=C[S],M=J(B)&&B.name;if(M==="Boolean"){y=!0;break}else M==="String"&&(N=!1)}else y=J(C)&&C.name==="Boolean";x[0]=y,x[1]=N,(y||ae(x,"default"))&&a.push(g)}}const m=[r,a];return ce(e)&&n.set(e,m),m}function to(e){return e[0]!=="$"&&!Zt(e)}const Pn=e=>e==="_"||e==="_ctx"||e==="$stable",Ln=e=>K(e)?e.map(Ze):[Ze(e)],xr=(e,t,s)=>{if(t._n)return t;const n=ol((...o)=>Ln(t(...o)),s);return n._c=!1,n},Ml=(e,t,s)=>{const n=e._ctx;for(const o in e){if(Pn(o))continue;const l=e[o];if(J(l))t[o]=xr(o,l,n);else if(l!=null){const r=Ln(l);t[o]=()=>r}}},El=(e,t)=>{const s=Ln(t);e.slots.default=()=>s},Al=(e,t,s)=>{for(const n in t)(s||!Pn(n))&&(e[n]=t[n])},wr=(e,t,s)=>{const n=e.slots=Cl();if(e.vnode.shapeFlag&32){const o=t._;o?(Al(n,t,s),s&&Lo(n,"_",o,!0)):Ml(t,n)}else t&&El(e,t)},$r=(e,t,s)=>{const{vnode:n,slots:o}=e;let l=!0,r=ue;if(n.shapeFlag&32){const a=t._;a?s&&a===1?l=!1:Al(o,t,s):(l=!t.$stable,Ml(t,o)),r=t}else t&&(El(e,t),r={default:1});if(l)for(const a in o)!Pn(a)&&r[a]==null&&delete o[a]},Pe=Mr;function Cr(e){return Sr(e)}function Sr(e,t){const s=js();s.__VUE__=!0;const{insert:n,remove:o,patchProp:l,createElement:r,createText:a,createComment:c,setText:m,setElementText:p,parentNode:g,nextSibling:E,setScopeId:x=tt,insertStaticContent:C}=e,y=(d,h,$,F=null,A=null,u=null,f=void 0,_=null,k=!!h.dynamicChildren)=>{if(d===h)return;d&&!Tt(d,h)&&(F=Pt(d),me(d,A,u,!0),d=null),h.patchFlag===-2&&(k=!1,h.dynamicChildren=null);const{type:b,ref:O,shapeFlag:H}=h;switch(b){case Ks:N(d,h,$,F);break;case Ae:S(d,h,$,F);break;case Ss:d==null&&B(h,$,F,f);break;case le:v(d,h,$,F,A,u,f,_,k);break;default:H&1?R(d,h,$,F,A,u,f,_,k):H&6?U(d,h,$,F,A,u,f,_,k):(H&64||H&128)&&b.process(d,h,$,F,A,u,f,_,k,yt)}O!=null&&A?ss(O,d&&d.ref,u,h||d,!h):O==null&&d&&d.ref!=null&&ss(d.ref,null,u,d,!0)},N=(d,h,$,F)=>{if(d==null)n(h.el=a(h.children),$,F);else{const A=h.el=d.el;h.children!==d.children&&m(A,h.children)}},S=(d,h,$,F)=>{d==null?n(h.el=c(h.children||""),$,F):h.el=d.el},B=(d,h,$,F)=>{[d.el,d.anchor]=C(d.children,h,$,F,d.el,d.anchor)},M=({el:d,anchor:h},$,F)=>{let A;for(;d&&d!==h;)A=E(d),n(d,$,F),d=A;n(h,$,F)},T=({el:d,anchor:h})=>{let $;for(;d&&d!==h;)$=E(d),o(d),d=$;o(h)},R=(d,h,$,F,A,u,f,_,k)=>{if(h.type==="svg"?f="svg":h.type==="math"&&(f="mathml"),d==null)X(h,$,F,A,u,f,_,k);else{const b=d.el&&d.el._isVueCE?d.el:null;try{b&&b._beginPatch(),G(d,h,A,u,f,_,k)}finally{b&&b._endPatch()}}},X=(d,h,$,F,A,u,f,_)=>{let k,b;const{props:O,shapeFlag:H,transition:V,dirs:z}=d;if(k=d.el=r(d.type,u,O&&O.is,O),H&8?p(k,d.children):H&16&&he(d.children,k,null,F,A,Zs(d,u),f,_),z&&xt(d,null,F,"created"),de(k,d,d.scopeId,f,F),O){for(const ne in O)ne!=="value"&&!Zt(ne)&&l(k,ne,null,O[ne],u,F);"value"in O&&l(k,"value",null,O.value,u),(b=O.onVnodeBeforeMount)&&Ge(b,F,d)}z&&xt(d,null,F,"beforeMount");const ee=kr(A,V);ee&&V.beforeEnter(k),n(k,h,$),((b=O&&O.onVnodeMounted)||ee||z)&&Pe(()=>{b&&Ge(b,F,d),ee&&V.enter(k),z&&xt(d,null,F,"mounted")},A)},de=(d,h,$,F,A)=>{if($&&x(d,$),F)for(let u=0;u<F.length;u++)x(d,F[u]);if(A){let u=A.subTree;if(h===u||Ll(u.type)&&(u.ssContent===h||u.ssFallback===h)){const f=A.vnode;de(d,f,f.scopeId,f.slotScopeIds,A.parent)}}},he=(d,h,$,F,A,u,f,_,k=0)=>{for(let b=k;b<d.length;b++){const O=d[b]=_?at(d[b]):Ze(d[b]);y(null,O,h,$,F,A,u,f,_)}},G=(d,h,$,F,A,u,f)=>{const _=h.el=d.el;let{patchFlag:k,dynamicChildren:b,dirs:O}=h;k|=d.patchFlag&16;const H=d.props||ue,V=h.props||ue;let z;if($&&wt($,!1),(z=V.onVnodeBeforeUpdate)&&Ge(z,$,h,d),O&&xt(h,d,$,"beforeUpdate"),$&&wt($,!0),(H.innerHTML&&V.innerHTML==null||H.textContent&&V.textContent==null)&&p(_,""),b?I(d.dynamicChildren,b,_,$,F,Zs(h,A),u):f||q(d,h,_,null,$,F,Zs(h,A),u,!1),k>0){if(k&16)L(_,H,V,$,A);else if(k&2&&H.class!==V.class&&l(_,"class",null,V.class,A),k&4&&l(_,"style",H.style,V.style,A),k&8){const ee=h.dynamicProps;for(let ne=0;ne<ee.length;ne++){const ie=ee[ne],xe=H[ie],we=V[ie];(we!==xe||ie==="value")&&l(_,ie,xe,we,A,$)}}k&1&&d.children!==h.children&&p(_,h.children)}else!f&&b==null&&L(_,H,V,$,A);((z=V.onVnodeUpdated)||O)&&Pe(()=>{z&&Ge(z,$,h,d),O&&xt(h,d,$,"updated")},F)},I=(d,h,$,F,A,u,f)=>{for(let _=0;_<h.length;_++){const k=d[_],b=h[_],O=k.el&&(k.type===le||!Tt(k,b)||k.shapeFlag&198)?g(k.el):$;y(k,b,O,null,F,A,u,f,!0)}},L=(d,h,$,F,A)=>{if(h!==$){if(h!==ue)for(const u in h)!Zt(u)&&!(u in $)&&l(d,u,h[u],null,A,F);for(const u in $){if(Zt(u))continue;const f=$[u],_=h[u];f!==_&&u!=="value"&&l(d,u,_,f,A,F)}"value"in $&&l(d,"value",h.value,$.value,A)}},v=(d,h,$,F,A,u,f,_,k)=>{const b=h.el=d?d.el:a(""),O=h.anchor=d?d.anchor:a("");let{patchFlag:H,dynamicChildren:V,slotScopeIds:z}=h;z&&(_=_?_.concat(z):z),d==null?(n(b,$,F),n(O,$,F),he(h.children||[],$,O,A,u,f,_,k)):H>0&&H&64&&V&&d.dynamicChildren&&d.dynamicChildren.length===V.length?(I(d.dynamicChildren,V,$,A,u,f,_),(h.key!=null||A&&h===A.subTree)&&Ol(d,h,!0)):q(d,h,$,O,A,u,f,_,k)},U=(d,h,$,F,A,u,f,_,k)=>{h.slotScopeIds=_,d==null?h.shapeFlag&512?A.ctx.activate(h,$,F,f,k):Y(h,$,F,A,u,f,k):ve(d,h,k)},Y=(d,h,$,F,A,u,f)=>{const _=d.component=Fr(d,F,A);if(Vs(d)&&(_.ctx.renderer=yt),Rr(_,!1,f),_.asyncDep){if(A&&A.registerDep(_,D,f),!d.el){const k=_.subTree=Ie(Ae);S(null,k,h,$),d.placeholder=k.el}}else D(_,d,h,$,A,u,f)},ve=(d,h,$)=>{const F=h.component=d.component;if(mr(d,h,$))if(F.asyncDep&&!F.asyncResolved){W(F,h,$);return}else F.next=h,F.update();else h.el=d.el,F.vnode=h},D=(d,h,$,F,A,u,f)=>{const _=()=>{if(d.isMounted){let{next:H,bu:V,u:z,parent:ee,vnode:ne}=d;{const ge=Il(d);if(ge){H&&(H.el=ne.el,W(d,H,f)),ge.asyncDep.then(()=>{Pe(()=>{d.isUnmounted||b()},A)});return}}let ie=H,xe;wt(d,!1),H?(H.el=ne.el,W(d,H,f)):H=ne,V&&$s(V),(xe=H.props&&H.props.onVnodeBeforeUpdate)&&Ge(xe,ee,H,ne),wt(d,!0);const we=Zn(d),Fe=d.subTree;d.subTree=we,y(Fe,we,g(Fe.el),Pt(Fe),d,A,u),H.el=we.el,ie===null&&gr(d,we.el),z&&Pe(z,A),(xe=H.props&&H.props.onVnodeUpdated)&&Pe(()=>Ge(xe,ee,H,ne),A)}else{let H;const{el:V,props:z}=h,{bm:ee,m:ne,parent:ie,root:xe,type:we}=d,Fe=ns(h);wt(d,!1),ee&&$s(ee),!Fe&&(H=z&&z.onVnodeBeforeMount)&&Ge(H,ie,h),wt(d,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(we,d.parent?d.parent.type:void 0);const ge=d.subTree=Zn(d);y(null,ge,$,F,d,A,u),h.el=ge.el}if(ne&&Pe(ne,A),!Fe&&(H=z&&z.onVnodeMounted)){const ge=h;Pe(()=>Ge(H,ie,ge),A)}(h.shapeFlag&256||ie&&ns(ie.vnode)&&ie.vnode.shapeFlag&256)&&d.a&&Pe(d.a,A),d.isMounted=!0,h=$=F=null}};d.scope.on();const k=d.effect=new jo(_);d.scope.off();const b=d.update=k.run.bind(k),O=d.job=k.runIfDirty.bind(k);O.i=d,O.id=d.uid,k.scheduler=()=>In(O),wt(d,!0),b()},W=(d,h,$)=>{h.component=d;const F=d.vnode.props;d.vnode=h,d.next=null,br(d,h.props,F,$),$r(d,h.children,$),dt(),Wn(d),ft()},q=(d,h,$,F,A,u,f,_,k=!1)=>{const b=d&&d.children,O=d?d.shapeFlag:0,H=h.children,{patchFlag:V,shapeFlag:z}=h;if(V>0){if(V&128){Ne(b,H,$,F,A,u,f,_,k);return}else if(V&256){pe(b,H,$,F,A,u,f,_,k);return}}z&8?(O&16&&Z(b,A,u),H!==b&&p($,H)):O&16?z&16?Ne(b,H,$,F,A,u,f,_,k):Z(b,A,u,!0):(O&8&&p($,""),z&16&&he(H,$,F,A,u,f,_,k))},pe=(d,h,$,F,A,u,f,_,k)=>{d=d||Ht,h=h||Ht;const b=d.length,O=h.length,H=Math.min(b,O);let V;for(V=0;V<H;V++){const z=h[V]=k?at(h[V]):Ze(h[V]);y(d[V],z,$,null,A,u,f,_,k)}b>O?Z(d,A,u,!0,!1,H):he(h,$,F,A,u,f,_,k,H)},Ne=(d,h,$,F,A,u,f,_,k)=>{let b=0;const O=h.length;let H=d.length-1,V=O-1;for(;b<=H&&b<=V;){const z=d[b],ee=h[b]=k?at(h[b]):Ze(h[b]);if(Tt(z,ee))y(z,ee,$,null,A,u,f,_,k);else break;b++}for(;b<=H&&b<=V;){const z=d[H],ee=h[V]=k?at(h[V]):Ze(h[V]);if(Tt(z,ee))y(z,ee,$,null,A,u,f,_,k);else break;H--,V--}if(b>H){if(b<=V){const z=V+1,ee=z<O?h[z].el:F;for(;b<=V;)y(null,h[b]=k?at(h[b]):Ze(h[b]),$,ee,A,u,f,_,k),b++}}else if(b>V)for(;b<=H;)me(d[b],A,u,!0),b++;else{const z=b,ee=b,ne=new Map;for(b=ee;b<=V;b++){const Re=h[b]=k?at(h[b]):Ze(h[b]);Re.key!=null&&ne.set(Re.key,b)}let ie,xe=0;const we=V-ee+1;let Fe=!1,ge=0;const ot=new Array(we);for(b=0;b<we;b++)ot[b]=0;for(b=z;b<=H;b++){const Re=d[b];if(xe>=we){me(Re,A,u,!0);continue}let qe;if(Re.key!=null)qe=ne.get(Re.key);else for(ie=ee;ie<=V;ie++)if(ot[ie-ee]===0&&Tt(Re,h[ie])){qe=ie;break}qe===void 0?me(Re,A,u,!0):(ot[qe-ee]=b+1,qe>=ge?ge=qe:Fe=!0,y(Re,h[qe],$,null,A,u,f,_,k),xe++)}const jn=Fe?Tr(ot):Ht;for(ie=jn.length-1,b=we-1;b>=0;b--){const Re=ee+b,qe=h[Re],Dn=h[Re+1],Hn=Re+1<O?Dn.el||Pl(Dn):F;ot[b]===0?y(null,qe,$,Hn,A,u,f,_,k):Fe&&(ie<0||b!==jn[ie]?ke(qe,$,Hn,2):ie--)}}},ke=(d,h,$,F,A=null)=>{const{el:u,type:f,transition:_,children:k,shapeFlag:b}=d;if(b&6){ke(d.component.subTree,h,$,F);return}if(b&128){d.suspense.move(h,$,F);return}if(b&64){f.move(d,h,$,yt);return}if(f===le){n(u,h,$);for(let H=0;H<k.length;H++)ke(k[H],h,$,F);n(d.anchor,h,$);return}if(f===Ss){M(d,h,$);return}if(F!==2&&b&1&&_)if(F===0)_.beforeEnter(u),n(u,h,$),Pe(()=>_.enter(u),A);else{const{leave:H,delayLeave:V,afterLeave:z}=_,ee=()=>{d.ctx.isUnmounted?o(u):n(u,h,$)},ne=()=>{u._isLeaving&&u[Ye](!0),H(u,()=>{ee(),z&&z()})};V?V(u,ee,ne):ne()}else n(u,h,$)},me=(d,h,$,F=!1,A=!1)=>{const{type:u,props:f,ref:_,children:k,dynamicChildren:b,shapeFlag:O,patchFlag:H,dirs:V,cacheIndex:z}=d;if(H===-2&&(A=!1),_!=null&&(dt(),ss(_,null,$,d,!0),ft()),z!=null&&(h.renderCache[z]=void 0),O&256){h.ctx.deactivate(d);return}const ee=O&1&&V,ne=!ns(d);let ie;if(ne&&(ie=f&&f.onVnodeBeforeUnmount)&&Ge(ie,h,d),O&6)It(d.component,$,F);else{if(O&128){d.suspense.unmount($,F);return}ee&&xt(d,null,h,"beforeUnmount"),O&64?d.type.remove(d,h,$,yt,F):b&&!b.hasOnce&&(u!==le||H>0&&H&64)?Z(b,h,$,!1,!0):(u===le&&H&384||!A&&O&16)&&Z(k,h,$),F&&nt(d)}(ne&&(ie=f&&f.onVnodeUnmounted)||ee)&&Pe(()=>{ie&&Ge(ie,h,d),ee&&xt(d,null,h,"unmounted")},$)},nt=d=>{const{type:h,el:$,anchor:F,transition:A}=d;if(h===le){Ue($,F);return}if(h===Ss){T(d);return}const u=()=>{o($),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(d.shapeFlag&1&&A&&!A.persisted){const{leave:f,delayLeave:_}=A,k=()=>f($,u);_?_(d.el,u,k):k()}else u()},Ue=(d,h)=>{let $;for(;d!==h;)$=E(d),o(d),d=$;o(h)},It=(d,h,$)=>{const{bum:F,scope:A,job:u,subTree:f,um:_,m:k,a:b}=d;so(k),so(b),F&&$s(F),A.stop(),u&&(u.flags|=8,me(f,d,h,$)),_&&Pe(_,h),Pe(()=>{d.isUnmounted=!0},h)},Z=(d,h,$,F=!1,A=!1,u=0)=>{for(let f=u;f<d.length;f++)me(d[f],h,$,F,A)},Pt=d=>{if(d.shapeFlag&6)return Pt(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=E(d.anchor||d.el),$=h&&h[Ui];return $?E($):h};let qt=!1;const bs=(d,h,$)=>{let F;d==null?h._vnode&&(me(h._vnode,null,null,!0),F=h._vnode.component):y(h._vnode||null,d,h,null,null,null,$),h._vnode=d,qt||(qt=!0,Wn(F),tl(),qt=!1)},yt={p:y,um:me,m:ke,r:nt,mt:Y,mc:he,pc:q,pbc:I,n:Pt,o:e};return{render:bs,hydrate:void 0,createApp:ur(bs)}}function Zs({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function wt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function kr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ol(e,t,s=!1){const n=e.children,o=t.children;if(K(n)&&K(o))for(let l=0;l<n.length;l++){const r=n[l];let a=o[l];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=o[l]=at(o[l]),a.el=r.el),!s&&a.patchFlag!==-2&&Ol(r,a)),a.type===Ks&&(a.patchFlag===-1&&(a=o[l]=at(a)),a.el=r.el),a.type===Ae&&!a.el&&(a.el=r.el)}}function Tr(e){const t=e.slice(),s=[0];let n,o,l,r,a;const c=e.length;for(n=0;n<c;n++){const m=e[n];if(m!==0){if(o=s[s.length-1],e[o]<m){t[n]=o,s.push(n);continue}for(l=0,r=s.length-1;l<r;)a=l+r>>1,e[s[a]]<m?l=a+1:r=a;m<e[s[l]]&&(l>0&&(t[n]=s[l-1]),s[l]=n)}}for(l=s.length,r=s[l-1];l-- >0;)s[l]=r,r=t[r];return s}function Il(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Il(t)}function so(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Pl(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Pl(t.subTree):null}const Ll=e=>e.__isSuspense;function Mr(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):Ri(e)}const le=Symbol.for("v-fgt"),Ks=Symbol.for("v-txt"),Ae=Symbol.for("v-cmt"),Ss=Symbol.for("v-stc"),ls=[];let je=null;function P(e=!1){ls.push(je=e?null:[])}function Er(){ls.pop(),je=ls[ls.length-1]||null}let us=1;function Ps(e,t=!1){us+=e,e<0&&je&&t&&(je.hasOnce=!0)}function Nl(e){return e.dynamicChildren=us>0?je||Ht:null,Er(),us>0&&je&&je.push(e),e}function j(e,t,s,n,o,l){return Nl(i(e,t,s,n,o,l,!0))}function kt(e,t,s,n,o){return Nl(Ie(e,t,s,n,o,!0))}function Ls(e){return e?e.__v_isVNode===!0:!1}function Tt(e,t){return e.type===t.type&&e.key===t.key}const Fl=({key:e})=>e??null,ks=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?_e(e)||Se(e)||J(e)?{i:He,r:e,k:t,f:!!s}:e:null);function i(e,t=null,s=null,n=0,o=null,l=e===le?0:1,r=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Fl(t),ref:t&&ks(t),scopeId:nl,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:He};return a?(Nn(c,s),l&128&&e.normalize(c)):s&&(c.shapeFlag|=_e(s)?8:16),us>0&&!r&&je&&(c.patchFlag>0||l&6)&&c.patchFlag!==32&&je.push(c),c}const Ie=Ar;function Ar(e,t=null,s=null,n=0,o=null,l=!1){if((!e||e===sr)&&(e=Ae),Ls(e)){const a=bt(e,t,!0);return s&&Nn(a,s),us>0&&!l&&je&&(a.shapeFlag&6?je[je.indexOf(e)]=a:je.push(a)),a.patchFlag=-2,a}if(Vr(e)&&(e=e.__vccOpts),t){t=Or(t);let{class:a,style:c}=t;a&&!_e(a)&&(t.class=Q(a)),ce(c)&&(On(c)&&!K(c)&&(c=ye({},c)),t.style=$e(c))}const r=_e(e)?1:Ll(e)?128:rl(e)?64:ce(e)?4:J(e)?2:0;return i(e,t,s,n,o,r,l,!0)}function Or(e){return e?On(e)||Sl(e)?ye({},e):e:null}function bt(e,t,s=!1,n=!1){const{props:o,ref:l,patchFlag:r,children:a,transition:c}=e,m=t?Pr(o||{},t):o,p={__v_isVNode:!0,__v_skip:!0,type:e.type,props:m,key:m&&Fl(m),ref:t&&t.ref?s&&l?K(l)?l.concat(ks(t)):[l,ks(t)]:ks(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==le?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bt(e.ssContent),ssFallback:e.ssFallback&&bt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&cs(p,c.clone(p)),p}function Xe(e=" ",t=0){return Ie(Ks,null,e,t)}function Ir(e,t){const s=Ie(Ss,null,e);return s.staticCount=t,s}function te(e="",t=!1){return t?(P(),kt(Ae,null,e)):Ie(Ae,null,e)}function Ze(e){return e==null||typeof e=="boolean"?Ie(Ae):K(e)?Ie(le,null,e.slice()):Ls(e)?at(e):Ie(Ks,null,String(e))}function at(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bt(e)}function Nn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(K(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),Nn(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!Sl(t)?t._ctx=He:o===3&&He&&(He.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else J(t)?(t={default:t,_ctx:He},s=32):(t=String(t),n&64?(s=16,t=[Xe(t)]):s=8);e.children=t,e.shapeFlag|=s}function Pr(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const o in n)if(o==="class")t.class!==n.class&&(t.class=Q([t.class,n.class]));else if(o==="style")t.style=$e([t.style,n.style]);else if(Fs(o)){const l=t[o],r=n[o];r&&l!==r&&!(K(l)&&l.includes(r))&&(t[o]=l?[].concat(l,r):r)}else o!==""&&(t[o]=n[o])}return t}function Ge(e,t,s,n=null){ze(e,t,7,[s,n])}const Lr=yl();let Nr=0;function Fr(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||Lr,l={uid:Nr++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new li(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Tl(n,o),emitsOptions:xl(n,o),emit:null,emitted:null,propsDefaults:ue,inheritAttrs:n.inheritAttrs,ctx:ue,data:ue,props:ue,attrs:ue,slots:ue,refs:ue,setupState:ue,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=fr.bind(null,l),e.ce&&e.ce(l),l}let Oe=null;const Rl=()=>Oe||He;let Ns,vn;{const e=js(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),l=>{o.length>1?o.forEach(r=>r(l)):o[0](l)}};Ns=t("__VUE_INSTANCE_SETTERS__",s=>Oe=s),vn=t("__VUE_SSR_SETTERS__",s=>ds=s)}const ms=e=>{const t=Oe;return Ns(e),e.scope.on(),()=>{e.scope.off(),Ns(t)}},no=()=>{Oe&&Oe.scope.off(),Ns(null)};function jl(e){return e.vnode.shapeFlag&4}let ds=!1;function Rr(e,t=!1,s=!1){t&&vn(t);const{props:n,children:o}=e.vnode,l=jl(e);_r(e,n,l,t),wr(e,o,s||t);const r=l?jr(e,t):void 0;return t&&vn(!1),r}function jr(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,nr);const{setup:n}=s;if(n){dt();const o=e.setupContext=n.length>1?Hr(e):null,l=ms(e),r=hs(n,e,0,[e.props,o]),a=Ao(r);if(ft(),l(),(a||e.sp)&&!ns(e)&&pl(e),a){if(r.then(no,no),t)return r.then(c=>{oo(e,c)}).catch(c=>{Hs(c,e,0)});e.asyncDep=r}else oo(e,r)}else Dl(e)}function oo(e,t,s){J(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ce(t)&&(e.setupState=Xo(t)),Dl(e)}function Dl(e,t,s){const n=e.type;e.render||(e.render=n.render||tt);{const o=ms(e);dt();try{or(e)}finally{ft(),o()}}}const Dr={get(e,t){return Ce(e,"get",""),e[t]}};function Hr(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Dr),slots:e.slots,emit:e.emit,expose:t}}function Ws(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xo(ki(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in os)return os[s](e)},has(t,s){return s in t||s in os}})):e.proxy}function Vr(e){return J(e)&&"__vccOpts"in e}const se=(e,t)=>Oi(e,t,ds);function Me(e,t,s){try{Ps(-1);const n=arguments.length;return n===2?ce(t)&&!K(t)?Ls(t)?Ie(e,null,[t]):Ie(e,t):Ie(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Ls(s)&&(s=[s]),Ie(e,t,s))}finally{Ps(1)}}const Ur="3.5.30";/**
|
|
14
|
+
* @vue/runtime-dom v3.5.30
|
|
15
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
+
* @license MIT
|
|
17
|
+
**/let mn;const lo=typeof window<"u"&&window.trustedTypes;if(lo)try{mn=lo.createPolicy("vue",{createHTML:e=>e})}catch{}const Hl=mn?e=>mn.createHTML(e):e=>e,Br="http://www.w3.org/2000/svg",Kr="http://www.w3.org/1998/Math/MathML",rt=typeof document<"u"?document:null,io=rt&&rt.createElement("template"),Wr={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t==="svg"?rt.createElementNS(Br,e):t==="mathml"?rt.createElementNS(Kr,e):s?rt.createElement(e,{is:s}):rt.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>rt.createTextNode(e),createComment:e=>rt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>rt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,l){const r=s?s.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===l||!(o=o.nextSibling)););else{io.innerHTML=Hl(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const a=io.content;if(n==="svg"||n==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},vt="transition",Yt="animation",fs=Symbol("_vtc"),Vl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},zr=ye({},al,Vl),qr=e=>(e.displayName="Transition",e.props=zr,e),Gr=qr((e,{slots:t})=>Me(Wi,Jr(e),t)),$t=(e,t=[])=>{K(e)?e.forEach(s=>s(...t)):e&&e(...t)},ro=e=>e?K(e)?e.some(t=>t.length>1):e.length>1:!1;function Jr(e){const t={};for(const v in e)v in Vl||(t[v]=e[v]);if(e.css===!1)return t;const{name:s="v",type:n,duration:o,enterFromClass:l=`${s}-enter-from`,enterActiveClass:r=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:c=l,appearActiveClass:m=r,appearToClass:p=a,leaveFromClass:g=`${s}-leave-from`,leaveActiveClass:E=`${s}-leave-active`,leaveToClass:x=`${s}-leave-to`}=e,C=Yr(o),y=C&&C[0],N=C&&C[1],{onBeforeEnter:S,onEnter:B,onEnterCancelled:M,onLeave:T,onLeaveCancelled:R,onBeforeAppear:X=S,onAppear:de=B,onAppearCancelled:he=M}=t,G=(v,U,Y,ve)=>{v._enterCancelled=ve,Ct(v,U?p:a),Ct(v,U?m:r),Y&&Y()},I=(v,U)=>{v._isLeaving=!1,Ct(v,g),Ct(v,x),Ct(v,E),U&&U()},L=v=>(U,Y)=>{const ve=v?de:B,D=()=>G(U,v,Y);$t(ve,[U,D]),ao(()=>{Ct(U,v?c:l),it(U,v?p:a),ro(ve)||co(U,n,y,D)})};return ye(t,{onBeforeEnter(v){$t(S,[v]),it(v,l),it(v,r)},onBeforeAppear(v){$t(X,[v]),it(v,c),it(v,m)},onEnter:L(!1),onAppear:L(!0),onLeave(v,U){v._isLeaving=!0;const Y=()=>I(v,U);it(v,g),v._enterCancelled?(it(v,E),po(v)):(po(v),it(v,E)),ao(()=>{v._isLeaving&&(Ct(v,g),it(v,x),ro(T)||co(v,n,N,Y))}),$t(T,[v,Y])},onEnterCancelled(v){G(v,!1,void 0,!0),$t(M,[v])},onAppearCancelled(v){G(v,!0,void 0,!0),$t(he,[v])},onLeaveCancelled(v){I(v),$t(R,[v])}})}function Yr(e){if(e==null)return null;if(ce(e))return[en(e.enter),en(e.leave)];{const t=en(e);return[t,t]}}function en(e){return Ql(e)}function it(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[fs]||(e[fs]=new Set)).add(t)}function Ct(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[fs];s&&(s.delete(t),s.size||(e[fs]=void 0))}function ao(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Qr=0;function co(e,t,s,n){const o=e._endId=++Qr,l=()=>{o===e._endId&&n()};if(s!=null)return setTimeout(l,s);const{type:r,timeout:a,propCount:c}=Xr(e,t);if(!r)return n();const m=r+"end";let p=0;const g=()=>{e.removeEventListener(m,E),l()},E=x=>{x.target===e&&++p>=c&&g()};setTimeout(()=>{p<c&&g()},a+1),e.addEventListener(m,E)}function Xr(e,t){const s=window.getComputedStyle(e),n=C=>(s[C]||"").split(", "),o=n(`${vt}Delay`),l=n(`${vt}Duration`),r=uo(o,l),a=n(`${Yt}Delay`),c=n(`${Yt}Duration`),m=uo(a,c);let p=null,g=0,E=0;t===vt?r>0&&(p=vt,g=r,E=l.length):t===Yt?m>0&&(p=Yt,g=m,E=c.length):(g=Math.max(r,m),p=g>0?r>m?vt:Yt:null,E=p?p===vt?l.length:c.length:0);const x=p===vt&&/\b(?:transform|all)(?:,|$)/.test(n(`${vt}Property`).toString());return{type:p,timeout:g,propCount:E,hasTransform:x}}function uo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>fo(s)+fo(e[n])))}function fo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function po(e){return(e?e.ownerDocument:document).body.offsetHeight}function Zr(e,t,s){const n=e[fs];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ho=Symbol("_vod"),ea=Symbol("_vsh"),ta=Symbol(""),sa=/(?:^|;)\s*display\s*:/;function na(e,t,s){const n=e.style,o=_e(s);let l=!1;if(s&&!o){if(t)if(_e(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();s[a]==null&&Ts(n,a,"")}else for(const r in t)s[r]==null&&Ts(n,r,"");for(const r in s)r==="display"&&(l=!0),Ts(n,r,s[r])}else if(o){if(t!==s){const r=n[ta];r&&(s+=";"+r),n.cssText=s,l=sa.test(s)}}else t&&e.removeAttribute("style");ho in e&&(e[ho]=l?n.display:"",e[ea]&&(n.display="none"))}const vo=/\s*!important$/;function Ts(e,t,s){if(K(s))s.forEach(n=>Ts(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=oa(e,t);vo.test(s)?e.setProperty(Ot(n),s.replace(vo,""),"important"):e[n]=s}}const mo=["Webkit","Moz","ms"],tn={};function oa(e,t){const s=tn[t];if(s)return s;let n=Be(t);if(n!=="filter"&&n in e)return tn[t]=n;n=Po(n);for(let o=0;o<mo.length;o++){const l=mo[o]+n;if(l in e)return tn[t]=l}return t}const go="http://www.w3.org/1999/xlink";function _o(e,t,s,n,o,l=ni(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(go,t.slice(6,t.length)):e.setAttributeNS(go,t,s):s==null||l&&!No(s)?e.removeAttribute(t):e.setAttribute(t,l?"":st(s)?String(s):s)}function bo(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Hl(s):s);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const a=l==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(a!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let r=!1;if(s===""||s==null){const a=typeof e[t];a==="boolean"?s=No(s):s==null&&a==="string"?(s="",r=!0):a==="number"&&(s=0,r=!0)}try{e[t]=s}catch{}r&&e.removeAttribute(o||t)}function Dt(e,t,s,n){e.addEventListener(t,s,n)}function la(e,t,s,n){e.removeEventListener(t,s,n)}const yo=Symbol("_vei");function ia(e,t,s,n,o=null){const l=e[yo]||(e[yo]={}),r=l[t];if(n&&r)r.value=n;else{const[a,c]=ra(t);if(n){const m=l[t]=ua(n,o);Dt(e,a,m,c)}else r&&(la(e,a,r,c),l[t]=void 0)}}const xo=/(?:Once|Passive|Capture)$/;function ra(e){let t;if(xo.test(e)){t={};let n;for(;n=e.match(xo);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ot(e.slice(2)),t]}let sn=0;const aa=Promise.resolve(),ca=()=>sn||(aa.then(()=>sn=0),sn=Date.now());function ua(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;ze(da(n,s.value),t,5,[n])};return s.value=e,s.attached=ca(),s}function da(e,t){if(K(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const wo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,fa=(e,t,s,n,o,l)=>{const r=o==="svg";t==="class"?Zr(e,n,r):t==="style"?na(e,s,n):Fs(t)?bn(t)||ia(e,t,s,n,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):pa(e,t,n,r))?(bo(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&_o(e,t,n,r,l,t!=="value")):e._isVueCE&&(ha(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!_e(n)))?bo(e,Be(t),n,l,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),_o(e,t,n,r))};function pa(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&wo(t)&&J(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return wo(t)&&_e(s)?!1:t in e}function ha(e,t){const s=e._def.props;if(!s)return!1;const n=Be(t);return Array.isArray(s)?s.some(o=>Be(o)===n):Object.keys(s).some(o=>Be(o)===n)}const $o=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?s=>$s(t,s):t};function va(e){e.target.composing=!0}function Co(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const nn=Symbol("_assign");function So(e,t,s){return t&&(e=e.trim()),s&&(e=wn(e)),e}const gs={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e[nn]=$o(o);const l=n||o.props&&o.props.type==="number";Dt(e,t?"change":"input",r=>{r.target.composing||e[nn](So(e.value,s,l))}),(s||l)&&Dt(e,"change",()=>{e.value=So(e.value,s,l)}),t||(Dt(e,"compositionstart",va),Dt(e,"compositionend",Co),Dt(e,"change",Co))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:l}},r){if(e[nn]=$o(r),e.composing)return;const a=(l||e.type==="number")&&!/^0\d/.test(e.value)?wn(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===c)||(e.value=c))}},ma=["ctrl","shift","alt","meta"],ga={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ma.some(s=>e[`${s}Key`]&&!t.includes(s))},_a=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((o,...l)=>{for(let r=0;r<t.length;r++){const a=ga[t[r]];if(a&&a(o,t))return}return e(o,...l)}))},ba=ye({patchProp:fa},Wr);let ko;function ya(){return ko||(ko=Cr(ba))}const xa=((...e)=>{const t=ya().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=$a(n);if(!o)return;const l=t._component;!J(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=s(o,!1,wa(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t});function wa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $a(e){return _e(e)?document.querySelector(e):e}const Ca=500,Ul=oe([]),Bl=oe({provides:[],injects:[]}),Fn=oe([]),Kl=oe([]),Wl=oe([]),zl=oe(!1);let To=!1,Wt="*";function Qt(e){return e?e.map(t=>({...t})):[]}function Sa(e){return e?e.map(t=>({...t})):[]}function ka(){if(typeof document>"u")return"";if(document.referrer)try{return new URL(document.referrer).origin}catch{}return""}function gn(){var e;Wt&&((e=window.top)==null||e.postMessage({type:"observatory:request"},Wt))}function Ta(e){var s;if(((s=e.data)==null?void 0:s.type)!=="observatory:snapshot"||!Wt||e.origin!==Wt)return;const t=e.data.data;Ul.value=Qt(t.fetch),Bl.value=t.provideInject?{provides:Qt(t.provideInject.provides),injects:Qt(t.provideInject.injects)}:{provides:[],injects:[]},Fn.value=Qt(t.composables),Kl.value=Sa(t.renders),Wl.value=Qt(t.transitions),zl.value=!0}function Ma(){To||typeof window>"u"||(To=!0,Wt=ka(),window.addEventListener("message",Ta),window.setInterval(gn,Ca),gn())}function Ea(){return Wt}function Aa(){Fn.value=[]}function _s(){return Ma(),{fetch:Ul,provideInject:Bl,composables:Fn,renders:Kl,transitions:Wl,connected:zl,refresh:gn,clearComposables:Aa}}const Oa={class:"view"},Ia={class:"stats-row"},Pa={class:"stat-card"},La={class:"stat-val"},Na={class:"stat-card"},Fa={class:"stat-val",style:{color:"var(--teal)"}},Ra={class:"stat-card"},ja={class:"stat-val",style:{color:"var(--amber)"}},Da={class:"stat-card"},Ha={class:"stat-val",style:{color:"var(--red)"}},Va={class:"toolbar"},Ua={class:"split"},Ba={class:"table-wrap"},Ka={class:"data-table"},Wa=["onClick"],za={class:"mono",style:{"font-size":"11px",color:"var(--text2)"}},qa=["title"],Ga={class:"muted text-sm"},Ja={class:"mono text-sm"},Ya={style:{height:"4px",background:"var(--bg2)","border-radius":"2px",overflow:"hidden"}},Qa={key:0},Xa={colspan:"7",style:{"text-align":"center",color:"var(--text3)",padding:"24px"}},Za={key:0,class:"detail-panel"},ec={class:"detail-header"},tc={class:"mono bold",style:{"font-size":"12px"}},sc={class:"flex gap-2"},nc={class:"meta-grid"},oc={class:"muted text-sm"},lc={class:"mono text-sm",style:{"word-break":"break-all"}},ic={class:"payload-box"},rc={class:"mono text-sm muted"},ac={key:1,class:"detail-empty"},cc={class:"waterfall"},uc={class:"waterfall-header"},dc={key:0,class:"waterfall-body"},fc={class:"mono muted text-sm",style:{width:"140px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","flex-shrink":"0"}},pc={class:"wf-track"},hc={class:"mono muted text-sm",style:{width:"44px","text-align":"right","flex-shrink":"0"}},vc=At({__name:"FetchDashboard",setup(e){const{fetch:t,connected:s}=_s(),n=oe("all"),o=oe(""),l=oe(null),r=oe(!0),a=se(()=>{const M=[...t.value].sort((R,X)=>R.startTime-X.startTime),T=Math.min(...M.map(R=>R.startTime),0);return M.map(R=>({...R,startOffset:Math.max(0,Math.round(R.startTime-T))}))}),c=se(()=>a.value.find(M=>M.id===l.value)??null),m=se(()=>({ok:a.value.filter(M=>M.status==="ok").length,pending:a.value.filter(M=>M.status==="pending").length,error:a.value.filter(M=>M.status==="error").length})),p=se(()=>a.value.filter(M=>{if(n.value!=="all"&&M.status!==n.value)return!1;const T=o.value.toLowerCase();return!(T&&!M.key.toLowerCase().includes(T)&&!M.url.toLowerCase().includes(T))})),g=se(()=>{if(!c.value)return[];const M=c.value;return[["url",M.url],["status",M.status],["origin",M.origin],["duration",M.ms!=null?`${M.ms}ms`:"—"],["size",M.size?B(M.size):"—"],["cached",M.cached?"yes":"no"]]}),E=se(()=>{if(!c.value)return"";const M=c.value.payload;if(M===void 0)return"(no payload captured yet)";try{return JSON.stringify(M,null,2)}catch{return String(M)}});function x(M){return{ok:"badge-ok",error:"badge-err",pending:"badge-warn",cached:"badge-gray"}[M]??"badge-gray"}function C(M){return{ok:"var(--teal)",error:"var(--red)",pending:"var(--amber)",cached:"var(--border)"}[M]??"var(--border)"}function y(M){const T=Math.max(...a.value.filter(R=>R.ms).map(R=>R.ms),1);return M.ms!=null?Math.max(4,Math.round(M.ms/T*100)):4}function N(M){const T=Math.max(...a.value.map(R=>R.startOffset+(R.ms??0)),1);return Math.round(M.startOffset/T*100)}function S(M){const T=Math.max(...a.value.map(R=>R.startOffset+(R.ms??0)),1);return M.ms!=null?Math.round(M.ms/T*100):2}function B(M){return M<1024?`${M}B`:`${(M/1024).toFixed(1)}KB`}return(M,T)=>(P(),j("div",Oa,[i("div",Ia,[i("div",Pa,[T[7]||(T[7]=i("div",{class:"stat-label"},"total",-1)),i("div",La,w(a.value.length),1)]),i("div",Na,[T[8]||(T[8]=i("div",{class:"stat-label"},"success",-1)),i("div",Fa,w(m.value.ok),1)]),i("div",Ra,[T[9]||(T[9]=i("div",{class:"stat-label"},"pending",-1)),i("div",ja,w(m.value.pending),1)]),i("div",Da,[T[10]||(T[10]=i("div",{class:"stat-label"},"error",-1)),i("div",Ha,w(m.value.error),1)])]),i("div",Va,[i("button",{class:Q({active:n.value==="all"}),onClick:T[0]||(T[0]=R=>n.value="all")},"all",2),i("button",{class:Q({"danger-active":n.value==="error"}),onClick:T[1]||(T[1]=R=>n.value="error")},"errors",2),i("button",{class:Q({active:n.value==="pending"}),onClick:T[2]||(T[2]=R=>n.value="pending")},"pending",2),i("button",{class:Q({active:n.value==="cached"}),onClick:T[3]||(T[3]=R=>n.value="cached")},"cached",2),vs(i("input",{"onUpdate:modelValue":T[4]||(T[4]=R=>o.value=R),type:"search",placeholder:"search key or url…",style:{"max-width":"240px","margin-left":"auto"}},null,512),[[gs,o.value]])]),i("div",Ua,[i("div",Ba,[i("table",Ka,[T[11]||(T[11]=i("thead",null,[i("tr",null,[i("th",null,"key"),i("th",null,"url"),i("th",null,"status"),i("th",null,"origin"),i("th",null,"size"),i("th",null,"time"),i("th",{style:{"min-width":"80px"}},"bar")])],-1)),i("tbody",null,[(P(!0),j(le,null,be(p.value,R=>{var X;return P(),j("tr",{key:R.id,class:Q({selected:((X=c.value)==null?void 0:X.id)===R.id}),onClick:de=>l.value=R.id},[i("td",null,[i("span",za,w(R.key),1)]),i("td",null,[i("span",{class:"mono",style:{"font-size":"11px","max-width":"200px",display:"block",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},title:R.url},w(R.url),9,qa)]),i("td",null,[i("span",{class:Q(["badge",x(R.status)])},w(R.status),3)]),i("td",null,[i("span",{class:Q(["badge",R.origin==="ssr"?"badge-info":"badge-gray"])},w(R.origin),3)]),i("td",Ga,w(R.size?B(R.size):"—"),1),i("td",Ja,w(R.ms!=null?`${R.ms}ms`:"—"),1),i("td",null,[i("div",Ya,[i("div",{style:$e({width:`${y(R)}%`,background:C(R.status),height:"100%",borderRadius:"2px"})},null,4)])])],10,Wa)}),128)),p.value.length?te("",!0):(P(),j("tr",Qa,[i("td",Xa,w(_t(s)?"No fetches recorded yet.":"Waiting for connection to the Nuxt app…"),1)]))])])]),c.value?(P(),j("div",Za,[i("div",ec,[i("span",tc,w(c.value.key),1),i("div",sc,[i("button",{onClick:T[5]||(T[5]=R=>l.value=null)},"×")])]),i("div",nc,[(P(!0),j(le,null,be(g.value,([R,X])=>(P(),j(le,{key:R},[i("span",oc,w(R),1),i("span",lc,w(X),1)],64))),128))]),T[12]||(T[12]=i("div",{class:"section-label"},"payload",-1)),i("pre",ic,w(E.value),1),T[13]||(T[13]=i("div",{class:"section-label",style:{"margin-top":"10px"}},"source",-1)),i("div",rc,w(c.value.file)+":"+w(c.value.line),1)])):(P(),j("div",ac,"select a call to inspect"))]),i("div",cc,[i("div",uc,[T[14]||(T[14]=i("div",{class:"section-label",style:{"margin-top":"0","margin-bottom":"0"}},"waterfall",-1)),i("button",{class:Q({active:r.value}),onClick:T[6]||(T[6]=R=>r.value=!r.value)},w(r.value?"hide":"show"),3)]),r.value?(P(),j("div",dc,[(P(!0),j(le,null,be(a.value,R=>(P(),j("div",{key:R.id,class:"wf-row"},[i("span",fc,w(R.key),1),i("div",pc,[i("div",{class:"wf-bar",style:$e({left:`${N(R)}%`,width:`${Math.max(2,S(R))}%`,background:C(R.status)})},null,4)]),i("span",hc,w(R.ms!=null?`${R.ms}ms`:"—"),1)]))),128))])):te("",!0)])]))}}),zt=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s},mc=zt(vc,[["__scopeId","data-v-8c1465c0"]]),gc={class:"view"},_c={class:"toolbar"},bc=["onClick"],yc={class:"split"},xc={class:"graph-area"},wc={key:0,class:"canvas-stage"},$c=["width","height","viewBox"],Cc=["d"],Sc=["onClick"],kc={class:"mono node-label"},Tc={key:0,class:"badge badge-ok badge-xs"},Mc={key:1,class:"badge badge-err badge-xs"},Ec={key:1,class:"graph-empty"},Ac={key:0,class:"detail-panel"},Oc={class:"detail-header"},Ic={class:"mono bold",style:{"font-size":"12px"}},Pc={key:0,class:"detail-section"},Lc={class:"section-label"},Nc={class:"detail-list"},Fc={class:"row-main"},Rc={class:"mono text-sm row-key"},jc=["title"],Dc=["onClick"],Hc={key:0,class:"row-warning"},Vc={key:1,class:"row-consumers"},Uc={key:0,class:"muted text-sm"},Bc={key:2,class:"muted text-sm",style:{padding:"2px 0","font-size":"11px"}},Kc={key:3,class:"value-box"},Wc={class:"section-label"},zc={class:"detail-list"},qc={class:"mono text-sm row-key"},Gc={key:0,class:"badge badge-ok"},Jc={key:1,class:"badge badge-err"},Yc=["title"],Qc={key:2,class:"muted text-sm",style:{"margin-top":"8px"}},Xc={key:1,class:"detail-empty"},Nt=140,Ft=32,Zc=72,Rt=18,eu=At({__name:"ProvideInjectGraph",setup(e){const{provideInject:t,connected:s}=_s();function n(I){return I.injects.some(L=>!L.ok)?"var(--red)":I.type==="both"?"var(--blue)":I.type==="provider"?"var(--teal)":"var(--text3)"}function o(I,L){return L==="all"?!0:L==="warn"?I.injects.some(v=>!v.ok):L==="shadow"?I.provides.some(v=>v.isShadowing):I.provides.some(v=>v.key===L)||I.injects.some(v=>v.key===L)}function l(I,L){if(!L)return!0;const v=L.toLowerCase();return I.label.toLowerCase().includes(v)||I.componentName.toLowerCase().includes(v)||I.provides.some(U=>U.key.toLowerCase().includes(v))||I.injects.some(U=>U.key.toLowerCase().includes(v))}function r(I){let L=0;const v=[I];for(;v.length;){const U=v.pop();U.children.length===0?L++:v.push(...U.children)}return L}function a(I){if(typeof I=="string")return I;try{return JSON.stringify(I)}catch{return String(I)}}function c(I){return typeof I=="object"&&I!==null}function m(I){if(I===null)return"null";if(Array.isArray(I))return`Array(${I.length})`;if(typeof I=="object"){const L=Object.keys(I);return L.length?`{ ${L.join(", ")} }`:"{}"}return a(I)}function p(I){if(!c(I))return a(I);try{return JSON.stringify(I,null,2)}catch{return a(I)}}function g(I,L,v){return`${I}:${L}:${v}`}function E(I){return I.split("/").pop()??I}function x(I){return String(I.componentUid)}const C=se(()=>{const I=new Map,L=new Map;function v(D){const W=x(D),q=I.get(W);if(q)return q;const pe={id:W,label:E(D.componentFile),componentName:D.componentName??E(D.componentFile),type:"consumer",provides:[],injects:[],children:[]};return I.set(W,pe),L.set(W,D.parentUid!==void 0?String(D.parentUid):null),pe}const U=new Map;for(const D of t.value.injects){const W=U.get(D.key)??[];W.push(D),U.set(D.key,W)}const Y=new Map;for(const D of t.value.provides)Y.set(D.componentUid,D.componentName);for(const D of t.value.injects)Y.set(D.componentUid,D.componentName);for(const D of t.value.provides){const W=v(D),q=U.get(D.key)??[];W.provides.push({key:D.key,val:m(D.valueSnapshot),raw:D.valueSnapshot,reactive:D.isReactive,complex:c(D.valueSnapshot),scope:D.scope??"component",isShadowing:D.isShadowing??!1,consumerUids:q.map(pe=>pe.componentUid),consumerNames:q.map(pe=>pe.componentName)})}for(const D of t.value.injects)v(D).injects.push({key:D.key,from:D.resolvedFromFile??null,fromName:D.resolvedFromUid!==void 0?Y.get(D.resolvedFromUid)??null:null,ok:D.resolved});for(const D of I.values())D.injects.some(W=>!W.ok)?D.type="error":D.provides.length&&D.injects.length?D.type="both":D.provides.length?D.type="provider":D.type="consumer";const ve=[];for(const[D,W]of I.entries()){const q=L.get(D),pe=q?I.get(q):void 0;pe?pe.children.push(W):ve.push(W)}return ve}),y=oe("all"),N=oe(""),S=oe(null),B=oe(new Set);gt(S,()=>{B.value=new Set});function M(I){const L=new Set(B.value);L.has(I)?L.delete(I):L.add(I),B.value=L}const T=se(()=>{const I=new Set,L=[...C.value];for(;L.length;){const v=L.pop();v.provides.forEach(U=>I.add(U.key)),v.injects.forEach(U=>I.add(U.key)),L.push(...v.children)}return[...I]}),R=se(()=>{function I(L){const v=[],U=[L];for(;U.length;){const ve=U.pop();v.push(ve);for(let D=ve.children.length-1;D>=0;D--)U.push(ve.children[D])}const Y=new Map;for(let ve=v.length-1;ve>=0;ve--){const D=v[ve],W=D.children.map(pe=>Y.get(pe)??null).filter(pe=>pe!==null);!(o(D,y.value)&&l(D,N.value))&&!W.length?Y.set(D,null):Y.set(D,{...D,children:W})}return Y.get(L)??null}return C.value.map(I).filter(Boolean)});gt([R,S],([I,L])=>{if(!L)return;const v=new Set,U=[...I];for(;U.length;){const Y=U.pop();v.add(Y.id),U.push(...Y.children)}v.has(L.id)||(S.value=null)});const X=se(()=>{const I=[],L=Rt;let v=L;for(const U of R.value){const Y=[{node:U,depth:0,slotLeft:v,parentId:null}];for(;Y.length;){const{node:D,depth:W,slotLeft:q,parentId:pe}=Y.pop(),ke=r(D)*(Nt+Rt)-Rt;I.push({data:D,parentId:pe,x:Math.round(q+ke/2),y:Math.round(L+W*(Ft+Zc)+Ft/2)});let me=q;const nt=[];for(const Ue of D.children){const It=r(Ue);nt.push({node:Ue,depth:W+1,slotLeft:me,parentId:D.id}),me+=It*(Nt+Rt)}for(let Ue=nt.length-1;Ue>=0;Ue--)Y.push(nt[Ue])}const ve=r(U);v+=ve*(Nt+Rt)+Rt*2}return I}),de=se(()=>X.value.reduce((I,L)=>Math.max(I,L.x+Nt/2+20),520)),he=se(()=>X.value.reduce((I,L)=>Math.max(I,L.y+Ft/2+20),200)),G=se(()=>{const I=new Map(X.value.map(L=>[L.data.id,L]));return X.value.filter(L=>L.parentId!==null).map(L=>{const v=I.get(L.parentId);return{id:`${v.data.id}--${L.data.id}`,x1:v.x,y1:v.y+Ft/2,x2:L.x,y2:L.y-Ft/2}})});return(I,L)=>(P(),j("div",gc,[i("div",_c,[i("button",{class:Q({active:y.value==="all"}),onClick:L[0]||(L[0]=v=>y.value="all")},"all keys",2),(P(!0),j(le,null,be(T.value,v=>(P(),j("button",{key:v,style:{"font-family":"var(--mono)"},class:Q({active:y.value===v}),onClick:U=>y.value=v},w(v),11,bc))),128)),i("button",{style:{"margin-left":"auto"},class:Q({"danger-active":y.value==="shadow"}),onClick:L[1]||(L[1]=v=>y.value=y.value==="shadow"?"all":"shadow")}," shadowed ",2),i("button",{class:Q({"danger-active":y.value==="warn"}),onClick:L[2]||(L[2]=v=>y.value=y.value==="warn"?"all":"warn")}," warnings ",2),vs(i("input",{"onUpdate:modelValue":L[3]||(L[3]=v=>N.value=v),type:"search",placeholder:"search component or key…",style:{"max-width":"200px"}},null,512),[[gs,N.value]])]),i("div",yc,[i("div",xc,[L[5]||(L[5]=Ir('<div class="legend" data-v-f074866d><span class="dot" style="background:var(--teal);" data-v-f074866d></span><span data-v-f074866d>provides</span><span class="dot" style="background:var(--blue);" data-v-f074866d></span><span data-v-f074866d>both</span><span class="dot" style="background:var(--text3);" data-v-f074866d></span><span data-v-f074866d>injects</span><span class="dot" style="background:var(--red);" data-v-f074866d></span><span data-v-f074866d>missing provider</span></div>',1)),X.value.length?(P(),j("div",wc,[i("div",{class:"canvas-wrap",style:$e({width:`${de.value}px`,height:`${he.value}px`})},[(P(),j("svg",{class:"edges-svg",width:de.value,height:he.value,viewBox:`0 0 ${de.value} ${he.value}`},[(P(!0),j(le,null,be(G.value,v=>(P(),j("path",{key:v.id,d:`M ${v.x1},${v.y1} C ${v.x1},${(v.y1+v.y2)/2} ${v.x2},${(v.y1+v.y2)/2} ${v.x2},${v.y2}`,class:"edge",fill:"none"},null,8,Cc))),128))],8,$c)),(P(!0),j(le,null,be(X.value,v=>{var U;return P(),j("div",{key:v.data.id,class:Q(["graph-node",{"is-selected":((U=S.value)==null?void 0:U.id)===v.data.id}]),style:$e({left:`${v.x-Nt/2}px`,top:`${v.y-Ft/2}px`,width:`${Nt}px`,"--node-color":n(v.data)}),onClick:Y=>S.value=v.data},[i("span",{class:"node-dot",style:$e({background:n(v.data)})},null,4),i("span",kc,w(v.data.label),1),v.data.provides.length?(P(),j("span",Tc," +"+w(v.data.provides.length),1)):te("",!0),v.data.injects.some(Y=>!Y.ok)?(P(),j("span",Mc,"!")):te("",!0)],14,Sc)}),128))],4)])):(P(),j("div",Ec,w(_t(s)?"No components match the current provide/inject filter.":"Waiting for connection to the Nuxt app…"),1))]),S.value?(P(),j("div",Ac,[i("div",Oc,[i("span",Ic,w(S.value.label),1),i("button",{onClick:L[4]||(L[4]=v=>S.value=null)},"×")]),S.value.provides.length?(P(),j("div",Pc,[i("div",Lc,"provides ("+w(S.value.provides.length)+")",1),i("div",Nc,[(P(!0),j(le,null,be(S.value.provides,(v,U)=>(P(),j("div",{key:g(S.value.id,v.key,U),class:"provide-row"},[i("div",Fc,[i("span",Rc,w(v.key),1),i("span",{class:"mono text-sm muted row-value-preview",title:v.val},w(v.val),9,jc),i("span",{class:Q(["badge scope-badge",`scope-${v.scope}`])},w(v.scope),3),i("span",{class:Q(["badge",v.reactive?"badge-ok":"badge-gray"])},w(v.reactive?"reactive":"static"),3),v.complex?(P(),j("button",{key:0,class:"row-toggle mono",onClick:Y=>M(g(S.value.id,v.key,U))},w(B.value.has(g(S.value.id,v.key,U))?"hide":"view"),9,Dc)):te("",!0)]),v.isShadowing?(P(),j("div",Hc,"shadows a parent provide with the same key")):te("",!0),v.consumerNames.length?(P(),j("div",Vc,[L[6]||(L[6]=i("span",{class:"muted text-sm"},"used by:",-1)),(P(!0),j(le,null,be(v.consumerNames,Y=>(P(),j("span",{key:Y,class:"consumer-chip mono"},w(Y),1))),128)),v.consumerNames.length?te("",!0):(P(),j("span",Uc,"no consumers"))])):(P(),j("div",Bc,"no consumers detected")),v.complex&&B.value.has(g(S.value.id,v.key,U))?(P(),j("pre",Kc,w(p(v.raw)),1)):te("",!0)]))),128))])])):te("",!0),S.value.injects.length?(P(),j("div",{key:1,class:"detail-section",style:$e({marginTop:S.value.provides.length?"10px":"0"})},[i("div",Wc,"injects ("+w(S.value.injects.length)+")",1),i("div",zc,[(P(!0),j(le,null,be(S.value.injects,v=>(P(),j("div",{key:v.key,class:Q(["inject-row",{"inject-miss":!v.ok}])},[i("span",qc,w(v.key),1),v.ok?(P(),j("span",Gc,"resolved")):(P(),j("span",Jc,"no provider")),i("span",{class:Q(["mono text-sm row-from",v.fromName?"":"muted"]),title:v.from??"undefined"},w(v.fromName??v.from??"undefined"),11,Yc)],2))),128))])],4)):te("",!0),!S.value.provides.length&&!S.value.injects.length?(P(),j("div",Qc," no provide/inject in this component ")):te("",!0)])):(P(),j("div",Xc,w(_t(s)?"Click a node to inspect.":"Waiting for connection to the Nuxt app…"),1))])]))}}),tu=zt(eu,[["__scopeId","data-v-f074866d"]]),su={class:"view"},nu={class:"stats-row"},ou={class:"stat-card"},lu={class:"stat-val"},iu={class:"stat-card"},ru={class:"stat-val",style:{color:"var(--teal)"}},au={class:"stat-card"},cu={class:"stat-val",style:{color:"var(--red)"}},uu={class:"stat-card"},du={class:"stat-val"},fu={class:"toolbar"},pu={class:"list"},hu=["onClick"],vu={class:"comp-header"},mu={class:"comp-identity"},gu={class:"comp-name mono"},_u={class:"comp-file muted mono"},bu={class:"comp-meta"},yu={key:0,class:"badge badge-warn"},xu={key:1,class:"badge badge-warn"},wu={key:2,class:"badge badge-err"},$u={key:3,class:"badge badge-ok"},Cu={key:4,class:"badge badge-gray"},Su={key:0,class:"refs-preview"},ku=["title"],Tu={class:"ref-chip-key"},Mu={class:"ref-chip-val"},Eu={key:0,class:"ref-chip-shared-dot",title:"global"},Au={key:0,class:"muted text-sm"},Ou={key:0,class:"leak-banner"},Iu={key:1,class:"global-banner"},Pu={key:2,class:"muted text-sm",style:{padding:"2px 0 6px"}},Lu={class:"mono text-sm ref-key"},Nu={class:"mono text-sm ref-val"},Fu={key:0,class:"badge badge-amber text-xs"},Ru={class:"section-label",style:{"margin-top":"10px"}},ju={class:"muted",style:{"font-weight":"400","text-transform":"none","letter-spacing":"0"}},Du={class:"history-list"},Hu={class:"history-time mono muted"},Vu={class:"history-key mono"},Uu={class:"history-val mono"},Bu={key:0,class:"muted text-sm",style:{padding:"2px 0"}},Ku={class:"muted text-sm",style:{"min-width":"120px"}},Wu={class:"lc-row"},zu={class:"mono text-sm"},qu={class:"lc-row"},Gu={class:"mono text-sm muted"},Ju={class:"lc-row"},Yu={class:"mono text-sm muted"},Qu={class:"lc-row"},Xu={class:"mono text-sm muted"},Zu={class:"lc-row"},ed={class:"mono text-sm"},td={class:"lc-row"},sd={class:"mono text-sm"},nd={key:0,class:"muted text-sm",style:{padding:"16px 0"}},od=At({__name:"ComposableTracker",setup(e){const{composables:t,connected:s,clearComposables:n}=_s();function o(){var N;const y=Ea();y&&(n(),(N=window.top)==null||N.postMessage({type:"observatory:clear-composables"},y))}function l(y){if(y===null)return"null";if(y===void 0)return"undefined";if(typeof y=="string")return`"${y}"`;if(typeof y=="object")try{const N=JSON.stringify(y);return N.length>80?N.slice(0,80)+"…":N}catch{return String(y)}return String(y)}function r(y){return y.split("/").pop()??y}const a=oe("all"),c=oe(""),m=oe(null),p=se(()=>t.value),g=se(()=>({mounted:p.value.filter(y=>y.status==="mounted").length,leaks:p.value.filter(y=>y.leak).length})),E=se(()=>p.value.filter(y=>{if(a.value==="leak"&&!y.leak||a.value==="mounted"&&y.status!=="mounted"||a.value==="unmounted"&&y.status!=="unmounted")return!1;const N=c.value.toLowerCase();if(N){const S=y.name.toLowerCase().includes(N),B=y.componentFile.toLowerCase().includes(N),M=Object.keys(y.refs).some(T=>T.toLowerCase().includes(N));if(!S&&!B&&!M)return!1}return!0}));function x(y){return[{label:"onMounted",ok:y.lifecycle.hasOnMounted,status:y.lifecycle.hasOnMounted?"registered":"not used"},{label:"onUnmounted",ok:y.lifecycle.hasOnUnmounted,status:y.lifecycle.hasOnUnmounted?"registered":"missing"},{label:"watchers cleaned",ok:y.lifecycle.watchersCleaned,status:y.lifecycle.watchersCleaned?"all stopped":"NOT stopped"},{label:"intervals cleared",ok:y.lifecycle.intervalsCleaned,status:y.lifecycle.intervalsCleaned?"all cleared":"NOT cleared"}]}function C(y){return y==="computed"?"badge-info":y==="reactive"?"badge-purple":"badge-gray"}return(y,N)=>(P(),j("div",su,[i("div",nu,[i("div",ou,[N[6]||(N[6]=i("div",{class:"stat-label"},"total",-1)),i("div",lu,w(p.value.length),1)]),i("div",iu,[N[7]||(N[7]=i("div",{class:"stat-label"},"mounted",-1)),i("div",ru,w(g.value.mounted),1)]),i("div",au,[N[8]||(N[8]=i("div",{class:"stat-label"},"leaks",-1)),i("div",cu,w(g.value.leaks),1)]),i("div",uu,[N[9]||(N[9]=i("div",{class:"stat-label"},"instances",-1)),i("div",du,w(p.value.length),1)])]),i("div",fu,[i("button",{class:Q({active:a.value==="all"}),onClick:N[0]||(N[0]=S=>a.value="all")},"all",2),i("button",{class:Q({active:a.value==="mounted"}),onClick:N[1]||(N[1]=S=>a.value="mounted")},"mounted",2),i("button",{class:Q({"danger-active":a.value==="leak"}),onClick:N[2]||(N[2]=S=>a.value="leak")},"leaks only",2),i("button",{class:Q({active:a.value==="unmounted"}),onClick:N[3]||(N[3]=S=>a.value="unmounted")},"unmounted",2),vs(i("input",{"onUpdate:modelValue":N[4]||(N[4]=S=>c.value=S),type:"search",placeholder:"search name, file, or ref…",style:{"max-width":"220px","margin-left":"auto"}},null,512),[[gs,c.value]]),i("button",{class:"clear-btn",title:"Clear session history",onClick:o},"clear")]),i("div",pu,[(P(!0),j(le,null,be(E.value,S=>{var B;return P(),j("div",{key:S.id,class:Q(["comp-card",{leak:S.leak,expanded:m.value===S.id}]),onClick:M=>m.value=m.value===S.id?null:S.id},[i("div",vu,[i("div",mu,[i("span",gu,w(S.name),1),i("span",_u,w(r(S.componentFile)),1)]),i("div",bu,[S.watcherCount>0&&!S.leak?(P(),j("span",yu,w(S.watcherCount)+"w",1)):te("",!0),S.intervalCount>0&&!S.leak?(P(),j("span",xu,w(S.intervalCount)+"t",1)):te("",!0),S.leak?(P(),j("span",wu,"leak")):S.status==="mounted"?(P(),j("span",$u,"mounted")):(P(),j("span",Cu,"unmounted"))])]),Object.keys(S.refs).length?(P(),j("div",Su,[(P(!0),j(le,null,be(Object.entries(S.refs).slice(0,3),([M,T])=>{var R,X,de;return P(),j("span",{key:M,class:Q(["ref-chip",{"ref-chip--reactive":T.type==="reactive","ref-chip--computed":T.type==="computed","ref-chip--shared":(R=S.sharedKeys)==null?void 0:R.includes(M)}]),title:(X=S.sharedKeys)!=null&&X.includes(M)?"shared global state":""},[i("span",Tu,w(M),1),i("span",Mu,w(l(T.value)),1),(de=S.sharedKeys)!=null&&de.includes(M)?(P(),j("span",Eu)):te("",!0)],10,ku)}),128)),Object.keys(S.refs).length>3?(P(),j("span",Au," +"+w(Object.keys(S.refs).length-3)+" more ",1)):te("",!0)])):te("",!0),m.value===S.id?(P(),j("div",{key:1,class:"comp-detail",onClick:N[5]||(N[5]=_a(()=>{},["stop"]))},[S.leak?(P(),j("div",Ou,w(S.leakReason),1)):te("",!0),(B=S.sharedKeys)!=null&&B.length?(P(),j("div",Iu,[N[11]||(N[11]=i("span",{class:"global-dot"},null,-1)),i("span",null,[N[10]||(N[10]=i("strong",null,"global state",-1)),Xe(" — "+w(S.sharedKeys.join(", "))+" "+w(S.sharedKeys.length===1?"is":"are")+" shared across all instances of "+w(S.name),1)])])):te("",!0),N[19]||(N[19]=i("div",{class:"section-label"},"reactive state",-1)),Object.keys(S.refs).length?te("",!0):(P(),j("div",Pu," no tracked state returned ")),(P(!0),j(le,null,be(Object.entries(S.refs),([M,T])=>{var R;return P(),j("div",{key:M,class:"ref-row"},[i("span",Lu,w(M),1),i("span",Nu,w(l(T.value)),1),i("span",{class:Q(["badge text-xs",C(T.type)])},w(T.type),3),(R=S.sharedKeys)!=null&&R.includes(M)?(P(),j("span",Fu,"global")):te("",!0)])}),128)),S.history&&S.history.length?(P(),j(le,{key:3},[i("div",Ru,[N[12]||(N[12]=Xe(" change history ",-1)),i("span",ju," ("+w(S.history.length)+" events) ",1)]),i("div",Du,[(P(!0),j(le,null,be([...S.history].reverse().slice(0,20),(M,T)=>(P(),j("div",{key:T,class:"history-row"},[i("span",Hu,"+"+w((M.t/1e3).toFixed(2))+"s",1),i("span",Vu,w(M.key),1),i("span",Uu,w(l(M.value)),1)]))),128)),S.history.length>20?(P(),j("div",Bu," … "+w(S.history.length-20)+" earlier events ",1)):te("",!0)])],64)):te("",!0),N[20]||(N[20]=i("div",{class:"section-label",style:{"margin-top":"10px"}},"lifecycle",-1)),(P(!0),j(le,null,be(x(S),M=>(P(),j("div",{key:M.label,class:"lc-row"},[i("span",{class:"lc-dot",style:$e({background:M.ok?"var(--teal)":"var(--red)"})},null,4),i("span",Ku,w(M.label),1),i("span",{class:"text-sm",style:$e({color:M.ok?"var(--teal)":"var(--red)"})},w(M.status),5)]))),128)),N[21]||(N[21]=i("div",{class:"section-label",style:{"margin-top":"10px"}},"context",-1)),i("div",Wu,[N[13]||(N[13]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"component",-1)),i("span",zu,w(r(S.componentFile)),1)]),i("div",qu,[N[14]||(N[14]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"uid",-1)),i("span",Gu,w(S.componentUid),1)]),i("div",Ju,[N[15]||(N[15]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"defined in",-1)),i("span",Yu,w(S.file)+":"+w(S.line),1)]),i("div",Qu,[N[16]||(N[16]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"route",-1)),i("span",Xu,w(S.route),1)]),i("div",Zu,[N[17]||(N[17]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"watchers",-1)),i("span",ed,w(S.watcherCount),1)]),i("div",td,[N[18]||(N[18]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"intervals",-1)),i("span",sd,w(S.intervalCount),1)])])):te("",!0)],10,hu)}),128)),E.value.length?te("",!0):(P(),j("div",nd,w(_t(s)?"No composables recorded yet.":"Waiting for connection to the Nuxt app…"),1))])]))}}),ld=zt(od,[["__scopeId","data-v-846415d7"]]),id={class:"view"},rd={class:"controls"},ad={class:"mode-group"},cd={class:"threshold-group"},ud=["min","max","step"],dd={class:"mono text-sm"},fd={class:"stats-row"},pd={class:"stat-card"},hd={class:"stat-val"},vd={class:"stat-card"},md={class:"stat-val"},gd={class:"stat-card"},_d={class:"stat-val",style:{color:"var(--red)"}},bd={class:"stat-card"},yd={class:"stat-val"},xd={class:"inspector"},wd={class:"roots-panel"},$d=["onClick"],Cd={class:"root-copy"},Sd={class:"root-label mono"},kd={class:"root-sub muted mono"},Td={class:"root-meta mono"},Md={key:0,class:"detail-empty"},Ed={class:"tree-panel"},Ad={class:"tree-toolbar"},Od=["value"],Id={class:"tree-frame"},Pd={class:"tree-canvas"},Ld={key:0,class:"detail-empty"},Nd={class:"detail-panel"},Fd={class:"detail-header"},Rd={class:"mono bold",style:{"font-size":"12px"}},jd={class:"detail-pill-row"},Dd={class:"detail-pill mono"},Hd={class:"detail-pill mono muted"},Vd={key:0,class:"detail-pill mono"},Ud={key:1,class:"detail-pill mono persistent"},Bd={key:2,class:"detail-pill mono hydrated"},Kd={class:"detail-pill mono"},Wd={class:"meta-grid"},zd={class:"mono text-sm"},qd={class:"mono text-sm"},Gd={class:"mono text-sm muted"},Jd={class:"mono text-sm"},Yd={class:"mono text-sm"},Qd={class:"mono text-sm"},Xd={class:"meta-grid"},Zd={class:"mono text-sm"},ef={class:"mono text-sm"},tf={class:"mono text-sm"},sf={class:"mono text-sm"},nf={class:"mono text-sm"},of={class:"mono text-sm"},lf={class:"mono text-sm"},rf={key:0,class:"muted text-sm"},af={key:1,class:"detail-empty"},cf=At({__name:"RenderHeatmap",setup(e){const t=At({name:"TreeNode",props:{node:Object,mode:String,threshold:Number,selected:String,expandedIds:Object},emits:["select","toggle"],setup(u,{emit:f}){function _(O){return u.mode==="count"?O.rerenders+O.mountCount:O.avgMs}function k(O){return _(O)>=u.threshold}function b(O){return{selected:u.selected===O.id,hot:k(O)}}return()=>{var xe,we,Fe;const O=u.node,H=((xe=u.expandedIds)==null?void 0:xe.has(O.id))??!1,V=O.children.length>0,z=u.mode==="count"?`${O.rerenders+O.mountCount}`:`${O.avgMs.toFixed(1)}ms`,ee=u.mode==="count"?"renders":"avg",ne=[],ie=(we=O.element)==null?void 0:we.toLowerCase();if(O.element&&O.element!==O.label&&!["div","span","p"].includes(ie??"")&&ne.push(O.element),O.file!=="unknown"){const ge=((Fe=O.file.split("/").pop())==null?void 0:Fe.replace(/\.vue$/i,""))??O.file;ge!==O.label&&!ne.includes(ge)&&ne.push(ge)}return Me("div",{class:"tree-node"},[Me("div",{class:["tree-row",b(O)],style:{"--tree-depth":String(O.depth)},onClick:ge=>{ge.stopPropagation(),f("select",O)}},[Me("span",{class:"tree-rail","aria-hidden":"true"}),Me("button",{class:["tree-toggle",{empty:!V}],disabled:!V,onClick:ge=>{ge.stopPropagation(),V&&f("toggle",O.id)}},V?H?"⌄":"›":""),Me("div",{class:"tree-copy"},[Me("span",{class:"tree-name mono",title:O.label},O.label),ne.length?Me("div",{class:"tree-badges"},ne.slice(0,1).map(ge=>Me("span",{class:"tree-badge mono",title:ge},ge))):null]),Me("div",{class:"tree-metrics mono"},[O.isPersistent?Me("span",{class:"tree-persistent-pill",title:"Layout / persistent component — survives navigation"},"persistent"):null,O.isHydrationMount?Me("span",{class:"tree-hydration-pill",title:"First mount was SSR hydration — not a user-triggered render"},"hydrated"):null,Me("span",{class:"tree-metric-pill"},`${z} ${ee}`)])]),H&&V?Me("div",{class:"tree-children"},O.children.map(ge=>Me(t,{node:ge,mode:u.mode,threshold:u.threshold,selected:u.selected,expandedIds:u.expandedIds,onSelect:ot=>f("select",ot),onToggle:ot=>f("toggle",ot)}))):null])}}}),{renders:s,connected:n}=_s(),o=oe("count"),l=oe(3),r=oe(16),a=se({get:()=>o.value==="count"?l.value:r.value,set:u=>{o.value==="count"?l.value=u:r.value=u}}),c=oe(!1),m=oe(!1),p=oe(""),g=oe(null),E=oe(null),x=oe(new Set),C=oe([]),y=oe(!1);function N(u){var _;if(u.name&&u.name!=="unknown"&&!/^Component#\d+$/.test(u.name))return u.name;if(u.element)return u.element;const f=(_=u.file.split("/").pop())==null?void 0:_.replace(/\.vue$/i,"");return f&&f!=="unknown"?f:u.name&&u.name!=="unknown"?u.name:`Component#${u.uid}`}function S(u){return`${u.type}: ${u.key}`}function B(u){const f=new Map;for(const b of u)f.set(String(b.uid),{id:String(b.uid),label:N(b),file:b.file,element:b.element,depth:0,path:[],rerenders:b.rerenders??0,mountCount:b.mountCount??1,avgMs:b.avgMs,triggers:b.triggers.map(S),children:[],parentId:b.parentUid!==void 0?String(b.parentUid):void 0,isPersistent:!!b.isPersistent,isHydrationMount:!!b.isHydrationMount});const _=[];for(const b of u){const O=f.get(String(b.uid));if(!O)continue;const H=b.parentUid!==void 0?f.get(String(b.parentUid)):void 0;H?(O.parentLabel=H.label,H.children.push(O)):_.push(O)}function k(b,O=[],H=0){b.depth=H,b.path=[...O,b.label],b.children.forEach(V=>k(V,b.path,H+1))}return _.forEach(b=>k(b)),_}function M(u){const f=[];function _(k){f.push(k),k.children.forEach(_)}return u.forEach(_),f}function T(u){return 1+u.children.reduce((f,_)=>f+T(_),0)}function R(u,f=new Set){return f.add(u.id),u.children.forEach(_=>R(_,f)),f}function X(u,f,_=[]){const k=[..._,u.id];if(u.id===f)return k;for(const b of u.children){const O=X(b,f,k);if(O)return O}return null}function de(u){if(L(u))return u;for(const f of u.children){const _=de(f);if(_)return _}return null}function he(u){if(!u)return new Set;const f=new Set;function _(k){k.children.length>0&&(f.add(k.id),k.children.forEach(_))}return _(u),f}function G(u,f){const _=he(u);if(!u||!f)return _;function k(b){const O=b.children.some(V=>k(V)),H=v(b,f);return O&&_.add(b.id),H||O}return k(u),_}function I(u){return o.value==="count"?u.rerenders+u.mountCount:u.avgMs}function L(u){return I(u)>=a.value}function v(u,f){if(!f)return!0;const _=f.toLowerCase();return u.label.toLowerCase().includes(_)||u.file.toLowerCase().includes(_)||u.path.some(k=>k.toLowerCase().includes(_))||u.triggers.some(k=>k.toLowerCase().includes(_))}function U(u,f){return f?v(u,f)||u.children.some(_=>U(_,f)):!0}function Y(u){return L(u)||u.children.some(f=>Y(f))}function ve(u,f){const _=U(u,f),k=!c.value||Y(u);return _&&k}function D(u,f){const _=u.children.map(O=>D(O,f)).filter(O=>O!==null),k=!f||v(u,f)||_.length>0,b=!c.value||L(u)||_.length>0;return!k||!b?null:{...u,children:_}}const W=se(()=>m.value?C.value:s.value),q=se(()=>B(W.value)),pe=se(()=>new Map(q.value.map(u=>[u.id,u]))),Ne=se(()=>M(q.value)),ke=se(()=>{const u=p.value.trim();return q.value.filter(f=>ve(f,u))}),me=se(()=>E.value?ke.value.find(u=>u.id===E.value)??pe.value.get(E.value)??null:ke.value[0]??q.value[0]??null),nt=se(()=>{const u=p.value.trim();return me.value?D(me.value,u):null}),Ue=se(()=>nt.value?[nt.value]:[]),It=se(()=>ke.value.map((u,f)=>({id:u.id,label:`App ${f+1}`,meta:`${T(u)} nodes`,root:u}))),Z=se(()=>Ne.value.find(u=>u.id===g.value)??null),Pt=se(()=>Ne.value.reduce((u,f)=>u+f.rerenders+f.mountCount,0)),qt=se(()=>Ne.value.filter(u=>L(u)).length),bs=se(()=>{const u=Ne.value.filter(f=>f.avgMs>0);return u.length?(u.reduce((f,_)=>f+_.avgMs,0)/u.length).toFixed(1):"0.0"});gt(q,u=>{if(!u.length){E.value=null,g.value=null,x.value=new Set,y.value=!1;return}const f=new Set(u.map(b=>b.id));(!E.value||!f.has(E.value))&&(E.value=u[0].id),g.value&&!Ne.value.some(b=>b.id===g.value)&&(g.value=null);const _=new Set(Ne.value.map(b=>b.id)),k=new Set([...x.value].filter(b=>_.has(b)));if(!y.value){x.value=he(me.value),y.value=!0;return}!p.value.trim()&&g.value&&me.value&&(X(me.value,g.value)??[]).forEach(O=>k.add(O)),x.value=k},{immediate:!0}),gt(p,u=>{if(!me.value)return;const f=u.trim();if(f){x.value=G(me.value,f);return}if(g.value){const _=X(me.value,g.value);x.value=_?new Set(_):he(me.value);return}x.value=he(me.value)}),gt([c,a,o,ke],()=>{if(!c.value)return;const u=ke.value[0]??null;if(!u){g.value=null;return}const f=de(u);if(!f){g.value=null;return}E.value=u.id,g.value!==f.id&&(g.value=f.id),x.value=new Set(X(u,f.id)??[u.id])});function yt(u){g.value=u.id;const f=q.value.find(_=>R(_).has(u.id));f&&(E.value=f.id,x.value=new Set(X(f,u.id)??[f.id]))}function Rn(u){const f=new Set(x.value);f.has(u)?f.delete(u):f.add(u),x.value=f}function d(u){E.value=u.id,x.value=he(u),y.value=!0}function h(u){const f=u.target;p.value=(f==null?void 0:f.value)??""}function $(){if(m.value){m.value=!1,C.value=[];return}C.value=JSON.parse(JSON.stringify(s.value)),m.value=!0}function F(u){var f;return((f=u.split("/").pop())==null?void 0:f.replace(/\.vue$/i,""))??u}function A(u){return u.path.join(" / ")}return(u,f)=>(P(),j("div",id,[i("div",rd,[i("div",ad,[i("button",{class:Q({active:o.value==="count"}),onClick:f[0]||(f[0]=_=>o.value="count")},"render count",2),i("button",{class:Q({active:o.value==="time"}),onClick:f[1]||(f[1]=_=>o.value="time")},"render time",2)]),i("div",cd,[f[5]||(f[5]=i("span",{class:"muted text-sm"},"threshold",-1)),vs(i("input",{"onUpdate:modelValue":f[2]||(f[2]=_=>a.value=_),type:"range",min:o.value==="count"?2:4,max:o.value==="count"?20:100,step:o.value==="count"?1:4,style:{width:"90px"}},null,8,ud),[[gs,a.value,void 0,{number:!0}]]),i("span",dd,w(a.value)+w(o.value==="count"?"+ renders":"ms+"),1)]),i("button",{class:Q({active:c.value}),onClick:f[3]||(f[3]=_=>c.value=!c.value)},"hot only",2),i("button",{class:Q({active:m.value}),style:{"margin-left":"auto"},onClick:$},w(m.value?"unfreeze":"freeze snapshot"),3)]),i("div",fd,[i("div",pd,[f[6]||(f[6]=i("div",{class:"stat-label"},"components",-1)),i("div",hd,w(Ne.value.length),1)]),i("div",vd,[f[7]||(f[7]=i("div",{class:"stat-label"},"total renders",-1)),i("div",md,w(Pt.value),1)]),i("div",gd,[f[8]||(f[8]=i("div",{class:"stat-label"},"hot",-1)),i("div",_d,w(qt.value),1)]),i("div",bd,[f[9]||(f[9]=i("div",{class:"stat-label"},"avg time",-1)),i("div",yd,w(bs.value)+"ms",1)])]),i("div",xd,[i("aside",wd,[f[10]||(f[10]=i("div",{class:"panel-title"},"apps",-1)),(P(!0),j(le,null,be(It.value,_=>(P(),j("button",{key:_.id,class:Q(["root-item",{active:E.value===_.id}]),onClick:k=>d(_.root)},[i("div",Cd,[i("span",Sd,w(_.label),1),i("span",kd,w(_.root.label),1)]),i("span",Td,w(_.meta),1)],10,$d))),128)),It.value.length?te("",!0):(P(),j("div",Md,"no apps match"))]),i("section",Ed,[i("div",Ad,[i("input",{value:p.value,class:"search-input mono",placeholder:"Find components...",onInput:h},null,40,Od)]),i("div",Id,[i("div",Pd,[(P(!0),j(le,null,be(Ue.value,_=>{var k;return P(),kt(_t(t),{key:_.id,node:_,mode:o.value,threshold:a.value,selected:(k=Z.value)==null?void 0:k.id,"expanded-ids":x.value,onSelect:yt,onToggle:Rn},null,8,["node","mode","threshold","selected","expanded-ids"])}),128))]),Ue.value.length?te("",!0):(P(),j("div",Ld,w(_t(n)?"No render activity recorded yet.":"Waiting for connection to the Nuxt app…"),1))])]),i("aside",Nd,[Z.value?(P(),j(le,{key:0},[i("div",Fd,[i("span",Rd,w(Z.value.label),1),i("button",{onClick:f[4]||(f[4]=_=>g.value=null)},"×")]),i("div",jd,[i("span",Dd,w(Z.value.rerenders+Z.value.mountCount)+" render"+w(Z.value.rerenders+Z.value.mountCount!==1?"s":""),1),i("span",Hd,w(Z.value.mountCount)+" mount"+w(Z.value.mountCount!==1?"s":""),1),Z.value.rerenders?(P(),j("span",Vd,w(Z.value.rerenders)+" re-render"+w(Z.value.rerenders!==1?"s":""),1)):te("",!0),Z.value.isPersistent?(P(),j("span",Ud,"persistent")):te("",!0),Z.value.isHydrationMount?(P(),j("span",Bd,"hydrated")):te("",!0),i("span",Kd,w(Z.value.avgMs.toFixed(1))+"ms avg",1),i("span",{class:Q(["detail-pill mono",{hot:L(Z.value)}])},w(L(Z.value)?"hot":"cool"),3)]),f[25]||(f[25]=i("div",{class:"section-label"},"identity",-1)),i("div",Wd,[f[11]||(f[11]=i("span",{class:"muted text-sm"},"label",-1)),i("span",zd,w(Z.value.label),1),f[12]||(f[12]=i("span",{class:"muted text-sm"},"path",-1)),i("span",qd,w(A(Z.value)),1),f[13]||(f[13]=i("span",{class:"muted text-sm"},"file",-1)),i("span",Gd,w(Z.value.file),1),f[14]||(f[14]=i("span",{class:"muted text-sm"},"file name",-1)),i("span",Jd,w(F(Z.value.file)),1),f[15]||(f[15]=i("span",{class:"muted text-sm"},"parent",-1)),i("span",Yd,w(Z.value.parentLabel??"none"),1),f[16]||(f[16]=i("span",{class:"muted text-sm"},"children",-1)),i("span",Qd,w(Z.value.children.length),1)]),f[26]||(f[26]=i("div",{class:"section-label"},"rendering",-1)),i("div",Xd,[f[17]||(f[17]=i("span",{class:"muted text-sm"},"total renders",-1)),i("span",Zd,w(Z.value.rerenders+Z.value.mountCount),1),f[18]||(f[18]=i("span",{class:"muted text-sm"},"re-renders",-1)),i("span",ef,w(Z.value.rerenders),1),f[19]||(f[19]=i("span",{class:"muted text-sm"},"mounts",-1)),i("span",tf,w(Z.value.mountCount),1),f[20]||(f[20]=i("span",{class:"muted text-sm"},"persistent",-1)),i("span",{class:"mono text-sm",style:$e({color:Z.value.isPersistent?"var(--amber)":"inherit"})},w(Z.value.isPersistent?"yes — survives navigation":"no"),5),f[21]||(f[21]=i("span",{class:"muted text-sm"},"hydration mount",-1)),i("span",sf,w(Z.value.isHydrationMount?"yes — SSR hydrated":"no"),1),f[22]||(f[22]=i("span",{class:"muted text-sm"},"avg render time",-1)),i("span",nf,w(Z.value.avgMs.toFixed(1))+"ms",1),f[23]||(f[23]=i("span",{class:"muted text-sm"},"threshold",-1)),i("span",of,w(a.value)+w(o.value==="count"?"+ renders":"ms+"),1),f[24]||(f[24]=i("span",{class:"muted text-sm"},"mode",-1)),i("span",lf,w(o.value==="count"?"re-render count":"render time"),1)]),f[27]||(f[27]=i("div",{class:"section-label"},"triggers",-1)),(P(!0),j(le,null,be(Z.value.triggers,_=>(P(),j("div",{key:_,class:"trigger-item mono text-sm"},w(_),1))),128)),Z.value.triggers.length?te("",!0):(P(),j("div",rf,"no triggers recorded"))],64)):(P(),j("div",af,"click a component to inspect"))])])]))}}),uf=zt(cf,[["__scopeId","data-v-73881a11"]]),df={class:"timeline-root"},ff={class:"stats-row"},pf={class:"stat-card"},hf={class:"stat-val"},vf={class:"stat-card"},mf={class:"stat-val",style:{color:"var(--purple)"}},gf={class:"stat-card"},_f={class:"stat-val",style:{color:"var(--red)"}},bf={class:"stat-card"},yf={class:"stat-val"},xf={class:"toolbar"},wf={class:"filter-group"},$f={class:"content-area"},Cf={class:"data-table"},Sf=["onClick"],kf={class:"mono",style:{"font-size":"11px","font-weight":"500"}},Tf={class:"mono",style:{"font-size":"11px",color:"var(--text2)"}},Mf={class:"muted",style:{"font-size":"11px"}},Ef={class:"bar-cell"},Af={class:"bar-track"},Of={key:0},If={colspan:"6",style:{"text-align":"center",color:"var(--text3)",padding:"24px"}},Pf={key:0,class:"detail-panel"},Lf={class:"panel-header"},Nf={class:"panel-title"},Ff={class:"panel-section"},Rf={class:"panel-row"},jf={class:"panel-row"},Df={class:"panel-row"},Hf={class:"panel-val mono"},Vf={key:0,class:"panel-row"},Uf={class:"panel-val mono"},Bf={class:"panel-section"},Kf={class:"panel-row"},Wf={class:"panel-val mono"},zf={class:"panel-row"},qf={class:"panel-val mono"},Gf={class:"panel-row"},Jf={class:"panel-val mono",style:{"font-weight":"500"}},Yf={class:"panel-section"},Qf={class:"panel-row"},Xf={class:"panel-row"},Zf={key:0,class:"cancel-notice"},ep={key:1,class:"active-notice"},tp=At({__name:"TransitionTimeline",setup(e){const{transitions:t,connected:s}=_s(),n=oe("all"),o=oe(""),l=oe(null),r=se(()=>{let x=[...t.value];if(o.value){const C=o.value.toLowerCase();x=x.filter(y=>y.transitionName.toLowerCase().includes(C)||y.parentComponent.toLowerCase().includes(C))}return n.value==="cancelled"?x=x.filter(C=>C.cancelled||C.phase==="interrupted"):n.value==="active"?x=x.filter(C=>C.phase==="entering"||C.phase==="leaving"):n.value==="completed"&&(x=x.filter(C=>C.phase==="entered"||C.phase==="left")),x.sort((C,y)=>{const N=C.endTime??C.startTime;return(y.endTime??y.startTime)-N})}),a=se(()=>({total:t.value.length,active:t.value.filter(x=>x.phase==="entering"||x.phase==="leaving").length,cancelled:t.value.filter(x=>x.cancelled||x.phase==="interrupted").length,avgMs:(()=>{const x=t.value.filter(C=>C.durationMs!==void 0);return x.length?Math.round(x.reduce((C,y)=>C+(y.durationMs??0),0)/x.length):0})()})),c=se(()=>{const x=r.value;if(!x.length)return[];const C=x.reduce((S,B)=>Math.min(S,B.startTime),x[0].startTime),y=x.reduce((S,B)=>Math.max(S,B.endTime??B.startTime+400),0),N=Math.max(y-C,1);return x.map(S=>({left:(S.startTime-C)/N*100,width:((S.endTime??S.startTime+80)-S.startTime)/N*100}))});function m(x){return x==="entering"||x==="leaving"?"#7f77dd":x==="entered"?"#1d9e75":x==="left"?"#378add":x==="enter-cancelled"||x==="leave-cancelled"?"#e24b4a":x==="interrupted"?"#e09a3a":"#888"}function p(x){return x==="entering"||x==="leaving"?"badge-purple":x==="entered"||x==="left"?"badge-ok":x.includes("cancelled")?"badge-err":x==="interrupted"?"badge-warn":"badge-gray"}function g(x){return x.appear?"✦ appear":x.direction==="enter"?"→ enter":"← leave"}function E(x){return x.appear?"var(--amber)":x.direction==="enter"?"var(--teal)":"var(--blue)"}return(x,C)=>(P(),j("div",df,[i("div",ff,[i("div",pf,[i("div",hf,w(a.value.total),1),C[6]||(C[6]=i("div",{class:"stat-label"},"total",-1))]),i("div",vf,[i("div",mf,w(a.value.active),1),C[7]||(C[7]=i("div",{class:"stat-label"},"active",-1))]),i("div",gf,[i("div",_f,w(a.value.cancelled),1),C[8]||(C[8]=i("div",{class:"stat-label"},"cancelled",-1))]),i("div",bf,[i("div",yf,[Xe(w(a.value.avgMs)+" ",1),C[9]||(C[9]=i("span",{class:"stat-unit"},"ms",-1))]),C[10]||(C[10]=i("div",{class:"stat-label"},"avg duration",-1))])]),i("div",xf,[vs(i("input",{"onUpdate:modelValue":C[0]||(C[0]=y=>o.value=y),type:"search",placeholder:"filter by name or component…",class:"search-input"},null,512),[[gs,o.value]]),i("div",wf,[i("button",{class:Q({active:n.value==="all"}),onClick:C[1]||(C[1]=y=>n.value="all")},"All",2),i("button",{class:Q({active:n.value==="active"}),onClick:C[2]||(C[2]=y=>n.value="active")},"Active",2),i("button",{class:Q({active:n.value==="completed"}),onClick:C[3]||(C[3]=y=>n.value="completed")},"Completed",2),i("button",{class:Q({active:n.value==="cancelled","danger-active":n.value==="cancelled"}),onClick:C[4]||(C[4]=y=>n.value="cancelled")}," Cancelled ",2)])]),i("div",$f,[i("div",{class:Q(["table-pane",{"has-panel":l.value}])},[i("table",Cf,[C[11]||(C[11]=i("thead",null,[i("tr",null,[i("th",{style:{width:"110px"}},"NAME"),i("th",{style:{width:"80px"}},"DIR"),i("th",{style:{width:"90px"}},"PHASE"),i("th",{style:{width:"70px"}},"DURATION"),i("th",null,"COMPONENT"),i("th",null,"TIMELINE")])],-1)),i("tbody",null,[(P(!0),j(le,null,be(r.value,(y,N)=>{var S,B,M;return P(),j("tr",{key:y.id,class:Q({selected:((S=l.value)==null?void 0:S.id)===y.id}),onClick:T=>{var R;return l.value=((R=l.value)==null?void 0:R.id)===y.id?null:y}},[i("td",null,[i("span",kf,w(y.transitionName),1)]),i("td",null,[i("span",{class:"mono",style:$e([{"font-size":"11px"},{color:E(y)}])},w(g(y)),5)]),i("td",null,[i("span",{class:Q(["badge",p(y.phase)])},w(y.phase),3)]),i("td",Tf,w(y.durationMs!==void 0?y.durationMs+"ms":"—"),1),i("td",Mf,w(y.parentComponent),1),i("td",Ef,[i("div",Af,[i("div",{class:"bar-fill",style:$e({left:((B=c.value[N])==null?void 0:B.left)+"%",width:Math.max(((M=c.value[N])==null?void 0:M.width)??1,1)+"%",background:m(y.phase),opacity:y.phase==="entering"||y.phase==="leaving"?"0.55":"1"})},null,4)])])],10,Sf)}),128)),r.value.length?te("",!0):(P(),j("tr",Of,[i("td",If,w(_t(s)?"No transitions recorded yet — trigger one on the page.":"Waiting for connection to the Nuxt app…"),1)]))])])],2),Ie(Gr,{name:"panel-slide"},{default:ol(()=>[l.value?(P(),j("aside",Pf,[i("div",Lf,[i("span",Nf,w(l.value.transitionName),1),i("button",{class:"close-btn",onClick:C[5]||(C[5]=y=>l.value=null)},"✕")]),i("div",Ff,[i("div",Rf,[C[12]||(C[12]=i("span",{class:"panel-key"},"Direction",-1)),i("span",{class:"panel-val",style:$e({color:E(l.value)})},w(g(l.value)),5)]),i("div",jf,[C[13]||(C[13]=i("span",{class:"panel-key"},"Phase",-1)),i("span",{class:Q(["badge",p(l.value.phase)])},w(l.value.phase),3)]),i("div",Df,[C[14]||(C[14]=i("span",{class:"panel-key"},"Component",-1)),i("span",Hf,w(l.value.parentComponent),1)]),l.value.mode?(P(),j("div",Vf,[C[15]||(C[15]=i("span",{class:"panel-key"},"Mode",-1)),i("span",Uf,w(l.value.mode),1)])):te("",!0)]),i("div",Bf,[C[19]||(C[19]=i("div",{class:"panel-section-title"},"Timing",-1)),i("div",Kf,[C[16]||(C[16]=i("span",{class:"panel-key"},"Start",-1)),i("span",Wf,w(l.value.startTime.toFixed(2))+"ms",1)]),i("div",zf,[C[17]||(C[17]=i("span",{class:"panel-key"},"End",-1)),i("span",qf,w(l.value.endTime!==void 0?l.value.endTime.toFixed(2)+"ms":"—"),1)]),i("div",Gf,[C[18]||(C[18]=i("span",{class:"panel-key"},"Duration",-1)),i("span",Jf,w(l.value.durationMs!==void 0?l.value.durationMs+"ms":l.value.phase==="interrupted"?"interrupted":"in progress"),1)])]),i("div",Yf,[C[22]||(C[22]=i("div",{class:"panel-section-title"},"Flags",-1)),i("div",Qf,[C[20]||(C[20]=i("span",{class:"panel-key"},"Appear",-1)),i("span",{class:"panel-val",style:$e({color:l.value.appear?"var(--amber)":"var(--text3)"})},w(l.value.appear?"yes":"no"),5)]),i("div",Xf,[C[21]||(C[21]=i("span",{class:"panel-key"},"Cancelled",-1)),i("span",{class:"panel-val",style:$e({color:l.value.cancelled?"var(--red)":"var(--text3)"})},w(l.value.cancelled?"yes":"no"),5)])]),l.value.cancelled?(P(),j("div",Zf,[...C[23]||(C[23]=[Xe(" This transition was cancelled mid-flight. The element may be stuck in a partial animation state if the interruption was not handled with ",-1),i("code",null,"onEnterCancelled",-1),Xe(" / ",-1),i("code",null,"onLeaveCancelled",-1),Xe(" . ",-1)])])):te("",!0),l.value.phase==="entering"||l.value.phase==="leaving"?(P(),j("div",ep,[...C[24]||(C[24]=[Xe(" Transition is currently in progress. If it stays in this state longer than expected, the ",-1),i("code",null,"done()",-1),Xe(" callback may not be getting called (JS-mode transition stall). ",-1)])])):te("",!0)])):te("",!0)]),_:1})])]))}}),sp=zt(tp,[["__scopeId","data-v-da869dac"]]),np={id:"app-root"},op={class:"tabbar"},lp=["onClick"],ip={class:"tab-icon"},rp={class:"tab-content"},ap=At({__name:"App",setup(e){const t={fetch:"fetch",provide:"provide",composables:"composable",heatmap:"heatmap",transitions:"transitions"},s=window.location.pathname.split("/").filter(Boolean).pop()??"",n=oe(t[s]??"fetch"),o=[{id:"fetch",label:"useFetch",icon:"⬡"},{id:"provide",label:"provide/inject",icon:"⬡"},{id:"composable",label:"Composables",icon:"⬡"},{id:"heatmap",label:"Heatmap",icon:"⬡"},{id:"transitions",label:"Transitions",icon:"⬡"}];return(l,r)=>(P(),j("div",np,[i("nav",op,[r[0]||(r[0]=i("div",{class:"tabbar-brand"},"observatory",-1)),(P(),j(le,null,be(o,a=>i("button",{key:a.id,class:Q(["tab-btn",{active:n.value===a.id}]),onClick:c=>n.value=a.id},[i("span",ip,w(a.icon),1),Xe(" "+w(a.label),1)],10,lp)),64))]),i("main",rp,[n.value==="fetch"?(P(),kt(mc,{key:0})):n.value==="provide"?(P(),kt(tu,{key:1})):n.value==="composable"?(P(),kt(ld,{key:2})):n.value==="heatmap"?(P(),kt(uf,{key:3})):n.value==="transitions"?(P(),kt(sp,{key:4})):te("",!0)])]))}}),cp=zt(ap,[["__scopeId","data-v-08e3ddb5"]]);xa(cp).mount("#app");
|
package/client/dist/index.html
CHANGED
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
body { font-family: var(--font); background: var(--bg); color: var(--text); font-size: 13px; }
|
|
39
39
|
#app { height: 100vh; display: flex; flex-direction: column; }
|
|
40
40
|
</style>
|
|
41
|
-
<script type="module" crossorigin src="/assets/index
|
|
42
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
41
|
+
<script type="module" crossorigin src="/assets/index-DILjvs09.js"></script>
|
|
42
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BugqFK5S.css">
|
|
43
43
|
</head>
|
|
44
44
|
<body>
|
|
45
45
|
<div id="app"></div>
|
|
@@ -29,6 +29,8 @@ export interface ProvideEntry {
|
|
|
29
29
|
isReactive: boolean
|
|
30
30
|
valueSnapshot: unknown
|
|
31
31
|
line: number
|
|
32
|
+
scope: 'global' | 'layout' | 'component'
|
|
33
|
+
isShadowing: boolean
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
export interface InjectEntry {
|
|
@@ -49,6 +51,12 @@ export interface ProvideInjectSnapshot {
|
|
|
49
51
|
injects: InjectEntry[]
|
|
50
52
|
}
|
|
51
53
|
|
|
54
|
+
export interface RefChangeEvent {
|
|
55
|
+
t: number
|
|
56
|
+
key: string
|
|
57
|
+
value: unknown
|
|
58
|
+
}
|
|
59
|
+
|
|
52
60
|
export interface ComposableEntry {
|
|
53
61
|
id: string
|
|
54
62
|
name: string
|
|
@@ -58,6 +66,8 @@ export interface ComposableEntry {
|
|
|
58
66
|
leak: boolean
|
|
59
67
|
leakReason?: string
|
|
60
68
|
refs: Record<string, { type: 'ref' | 'computed' | 'reactive'; value: unknown }>
|
|
69
|
+
history: RefChangeEvent[]
|
|
70
|
+
sharedKeys: string[]
|
|
61
71
|
watcherCount: number
|
|
62
72
|
intervalCount: number
|
|
63
73
|
lifecycle: {
|
|
@@ -68,6 +78,7 @@ export interface ComposableEntry {
|
|
|
68
78
|
}
|
|
69
79
|
file: string
|
|
70
80
|
line: number
|
|
81
|
+
route?: string
|
|
71
82
|
}
|
|
72
83
|
|
|
73
84
|
export interface RenderEntry {
|
|
@@ -75,14 +86,15 @@ export interface RenderEntry {
|
|
|
75
86
|
name: string
|
|
76
87
|
file: string
|
|
77
88
|
element?: string
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
mountCount: number
|
|
90
|
+
rerenders: number
|
|
80
91
|
totalMs: number
|
|
81
92
|
avgMs: number
|
|
82
93
|
triggers: Array<{ key: string; type: string; timestamp: number }>
|
|
83
94
|
rect?: { x: number; y: number; width: number; height: number; top: number; left: number }
|
|
84
|
-
children: number[]
|
|
85
95
|
parentUid?: number
|
|
96
|
+
isPersistent: boolean
|
|
97
|
+
isHydrationMount: boolean
|
|
86
98
|
}
|
|
87
99
|
|
|
88
100
|
export interface TransitionEntry {
|
|
@@ -115,7 +127,10 @@ const transitions = ref<TransitionEntry[]>([])
|
|
|
115
127
|
const connected = ref(false)
|
|
116
128
|
|
|
117
129
|
let started = false
|
|
130
|
+
// parentOrigin is only used for the outgoing postMessage target. We always
|
|
131
|
+
// validate incoming messages strictly — see onMessage below.
|
|
118
132
|
let parentOrigin = '*'
|
|
133
|
+
let pollIntervalId: number | null = null
|
|
119
134
|
|
|
120
135
|
function cloneArray<T>(value: T[] | undefined): T[] {
|
|
121
136
|
return value ? value.map((item) => ({ ...item })) : []
|
|
@@ -125,24 +140,28 @@ function normalizeRenderEntries(value: RenderEntry[] | undefined): RenderEntry[]
|
|
|
125
140
|
return value
|
|
126
141
|
? value.map((item) => ({
|
|
127
142
|
...item,
|
|
128
|
-
navigationRenders: Number.isFinite(item.navigationRenders) ? item.navigationRenders : 0,
|
|
129
143
|
}))
|
|
130
144
|
: []
|
|
131
145
|
}
|
|
132
146
|
|
|
133
|
-
function getParentOrigin() {
|
|
134
|
-
if (typeof document === 'undefined'
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
147
|
+
function getParentOrigin(): string {
|
|
148
|
+
if (typeof document === 'undefined') return ''
|
|
149
|
+
// Prefer the opener/embedder origin from document.referrer.
|
|
150
|
+
if (document.referrer) {
|
|
151
|
+
try {
|
|
152
|
+
return new URL(document.referrer).origin
|
|
153
|
+
} catch {
|
|
154
|
+
/* fall through */
|
|
155
|
+
}
|
|
142
156
|
}
|
|
157
|
+
// When opened as a top-level window (e.g. direct navigation) there is no
|
|
158
|
+
// referrer and no parent to receive messages from — return empty string so
|
|
159
|
+
// we never send to or accept from '*'.
|
|
160
|
+
return ''
|
|
143
161
|
}
|
|
144
162
|
|
|
145
163
|
function requestSnapshot() {
|
|
164
|
+
if (!parentOrigin) return
|
|
146
165
|
window.top?.postMessage({ type: 'observatory:request' }, parentOrigin)
|
|
147
166
|
}
|
|
148
167
|
|
|
@@ -151,7 +170,9 @@ function onMessage(event: MessageEvent) {
|
|
|
151
170
|
return
|
|
152
171
|
}
|
|
153
172
|
|
|
154
|
-
|
|
173
|
+
// Always validate the origin of incoming snapshot messages.
|
|
174
|
+
// Accepting '*' would allow any page to inject arbitrary devtools data.
|
|
175
|
+
if (!parentOrigin || event.origin !== parentOrigin) {
|
|
155
176
|
return
|
|
156
177
|
}
|
|
157
178
|
|
|
@@ -177,10 +198,32 @@ function ensureStarted() {
|
|
|
177
198
|
started = true
|
|
178
199
|
parentOrigin = getParentOrigin()
|
|
179
200
|
window.addEventListener('message', onMessage)
|
|
180
|
-
window.setInterval(requestSnapshot, POLL_MS)
|
|
201
|
+
pollIntervalId = window.setInterval(requestSnapshot, POLL_MS)
|
|
181
202
|
requestSnapshot()
|
|
182
203
|
}
|
|
183
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Stops polling and removes the message listener.
|
|
207
|
+
* Call this when tearing down the SPA (e.g. in an onUnmounted hook at the
|
|
208
|
+
* root component level) to prevent the interval from running indefinitely.
|
|
209
|
+
*/
|
|
210
|
+
export function stopObservatoryPolling() {
|
|
211
|
+
if (pollIntervalId !== null) {
|
|
212
|
+
window.clearInterval(pollIntervalId)
|
|
213
|
+
pollIntervalId = null
|
|
214
|
+
}
|
|
215
|
+
window.removeEventListener('message', onMessage)
|
|
216
|
+
started = false
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export function getObservatoryOrigin() {
|
|
220
|
+
return parentOrigin
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export function clearComposables() {
|
|
224
|
+
composables.value = []
|
|
225
|
+
}
|
|
226
|
+
|
|
184
227
|
export function useObservatoryData() {
|
|
185
228
|
ensureStarted()
|
|
186
229
|
|
|
@@ -192,5 +235,6 @@ export function useObservatoryData() {
|
|
|
192
235
|
transitions,
|
|
193
236
|
connected,
|
|
194
237
|
refresh: requestSnapshot,
|
|
238
|
+
clearComposables,
|
|
195
239
|
}
|
|
196
240
|
}
|