zen-gitsync 2.15.7 → 2.15.9

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.
Files changed (50) hide show
  1. package/README.md +3 -2
  2. package/package.json +1 -1
  3. package/src/ui/public/assets/{AppVersionBadge-BIA5wbad.js → AppVersionBadge-CTLV-gHU.js} +2 -2
  4. package/src/ui/public/assets/{BranchSelector-CzxF1atn.js → BranchSelector-BCzSC273.js} +1 -1
  5. package/src/ui/public/assets/{CommitForm-BNpSLTmo.js → CommitForm-BWZGs6s1.js} +3 -3
  6. package/src/ui/public/assets/{CommitForm-DIGVx-uM.css → CommitForm-Cn1Tvbic.css} +1 -1
  7. package/src/ui/public/assets/{ConsoleView-TOwRl0CE.js → ConsoleView-8fOLdsYa.js} +3 -3
  8. package/src/ui/public/assets/CustomCommandManager-DJiLDDiH.js +1 -0
  9. package/src/ui/public/assets/EditorView-Bo-zMCyw.js +0 -0
  10. package/src/ui/public/assets/{EditorView-BcZ8ToAk.css → EditorView-CRYGVw_r.css} +1 -1
  11. package/src/ui/public/assets/{FlowExecutionViewer-tpbVccBh.js → FlowExecutionViewer-DdjRc5h9.js} +1 -1
  12. package/src/ui/public/assets/{FlowOrchestrationWorkspace-aRGCXszc.js → FlowOrchestrationWorkspace-BNYqCbcP.js} +1 -1
  13. package/src/ui/public/assets/LogList-DAnUC46X.js +7 -0
  14. package/src/ui/public/assets/LogList-DJYpDUTZ.css +1 -0
  15. package/src/ui/public/assets/{MindmapView-u5m7lyGg.js → MindmapView-D1GpooOt.js} +1 -1
  16. package/src/ui/public/assets/{MonitorView-Wuza9xoA.js → MonitorView-Bv8MMIji.js} +1 -1
  17. package/src/ui/public/assets/{ProjectStartupButton-MFxOB2-F.js → ProjectStartupButton-CP6Kiziu.js} +1 -1
  18. package/src/ui/public/assets/{RemoteRepoCard-Bc4hTebM.js → RemoteRepoCard-Dc3Mn7cM.js} +1 -1
  19. package/src/ui/public/assets/{SourceMapView-Dl9a3yIK.js → SourceMapView-DFTEmXn-.js} +1 -1
  20. package/src/ui/public/assets/{SvgIcon-gZB9aFAd.js → SvgIcon-CyjVBYCr.js} +1 -1
  21. package/src/ui/public/assets/{TemplateManager-BQRLJrZb.js → TemplateManager-Bbk5I7Wb.js} +1 -1
  22. package/src/ui/public/assets/{UserInputNode-Cr1SxzIN.js → UserInputNode-Bxfe2Vej.js} +1 -1
  23. package/src/ui/public/assets/WorkbenchView-CNdwvVNr.js +12 -0
  24. package/src/ui/public/assets/WorkbenchView-DMoulJCG.css +1 -0
  25. package/src/ui/public/assets/{_plugin-vue_export-helper-CbbG2Bfw.js → _plugin-vue_export-helper-AKtm5TQX.js} +3 -3
  26. package/src/ui/public/assets/{configStore-apbbX4nJ.js → configStore-CfU8l9be.js} +1 -1
  27. package/src/ui/public/assets/element-plus-CL7fBdM_.js +24 -0
  28. package/src/ui/public/assets/element-plus-Cu9Y2raX.css +1 -0
  29. package/src/ui/public/assets/flow-mindmap-BmmuW0nH.js +86 -0
  30. package/src/ui/public/assets/flow-mindmap-CCMw7um8.css +1 -0
  31. package/src/ui/public/assets/{index-DuKALA-W.css → index-CquDLWhf.css} +1 -1
  32. package/src/ui/public/assets/index-DG6vgKD4.js +23 -0
  33. package/src/ui/public/assets/{socket-io-z4n873W1.js → socket-io-C2w3MxRu.js} +1 -1
  34. package/src/ui/public/assets/{vendor-SOsdHF7M.js → vendor--LaaJk9m.js} +37 -37
  35. package/src/ui/public/assets/vendor-CCbwTgrE.css +1 -0
  36. package/src/ui/public/assets/{vue-flow-D5lw7RxP.js → vue-flow-MtbKS8yD.js} +1 -1
  37. package/src/ui/public/index.html +11 -11
  38. package/src/ui/server/routes/fileOpen.js +31 -2
  39. package/src/ui/public/assets/CustomCommandManager-DOv-qxlZ.js +0 -1
  40. package/src/ui/public/assets/EditorView-BLY8Vs9G.js +0 -0
  41. package/src/ui/public/assets/LogList-Cn7V9bX-.css +0 -1
  42. package/src/ui/public/assets/LogList-MjC1nmsN.js +0 -7
  43. package/src/ui/public/assets/WorkbenchView--Nb1I8ru.js +0 -12
  44. package/src/ui/public/assets/WorkbenchView-CvHPPs8Q.css +0 -1
  45. package/src/ui/public/assets/element-plus-DB-NeCl9.js +0 -24
  46. package/src/ui/public/assets/element-plus-R1nMzM9j.css +0 -1
  47. package/src/ui/public/assets/flow-mindmap-DYBM6P0r.js +0 -21
  48. package/src/ui/public/assets/flow-mindmap-l8sIPoN8.css +0 -1
  49. package/src/ui/public/assets/index-ge5fGkLk.js +0 -23
  50. package/src/ui/public/assets/vendor-CT8e9rs3.css +0 -1
@@ -0,0 +1 @@
1
+ .svg-icon[data-v-833e113a]{vertical-align:middle;flex-shrink:0;display:inline-block}.form-wrap[data-v-cc2c26ba]{flex-direction:column;gap:18px;width:100%;display:flex}.field[data-v-cc2c26ba]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-cc2c26ba]{color:var(--text);align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.required[data-v-cc2c26ba]{color:var(--error);font-size:12px}.input-wrap[data-v-cc2c26ba]{align-items:center;display:flex;position:relative}.field-icon[data-v-cc2c26ba]{pointer-events:none;flex-shrink:0;position:absolute;left:10px}.text-input[data-v-cc2c26ba]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:38px;color:var(--text);font-family:var(--font);transition:border-color var(--t),box-shadow var(--t);outline:none;padding:0 36px 0 34px;font-size:13.5px}.text-input[data-v-cc2c26ba]::placeholder{color:var(--text-muted)}.text-input[data-v-cc2c26ba]:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-dim)}.eye-btn[data-v-cc2c26ba]{cursor:pointer;color:var(--text-dim);transition:color var(--t);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.eye-btn[data-v-cc2c26ba]:hover{color:var(--text)}.combobox[data-v-cc2c26ba]{position:relative}.combo-input-row[data-v-cc2c26ba]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--t),box-shadow var(--t);align-items:center;display:flex}.combobox.open .combo-input-row[data-v-cc2c26ba],.combo-input-row[data-v-cc2c26ba]:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-dim)}.combobox.error .combo-input-row[data-v-cc2c26ba]{border-color:var(--error)}.combo-input[data-v-cc2c26ba]{height:38px;color:var(--text);font-family:var(--font);background:0 0;border:none;outline:none;flex:1;padding:0 4px 0 34px;font-size:13.5px}.combo-input[data-v-cc2c26ba]::placeholder{color:var(--text-muted)}.combo-arrow[data-v-cc2c26ba]{cursor:pointer;height:38px;color:var(--text-dim);transition:color var(--t);border-radius:0 var(--radius) var(--radius) 0;background:0 0;border:none;align-items:center;padding:0 10px;display:flex}.combo-arrow[data-v-cc2c26ba]:hover{color:var(--text)}.combo-clear[data-v-cc2c26ba]{cursor:pointer;height:38px;color:var(--text-dim);transition:color var(--t);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 6px;display:flex}.combo-clear[data-v-cc2c26ba]:hover{color:var(--text)}.text-input.has-two-right[data-v-cc2c26ba]{padding-right:68px}.dropdown[data-v-cc2c26ba]{z-index:200;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);max-height:220px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.dropdown-item[data-v-cc2c26ba]{cursor:pointer;text-align:left;width:100%;transition:background var(--t);background:0 0;border:none;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.dropdown-item.has-logo[data-v-cc2c26ba]{grid-template-columns:20px 1fr auto auto}.dropdown-item[data-v-cc2c26ba]:hover{background:var(--bg-surface)}.dropdown-item.active[data-v-cc2c26ba]{background:var(--primary-dim)}.item-label[data-v-cc2c26ba]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.item-url[data-v-cc2c26ba]{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.item-check[data-v-cc2c26ba]{flex-shrink:0}.item-logo[data-v-cc2c26ba]{object-fit:contain;border-radius:3px;flex-shrink:0;width:16px;height:16px}.provider-logo[data-v-cc2c26ba]{object-fit:contain;pointer-events:none;width:15px;height:15px}.dropdown-loading[data-v-cc2c26ba]{color:var(--text-dim);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.field-error[data-v-cc2c26ba]{color:var(--error);align-items:center;gap:5px;font-size:12px;display:flex}.test-banner[data-v-cc2c26ba]{border-radius:var(--radius);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.test-banner.ok[data-v-cc2c26ba]{background:var(--success-dim);color:var(--success);border:1px solid #10b98140}.test-banner.fail[data-v-cc2c26ba]{background:var(--error-dim);color:var(--error);border:1px solid #ef444440}.actions[data-v-cc2c26ba]{justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.actions-right[data-v-cc2c26ba]{gap:10px;display:flex}.btn[data-v-cc2c26ba]{border-radius:var(--radius);height:36px;font-family:var(--font);cursor:pointer;transition:background var(--t),border-color var(--t),opacity var(--t),box-shadow var(--t);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.btn[data-v-cc2c26ba]:disabled{opacity:.5;cursor:not-allowed}.btn-ghost[data-v-cc2c26ba]{color:var(--text-dim);background:0 0;border-color:#0000}.btn-ghost[data-v-cc2c26ba]:hover:not(:disabled){color:var(--text);background:var(--bg-elevated)}.btn-outline[data-v-cc2c26ba]{color:var(--text);border-color:var(--border);background:0 0}.btn-outline[data-v-cc2c26ba]:hover:not(:disabled){border-color:var(--border-focus);background:var(--primary-dim);color:var(--primary)}.btn-primary[data-v-cc2c26ba]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-cc2c26ba]:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-dim)}.banner-enter-active[data-v-cc2c26ba],.banner-leave-active[data-v-cc2c26ba]{transition:opacity .2s,transform .2s}.banner-enter-from[data-v-cc2c26ba],.banner-leave-to[data-v-cc2c26ba]{opacity:0;transform:translateY(-4px)}@keyframes spin-cc2c26ba{to{transform:rotate(360deg)}}.spin[data-v-cc2c26ba]{animation:.8s linear infinite spin-cc2c26ba}.svg-icon[data-v-5461fefd]{vertical-align:middle;flex-shrink:0;display:inline-block}.modal-overlay[data-v-1104fdd6]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-1104fdd6]{background:#1a1d27;border:1px solid #2d3348;border-radius:12px;flex-direction:column;width:860px;max-width:95vw;height:600px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.modal-header[data-v-1104fdd6]{background:#222633;border-bottom:1px solid #2d3348;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-title[data-v-1104fdd6]{color:#e4e7ef;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;display:flex}.close-btn[data-v-1104fdd6]{color:#8b91a8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;transition:all .15s;display:inline-flex}.close-btn[data-v-1104fdd6]:hover{color:#f87171;background:#f871711a}.toolbar[data-v-1104fdd6]{background:#1e2230;border-bottom:1px solid #2d3348;align-items:center;gap:6px;padding:10px 16px;display:flex}.tool-btn[data-v-1104fdd6]{color:#e4e7ef;cursor:pointer;white-space:nowrap;background:#2d3348;border:1px solid #3a4160;border-radius:6px;align-items:center;gap:4px;padding:5px 12px;font-size:.82rem;transition:all .15s;display:inline-flex}.tool-btn[data-v-1104fdd6]:hover:not(:disabled){background:#3a4160}.tool-btn[data-v-1104fdd6]:disabled{opacity:.4;cursor:not-allowed}.path-breadcrumb[data-v-1104fdd6]{color:#8b91a8;flex:1;align-items:center;gap:0;margin-left:8px;font-size:.84rem;display:flex;overflow-x:auto}.breadcrumb-item[data-v-1104fdd6]{cursor:pointer;white-space:nowrap;align-items:center;display:flex}.breadcrumb-text[data-v-1104fdd6]{border-radius:3px;padding:2px 4px;transition:all .15s}.breadcrumb-item:hover .breadcrumb-text[data-v-1104fdd6]{color:#6c8cff;background:#6c8cff26}.breadcrumb-sep[data-v-1104fdd6]{color:#4a5178;margin:0 2px}.search-bar[data-v-1104fdd6]{background:#1e2230;border-bottom:1px solid #2d3348;align-items:center;gap:8px;padding:8px 16px;display:flex}.search-icon[data-v-1104fdd6]{flex-shrink:0}.search-input[data-v-1104fdd6]{color:#e4e7ef;background:#2d3348;border:1px solid #3a4160;border-radius:6px;outline:none;flex:1;padding:6px 10px;font-size:.85rem;transition:border-color .2s}.search-input[data-v-1104fdd6]::placeholder{color:#5a6180}.search-input[data-v-1104fdd6]:focus{border-color:#6c8cff}.clear-search[data-v-1104fdd6]{color:#8b91a8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.clear-search[data-v-1104fdd6]:hover{color:#f87171}.global-toggle[data-v-1104fdd6]{flex-shrink:0;align-items:center;gap:6px;margin-left:4px;display:flex}.toggle-label[data-v-1104fdd6]{color:#5a6180;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:.78rem}.toggle-switch[data-v-1104fdd6]{cursor:pointer;background:#2d3348;border:1px solid #3a4160;border-radius:9px;flex-shrink:0;width:34px;height:18px;padding:0;transition:all .2s;position:relative}.toggle-switch.active[data-v-1104fdd6]{background:#6c8cff;border-color:#6c8cff}.toggle-knob[data-v-1104fdd6]{background:#8b91a8;border-radius:50%;width:12px;height:12px;transition:all .2s;position:absolute;top:2px;left:2px}.toggle-switch.active .toggle-knob[data-v-1104fdd6]{background:#fff;left:18px}.index-status[data-v-1104fdd6]{cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px 6px;transition:all .15s;display:flex}.index-status[data-v-1104fdd6]:hover{background:#ffffff0d}.status-dot[data-v-1104fdd6]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.index-status.ready .status-dot[data-v-1104fdd6]{background:#34d399;box-shadow:0 0 4px #34d399}.index-status.indexing .status-dot[data-v-1104fdd6]{background:#f59e0b;animation:1s ease-in-out infinite pulse-1104fdd6}.index-status.idle .status-dot[data-v-1104fdd6],.index-status.error .status-dot[data-v-1104fdd6]{background:#6b7280}@keyframes pulse-1104fdd6{0%,to{opacity:1}50%{opacity:.4}}.status-text[data-v-1104fdd6]{color:#5a6180;white-space:nowrap;font-size:.72rem}.engine-badge[data-v-1104fdd6]{white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:.72rem}.engine-badge.index[data-v-1104fdd6]{color:#34d399;background:#34d39926}.engine-badge.walk[data-v-1104fdd6]{color:#f59e0b;background:#f59e0b26}.modal-body[data-v-1104fdd6]{flex:1;display:flex;overflow:hidden}.sidebar[data-v-1104fdd6]{background:#1e2230;border-right:1px solid #2d3348;flex-shrink:0;width:160px;overflow-y:auto}.sidebar-section[data-v-1104fdd6]{border-bottom:1px solid #2d3348;padding:10px 0}.sidebar-title[data-v-1104fdd6]{color:#5a6180;text-transform:uppercase;letter-spacing:.5px;padding:0 14px 6px;font-size:.72rem;font-weight:600}.sidebar-item[data-v-1104fdd6]{color:#c0c5d8;cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;transition:all .15s;display:flex}.sidebar-item[data-v-1104fdd6]:hover{color:#6c8cff;background:#6c8cff14}.sidebar-item.active[data-v-1104fdd6]{color:#6c8cff;background:#6c8cff26}.file-list-container[data-v-1104fdd6]{flex:1;padding:4px 0;overflow-y:auto}.loading-state[data-v-1104fdd6],.error-state[data-v-1104fdd6],.empty-state[data-v-1104fdd6]{color:#8b91a8;justify-content:center;align-items:center;gap:8px;height:200px;font-size:.9rem;display:flex}.error-state[data-v-1104fdd6]{color:#f87171}.spinner[data-v-1104fdd6]{vertical-align:middle;border:2px solid #2d3348;border-top-color:#6c8cff;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.6s linear infinite spin-1104fdd6;display:inline-block}@keyframes spin-1104fdd6{to{transform:rotate(360deg)}}.file-list[data-v-1104fdd6]{padding:0}.search-results-info[data-v-1104fdd6]{color:#8b91a8;background:#6c8cff0a;border-bottom:1px solid #2d3348;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;display:flex}.search-results-info strong[data-v-1104fdd6]{color:#6c8cff}.truncated-hint[data-v-1104fdd6]{color:#f59e0b;font-size:.76rem}.elapsed-hint[data-v-1104fdd6]{color:#5a6180;margin-left:auto;font-size:.74rem}.file-parent-path[data-v-1104fdd6]{color:#5a6180;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:200px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.76rem;overflow:hidden}.select-current-dir[data-v-1104fdd6]{background:#a78bfa14;border-bottom:1px solid #a78bfa26}.select-current-dir[data-v-1104fdd6]:hover{background:#a78bfa26}.select-current-dir.selected[data-v-1104fdd6]{background:#a78bfa40}.file-path-hint[data-v-1104fdd6]{color:#8b91a8;text-overflow:ellipsis;white-space:nowrap;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.78rem;overflow:hidden}.file-row[data-v-1104fdd6]{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #2d33484d;align-items:center;gap:8px;padding:7px 16px;transition:background .1s;display:flex}.file-row[data-v-1104fdd6]:hover{background:#6c8cff0f}.file-row.selected[data-v-1104fdd6]{background:#6c8cff26;border-color:#6c8cff33}.file-row.is-directory .file-name[data-v-1104fdd6]{font-weight:500}.file-icon[data-v-1104fdd6]{flex-shrink:0;align-items:center;display:inline-flex}.file-name[data-v-1104fdd6]{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;overflow:hidden}.file-size[data-v-1104fdd6]{color:#8b91a8;white-space:nowrap;text-align:right;flex-shrink:0;width:70px;font-size:.78rem}.file-modified[data-v-1104fdd6]{color:#5a6180;white-space:nowrap;text-align:right;flex-shrink:0;width:120px;font-size:.76rem}.modal-footer[data-v-1104fdd6]{background:#222633;border-top:1px solid #2d3348;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.selected-info[data-v-1104fdd6]{font-size:.85rem}.no-selection[data-v-1104fdd6]{color:#5a6180}.has-selection[data-v-1104fdd6]{color:#6c8cff}.single-path[data-v-1104fdd6]{text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.82rem;display:block;overflow:hidden}.footer-actions[data-v-1104fdd6]{gap:10px;display:flex}.btn[data-v-1104fdd6]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px 20px;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.btn[data-v-1104fdd6]:disabled{opacity:.4;cursor:not-allowed}.btn-cancel[data-v-1104fdd6]{color:#c0c5d8;background:#2d3348}.btn-cancel[data-v-1104fdd6]:hover:not(:disabled){background:#3a4160}.btn-confirm[data-v-1104fdd6]{color:#fff;background:#6c8cff}.btn-confirm[data-v-1104fdd6]:hover:not(:disabled){background:#5a7af0}.mkdir-overlay[data-v-1104fdd6]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mkdir-dialog[data-v-1104fdd6]{background:#1e2230;border:1px solid #3a4160;border-radius:10px;flex-direction:column;width:420px;max-width:90%;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000080}.mkdir-header[data-v-1104fdd6]{background:#222633;border-bottom:1px solid #2d3348;align-items:center;gap:8px;padding:14px 18px;display:flex}.mkdir-title[data-v-1104fdd6]{color:#e4e7ef;font-size:.95rem;font-weight:600}.mkdir-body[data-v-1104fdd6]{flex-direction:column;gap:6px;padding:16px 18px;display:flex}.mkdir-label[data-v-1104fdd6]{color:#8b91a8;margin-top:4px;font-size:.78rem}.mkdir-parent-path[data-v-1104fdd6]{color:#c0c5d8;text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;background:#2d3348;border:1px solid #3a4160;border-radius:6px;padding:6px 10px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.82rem;overflow:hidden}.mkdir-input[data-v-1104fdd6]{color:#e4e7ef;background:#2d3348;border:1px solid #3a4160;border-radius:6px;outline:none;padding:8px 10px;font-size:.9rem;transition:border-color .15s}.mkdir-input[data-v-1104fdd6]::placeholder{color:#5a6180}.mkdir-input[data-v-1104fdd6]:focus{border-color:#a78bfa}.mkdir-input.has-error[data-v-1104fdd6]{border-color:#f87171}.mkdir-error[data-v-1104fdd6]{color:#f87171;align-items:center;gap:4px;margin-top:4px;font-size:.78rem;display:flex}.mkdir-hint[data-v-1104fdd6]{color:#5a6180;margin-top:4px;font-size:.76rem}.mkdir-footer[data-v-1104fdd6]{background:#1a1d27;border-top:1px solid #2d3348;justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.modal-theme-light[data-v-1104fdd6]{background:#fff;border-color:#e2e8f0;box-shadow:0 20px 60px #00000026}.modal-theme-light .modal-header[data-v-1104fdd6]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .modal-title[data-v-1104fdd6]{color:#1e293b}.modal-theme-light .close-btn[data-v-1104fdd6]{color:#64748b}.modal-theme-light .close-btn[data-v-1104fdd6]:hover{color:#ef4444;background:#ef444414}.modal-theme-light .toolbar[data-v-1104fdd6]{background:#f1f5f9;border-color:#e2e8f0}.modal-theme-light .tool-btn[data-v-1104fdd6]{color:#1e293b;background:#e2e8f0;border-color:#cbd5e1}.modal-theme-light .tool-btn[data-v-1104fdd6]:hover:not(:disabled){background:#cbd5e1}.modal-theme-light .path-breadcrumb[data-v-1104fdd6]{color:#64748b}.modal-theme-light .breadcrumb-item:hover .breadcrumb-text[data-v-1104fdd6]{color:#3b82f6;background:#3b82f61a}.modal-theme-light .breadcrumb-sep[data-v-1104fdd6]{color:#cbd5e1}.modal-theme-light .search-bar[data-v-1104fdd6]{background:#f1f5f9;border-color:#e2e8f0}.modal-theme-light .search-input[data-v-1104fdd6]{color:#1e293b;background:#fff;border-color:#cbd5e1}.modal-theme-light .search-input[data-v-1104fdd6]::placeholder{color:#94a3b8}.modal-theme-light .search-input[data-v-1104fdd6]:focus{border-color:#3b82f6}.modal-theme-light .toggle-label[data-v-1104fdd6]{color:#94a3b8}.modal-theme-light .toggle-switch[data-v-1104fdd6]{background:#e2e8f0;border-color:#cbd5e1}.modal-theme-light .toggle-switch.active[data-v-1104fdd6]{background:#3b82f6;border-color:#3b82f6}.modal-theme-light .toggle-knob[data-v-1104fdd6]{background:#94a3b8}.modal-theme-light .sidebar[data-v-1104fdd6]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .sidebar-section[data-v-1104fdd6]{border-color:#e2e8f0}.modal-theme-light .sidebar-title[data-v-1104fdd6]{color:#94a3b8}.modal-theme-light .sidebar-item[data-v-1104fdd6]{color:#475569}.modal-theme-light .sidebar-item[data-v-1104fdd6]:hover{color:#3b82f6;background:#3b82f60f}.modal-theme-light .sidebar-item.active[data-v-1104fdd6]{color:#3b82f6;background:#3b82f61a}.modal-theme-light .file-list-container[data-v-1104fdd6]{background:#fff}.modal-theme-light .file-row[data-v-1104fdd6]{color:#1e293b;border-color:#e2e8f099}.modal-theme-light .file-row[data-v-1104fdd6]:hover{background:#3b82f60d}.modal-theme-light .file-row.selected[data-v-1104fdd6]{background:#3b82f61a;border-color:#3b82f633}.modal-theme-light .file-row.is-directory .file-name[data-v-1104fdd6]{color:#0f172a}.modal-theme-light .file-size[data-v-1104fdd6]{color:#64748b}.modal-theme-light .file-modified[data-v-1104fdd6]{color:#94a3b8}.modal-theme-light .file-path-hint[data-v-1104fdd6]{color:#64748b}.modal-theme-light .file-parent-path[data-v-1104fdd6]{color:#94a3b8}.modal-theme-light .select-current-dir[data-v-1104fdd6]{background:#8b5cf60d;border-color:#8b5cf61a}.modal-theme-light .select-current-dir[data-v-1104fdd6]:hover{background:#8b5cf61a}.modal-theme-light .select-current-dir.selected[data-v-1104fdd6]{background:#8b5cf626}.modal-theme-light .search-results-info[data-v-1104fdd6]{color:#64748b;background:#3b82f608;border-color:#e2e8f0}.modal-theme-light .loading-state[data-v-1104fdd6],.modal-theme-light .empty-state[data-v-1104fdd6]{color:#64748b}.modal-theme-light .error-state[data-v-1104fdd6]{color:#ef4444}.modal-theme-light .modal-footer[data-v-1104fdd6]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .no-selection[data-v-1104fdd6]{color:#94a3b8}.modal-theme-light .has-selection[data-v-1104fdd6]{color:#3b82f6}.modal-theme-light .btn-cancel[data-v-1104fdd6]{color:#475569;background:#e2e8f0}.modal-theme-light .btn-cancel[data-v-1104fdd6]:hover:not(:disabled){background:#cbd5e1}.modal-theme-light .btn-confirm[data-v-1104fdd6]{background:#3b82f6}.modal-theme-light .btn-confirm[data-v-1104fdd6]:hover:not(:disabled){background:#2563eb}.modal-theme-light.mkdir-dialog[data-v-1104fdd6],.mkdir-dialog.modal-theme-light[data-v-1104fdd6]{background:#fff;border-color:#cbd5e1;box-shadow:0 16px 40px #00000026}.modal-theme-light .mkdir-header[data-v-1104fdd6]{background:#f8fafc;border-color:#e2e8f0}.modal-theme-light .mkdir-title[data-v-1104fdd6]{color:#1e293b}.modal-theme-light .mkdir-label[data-v-1104fdd6]{color:#64748b}.modal-theme-light .mkdir-parent-path[data-v-1104fdd6]{color:#1e293b;background:#f1f5f9;border-color:#cbd5e1}.modal-theme-light .mkdir-input[data-v-1104fdd6]{color:#1e293b;background:#fff;border-color:#cbd5e1}.modal-theme-light .mkdir-input[data-v-1104fdd6]:focus{border-color:#8b5cf6}.modal-theme-light .mkdir-footer[data-v-1104fdd6]{background:#f8fafc;border-color:#e2e8f0}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--acu-bg:#fff;--acu-surface:#f7f7f8;--acu-surface-2:#ededf0;--acu-surface-hover:#f0f0f3;--acu-text:#18181b;--acu-text-secondary:#52525b;--acu-text-muted:#a1a1aa;--acu-border:#e7e7ea;--acu-border-strong:#d4d4d8;--acu-primary:#6366f1;--acu-primary-hover:#5457e5;--acu-primary-active:#4f46e5;--acu-primary-contrast:#fff;--acu-primary-soft:#6366f117;--acu-primary-soft-hover:#6366f124;--acu-bubble-user-bg:#6366f1;--acu-bubble-user-text:#fff;--acu-bubble-assistant-bg:#f7f7f8;--acu-bubble-assistant-text:#18181b;--acu-thinking-bg:#fafafa;--acu-thinking-text:#71717a;--acu-thinking-border:#ececef;--acu-thinking-icon:#a1a1aa;--acu-code-bg:#f6f8fa;--acu-code-text:#24292f;--acu-code-border:#e4e4e7;--acu-code-inline-bg:#afb8c133;--acu-code-header-bg:#eceef1;--acu-error:#ef4444;--acu-error-soft:#ef44441a;--acu-success:#10b981;--acu-warning:#f59e0b;--acu-shadow-sm:0 1px 2px #18181b0d;--acu-shadow:0 4px 16px #18181b14;--acu-shadow-lg:0 12px 32px #18181b1f;--acu-radius-xs:4px;--acu-radius-sm:8px;--acu-radius:12px;--acu-radius-lg:16px;--acu-radius-xl:20px;--acu-radius-full:9999px;--acu-space-1:4px;--acu-space-2:8px;--acu-space-3:12px;--acu-space-4:16px;--acu-space-5:20px;--acu-space-6:24px;--acu-space-8:32px;--acu-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--acu-font-mono:"SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--acu-font-size-xs:12px;--acu-font-size-sm:13px;--acu-font-size-base:14px;--acu-font-size-md:15px;--acu-font-size-lg:16px;--acu-font-size-xl:18px;--acu-line-height:1.65;--acu-duration-fast:.12s;--acu-duration:.2s;--acu-easing:cubic-bezier(.4, 0, .2, 1);--acu-max-width:768px;--acu-avatar-size:32px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--acu-bg:#18181b;--acu-surface:#27272a;--acu-surface-2:#34343a;--acu-surface-hover:#2f2f35;--acu-text:#f4f4f5;--acu-text-secondary:#a1a1aa;--acu-text-muted:#71717a;--acu-border:#323236;--acu-border-strong:#52525b;--acu-primary:#818cf8;--acu-primary-hover:#6366f1;--acu-primary-active:#5457e5;--acu-primary-contrast:#18181b;--acu-primary-soft:#818cf824;--acu-primary-soft-hover:#818cf838;--acu-bubble-user-bg:#6366f1;--acu-bubble-user-text:#fff;--acu-bubble-assistant-bg:#27272a;--acu-bubble-assistant-text:#f4f4f5;--acu-thinking-bg:#1f1f23;--acu-thinking-text:#a1a1aa;--acu-thinking-border:#2e2e33;--acu-thinking-icon:#71717a;--acu-code-bg:#0d1117;--acu-code-text:#e6edf3;--acu-code-border:#30363d;--acu-code-inline-bg:#6e768166;--acu-code-header-bg:#161b22;--acu-error:#f87171;--acu-error-soft:#f8717124;--acu-success:#34d399;--acu-warning:#fbbf24;--acu-shadow-sm:0 1px 2px #0000004d;--acu-shadow:0 4px 16px #0006;--acu-shadow-lg:0 12px 32px #00000080}.acu-root,.acu-root *,.acu-root :before,.acu-root :after{box-sizing:border-box}.acu-root{font-family:var(--acu-font-sans);font-size:var(--acu-font-size-base);line-height:var(--acu-line-height);color:var(--acu-text);background:var(--acu-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}.acu-root a{color:var(--acu-primary);text-decoration:none}.acu-root a:hover{text-decoration:underline}.acu-transition{transition:all var(--acu-duration) var(--acu-easing)}.acu-cursor{vertical-align:text-bottom;background:var(--acu-primary);border-radius:1px;width:7px;height:1.05em;margin-left:2px;animation:1s steps(2,start) infinite acu-blink;display:inline-block}@keyframes acu-blink{to{opacity:0}}.acu-typing-dots{align-items:center;gap:4px;display:inline-flex}.acu-typing-dots span{background:var(--acu-thinking-icon);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both acu-bounce}.acu-typing-dots span:first-child{animation-delay:-.32s}.acu-typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes acu-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.acu-root *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.acu-md{font-size:var(--acu-font-size-md);line-height:var(--acu-line-height);color:var(--acu-bubble-assistant-text);word-wrap:break-word;overflow-wrap:anywhere}.acu-md>:first-child{margin-top:0}.acu-md>:last-child{margin-bottom:0}.acu-md p{margin:0 0 var(--acu-space-3)}.acu-md h1,.acu-md h2,.acu-md h3,.acu-md h4,.acu-md h5,.acu-md h6{margin:var(--acu-space-6) 0 var(--acu-space-3);font-weight:650;line-height:1.3}.acu-md h1{font-size:1.5em}.acu-md h2{font-size:1.32em}.acu-md h3{font-size:1.18em}.acu-md h4{font-size:1.06em}.acu-md ul,.acu-md ol{margin:0 0 var(--acu-space-3);padding-left:1.5em}.acu-md li{margin:var(--acu-space-1) 0}.acu-md li::marker{color:var(--acu-text-muted)}.acu-md ul ul,.acu-md ol ol,.acu-md ul ol,.acu-md ol ul{margin:var(--acu-space-1) 0}.acu-md li.task-list-item{margin-left:-1.4em;list-style:none}.acu-md a{color:var(--acu-primary);border-bottom:1px solid var(--acu-primary-soft);transition:border-color var(--acu-duration) var(--acu-easing);text-decoration:none}.acu-md a:hover{border-bottom-color:var(--acu-primary)}.acu-md strong{font-weight:650}.acu-md em{font-style:italic}.acu-md del{color:var(--acu-text-muted)}.acu-md hr{margin:var(--acu-space-5) 0;border:none;border-top:1px solid var(--acu-border)}.acu-md blockquote{margin:0 0 var(--acu-space-3);padding:var(--acu-space-1) var(--acu-space-4);border-left:3px solid var(--acu-primary);background:var(--acu-primary-soft);border-radius:0 var(--acu-radius-sm) var(--acu-radius-sm) 0;color:var(--acu-text-secondary)}.acu-md blockquote>:last-child{margin-bottom:0}.acu-md code:not(pre code){font-family:var(--acu-font-mono);background:var(--acu-code-inline-bg);color:var(--acu-text);border-radius:var(--acu-radius-xs);margin:0 .1em;padding:.15em .4em;font-size:.88em}.acu-md table{width:100%;margin:0 0 var(--acu-space-3);border-collapse:collapse;border-radius:var(--acu-radius-sm);scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent;font-size:.95em;display:block;overflow:auto hidden}.acu-md table::-webkit-scrollbar{width:6px;height:6px}.acu-md table::-webkit-scrollbar-track{background:0 0}.acu-md table::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:3px}.acu-md table::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}.acu-md th,.acu-md td{padding:var(--acu-space-2) var(--acu-space-3);border:1px solid var(--acu-border);text-align:left}.acu-md th{background:var(--acu-surface);font-weight:600}.acu-md tbody tr:nth-child(2n){background:var(--acu-surface)}.acu-md img.acu-md-img{border-radius:var(--acu-radius-sm);vertical-align:middle;max-width:100%}.acu-md .acu-code-block{margin:0 0 var(--acu-space-3);border:1px solid var(--acu-code-border);border-radius:var(--acu-radius);background:var(--acu-code-bg);overflow:hidden}.acu-md .acu-code-header{padding:0 var(--acu-space-3);background:var(--acu-code-header-bg);border-bottom:1px solid var(--acu-code-border);justify-content:space-between;align-items:center;height:34px;display:flex}.acu-md .acu-code-lang{font-family:var(--acu-font-mono);font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);text-transform:lowercase;letter-spacing:.02em}.acu-md .acu-code-copy{color:var(--acu-text-muted);font-size:var(--acu-font-size-xs);border-radius:var(--acu-radius-xs);cursor:pointer;transition:all var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;align-items:center;gap:4px;padding:3px 8px;font-family:inherit;display:inline-flex}.acu-md .acu-code-copy svg{display:block}.acu-md .acu-code-copy:hover{background:var(--acu-surface-2);color:var(--acu-text)}.acu-md .acu-code-copy.is-copied{color:var(--acu-success)}.acu-md .acu-code-copy.is-error{color:var(--acu-error)}.acu-md .shiki{padding:var(--acu-space-4);font-family:var(--acu-font-mono);font-size:var(--acu-font-size-sm);scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent;margin:0;line-height:1.6;overflow-x:auto;background:var(--acu-code-bg)!important}.acu-md .shiki::-webkit-scrollbar{width:8px;height:8px}.acu-md .shiki::-webkit-scrollbar-track{background:0 0}.acu-md .shiki::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:4px}.acu-md .shiki::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}.acu-md .shiki code{background:0 0;padding:0;font-family:inherit}.acu-md .shiki,.acu-md .shiki span{color:var(--shiki-light,inherit);font-style:var(--shiki-light-font-style,normal);font-weight:var(--shiki-light-font-weight,normal);-webkit-text-decoration:var(--shiki-light-text-decoration,none);text-decoration:var(--shiki-light-text-decoration,none)}[data-theme=dark] .acu-md .shiki,[data-theme=dark] .acu-md .shiki span{color:var(--shiki-dark,inherit);font-style:var(--shiki-dark-font-style,normal);font-weight:var(--shiki-dark-font-weight,normal);-webkit-text-decoration:var(--shiki-dark-text-decoration,none);text-decoration:var(--shiki-dark-text-decoration,none)}.acu-md .acu-code-fallback{color:var(--acu-code-text)}.acu-thinking[data-v-7249f847]{margin-bottom:var(--acu-space-3);border:1px solid var(--acu-thinking-border);border-radius:var(--acu-radius);background:var(--acu-thinking-bg);overflow:hidden}.acu-thinking.is-streaming[data-v-7249f847]{border-color:var(--acu-primary-soft)}.acu-thinking-header[data-v-7249f847]{align-items:center;gap:var(--acu-space-2);width:100%;padding:var(--acu-space-2) var(--acu-space-3);color:var(--acu-thinking-text);font-size:var(--acu-font-size-sm);cursor:pointer;transition:background-color var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;outline:none;font-family:inherit;display:flex}.acu-thinking-header[data-v-7249f847]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-thinking-header[data-v-7249f847]:hover{background:var(--acu-surface-hover)}.acu-thinking-icon[data-v-7249f847]{color:var(--acu-thinking-icon);flex-shrink:0;display:inline-flex}.is-streaming .acu-thinking-icon[data-v-7249f847]{color:var(--acu-primary);animation:acu-pulse-7249f847 2s var(--acu-easing) infinite}@keyframes acu-pulse-7249f847{0%,to{opacity:.55}50%{opacity:1}}.acu-thinking-title[data-v-7249f847]{letter-spacing:.01em;font-weight:500}.acu-thinking-chevron[data-v-7249f847]{color:var(--acu-text-muted);transition:transform var(--acu-duration) var(--acu-easing);flex-shrink:0;margin-left:auto}.acu-thinking-chevron.is-open[data-v-7249f847]{transform:rotate(180deg)}.acu-thinking-body[data-v-7249f847]{padding:0 var(--acu-space-3) var(--acu-space-3);border-top:1px dashed var(--acu-thinking-border);color:var(--acu-thinking-text);font-size:var(--acu-font-size-sm);line-height:1.7}.acu-thinking-body[data-v-7249f847] .acu-md{font-size:var(--acu-font-size-sm);color:var(--acu-thinking-text);opacity:.92}.acu-thinking-body[data-v-7249f847] .acu-md p{margin-bottom:var(--acu-space-2)}.acu-collapse-enter-active[data-v-7249f847],.acu-collapse-leave-active[data-v-7249f847]{transition:opacity var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing)}.acu-collapse-enter-from[data-v-7249f847],.acu-collapse-leave-to[data-v-7249f847]{opacity:0;transform:translateY(-4px)}.acu-bubble-row[data-v-49f051a5]{gap:var(--acu-space-3);align-items:flex-start;display:flex}.acu-bubble-row.is-user[data-v-49f051a5]{justify-content:flex-end}.acu-avatar[data-v-49f051a5]{width:var(--acu-avatar-size);height:var(--acu-avatar-size);border-radius:var(--acu-radius-full);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.acu-avatar img[data-v-49f051a5]{object-fit:cover;width:100%;height:100%}.acu-avatar--left[data-v-49f051a5]{background:var(--acu-surface-2);color:var(--acu-text-secondary)}.acu-avatar--right[data-v-49f051a5]{background:var(--acu-primary-soft);color:var(--acu-primary)}.acu-bubble-main[data-v-49f051a5]{flex-direction:column;min-width:0;max-width:min(680px,78%);display:flex}.is-user .acu-bubble-main[data-v-49f051a5]{align-items:flex-end}.acu-bubble-name[data-v-49f051a5]{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);margin-bottom:var(--acu-space-1);padding-left:2px}.acu-bubble[data-v-49f051a5]{padding:var(--acu-space-3) var(--acu-space-4);border-radius:var(--acu-radius-lg);font-size:var(--acu-font-size-md);line-height:var(--acu-line-height);word-break:break-word;max-width:100%;position:relative}.acu-bubble.is-assistant[data-v-49f051a5]{background:var(--acu-bubble-assistant-bg);color:var(--acu-bubble-assistant-text);border-top-left-radius:var(--acu-radius-xs)}.acu-bubble.is-user[data-v-49f051a5]{background:var(--acu-bubble-user-bg);color:var(--acu-bubble-user-text);border-top-right-radius:var(--acu-radius-xs)}.acu-bubble-content[data-v-49f051a5] .acu-md{color:inherit;font-size:var(--acu-font-size-md)}.acu-attachments[data-v-49f051a5]{gap:var(--acu-space-2);margin-bottom:var(--acu-space-2);flex-wrap:wrap;display:flex}.acu-attachments.is-user[data-v-49f051a5]{justify-content:flex-end}.acu-att-thumb[data-v-49f051a5]{border-radius:var(--acu-radius);border:1px solid var(--acu-border);background:var(--acu-surface);width:88px;height:88px;overflow:hidden}.acu-att-thumb img[data-v-49f051a5]{object-fit:cover;width:100%;height:100%}.acu-att-file[data-v-49f051a5]{align-items:center;gap:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-surface);border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);max-width:220px;display:inline-flex}.acu-att-file-icon[data-v-49f051a5]{color:var(--acu-text-muted);flex-shrink:0}.acu-att-file-info[data-v-49f051a5]{flex-direction:column;min-width:0;display:flex}.acu-att-file-name[data-v-49f051a5]{font-size:var(--acu-font-size-sm);color:var(--acu-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acu-att-file-size[data-v-49f051a5]{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted)}.acu-pending[data-v-49f051a5]{padding:var(--acu-space-1) 0}.acu-bubble-error[data-v-49f051a5]{align-items:center;gap:var(--acu-space-2);margin-top:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-error-soft);color:var(--acu-error);border-radius:var(--acu-radius-sm);font-size:var(--acu-font-size-sm);display:flex}.acu-retry-btn[data-v-49f051a5]{color:inherit;border-radius:var(--acu-radius-xs);font-size:var(--acu-font-size-xs);cursor:pointer;transition:opacity var(--acu-duration-fast) var(--acu-easing);background:0 0;border:1px solid;margin-left:auto;padding:2px 10px;font-family:inherit}.acu-retry-btn[data-v-49f051a5]:hover{opacity:.75}.acu-message-list[data-v-b7171398]{scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent;flex:1;min-height:0;position:relative;overflow:hidden auto}.acu-message-list[data-v-b7171398]::-webkit-scrollbar{width:6px;height:6px}.acu-message-list[data-v-b7171398]::-webkit-scrollbar-track{background:0 0}.acu-message-list[data-v-b7171398]::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:3px}.acu-message-list[data-v-b7171398]::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}.acu-message-list[data-v-b7171398]{scroll-behavior:auto}.acu-message-list-inner[data-v-b7171398]{gap:var(--acu-space-5);max-width:var(--acu-max-width);width:100%;padding:var(--acu-space-5) var(--acu-space-4) var(--acu-space-6);flex-direction:column;margin:0 auto;display:flex}.acu-scroll-btn[data-v-b7171398]{bottom:var(--acu-space-3);border:1px solid var(--acu-border);background:var(--acu-bg);width:36px;height:36px;color:var(--acu-text-secondary);border-radius:var(--acu-radius-full);cursor:pointer;box-shadow:var(--acu-shadow);transition:all var(--acu-duration) var(--acu-easing);z-index:2;justify-content:center;align-items:center;margin:0 auto;display:inline-flex;position:sticky;left:50%;transform:translate(-50%)}.acu-scroll-btn[data-v-b7171398]:hover{color:var(--acu-primary);border-color:var(--acu-primary)}.acu-fade-enter-active[data-v-b7171398],.acu-fade-leave-active[data-v-b7171398]{transition:opacity var(--acu-duration) var(--acu-easing),transform var(--acu-duration) var(--acu-easing)}.acu-fade-enter-from[data-v-b7171398],.acu-fade-leave-to[data-v-b7171398]{opacity:0;transform:translate(-50%,6px)}.acu-welcome[data-v-9931daa7]{padding:var(--acu-space-8) var(--acu-space-4);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.acu-welcome-inner[data-v-9931daa7]{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:640px;display:flex}.acu-welcome-logo[data-v-9931daa7]{border-radius:var(--acu-radius-lg);background:linear-gradient(135deg,var(--acu-primary-soft),var(--acu-surface));width:56px;height:56px;color:var(--acu-primary);margin-bottom:var(--acu-space-5);box-shadow:var(--acu-shadow-sm);justify-content:center;align-items:center;display:inline-flex}.acu-welcome-title[data-v-9931daa7]{color:var(--acu-text);margin:0 0 var(--acu-space-2);letter-spacing:-.01em;font-size:22px;font-weight:650}.acu-welcome-desc[data-v-9931daa7]{font-size:var(--acu-font-size-md);color:var(--acu-text-secondary);margin:0 0 var(--acu-space-6);max-width:440px}.acu-welcome-grid[data-v-9931daa7]{gap:var(--acu-space-3);grid-template-columns:repeat(2,1fr);width:100%;display:grid}@media (width<=560px){.acu-welcome-grid[data-v-9931daa7]{grid-template-columns:1fr}}.acu-preset-q[data-v-9931daa7]{justify-content:space-between;align-items:flex-start;gap:var(--acu-space-3);padding:var(--acu-space-4);text-align:left;background:var(--acu-surface);border:1px solid var(--acu-border);border-radius:var(--acu-radius);cursor:pointer;transition:all var(--acu-duration) var(--acu-easing);outline:none;font-family:inherit;display:flex}.acu-preset-q[data-v-9931daa7]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-preset-q[data-v-9931daa7]:hover{border-color:var(--acu-primary);background:var(--acu-primary-soft);box-shadow:var(--acu-shadow-sm);transform:translateY(-1px)}.acu-preset-q:hover .acu-preset-q-arrow[data-v-9931daa7]{color:var(--acu-primary);transform:translate(2px,-2px)}.acu-preset-q-body[data-v-9931daa7]{flex-direction:column;gap:2px;min-width:0;display:flex}.acu-preset-q-label[data-v-9931daa7]{font-size:var(--acu-font-size-md);color:var(--acu-text);font-weight:550}.acu-preset-q-prompt[data-v-9931daa7]{font-size:var(--acu-font-size-xs);color:var(--acu-text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.acu-preset-q-arrow[data-v-9931daa7]{color:var(--acu-text-muted);transition:transform var(--acu-duration) var(--acu-easing),color var(--acu-duration) var(--acu-easing);flex-shrink:0;margin-top:2px}.acu-input-wrap[data-v-8f617582]{max-width:var(--acu-max-width);background:var(--acu-surface);border:1px solid var(--acu-border);border-radius:var(--acu-radius-lg);width:100%;padding:var(--acu-space-2);transition:border-color var(--acu-duration) var(--acu-easing),box-shadow var(--acu-duration) var(--acu-easing),background-color var(--acu-duration) var(--acu-easing);margin:0 auto;position:relative}.acu-input-wrap[data-v-8f617582]:focus-within{border-color:var(--acu-primary);box-shadow:0 0 0 3px var(--acu-primary-soft)}.acu-input-wrap.is-dragging[data-v-8f617582]{border-color:var(--acu-primary);background:var(--acu-primary-soft);box-shadow:0 0 0 3px var(--acu-primary-soft)}.acu-input-wrap.is-disabled[data-v-8f617582]{opacity:.6;pointer-events:none}.acu-input-drop-hint[data-v-8f617582]{justify-content:center;align-items:center;gap:var(--acu-space-2);color:var(--acu-primary);font-size:var(--acu-font-size-sm);pointer-events:none;z-index:1;flex-direction:column;font-weight:500;display:flex;position:absolute;inset:0}.acu-input-attachments[data-v-8f617582]{gap:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-2) 0;flex-wrap:wrap;display:flex}.acu-input-att[data-v-8f617582]{display:inline-flex;position:relative}.acu-input-att-thumb[data-v-8f617582]{border-radius:var(--acu-radius-sm);border:1px solid var(--acu-border);width:56px;height:56px;overflow:hidden}.acu-input-att-thumb img[data-v-8f617582]{object-fit:cover;width:100%;height:100%}.acu-input-att-file[data-v-8f617582]{align-items:center;gap:var(--acu-space-2);padding:var(--acu-space-2) var(--acu-space-3);background:var(--acu-bg);border:1px solid var(--acu-border);border-radius:var(--acu-radius-sm);color:var(--acu-text-secondary);max-width:180px;display:inline-flex}.acu-input-att-name[data-v-8f617582]{font-size:var(--acu-font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acu-input-att-remove[data-v-8f617582]{border-radius:var(--acu-radius-full);background:var(--acu-text);width:18px;height:18px;color:var(--acu-bg);cursor:pointer;box-shadow:var(--acu-shadow-sm);transition:transform var(--acu-duration-fast) var(--acu-easing);border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-6px;right:-6px}.acu-input-att-remove[data-v-8f617582]:hover{transform:scale(1.12)}.acu-input-row[data-v-8f617582]{align-items:flex-end;gap:var(--acu-space-2);padding:var(--acu-space-1) var(--acu-space-1) 0;display:flex}.acu-input-icon-btn[data-v-8f617582]{width:36px;height:36px;color:var(--acu-text-muted);border-radius:var(--acu-radius-sm);cursor:pointer;transition:all var(--acu-duration-fast) var(--acu-easing);background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.acu-input-icon-btn[data-v-8f617582]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-input-icon-btn[data-v-8f617582]:hover:not(:disabled){background:var(--acu-surface-2);color:var(--acu-text)}.acu-input-file[data-v-8f617582]{display:none}.acu-input-textarea[data-v-8f617582]{resize:none;min-height:36px;max-height:200px;font-family:inherit;font-size:var(--acu-font-size-md);color:var(--acu-text);scrollbar-width:thin;scrollbar-color:var(--acu-border-strong) transparent;background:0 0;border:none;outline:none;flex:1;padding:8px 4px;line-height:1.5}.acu-input-textarea[data-v-8f617582]::-webkit-scrollbar{width:4px;height:4px}.acu-input-textarea[data-v-8f617582]::-webkit-scrollbar-track{background:0 0}.acu-input-textarea[data-v-8f617582]::-webkit-scrollbar-thumb{background-color:var(--acu-border-strong);border-radius:2px}.acu-input-textarea[data-v-8f617582]::-webkit-scrollbar-thumb:hover{background-color:var(--acu-text-muted)}.acu-input-textarea[data-v-8f617582]::placeholder{color:var(--acu-text-muted)}.acu-input-textarea[data-v-8f617582]:disabled{cursor:not-allowed}.acu-input-send[data-v-8f617582]{background:var(--acu-primary);width:36px;height:36px;color:var(--acu-primary-contrast);border-radius:var(--acu-radius-sm);cursor:pointer;transition:all var(--acu-duration-fast) var(--acu-easing);border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.acu-input-send[data-v-8f617582]:focus-visible{box-shadow:0 0 0 2px var(--acu-bg),0 0 0 4px var(--acu-primary)}.acu-input-send[data-v-8f617582]:hover:not(:disabled){background:var(--acu-primary-hover)}.acu-input-send[data-v-8f617582]:active:not(:disabled){background:var(--acu-primary-active)}.acu-input-send[data-v-8f617582]:disabled{background:var(--acu-surface-2);color:var(--acu-text-muted);cursor:not-allowed}.acu-chat[data-v-e862adeb]{background:var(--acu-bg);flex-direction:column;height:100%;min-height:0;display:flex}.acu-chat-body[data-v-e862adeb]{flex-direction:column;flex:1;min-height:0;display:flex}.acu-chat-footer[data-v-e862adeb]{padding:var(--acu-space-3) var(--acu-space-4) var(--acu-space-4);background:linear-gradient(to top,var(--acu-bg) 70%,transparent);flex-shrink:0}
@@ -1,4 +1,4 @@
1
- import{$n as e,An as t,Bn as n,Cn as r,Dn as i,En as a,Fn as o,Gn as s,Hn as c,Jn as l,Ln as u,Mn as d,Pn as f,Qn as p,Rn as m,Sn as h,Tn as g,Un as _,Vn as v,Wn as y,Xn as b,Yn as x,_n as S,_r as C,ar as w,cr as T,dr as E,er as D,fr as O,gn as k,gr as A,hn as j,hr as M,ir as N,jn as P,kn as F,mn as I,mr as L,nr as R,or as z,pr as B,qn as V,rr as H,sr as U,un as W,ur as G,vn as K,yn as ee,zn as q}from"./element-plus-DB-NeCl9.js";function J(e){return D()?(N(e),!0):!1}function Y(e){return typeof e==`function`?e():B(e)}var te=typeof window<`u`&&typeof document<`u`,ne=e=>e!==void 0,re=Object.prototype.toString,ie=e=>re.call(e)===`[object Object]`,ae=()=>{};function oe(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}var se=e=>e();function ce(e=se){let t=U(!0);function n(){t.value=!1}function r(){t.value=!0}return{isActive:z(t),pause:n,resume:r,eventFilter:(...n)=>{t.value&&e(...n)}}}function le(e,t=!1,n=`Timeout`){return new Promise((r,i)=>{setTimeout(t?()=>i(n):r,e)})}function ue(e,t,n={}){let{eventFilter:r=se,...i}=n;return l(e,oe(r,t),i)}function de(e,t,n={}){let{eventFilter:r,...i}=n,{eventFilter:a,pause:o,resume:s,isActive:c}=ce(r);return{stop:ue(e,t,{...i,eventFilter:a}),pause:o,resume:s,isActive:c}}function fe(e,t={}){if(!R(e))return E(e);let n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(let r in e.value)n[r]=p(()=>({get(){return e.value[r]},set(n){if(Y(t.replaceRef)??!0)if(Array.isArray(e.value)){let t=[...e.value];t[r]=n,e.value=t}else{let t={...e.value,[r]:n};Object.setPrototypeOf(t,Object.getPrototypeOf(e.value)),e.value=t}else e.value[r]=n}}));return n}function pe(e,t=!1){function n(n,{flush:r=`sync`,deep:i=!1,timeout:a,throwOnTimeout:o}={}){let s=null,c=[new Promise(a=>{s=l(e,e=>{n(e)!==t&&(s?.(),a(e))},{flush:r,deep:i,immediate:!0})})];return a!=null&&c.push(le(a,o).then(()=>Y(e)).finally(()=>s?.())),Promise.race(c)}function r(r,i){if(!R(r))return n(e=>e===r,i);let{flush:a=`sync`,deep:o=!1,timeout:s,throwOnTimeout:c}=i??{},u=null,d=[new Promise(n=>{u=l([e,r],([e,r])=>{t!==(e===r)&&(u?.(),n(e))},{flush:a,deep:o,immediate:!0})})];return s!=null&&d.push(le(s,c).then(()=>Y(e)).finally(()=>(u?.(),Y(e)))),Promise.race(d)}function i(e){return n(e=>!!e,e)}function a(e){return r(null,e)}function o(e){return r(void 0,e)}function s(e){return n(Number.isNaN,e)}function c(e,t){return n(t=>{let n=Array.from(t);return n.includes(e)||n.includes(Y(e))},t)}function u(e){return d(1,e)}function d(e=1,t){let r=-1;return n(()=>(r+=1,r>=e),t)}return Array.isArray(Y(e))?{toMatch:n,toContains:c,changed:u,changedTimes:d,get not(){return pe(e,!t)}}:{toMatch:n,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:o,changed:u,changedTimes:d,get not(){return pe(e,!t)}}}function me(e){return pe(e)}function he(e){let t=Y(e);return t?.$el??t}var ge=te?window:void 0;function _e(...e){let t,n,r,i;if(typeof e[0]==`string`||Array.isArray(e[0])?([n,r,i]=e,t=ge):[t,n,r,i]=e,!t)return ae;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);let a=[],o=()=>{a.forEach(e=>e()),a.length=0},s=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),c=l(()=>[he(t),Y(i)],([e,t])=>{if(o(),!e)return;let i=ie(t)?{...t}:t;a.push(...n.flatMap(t=>r.map(n=>s(e,t,n,i))))},{immediate:!0,flush:`post`}),u=()=>{c(),o()};return J(u),u}function ve(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function ye(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=ge,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=ve(t);return _e(i,a,e=>{e.repeat&&Y(s)||c(e)&&n(e)},o)}function be(e){return JSON.parse(JSON.stringify(e))}function xe(e,t,n,r={}){let{clone:i=!1,passive:o=!1,eventName:s,deep:c=!1,defaultValue:u,shouldEmit:f}=r,p=a(),m=n||p?.emit||(p?.$emit)?.bind(p)||(p?.proxy?.$emit)?.bind(p?.proxy),h=s;t||=`modelValue`,h||=`update:${t.toString()}`;let g=e=>i?typeof i==`function`?i(e):be(e):e,_=()=>ne(e[t])?g(e[t]):u,v=e=>{f?f(e)&&m(h,e):m(h,e)};if(o){let n=U(_()),r=!1;return l(()=>e[t],e=>{r||(r=!0,n.value=g(e),d(()=>r=!1))}),l(n,n=>{!r&&(n!==e[t]||c)&&v(n)},{deep:c}),n}else return I({get(){return _()},set(e){v(e)}})}var Se={value:()=>{}};function Ce(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new we(n)}function we(e){this._=e}function Te(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}we.prototype=Ce.prototype={constructor:we,on:function(e,t){var n=this._,r=Te(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Ee(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=De(n[i],e.name,t);else if(t==null)for(i in n)n[i]=De(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new we(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function Ee(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function De(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=Se,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Oe=`http://www.w3.org/1999/xhtml`,ke={svg:`http://www.w3.org/2000/svg`,xhtml:Oe,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Ae(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),ke.hasOwnProperty(t)?{space:ke[t],local:e}:e}function je(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Oe&&t.documentElement.namespaceURI===Oe?t.createElement(e):t.createElementNS(n,e)}}function Me(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ne(e){var t=Ae(e);return(t.local?Me:je)(t)}function Pe(){}function Fe(e){return e==null?Pe:function(){return this.querySelector(e)}}function Ie(e){typeof e!=`function`&&(e=Fe(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Tn(r,this._parents)}function Le(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Re(){return[]}function ze(e){return e==null?Re:function(){return this.querySelectorAll(e)}}function Be(e){return function(){return Le(e.apply(this,arguments))}}function Ve(e){e=typeof e==`function`?Be(e):ze(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Tn(r,i)}function He(e){return function(){return this.matches(e)}}function Ue(e){return function(t){return t.matches(e)}}var We=Array.prototype.find;function Ge(e){return function(){return We.call(this.children,e)}}function Ke(){return this.firstElementChild}function qe(e){return this.select(e==null?Ke:Ge(typeof e==`function`?e:Ue(e)))}var Je=Array.prototype.filter;function Ye(){return Array.from(this.children)}function Xe(e){return function(){return Je.call(this.children,e)}}function Ze(e){return this.selectAll(e==null?Ye:Xe(typeof e==`function`?e:Ue(e)))}function Qe(e){typeof e!=`function`&&(e=He(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Tn(r,this._parents)}function $e(e){return Array(e.length)}function et(){return new Tn(this._enter||this._groups.map($e),this._parents)}function tt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}tt.prototype={constructor:tt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function nt(e){return function(){return e}}function rt(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new tt(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function it(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new tt(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function at(e){return e.__data__}function ot(e,t){if(!arguments.length)return Array.from(this,at);var n=t?it:rt,r=this._parents,i=this._groups;typeof e!=`function`&&(e=nt(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=st(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Tn(o,r),o._enter=s,o._exit=c,o}function st(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ct(){return new Tn(this._exit||this._groups.map($e),this._parents)}function lt(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function ut(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Tn(s,this._parents)}function dt(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ft(e){e||=pt;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Tn(i,this._parents).order()}function pt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function mt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ht(){return Array.from(this)}function gt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function _t(){let e=0;for(let t of this)++e;return e}function vt(){return!this.node()}function yt(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function bt(e){return function(){this.removeAttribute(e)}}function xt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function St(e,t){return function(){this.setAttribute(e,t)}}function Ct(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function wt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Tt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Et(e,t){var n=Ae(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?xt:bt:typeof t==`function`?n.local?Tt:wt:n.local?Ct:St)(n,t))}function Dt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ot(e){return function(){this.style.removeProperty(e)}}function kt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function At(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function jt(e,t,n){return arguments.length>1?this.each((t==null?Ot:typeof t==`function`?At:kt)(e,t,n??``)):Mt(this.node(),e)}function Mt(e,t){return e.style.getPropertyValue(t)||Dt(e).getComputedStyle(e,null).getPropertyValue(t)}function Nt(e){return function(){delete this[e]}}function Pt(e,t){return function(){this[e]=t}}function Ft(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function It(e,t){return arguments.length>1?this.each((t==null?Nt:typeof t==`function`?Ft:Pt)(e,t)):this.node()[e]}function Lt(e){return e.trim().split(/^|\s+/)}function Rt(e){return e.classList||new zt(e)}function zt(e){this._node=e,this._names=Lt(e.getAttribute(`class`)||``)}zt.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function Bt(e,t){for(var n=Rt(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Vt(e,t){for(var n=Rt(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Ht(e){return function(){Bt(this,e)}}function Ut(e){return function(){Vt(this,e)}}function Wt(e,t){return function(){(t.apply(this,arguments)?Bt:Vt)(this,e)}}function Gt(e,t){var n=Lt(e+``);if(arguments.length<2){for(var r=Rt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Wt:t?Ht:Ut)(n,t))}function Kt(){this.textContent=``}function qt(e){return function(){this.textContent=e}}function Jt(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Yt(e){return arguments.length?this.each(e==null?Kt:(typeof e==`function`?Jt:qt)(e)):this.node().textContent}function Xt(){this.innerHTML=``}function Zt(e){return function(){this.innerHTML=e}}function Qt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function $t(e){return arguments.length?this.each(e==null?Xt:(typeof e==`function`?Qt:Zt)(e)):this.node().innerHTML}function en(){this.nextSibling&&this.parentNode.appendChild(this)}function tn(){return this.each(en)}function nn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function rn(){return this.each(nn)}function an(e){var t=typeof e==`function`?e:Ne(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function on(){return null}function sn(e,t){var n=typeof e==`function`?e:Ne(e),r=t==null?on:typeof t==`function`?t:Fe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function cn(){var e=this.parentNode;e&&e.removeChild(this)}function ln(){return this.each(cn)}function un(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function dn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function fn(e){return this.select(e?dn:un)}function pn(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function mn(e){return function(t){e.call(this,t,this.__data__)}}function hn(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function gn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function _n(e,t,n){return function(){var r=this.__on,i,a=mn(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function vn(e,t,n){var r=hn(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?_n:gn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function yn(e,t,n){var r=Dt(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function bn(e,t){return function(){return yn(this,e,t)}}function xn(e,t){return function(){return yn(this,e,t.apply(this,arguments))}}function Sn(e,t){return this.each((typeof t==`function`?xn:bn)(e,t))}function*Cn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var wn=[null];function Tn(e,t){this._groups=e,this._parents=t}function En(){return new Tn([[document.documentElement]],wn)}function Dn(){return this}Tn.prototype=En.prototype={constructor:Tn,select:Ie,selectAll:Ve,selectChild:qe,selectChildren:Ze,filter:Qe,data:ot,enter:et,exit:ct,join:lt,merge:ut,selection:Dn,order:dt,sort:ft,call:mt,nodes:ht,node:gt,size:_t,empty:vt,each:yt,attr:Et,style:jt,property:It,classed:Gt,text:Yt,html:$t,raise:tn,lower:rn,append:an,insert:sn,remove:ln,clone:fn,datum:pn,on:vn,dispatch:Sn,[Symbol.iterator]:Cn};function On(e){return typeof e==`string`?new Tn([[document.querySelector(e)]],[document.documentElement]):new Tn([[e]],wn)}function kn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function An(e,t){if(e=kn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var jn={passive:!1},Mn={capture:!0,passive:!1};function Nn(e){e.stopImmediatePropagation()}function Pn(e){e.preventDefault(),e.stopImmediatePropagation()}function Fn(e){var t=e.document.documentElement,n=On(e).on(`dragstart.drag`,Pn,Mn);`onselectstart`in t?n.on(`selectstart.drag`,Pn,Mn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function In(e,t){var n=e.document.documentElement,r=On(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Pn,Mn),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Ln=e=>()=>e;function Rn(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Rn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function zn(e){return!e.ctrlKey&&!e.button}function Bn(){return this.parentNode}function Vn(e,t){return t??{x:e.x,y:e.y}}function Hn(){return navigator.maxTouchPoints||`ontouchstart`in this}function Un(){var e=zn,t=Bn,n=Vn,r=Hn,i={},a=Ce(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,jn).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(On(n.view).on(`mousemove.drag`,m,Mn).on(`mouseup.drag`,h,Mn),Fn(n.view),Nn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(Pn(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){On(e.view).on(`mousemove.drag mouseup.drag`,null),In(e.view,l),Pn(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Nn(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(Pn(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Nn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=An(l||r,t),p,m,h;if((h=n.call(e,new Rn(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=An(l||a,t),_=o;break}u.call(r,e,new Rn(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Ln(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Ln(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Ln(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Ln(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function Wn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Gn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Kn(){}var qn=.7,Jn=1/qn,Yn=`\\s*([+-]?\\d+)\\s*`,Xn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Zn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Qn=/^#([0-9a-f]{3,8})$/,$n=RegExp(`^rgb\\(${Yn},${Yn},${Yn}\\)$`),er=RegExp(`^rgb\\(${Zn},${Zn},${Zn}\\)$`),tr=RegExp(`^rgba\\(${Yn},${Yn},${Yn},${Xn}\\)$`),nr=RegExp(`^rgba\\(${Zn},${Zn},${Zn},${Xn}\\)$`),rr=RegExp(`^hsl\\(${Xn},${Zn},${Zn}\\)$`),ir=RegExp(`^hsla\\(${Xn},${Zn},${Zn},${Xn}\\)$`),ar={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Wn(Kn,ur,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:or,formatHex:or,formatHex8:sr,formatHsl:cr,formatRgb:lr,toString:lr});function or(){return this.rgb().formatHex()}function sr(){return this.rgb().formatHex8()}function cr(){return Cr(this).formatHsl()}function lr(){return this.rgb().formatRgb()}function ur(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Qn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?dr(t):n===3?new hr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?fr(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?fr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=$n.exec(e))?new hr(t[1],t[2],t[3],1):(t=er.exec(e))?new hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=tr.exec(e))?fr(t[1],t[2],t[3],t[4]):(t=nr.exec(e))?fr(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=rr.exec(e))?Sr(t[1],t[2]/100,t[3]/100,1):(t=ir.exec(e))?Sr(t[1],t[2]/100,t[3]/100,t[4]):ar.hasOwnProperty(e)?dr(ar[e]):e===`transparent`?new hr(NaN,NaN,NaN,0):null}function dr(e){return new hr(e>>16&255,e>>8&255,e&255,1)}function fr(e,t,n,r){return r<=0&&(e=t=n=NaN),new hr(e,t,n,r)}function pr(e){return e instanceof Kn||(e=ur(e)),e?(e=e.rgb(),new hr(e.r,e.g,e.b,e.opacity)):new hr}function mr(e,t,n,r){return arguments.length===1?pr(e):new hr(e,t,n,r??1)}function hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Wn(hr,mr,Gn(Kn,{brighter(e){return e=e==null?Jn:Jn**+e,new hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?qn:qn**+e,new hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hr(br(this.r),br(this.g),br(this.b),yr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gr,formatHex:gr,formatHex8:_r,formatRgb:vr,toString:vr}));function gr(){return`#${xr(this.r)}${xr(this.g)}${xr(this.b)}`}function _r(){return`#${xr(this.r)}${xr(this.g)}${xr(this.b)}${xr((isNaN(this.opacity)?1:this.opacity)*255)}`}function vr(){let e=yr(this.opacity);return`${e===1?`rgb(`:`rgba(`}${br(this.r)}, ${br(this.g)}, ${br(this.b)}${e===1?`)`:`, ${e})`}`}function yr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function br(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function xr(e){return e=br(e),(e<16?`0`:``)+e.toString(16)}function Sr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Tr(e,t,n,r)}function Cr(e){if(e instanceof Tr)return new Tr(e.h,e.s,e.l,e.opacity);if(e instanceof Kn||(e=ur(e)),!e)return new Tr;if(e instanceof Tr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Tr(o,s,c,e.opacity)}function wr(e,t,n,r){return arguments.length===1?Cr(e):new Tr(e,t,n,r??1)}function Tr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Wn(Tr,wr,Gn(Kn,{brighter(e){return e=e==null?Jn:Jn**+e,new Tr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qn:qn**+e,new Tr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new hr(Or(e>=240?e-240:e+120,i,r),Or(e,i,r),Or(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Tr(Er(this.h),Dr(this.s),Dr(this.l),yr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=yr(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Er(this.h)}, ${Dr(this.s)*100}%, ${Dr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Er(e){return e=(e||0)%360,e<0?e+360:e}function Dr(e){return Math.max(0,Math.min(1,e||0))}function Or(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var kr=e=>()=>e;function Ar(e,t){return function(n){return e+n*t}}function jr(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Mr(e){return(e=+e)==1?Nr:function(t,n){return n-t?jr(t,n,e):kr(isNaN(t)?n:t)}}function Nr(e,t){var n=t-e;return n?Ar(e,n):kr(isNaN(e)?t:e)}var Pr=function e(t){var n=Mr(t);function r(e,t){var r=n((e=mr(e)).r,(t=mr(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Nr(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r}(1);function Fr(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Ir(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Lr(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Kr(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Rr(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function zr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Br(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Kr(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Vr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Hr=new RegExp(Vr.source,`g`);function Ur(e){return function(){return e}}function Wr(e){return function(t){return e(t)+``}}function Gr(e,t){var n=Vr.lastIndex=Hr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Vr.exec(e))&&(i=Hr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:zr(r,i)})),n=Hr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Wr(c[0].x):Ur(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Kr(e,t){var n=typeof t,r;return t==null||n===`boolean`?kr(t):(n===`number`?zr:n===`string`?(r=ur(t))?(t=r,Pr):Gr:t instanceof ur?Pr:t instanceof Date?Rr:Ir(t)?Fr:Array.isArray(t)?Lr:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Br:zr)(e,t)}var qr=180/Math.PI,Jr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*qr,skewX:Math.atan(c)*qr,scaleX:o,scaleY:s}}var Xr;function Zr(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Jr:Yr(t.a,t.b,t.c,t.d,t.e,t.f)}function Qr(e){return e==null||(Xr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Xr.setAttribute(`transform`,e),!(e=Xr.transform.baseVal.consolidate()))?Jr:(e=e.matrix,Yr(e.a,e.b,e.c,e.d,e.e,e.f))}function $r(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:zr(e,i)},{i:c-2,x:zr(r,a)})}else (i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:zr(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:zr(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:zr(e,n)},{i:s-2,x:zr(t,r)})}else (n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var ei=$r(Zr,`px, `,`px)`,`deg)`),ti=$r(Qr,`, `,`)`,`)`),ni=1e-12;function ri(e){return((e=Math.exp(e))+1/e)/2}function ii(e){return((e=Math.exp(e))-1/e)/2}function ai(e){return((e=Math.exp(2*e))-1)/(e+1)}var oi=function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<ni)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=ri(y),c=s/(n*g)*(i*ai(t*r+y)-ii(y));return[a+c*d,o+c*f,s*i/ri(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i}(Math.SQRT2,2,4),si=0,ci=0,li=0,ui=1e3,di,fi,pi=0,mi=0,hi=0,gi=typeof performance==`object`&&performance.now?performance:Date,_i=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function vi(){return mi||=(_i(yi),gi.now()+hi)}function yi(){mi=0}function bi(){this._call=this._time=this._next=null}bi.prototype=xi.prototype={constructor:bi,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?vi():+n)+(t==null?0:+t),!this._next&&fi!==this&&(fi?fi._next=this:di=this,fi=this),this._call=e,this._time=n,Ei()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ei())}};function xi(e,t,n){var r=new bi;return r.restart(e,t,n),r}function Si(){vi(),++si;for(var e=di,t;e;)(t=mi-e._time)>=0&&e._call.call(void 0,t),e=e._next;--si}function Ci(){mi=(pi=gi.now())+hi,si=ci=0;try{Si()}finally{si=0,Ti(),mi=0}}function wi(){var e=gi.now(),t=e-pi;t>ui&&(hi-=t,pi=e)}function Ti(){for(var e,t=di,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:di=n);fi=e,Ei(r)}function Ei(e){si||(ci&&=clearTimeout(ci),e-mi>24?(e<1/0&&(ci=setTimeout(Ci,e-gi.now()-hi)),li&&=clearInterval(li)):(li||=(pi=gi.now(),setInterval(wi,ui)),si=1,_i(Ci)))}function Di(e,t,n){var r=new bi;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var Oi=Ce(`start`,`end`,`cancel`,`interrupt`),ki=[],Ai=0,ji=1,Mi=2,Ni=3,Pi=4,Fi=5,Ii=6;function Li(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Vi(e,n,{name:t,index:r,group:i,on:Oi,tween:ki,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Ai})}function Ri(e,t){var n=Bi(e,t);if(n.state>Ai)throw Error(`too late; already scheduled`);return n}function zi(e,t){var n=Bi(e,t);if(n.state>Ni)throw Error(`too late; already running`);return n}function Bi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Vi(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=xi(a,0,n.time);function a(e){n.state=ji,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==ji)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===Ni)return Di(o);f.state===Pi?(f.state=Ii,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=Ii,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(Di(function(){n.state===Ni&&(n.state=Pi,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=Mi,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===Mi){for(n.state=Ni,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=Fi,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===Fi&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=Ii,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Hi(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>Mi&&r.state<Fi,r.state=Ii,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Ui(e){return this.each(function(){Hi(this,e)})}function Wi(e,t){var n,r;return function(){var i=zi(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Gi(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=zi(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Ki(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Bi(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Wi:Gi)(n,e,t))}function qi(e,t,n){var r=e._id;return e.each(function(){var e=zi(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Bi(e,r).value[t]}}function Ji(e,t){var n;return(typeof t==`number`?zr:t instanceof ur?Pr:(n=ur(t))?(t=n,Pr):Gr)(e,t)}function Yi(e){return function(){this.removeAttribute(e)}}function Xi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Zi(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Qi(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function $i(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function ea(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function ta(e,t){var n=Ae(e),r=n===`transform`?ti:Ji;return this.attrTween(e,typeof t==`function`?(n.local?ea:$i)(n,r,qi(this,`attr.`+e,t)):t==null?(n.local?Xi:Yi)(n):(n.local?Qi:Zi)(n,r,t))}function na(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function ra(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function ia(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&ra(e,i)),n}return i._value=t,i}function aa(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&na(e,i)),n}return i._value=t,i}function oa(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Ae(e);return this.tween(n,(r.local?ia:aa)(r,t))}function sa(e,t){return function(){Ri(this,e).delay=+t.apply(this,arguments)}}function ca(e,t){return t=+t,function(){Ri(this,e).delay=t}}function la(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?sa:ca)(t,e)):Bi(this.node(),t).delay}function ua(e,t){return function(){zi(this,e).duration=+t.apply(this,arguments)}}function da(e,t){return t=+t,function(){zi(this,e).duration=t}}function fa(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?ua:da)(t,e)):Bi(this.node(),t).duration}function pa(e,t){if(typeof t!=`function`)throw Error();return function(){zi(this,e).ease=t}}function ma(e){var t=this._id;return arguments.length?this.each(pa(t,e)):Bi(this.node(),t).ease}function ha(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();zi(this,e).ease=n}}function ga(e){if(typeof e!=`function`)throw Error();return this.each(ha(this._id,e))}function _a(e){typeof e!=`function`&&(e=He(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Ka(r,this._parents,this._name,this._id)}function va(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Ka(o,this._parents,this._name,this._id)}function ya(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ba(e,t,n){var r,i,a=ya(t)?Ri:zi;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function xa(e,t){var n=this._id;return arguments.length<2?Bi(this.node(),n).on.on(e):this.each(ba(n,e,t))}function Sa(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Ca(){return this.on(`end.remove`,Sa(this._id))}function wa(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Fe(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Li(l[f],t,n,f,l,Bi(u,n)));return new Ka(a,this._parents,t,n)}function Ta(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ze(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Bi(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Li(p,t,n,h,f,m);a.push(f),o.push(u)}return new Ka(a,o,t,n)}var Ea=En.prototype.constructor;function Da(){return new Ea(this._groups,this._parents)}function Oa(e,t){var n,r,i;return function(){var a=Mt(this,e),o=(this.style.removeProperty(e),Mt(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function ka(e){return function(){this.style.removeProperty(e)}}function Aa(e,t,n){var r,i=n+``,a;return function(){var o=Mt(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function ja(e,t,n){var r,i,a;return function(){var o=Mt(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Mt(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function Ma(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=zi(this,e),l=c.on,u=c.value[a]==null?s||=ka(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function Na(e,t,n){var r=(e+=``)==`transform`?ei:Ji;return t==null?this.styleTween(e,Oa(e,r)).on(`end.style.`+e,ka(e)):typeof t==`function`?this.styleTween(e,ja(e,r,qi(this,`style.`+e,t))).each(Ma(this._id,e)):this.styleTween(e,Aa(e,r,t),n).on(`end.style.`+e,null)}function Pa(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Fa(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&Pa(e,a,n)),r}return a._value=t,a}function Ia(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,Fa(e,t,n??``))}function La(e){return function(){this.textContent=e}}function Ra(e){return function(){var t=e(this);this.textContent=t??``}}function za(e){return this.tween(`text`,typeof e==`function`?Ra(qi(this,`text`,e)):La(e==null?``:e+``))}function Ba(e){return function(t){this.textContent=e.call(this,t)}}function Va(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Ba(r)),t}return r._value=e,r}function Ha(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Va(e))}function Ua(){for(var e=this._name,t=this._id,n=qa(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Bi(c,t);Li(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ka(r,this._parents,e,n)}function Wa(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=zi(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ga=0;function Ka(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function qa(){return++Ga}var Ja=En.prototype;Ka.prototype={constructor:Ka,select:wa,selectAll:Ta,selectChild:Ja.selectChild,selectChildren:Ja.selectChildren,filter:_a,merge:va,selection:Da,transition:Ua,call:Ja.call,nodes:Ja.nodes,node:Ja.node,size:Ja.size,empty:Ja.empty,each:Ja.each,on:xa,attr:ta,attrTween:oa,style:Na,styleTween:Ia,text:za,textTween:Ha,remove:Ca,tween:Ki,delay:la,duration:fa,ease:ma,easeVarying:ga,end:Wa,[Symbol.iterator]:Ja[Symbol.iterator]};function Ya(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Xa={time:null,delay:0,duration:250,ease:Ya};function Za(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Qa(e){var t,n;e instanceof Ka?(t=e._id,e=e._name):(t=qa(),(n=Xa).time=vi(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Li(c,e,t,l,o,n||Za(c,t));return new Ka(r,this._parents,e,t)}En.prototype.interrupt=Ui,En.prototype.transition=Qa;var $a=e=>()=>e;function eo(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function to(e,t,n){this.k=e,this.x=t,this.y=n}to.prototype={constructor:to,scale:function(e){return e===1?this:new to(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new to(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var no=new to(1,0,0);to.prototype;function ro(e){e.stopImmediatePropagation()}function io(e){e.preventDefault(),e.stopImmediatePropagation()}function ao(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function oo(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function so(){return this.__zoom||no}function co(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function lo(){return navigator.maxTouchPoints||`ontouchstart`in this}function uo(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function fo(){var e=ao,t=oo,n=uo,r=co,i=lo,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=oi,l=Ce(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,so).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,so),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(no.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new to(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new to(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new to(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=On(this.that).datum();l.call(e,this.that,new eo(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=An(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Hi(this),s.start();io(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=On(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=An(t,i),l=t.clientX,u=t.clientY;Fn(t.view),ro(t),a.mouse=[c,this.__zoom.invert(c)],Hi(this),a.start();function d(e){if(io(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=An(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),In(e.view,a.moved),io(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=An(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);io(r),s>0?On(this).transition().duration(s).call(x,d,c,r):On(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(ro(t),s=0;s<i;++s)c=r[s],l=An(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),Hi(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(io(e),s=0;s<a;++s)c=i[s],l=An(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(ro(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=An(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=On(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:$a(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:$a(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:$a(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:$a([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var X=(e=>(e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`,e))(X||{}),po=(e=>(e.Partial=`partial`,e.Full=`full`,e))(po||{}),mo=(e=>(e.Bezier=`default`,e.SimpleBezier=`simple-bezier`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e))(mo||{}),ho=(e=>(e.Strict=`strict`,e.Loose=`loose`,e))(ho||{}),go=(e=>(e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`,e))(go||{}),_o=(e=>(e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e))(_o||{}),vo=(e=>(e.TopLeft=`top-left`,e.TopCenter=`top-center`,e.TopRight=`top-right`,e.BottomLeft=`bottom-left`,e.BottomCenter=`bottom-center`,e.BottomRight=`bottom-right`,e))(vo||{}),yo=[`INPUT`,`SELECT`,`TEXTAREA`],bo=typeof document<`u`?document:null;function xo(e){let t=e.composedPath?.call(e)?.[0]||e.target,n=typeof t?.hasAttribute==`function`?t.hasAttribute(`contenteditable`):!1,r=typeof t?.closest==`function`?t.closest(`.nokey`):null;return yo.includes(t?.nodeName)||n||!!r}function So(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function Co(e,t,n,r){let i=t.replace(`+`,`
1
+ import{$n as e,An as t,Bn as n,Cn as r,Dn as i,En as a,Fn as o,Gn as s,Hn as c,Jn as l,Ln as u,Mn as d,Pn as f,Qn as p,Rn as m,Sn as h,Tn as g,Un as _,Vn as v,Wn as y,Xn as b,Yn as x,_n as S,_r as C,ar as w,cr as T,dr as E,er as D,fr as O,gn as k,gr as A,hn as j,hr as M,ir as N,jn as P,kn as F,mn as I,mr as L,nr as R,or as z,pr as B,qn as V,rr as H,sr as U,un as W,ur as G,vn as K,yn as ee,zn as q}from"./element-plus-CL7fBdM_.js";function J(e){return D()?(N(e),!0):!1}function Y(e){return typeof e==`function`?e():B(e)}var te=typeof window<`u`&&typeof document<`u`,ne=e=>e!==void 0,re=Object.prototype.toString,ie=e=>re.call(e)===`[object Object]`,ae=()=>{};function oe(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}var se=e=>e();function ce(e=se){let t=U(!0);function n(){t.value=!1}function r(){t.value=!0}return{isActive:z(t),pause:n,resume:r,eventFilter:(...n)=>{t.value&&e(...n)}}}function le(e,t=!1,n=`Timeout`){return new Promise((r,i)=>{setTimeout(t?()=>i(n):r,e)})}function ue(e,t,n={}){let{eventFilter:r=se,...i}=n;return l(e,oe(r,t),i)}function de(e,t,n={}){let{eventFilter:r,...i}=n,{eventFilter:a,pause:o,resume:s,isActive:c}=ce(r);return{stop:ue(e,t,{...i,eventFilter:a}),pause:o,resume:s,isActive:c}}function fe(e,t={}){if(!R(e))return E(e);let n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(let r in e.value)n[r]=p(()=>({get(){return e.value[r]},set(n){if(Y(t.replaceRef)??!0)if(Array.isArray(e.value)){let t=[...e.value];t[r]=n,e.value=t}else{let t={...e.value,[r]:n};Object.setPrototypeOf(t,Object.getPrototypeOf(e.value)),e.value=t}else e.value[r]=n}}));return n}function pe(e,t=!1){function n(n,{flush:r=`sync`,deep:i=!1,timeout:a,throwOnTimeout:o}={}){let s=null,c=[new Promise(a=>{s=l(e,e=>{n(e)!==t&&(s?.(),a(e))},{flush:r,deep:i,immediate:!0})})];return a!=null&&c.push(le(a,o).then(()=>Y(e)).finally(()=>s?.())),Promise.race(c)}function r(r,i){if(!R(r))return n(e=>e===r,i);let{flush:a=`sync`,deep:o=!1,timeout:s,throwOnTimeout:c}=i??{},u=null,d=[new Promise(n=>{u=l([e,r],([e,r])=>{t!==(e===r)&&(u?.(),n(e))},{flush:a,deep:o,immediate:!0})})];return s!=null&&d.push(le(s,c).then(()=>Y(e)).finally(()=>(u?.(),Y(e)))),Promise.race(d)}function i(e){return n(e=>!!e,e)}function a(e){return r(null,e)}function o(e){return r(void 0,e)}function s(e){return n(Number.isNaN,e)}function c(e,t){return n(t=>{let n=Array.from(t);return n.includes(e)||n.includes(Y(e))},t)}function u(e){return d(1,e)}function d(e=1,t){let r=-1;return n(()=>(r+=1,r>=e),t)}return Array.isArray(Y(e))?{toMatch:n,toContains:c,changed:u,changedTimes:d,get not(){return pe(e,!t)}}:{toMatch:n,toBe:r,toBeTruthy:i,toBeNull:a,toBeNaN:s,toBeUndefined:o,changed:u,changedTimes:d,get not(){return pe(e,!t)}}}function me(e){return pe(e)}function he(e){let t=Y(e);return t?.$el??t}var ge=te?window:void 0;function _e(...e){let t,n,r,i;if(typeof e[0]==`string`||Array.isArray(e[0])?([n,r,i]=e,t=ge):[t,n,r,i]=e,!t)return ae;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);let a=[],o=()=>{a.forEach(e=>e()),a.length=0},s=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),c=l(()=>[he(t),Y(i)],([e,t])=>{if(o(),!e)return;let i=ie(t)?{...t}:t;a.push(...n.flatMap(t=>r.map(n=>s(e,t,n,i))))},{immediate:!0,flush:`post`}),u=()=>{c(),o()};return J(u),u}function ve(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function ye(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=ge,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=ve(t);return _e(i,a,e=>{e.repeat&&Y(s)||c(e)&&n(e)},o)}function be(e){return JSON.parse(JSON.stringify(e))}function xe(e,t,n,r={}){let{clone:i=!1,passive:o=!1,eventName:s,deep:c=!1,defaultValue:u,shouldEmit:f}=r,p=a(),m=n||p?.emit||(p?.$emit)?.bind(p)||(p?.proxy?.$emit)?.bind(p?.proxy),h=s;t||=`modelValue`,h||=`update:${t.toString()}`;let g=e=>i?typeof i==`function`?i(e):be(e):e,_=()=>ne(e[t])?g(e[t]):u,v=e=>{f?f(e)&&m(h,e):m(h,e)};if(o){let n=U(_()),r=!1;return l(()=>e[t],e=>{r||(r=!0,n.value=g(e),d(()=>r=!1))}),l(n,n=>{!r&&(n!==e[t]||c)&&v(n)},{deep:c}),n}else return I({get(){return _()},set(e){v(e)}})}var Se={value:()=>{}};function Ce(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new we(n)}function we(e){this._=e}function Te(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}we.prototype=Ce.prototype={constructor:we,on:function(e,t){var n=this._,r=Te(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Ee(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=De(n[i],e.name,t);else if(t==null)for(i in n)n[i]=De(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new we(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function Ee(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function De(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=Se,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Oe=`http://www.w3.org/1999/xhtml`,ke={svg:`http://www.w3.org/2000/svg`,xhtml:Oe,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Ae(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),ke.hasOwnProperty(t)?{space:ke[t],local:e}:e}function je(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Oe&&t.documentElement.namespaceURI===Oe?t.createElement(e):t.createElementNS(n,e)}}function Me(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ne(e){var t=Ae(e);return(t.local?Me:je)(t)}function Pe(){}function Fe(e){return e==null?Pe:function(){return this.querySelector(e)}}function Ie(e){typeof e!=`function`&&(e=Fe(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Tn(r,this._parents)}function Le(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Re(){return[]}function ze(e){return e==null?Re:function(){return this.querySelectorAll(e)}}function Be(e){return function(){return Le(e.apply(this,arguments))}}function Ve(e){e=typeof e==`function`?Be(e):ze(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Tn(r,i)}function He(e){return function(){return this.matches(e)}}function Ue(e){return function(t){return t.matches(e)}}var We=Array.prototype.find;function Ge(e){return function(){return We.call(this.children,e)}}function Ke(){return this.firstElementChild}function qe(e){return this.select(e==null?Ke:Ge(typeof e==`function`?e:Ue(e)))}var Je=Array.prototype.filter;function Ye(){return Array.from(this.children)}function Xe(e){return function(){return Je.call(this.children,e)}}function Ze(e){return this.selectAll(e==null?Ye:Xe(typeof e==`function`?e:Ue(e)))}function Qe(e){typeof e!=`function`&&(e=He(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Tn(r,this._parents)}function $e(e){return Array(e.length)}function et(){return new Tn(this._enter||this._groups.map($e),this._parents)}function tt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}tt.prototype={constructor:tt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function nt(e){return function(){return e}}function rt(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new tt(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function it(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new tt(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function at(e){return e.__data__}function ot(e,t){if(!arguments.length)return Array.from(this,at);var n=t?it:rt,r=this._parents,i=this._groups;typeof e!=`function`&&(e=nt(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=st(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Tn(o,r),o._enter=s,o._exit=c,o}function st(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ct(){return new Tn(this._exit||this._groups.map($e),this._parents)}function lt(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function ut(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Tn(s,this._parents)}function dt(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ft(e){e||=pt;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Tn(i,this._parents).order()}function pt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function mt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ht(){return Array.from(this)}function gt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function _t(){let e=0;for(let t of this)++e;return e}function vt(){return!this.node()}function yt(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function bt(e){return function(){this.removeAttribute(e)}}function xt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function St(e,t){return function(){this.setAttribute(e,t)}}function Ct(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function wt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Tt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Et(e,t){var n=Ae(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?xt:bt:typeof t==`function`?n.local?Tt:wt:n.local?Ct:St)(n,t))}function Dt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ot(e){return function(){this.style.removeProperty(e)}}function kt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function At(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function jt(e,t,n){return arguments.length>1?this.each((t==null?Ot:typeof t==`function`?At:kt)(e,t,n??``)):Mt(this.node(),e)}function Mt(e,t){return e.style.getPropertyValue(t)||Dt(e).getComputedStyle(e,null).getPropertyValue(t)}function Nt(e){return function(){delete this[e]}}function Pt(e,t){return function(){this[e]=t}}function Ft(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function It(e,t){return arguments.length>1?this.each((t==null?Nt:typeof t==`function`?Ft:Pt)(e,t)):this.node()[e]}function Lt(e){return e.trim().split(/^|\s+/)}function Rt(e){return e.classList||new zt(e)}function zt(e){this._node=e,this._names=Lt(e.getAttribute(`class`)||``)}zt.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function Bt(e,t){for(var n=Rt(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Vt(e,t){for(var n=Rt(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Ht(e){return function(){Bt(this,e)}}function Ut(e){return function(){Vt(this,e)}}function Wt(e,t){return function(){(t.apply(this,arguments)?Bt:Vt)(this,e)}}function Gt(e,t){var n=Lt(e+``);if(arguments.length<2){for(var r=Rt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Wt:t?Ht:Ut)(n,t))}function Kt(){this.textContent=``}function qt(e){return function(){this.textContent=e}}function Jt(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Yt(e){return arguments.length?this.each(e==null?Kt:(typeof e==`function`?Jt:qt)(e)):this.node().textContent}function Xt(){this.innerHTML=``}function Zt(e){return function(){this.innerHTML=e}}function Qt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function $t(e){return arguments.length?this.each(e==null?Xt:(typeof e==`function`?Qt:Zt)(e)):this.node().innerHTML}function en(){this.nextSibling&&this.parentNode.appendChild(this)}function tn(){return this.each(en)}function nn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function rn(){return this.each(nn)}function an(e){var t=typeof e==`function`?e:Ne(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function on(){return null}function sn(e,t){var n=typeof e==`function`?e:Ne(e),r=t==null?on:typeof t==`function`?t:Fe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function cn(){var e=this.parentNode;e&&e.removeChild(this)}function ln(){return this.each(cn)}function un(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function dn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function fn(e){return this.select(e?dn:un)}function pn(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function mn(e){return function(t){e.call(this,t,this.__data__)}}function hn(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function gn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function _n(e,t,n){return function(){var r=this.__on,i,a=mn(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function vn(e,t,n){var r=hn(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?_n:gn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function yn(e,t,n){var r=Dt(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function bn(e,t){return function(){return yn(this,e,t)}}function xn(e,t){return function(){return yn(this,e,t.apply(this,arguments))}}function Sn(e,t){return this.each((typeof t==`function`?xn:bn)(e,t))}function*Cn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var wn=[null];function Tn(e,t){this._groups=e,this._parents=t}function En(){return new Tn([[document.documentElement]],wn)}function Dn(){return this}Tn.prototype=En.prototype={constructor:Tn,select:Ie,selectAll:Ve,selectChild:qe,selectChildren:Ze,filter:Qe,data:ot,enter:et,exit:ct,join:lt,merge:ut,selection:Dn,order:dt,sort:ft,call:mt,nodes:ht,node:gt,size:_t,empty:vt,each:yt,attr:Et,style:jt,property:It,classed:Gt,text:Yt,html:$t,raise:tn,lower:rn,append:an,insert:sn,remove:ln,clone:fn,datum:pn,on:vn,dispatch:Sn,[Symbol.iterator]:Cn};function On(e){return typeof e==`string`?new Tn([[document.querySelector(e)]],[document.documentElement]):new Tn([[e]],wn)}function kn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function An(e,t){if(e=kn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var jn={passive:!1},Mn={capture:!0,passive:!1};function Nn(e){e.stopImmediatePropagation()}function Pn(e){e.preventDefault(),e.stopImmediatePropagation()}function Fn(e){var t=e.document.documentElement,n=On(e).on(`dragstart.drag`,Pn,Mn);`onselectstart`in t?n.on(`selectstart.drag`,Pn,Mn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function In(e,t){var n=e.document.documentElement,r=On(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Pn,Mn),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Ln=e=>()=>e;function Rn(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Rn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function zn(e){return!e.ctrlKey&&!e.button}function Bn(){return this.parentNode}function Vn(e,t){return t??{x:e.x,y:e.y}}function Hn(){return navigator.maxTouchPoints||`ontouchstart`in this}function Un(){var e=zn,t=Bn,n=Vn,r=Hn,i={},a=Ce(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,jn).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(On(n.view).on(`mousemove.drag`,m,Mn).on(`mouseup.drag`,h,Mn),Fn(n.view),Nn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(Pn(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){On(e.view).on(`mousemove.drag mouseup.drag`,null),In(e.view,l),Pn(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Nn(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(Pn(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Nn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=An(l||r,t),p,m,h;if((h=n.call(e,new Rn(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=An(l||a,t),_=o;break}u.call(r,e,new Rn(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Ln(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Ln(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Ln(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Ln(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function Wn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Gn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Kn(){}var qn=.7,Jn=1/qn,Yn=`\\s*([+-]?\\d+)\\s*`,Xn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Zn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Qn=/^#([0-9a-f]{3,8})$/,$n=RegExp(`^rgb\\(${Yn},${Yn},${Yn}\\)$`),er=RegExp(`^rgb\\(${Zn},${Zn},${Zn}\\)$`),tr=RegExp(`^rgba\\(${Yn},${Yn},${Yn},${Xn}\\)$`),nr=RegExp(`^rgba\\(${Zn},${Zn},${Zn},${Xn}\\)$`),rr=RegExp(`^hsl\\(${Xn},${Zn},${Zn}\\)$`),ir=RegExp(`^hsla\\(${Xn},${Zn},${Zn},${Xn}\\)$`),ar={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Wn(Kn,ur,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:or,formatHex:or,formatHex8:sr,formatHsl:cr,formatRgb:lr,toString:lr});function or(){return this.rgb().formatHex()}function sr(){return this.rgb().formatHex8()}function cr(){return Cr(this).formatHsl()}function lr(){return this.rgb().formatRgb()}function ur(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Qn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?dr(t):n===3?new hr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?fr(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?fr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=$n.exec(e))?new hr(t[1],t[2],t[3],1):(t=er.exec(e))?new hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=tr.exec(e))?fr(t[1],t[2],t[3],t[4]):(t=nr.exec(e))?fr(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=rr.exec(e))?Sr(t[1],t[2]/100,t[3]/100,1):(t=ir.exec(e))?Sr(t[1],t[2]/100,t[3]/100,t[4]):ar.hasOwnProperty(e)?dr(ar[e]):e===`transparent`?new hr(NaN,NaN,NaN,0):null}function dr(e){return new hr(e>>16&255,e>>8&255,e&255,1)}function fr(e,t,n,r){return r<=0&&(e=t=n=NaN),new hr(e,t,n,r)}function pr(e){return e instanceof Kn||(e=ur(e)),e?(e=e.rgb(),new hr(e.r,e.g,e.b,e.opacity)):new hr}function mr(e,t,n,r){return arguments.length===1?pr(e):new hr(e,t,n,r??1)}function hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Wn(hr,mr,Gn(Kn,{brighter(e){return e=e==null?Jn:Jn**+e,new hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?qn:qn**+e,new hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hr(br(this.r),br(this.g),br(this.b),yr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gr,formatHex:gr,formatHex8:_r,formatRgb:vr,toString:vr}));function gr(){return`#${xr(this.r)}${xr(this.g)}${xr(this.b)}`}function _r(){return`#${xr(this.r)}${xr(this.g)}${xr(this.b)}${xr((isNaN(this.opacity)?1:this.opacity)*255)}`}function vr(){let e=yr(this.opacity);return`${e===1?`rgb(`:`rgba(`}${br(this.r)}, ${br(this.g)}, ${br(this.b)}${e===1?`)`:`, ${e})`}`}function yr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function br(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function xr(e){return e=br(e),(e<16?`0`:``)+e.toString(16)}function Sr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Tr(e,t,n,r)}function Cr(e){if(e instanceof Tr)return new Tr(e.h,e.s,e.l,e.opacity);if(e instanceof Kn||(e=ur(e)),!e)return new Tr;if(e instanceof Tr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Tr(o,s,c,e.opacity)}function wr(e,t,n,r){return arguments.length===1?Cr(e):new Tr(e,t,n,r??1)}function Tr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Wn(Tr,wr,Gn(Kn,{brighter(e){return e=e==null?Jn:Jn**+e,new Tr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?qn:qn**+e,new Tr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new hr(Or(e>=240?e-240:e+120,i,r),Or(e,i,r),Or(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Tr(Er(this.h),Dr(this.s),Dr(this.l),yr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=yr(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Er(this.h)}, ${Dr(this.s)*100}%, ${Dr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Er(e){return e=(e||0)%360,e<0?e+360:e}function Dr(e){return Math.max(0,Math.min(1,e||0))}function Or(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var kr=e=>()=>e;function Ar(e,t){return function(n){return e+n*t}}function jr(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Mr(e){return(e=+e)==1?Nr:function(t,n){return n-t?jr(t,n,e):kr(isNaN(t)?n:t)}}function Nr(e,t){var n=t-e;return n?Ar(e,n):kr(isNaN(e)?t:e)}var Pr=function e(t){var n=Mr(t);function r(e,t){var r=n((e=mr(e)).r,(t=mr(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Nr(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r}(1);function Fr(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Ir(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Lr(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Kr(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Rr(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function zr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Br(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Kr(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Vr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Hr=new RegExp(Vr.source,`g`);function Ur(e){return function(){return e}}function Wr(e){return function(t){return e(t)+``}}function Gr(e,t){var n=Vr.lastIndex=Hr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Vr.exec(e))&&(i=Hr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:zr(r,i)})),n=Hr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Wr(c[0].x):Ur(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Kr(e,t){var n=typeof t,r;return t==null||n===`boolean`?kr(t):(n===`number`?zr:n===`string`?(r=ur(t))?(t=r,Pr):Gr:t instanceof ur?Pr:t instanceof Date?Rr:Ir(t)?Fr:Array.isArray(t)?Lr:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Br:zr)(e,t)}var qr=180/Math.PI,Jr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*qr,skewX:Math.atan(c)*qr,scaleX:o,scaleY:s}}var Xr;function Zr(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Jr:Yr(t.a,t.b,t.c,t.d,t.e,t.f)}function Qr(e){return e==null||(Xr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Xr.setAttribute(`transform`,e),!(e=Xr.transform.baseVal.consolidate()))?Jr:(e=e.matrix,Yr(e.a,e.b,e.c,e.d,e.e,e.f))}function $r(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:zr(e,i)},{i:c-2,x:zr(r,a)})}else (i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:zr(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:zr(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:zr(e,n)},{i:s-2,x:zr(t,r)})}else (n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var ei=$r(Zr,`px, `,`px)`,`deg)`),ti=$r(Qr,`, `,`)`,`)`),ni=1e-12;function ri(e){return((e=Math.exp(e))+1/e)/2}function ii(e){return((e=Math.exp(e))-1/e)/2}function ai(e){return((e=Math.exp(2*e))-1)/(e+1)}var oi=function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<ni)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=ri(y),c=s/(n*g)*(i*ai(t*r+y)-ii(y));return[a+c*d,o+c*f,s*i/ri(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i}(Math.SQRT2,2,4),si=0,ci=0,li=0,ui=1e3,di,fi,pi=0,mi=0,hi=0,gi=typeof performance==`object`&&performance.now?performance:Date,_i=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function vi(){return mi||=(_i(yi),gi.now()+hi)}function yi(){mi=0}function bi(){this._call=this._time=this._next=null}bi.prototype=xi.prototype={constructor:bi,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?vi():+n)+(t==null?0:+t),!this._next&&fi!==this&&(fi?fi._next=this:di=this,fi=this),this._call=e,this._time=n,Ei()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ei())}};function xi(e,t,n){var r=new bi;return r.restart(e,t,n),r}function Si(){vi(),++si;for(var e=di,t;e;)(t=mi-e._time)>=0&&e._call.call(void 0,t),e=e._next;--si}function Ci(){mi=(pi=gi.now())+hi,si=ci=0;try{Si()}finally{si=0,Ti(),mi=0}}function wi(){var e=gi.now(),t=e-pi;t>ui&&(hi-=t,pi=e)}function Ti(){for(var e,t=di,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:di=n);fi=e,Ei(r)}function Ei(e){si||(ci&&=clearTimeout(ci),e-mi>24?(e<1/0&&(ci=setTimeout(Ci,e-gi.now()-hi)),li&&=clearInterval(li)):(li||=(pi=gi.now(),setInterval(wi,ui)),si=1,_i(Ci)))}function Di(e,t,n){var r=new bi;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var Oi=Ce(`start`,`end`,`cancel`,`interrupt`),ki=[],Ai=0,ji=1,Mi=2,Ni=3,Pi=4,Fi=5,Ii=6;function Li(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Vi(e,n,{name:t,index:r,group:i,on:Oi,tween:ki,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Ai})}function Ri(e,t){var n=Bi(e,t);if(n.state>Ai)throw Error(`too late; already scheduled`);return n}function zi(e,t){var n=Bi(e,t);if(n.state>Ni)throw Error(`too late; already running`);return n}function Bi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Vi(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=xi(a,0,n.time);function a(e){n.state=ji,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==ji)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===Ni)return Di(o);f.state===Pi?(f.state=Ii,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=Ii,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(Di(function(){n.state===Ni&&(n.state=Pi,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=Mi,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===Mi){for(n.state=Ni,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=Fi,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===Fi&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=Ii,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Hi(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>Mi&&r.state<Fi,r.state=Ii,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Ui(e){return this.each(function(){Hi(this,e)})}function Wi(e,t){var n,r;return function(){var i=zi(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Gi(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=zi(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Ki(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Bi(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Wi:Gi)(n,e,t))}function qi(e,t,n){var r=e._id;return e.each(function(){var e=zi(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Bi(e,r).value[t]}}function Ji(e,t){var n;return(typeof t==`number`?zr:t instanceof ur?Pr:(n=ur(t))?(t=n,Pr):Gr)(e,t)}function Yi(e){return function(){this.removeAttribute(e)}}function Xi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Zi(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Qi(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function $i(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function ea(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function ta(e,t){var n=Ae(e),r=n===`transform`?ti:Ji;return this.attrTween(e,typeof t==`function`?(n.local?ea:$i)(n,r,qi(this,`attr.`+e,t)):t==null?(n.local?Xi:Yi)(n):(n.local?Qi:Zi)(n,r,t))}function na(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function ra(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function ia(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&ra(e,i)),n}return i._value=t,i}function aa(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&na(e,i)),n}return i._value=t,i}function oa(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Ae(e);return this.tween(n,(r.local?ia:aa)(r,t))}function sa(e,t){return function(){Ri(this,e).delay=+t.apply(this,arguments)}}function ca(e,t){return t=+t,function(){Ri(this,e).delay=t}}function la(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?sa:ca)(t,e)):Bi(this.node(),t).delay}function ua(e,t){return function(){zi(this,e).duration=+t.apply(this,arguments)}}function da(e,t){return t=+t,function(){zi(this,e).duration=t}}function fa(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?ua:da)(t,e)):Bi(this.node(),t).duration}function pa(e,t){if(typeof t!=`function`)throw Error();return function(){zi(this,e).ease=t}}function ma(e){var t=this._id;return arguments.length?this.each(pa(t,e)):Bi(this.node(),t).ease}function ha(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();zi(this,e).ease=n}}function ga(e){if(typeof e!=`function`)throw Error();return this.each(ha(this._id,e))}function _a(e){typeof e!=`function`&&(e=He(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Ka(r,this._parents,this._name,this._id)}function va(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Ka(o,this._parents,this._name,this._id)}function ya(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ba(e,t,n){var r,i,a=ya(t)?Ri:zi;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function xa(e,t){var n=this._id;return arguments.length<2?Bi(this.node(),n).on.on(e):this.each(ba(n,e,t))}function Sa(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Ca(){return this.on(`end.remove`,Sa(this._id))}function wa(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Fe(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Li(l[f],t,n,f,l,Bi(u,n)));return new Ka(a,this._parents,t,n)}function Ta(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ze(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Bi(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Li(p,t,n,h,f,m);a.push(f),o.push(u)}return new Ka(a,o,t,n)}var Ea=En.prototype.constructor;function Da(){return new Ea(this._groups,this._parents)}function Oa(e,t){var n,r,i;return function(){var a=Mt(this,e),o=(this.style.removeProperty(e),Mt(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function ka(e){return function(){this.style.removeProperty(e)}}function Aa(e,t,n){var r,i=n+``,a;return function(){var o=Mt(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function ja(e,t,n){var r,i,a;return function(){var o=Mt(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Mt(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function Ma(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=zi(this,e),l=c.on,u=c.value[a]==null?s||=ka(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function Na(e,t,n){var r=(e+=``)==`transform`?ei:Ji;return t==null?this.styleTween(e,Oa(e,r)).on(`end.style.`+e,ka(e)):typeof t==`function`?this.styleTween(e,ja(e,r,qi(this,`style.`+e,t))).each(Ma(this._id,e)):this.styleTween(e,Aa(e,r,t),n).on(`end.style.`+e,null)}function Pa(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Fa(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&Pa(e,a,n)),r}return a._value=t,a}function Ia(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,Fa(e,t,n??``))}function La(e){return function(){this.textContent=e}}function Ra(e){return function(){var t=e(this);this.textContent=t??``}}function za(e){return this.tween(`text`,typeof e==`function`?Ra(qi(this,`text`,e)):La(e==null?``:e+``))}function Ba(e){return function(t){this.textContent=e.call(this,t)}}function Va(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Ba(r)),t}return r._value=e,r}function Ha(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Va(e))}function Ua(){for(var e=this._name,t=this._id,n=qa(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Bi(c,t);Li(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ka(r,this._parents,e,n)}function Wa(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=zi(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ga=0;function Ka(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function qa(){return++Ga}var Ja=En.prototype;Ka.prototype={constructor:Ka,select:wa,selectAll:Ta,selectChild:Ja.selectChild,selectChildren:Ja.selectChildren,filter:_a,merge:va,selection:Da,transition:Ua,call:Ja.call,nodes:Ja.nodes,node:Ja.node,size:Ja.size,empty:Ja.empty,each:Ja.each,on:xa,attr:ta,attrTween:oa,style:Na,styleTween:Ia,text:za,textTween:Ha,remove:Ca,tween:Ki,delay:la,duration:fa,ease:ma,easeVarying:ga,end:Wa,[Symbol.iterator]:Ja[Symbol.iterator]};function Ya(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Xa={time:null,delay:0,duration:250,ease:Ya};function Za(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Qa(e){var t,n;e instanceof Ka?(t=e._id,e=e._name):(t=qa(),(n=Xa).time=vi(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Li(c,e,t,l,o,n||Za(c,t));return new Ka(r,this._parents,e,t)}En.prototype.interrupt=Ui,En.prototype.transition=Qa;var $a=e=>()=>e;function eo(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function to(e,t,n){this.k=e,this.x=t,this.y=n}to.prototype={constructor:to,scale:function(e){return e===1?this:new to(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new to(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var no=new to(1,0,0);to.prototype;function ro(e){e.stopImmediatePropagation()}function io(e){e.preventDefault(),e.stopImmediatePropagation()}function ao(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function oo(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function so(){return this.__zoom||no}function co(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function lo(){return navigator.maxTouchPoints||`ontouchstart`in this}function uo(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function fo(){var e=ao,t=oo,n=uo,r=co,i=lo,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=oi,l=Ce(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,so).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,so),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(no.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new to(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new to(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new to(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=On(this.that).datum();l.call(e,this.that,new eo(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=An(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Hi(this),s.start();io(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=On(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=An(t,i),l=t.clientX,u=t.clientY;Fn(t.view),ro(t),a.mouse=[c,this.__zoom.invert(c)],Hi(this),a.start();function d(e){if(io(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=An(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),In(e.view,a.moved),io(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=An(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);io(r),s>0?On(this).transition().duration(s).call(x,d,c,r):On(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(ro(t),s=0;s<i;++s)c=r[s],l=An(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),Hi(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(io(e),s=0;s<a;++s)c=i[s],l=An(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(ro(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=An(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=On(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:$a(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:$a(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:$a(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:$a([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var X=(e=>(e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`,e))(X||{}),po=(e=>(e.Partial=`partial`,e.Full=`full`,e))(po||{}),mo=(e=>(e.Bezier=`default`,e.SimpleBezier=`simple-bezier`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e))(mo||{}),ho=(e=>(e.Strict=`strict`,e.Loose=`loose`,e))(ho||{}),go=(e=>(e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`,e))(go||{}),_o=(e=>(e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e))(_o||{}),vo=(e=>(e.TopLeft=`top-left`,e.TopCenter=`top-center`,e.TopRight=`top-right`,e.BottomLeft=`bottom-left`,e.BottomCenter=`bottom-center`,e.BottomRight=`bottom-right`,e))(vo||{}),yo=[`INPUT`,`SELECT`,`TEXTAREA`],bo=typeof document<`u`?document:null;function xo(e){let t=e.composedPath?.call(e)?.[0]||e.target,n=typeof t?.hasAttribute==`function`?t.hasAttribute(`contenteditable`):!1,r=typeof t?.closest==`function`?t.closest(`.nokey`):null;return yo.includes(t?.nodeName)||n||!!r}function So(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function Co(e,t,n,r){let i=t.replace(`+`,`
2
2
  `).replace(`
3
3
 
4
4
  `,`
@@ -10,22 +10,22 @@
10
10
  <link rel="preconnect" href="https://fonts.googleapis.com" />
11
11
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
12
12
  <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
13
- <script type="module" crossorigin src="/assets/index-ge5fGkLk.js"></script>
13
+ <script type="module" crossorigin src="/assets/index-DG6vgKD4.js"></script>
14
14
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CMxvf4Kt.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/monaco-BFLoT2VD.js">
16
- <link rel="modulepreload" crossorigin href="/assets/element-plus-DB-NeCl9.js">
17
- <link rel="modulepreload" crossorigin href="/assets/vendor-SOsdHF7M.js">
18
- <link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-CbbG2Bfw.js">
19
- <link rel="modulepreload" crossorigin href="/assets/socket-io-z4n873W1.js">
20
- <link rel="modulepreload" crossorigin href="/assets/vue-flow-D5lw7RxP.js">
21
- <link rel="modulepreload" crossorigin href="/assets/SvgIcon-gZB9aFAd.js">
22
- <link rel="modulepreload" crossorigin href="/assets/configStore-apbbX4nJ.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/element-plus-CL7fBdM_.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/vendor--LaaJk9m.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-AKtm5TQX.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/socket-io-C2w3MxRu.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/vue-flow-MtbKS8yD.js">
21
+ <link rel="modulepreload" crossorigin href="/assets/SvgIcon-CyjVBYCr.js">
22
+ <link rel="modulepreload" crossorigin href="/assets/configStore-CfU8l9be.js">
23
23
  <link rel="stylesheet" crossorigin href="/assets/monaco-B2lPvkrc.css">
24
- <link rel="stylesheet" crossorigin href="/assets/element-plus-R1nMzM9j.css">
25
- <link rel="stylesheet" crossorigin href="/assets/vendor-CT8e9rs3.css">
24
+ <link rel="stylesheet" crossorigin href="/assets/element-plus-Cu9Y2raX.css">
25
+ <link rel="stylesheet" crossorigin href="/assets/vendor-CCbwTgrE.css">
26
26
  <link rel="stylesheet" crossorigin href="/assets/vue-flow-CavUTEzp.css">
27
27
  <link rel="stylesheet" crossorigin href="/assets/SvgIcon-BQ6bR7l0.css">
28
- <link rel="stylesheet" crossorigin href="/assets/index-DuKALA-W.css">
28
+ <link rel="stylesheet" crossorigin href="/assets/index-CquDLWhf.css">
29
29
  </head>
30
30
  <body>
31
31
  <div id="app"></div>
@@ -254,13 +254,13 @@ export function registerFileOpenRoutes({
254
254
  if (!dirPath) {
255
255
  throw new HttpError(400, '目录路径不能为空');
256
256
  }
257
-
257
+
258
258
  try {
259
259
  await fs.access(dirPath);
260
260
  } catch (error) {
261
261
  throw new HttpError(400, `目录不存在或不可访问: ${dirPath}`);
262
262
  }
263
-
263
+
264
264
  try {
265
265
  await launchClaudeCode(dirPath, { permissionMode });
266
266
  const message = permissionMode
@@ -277,4 +277,33 @@ export function registerFileOpenRoutes({
277
277
  res.status(500).json({ success: false, error: error.message });
278
278
  }
279
279
  }));
280
+
281
+ // 检测本地工具是否已安装(供前端根据结果决定是否显示对应按钮)
282
+ // 检测方式: spawn 'tool --version',exit 0 即视为已安装
283
+ // 超时 3s 避免某个工具卡在 PATH 解析上时整个接口挂起
284
+ app.get('/api/check-tools', asyncRoute(async (req, res) => {
285
+ const checkCmd = (cmd) => new Promise((resolve) => {
286
+ const child = spawn(cmd, ['--version'], {
287
+ stdio: 'ignore',
288
+ shell: process.platform === 'win32',
289
+ });
290
+ let done = false;
291
+ const finish = (ok) => {
292
+ if (done) return;
293
+ done = true;
294
+ try { child.kill('SIGKILL'); } catch {}
295
+ resolve(ok);
296
+ };
297
+ child.on('error', () => finish(false));
298
+ child.on('exit', (code) => finish(code === 0));
299
+ setTimeout(() => finish(false), 3000);
300
+ });
301
+
302
+ const [vscode, claude] = await Promise.all([
303
+ checkCmd('code'),
304
+ checkCmd('claude'),
305
+ ]);
306
+
307
+ res.json({ success: true, vscode, claude });
308
+ }));
280
309
  }
@@ -1 +0,0 @@
1
- import{t as e}from"./ConsoleView-TOwRl0CE.js";export{e as default};
@@ -1 +0,0 @@
1
- .fullscreen-mode .log-header[data-v-cfee736c]{box-shadow:var(--shadow-md);margin-bottom:10px}.header-left[data-v-cfee736c]{align-items:center;gap:var(--spacing-lg);display:flex}.log-actions[data-v-cfee736c]{align-items:center;gap:var(--spacing-base);display:flex}.action-button[data-v-cfee736c]{padding:var(--spacing-sm) var(--spacing-base)}.action-button[data-v-cfee736c]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.icon-only-button[data-v-cfee736c]{min-width:unset!important;padding:var(--spacing-sm)!important;border-radius:6px!important;width:28px!important;height:28px!important}.content-area[data-v-cfee736c]{flex-direction:column;flex:1;height:calc(100% - 52px);min-height:100px;display:flex;overflow:auto}.content-area-content[data-v-cfee736c]{flex-direction:column;height:100%;display:flex}.log-empty-state[data-v-cfee736c]{justify-content:center;align-items:center;gap:var(--spacing-base);color:var(--text-tertiary);flex-direction:column;flex:1;display:flex}.log-empty-icon[data-v-cfee736c]{opacity:.5;font-size:40px}.log-empty-text[data-v-cfee736c]{font-size:var(--font-size-sm);color:var(--text-secondary)}.content-area.with-filter[data-v-cfee736c]{height:calc(100% - 112px);padding-top:0}.content-area>div[data-v-cfee736c]{flex-direction:column;flex:1;display:flex}.el-table[data-v-cfee736c]{border-radius:var(--radius-lg);overflow:hidden}[data-v-cfee736c] .el-table__header th{height:36px;font-weight:600;font-size:var(--font-size-sm)}[data-v-cfee736c] .el-table__row{cursor:pointer;transition:all .2s}[data-v-cfee736c] .el-table__cell{font-size:var(--font-size-sm);padding:0}.branch-container[data-v-cfee736c]{gap:var(--spacing-sm);margin-right:var(--spacing-sm);flex-wrap:wrap;flex-shrink:0;display:flex}.branch-tag[data-v-cfee736c]{border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:0 var(--spacing-sm);height:14px;margin-right:0;line-height:14px;transition:all .2s}.branch-tag[data-v-cfee736c]:hover{box-shadow:var(--shadow-sm);transform:scale(1.02)}.branch-tag[data-v-cfee736c]:active{transform:scale(.98)}.branch-tag[data-v-cfee736c]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.commit-count[data-v-cfee736c]{margin-bottom:var(--spacing-md);color:var(--text-secondary);text-align:right}.scale-info[data-v-cfee736c]{color:var(--text-secondary);padding:var(--spacing-sm) 10px;border-radius:var(--radius-base);border:1px solid var(--border-card)}.author-name[data-v-cfee736c]{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;font-size:var(--font-size-sm);display:inline-block;overflow:hidden}.commit-hash[data-v-cfee736c]{cursor:pointer;color:var(--commit-hash-fg);border-radius:var(--radius-sm);background-color:var(--commit-hash-bg);font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-weight:500;font-size:inherit;line-height:inherit;letter-spacing:.2px;-webkit-user-select:none;user-select:none;border:none;padding:2px 5px;font-size:11px;line-height:1.4;transition:all .2s;display:inline-block}.commit-hash[data-v-cfee736c]:hover{background-color:color-mix(in srgb, var(--commit-hash-bg) 70%, var(--color-primary) 30%);box-shadow:var(--shadow-sm);text-decoration:none}.commit-hash[data-v-cfee736c]:active{background-color:color-mix(in srgb, var(--commit-hash-bg) 50%, var(--color-primary) 50%);transform:scale(.96)}.commit-detail-container[data-v-cfee736c]{gap:var(--spacing-md);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.commit-info[data-v-cfee736c]{background:var(--bg-panel);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:var(--transition-all);flex-shrink:0}.commit-info-row[data-v-cfee736c]{gap:var(--spacing-2xl);flex-flow:wrap;align-items:center;display:flex}.info-item[data-v-cfee736c]{gap:var(--spacing-base);align-items:center;display:flex}.date-item[data-v-cfee736c]{flex-shrink:0}.message-item[data-v-cfee736c]{align-items:flex-start;gap:var(--spacing-base);flex-flow:wrap;flex:1;min-width:0;display:flex}.info-label[data-v-cfee736c]{color:var(--color-warning);white-space:nowrap;flex-shrink:0;font-weight:600}.info-value[data-v-cfee736c]{color:var(--text-primary);white-space:nowrap;font-weight:500}.info-message[data-v-cfee736c]{color:var(--text-primary);word-break:break-word;flex:1;line-height:1.6}.info-message-wrapper[data-v-cfee736c]{gap:var(--spacing-sm);flex-direction:column;flex:1;min-width:0;display:flex}.info-message-title[data-v-cfee736c]{color:var(--text-primary);word-break:break-word;font-weight:500;line-height:1.6}.info-message-body[data-v-cfee736c]{color:var(--text-primary);word-break:break-word;white-space:pre-wrap;padding-top:var(--spacing-sm);border-top:1px dashed var(--border-card);line-height:1.6}.info-message-toggle[data-v-cfee736c]{border:1px solid var(--border-card);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-primary);cursor:pointer;background:0 0;flex-shrink:0;align-self:center;align-items:center;gap:4px;padding:2px 8px;transition:all .2s;display:inline-flex}.info-message-toggle[data-v-cfee736c]:hover{background:var(--bg-panel);border-color:var(--color-primary)}.info-message-toggle-icon[data-v-cfee736c]{transition:transform .2s;display:inline-block}.info-message-toggle-icon.is-expanded[data-v-cfee736c]{transform:rotate(180deg)}[data-v-cfee736c] .commit-detail-dialog .el-dialog__body{background-color:var(--bg-container);flex-direction:column;display:flex;overflow:hidden}.diff-content[data-v-cfee736c]::-webkit-scrollbar{width:6px;height:6px}.files-list[data-v-cfee736c]::-webkit-scrollbar{width:6px;height:6px}.diff-content[data-v-cfee736c]::-webkit-scrollbar-thumb{border-radius:var(--radius-base);background-color:#9093994d}.files-list[data-v-cfee736c]::-webkit-scrollbar-thumb{border-radius:var(--radius-base);background-color:#9093994d}.diff-content[data-v-cfee736c]::-webkit-scrollbar-thumb:hover{background-color:#90939980}.files-list[data-v-cfee736c]::-webkit-scrollbar-thumb:hover{background-color:#90939980}.diff-content[data-v-cfee736c]::-webkit-scrollbar-track{background-color:#0000}.files-list[data-v-cfee736c]::-webkit-scrollbar-track{background-color:#0000}.diff-content[data-v-cfee736c],.files-list[data-v-cfee736c]{scrollbar-width:thin;scrollbar-color:#9093994d transparent}.filter-panel-header[data-v-cfee736c]{background-color:var(--bg-panel);padding:var(--spacing-sm);margin-bottom:var(--spacing-base);border-radius:var(--radius-lg);z-index:99;width:100%;transition:all .3s;position:sticky;top:36px;box-shadow:0 2px 12px #0000000d}.fullscreen-mode .filter-panel-header[data-v-cfee736c]{z-index:9;background-color:var(--bg-container);width:100%;box-shadow:var(--shadow-md);border-radius:0;position:sticky;top:60px}.filter-form[data-v-cfee736c]{gap:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.filter-item[data-v-cfee736c]{flex:1}.filter-actions[data-v-cfee736c]{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.filter-input[data-v-cfee736c]{width:100%}.filter-input.date-range[data-v-cfee736c]{width:100%;max-width:230px}[data-v-cfee736c] .el-range-editor.el-range-editor--small{width:230px!important;min-width:230px!important}[data-v-cfee736c] .el-date-editor.date-range{width:230px!important}.compact-label[data-v-cfee736c]{color:var(--text-tertiary);font-size:var(--font-size-sm);white-space:nowrap;border-right:1px solid var(--border-card);padding-right:var(--spacing-sm);margin-right:4px;font-weight:700}.filter-action-button[data-v-cfee736c]{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);min-width:60px;font-weight:500;transition:all .3s}.filter-action-button[data-v-cfee736c]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.table-view-container[data-v-cfee736c]{flex-direction:column;flex:1;height:100%;display:flex}.log-table[data-v-cfee736c]{flex:1;width:100%}.commit-message-cell[data-v-cfee736c]{align-items:center;min-height:26px;display:flex}.message-content[data-v-cfee736c]{align-items:center;gap:var(--spacing-base);width:100%;display:flex}.message-text[data-v-cfee736c]{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:var(--line-height-tight);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;cursor:default;flex:1;overflow:hidden}.message-text[data-v-cfee736c]:hover,[data-v-cfee736c] .el-table__cell{color:var(--text-primary)}.copy-message-btn[data-v-cfee736c]{opacity:0;padding:var(--spacing-sm);min-width:auto;height:auto;transition:opacity .2s}.commit-message-cell:hover .copy-message-btn[data-v-cfee736c]{opacity:1}.copy-message-btn[data-v-cfee736c]:hover{color:var(--color-primary)}.copy-hash-btn[data-v-cfee736c]{font-size:var(--font-size-sm);color:var(--text-secondary);transition:color .2s}.copy-hash-btn[data-v-cfee736c]:hover{color:var(--color-primary)}.fullscreen-mode .log-table[data-v-cfee736c]{height:100%}.load-more-container[data-v-cfee736c]{padding:var(--spacing-base) 0;border-top:1px dashed var(--border-card);align-items:center;gap:var(--spacing-base);flex-direction:column;display:flex}.pagination-info[data-v-cfee736c]{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-bottom:var(--spacing-sm)}@keyframes fadeIn-cfee736c{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.context-menu-item[data-v-cfee736c]{padding:10px var(--spacing-lg);cursor:pointer;list-style:none;transition:background-color .12s}.context-menu-item[data-v-cfee736c]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;background-color:var(--bg-hover)}.context-menu-item[data-v-cfee736c]{color:var(--text-secondary);align-items:center;transition:all .2s;display:flex}.context-menu-item[data-v-cfee736c]:hover{background-color:var(--bg-panel);color:var(--color-primary)}.context-menu-item i[data-v-cfee736c]{margin-right:var(--spacing-sm);font-size:var(--font-size-md)}.fullscreen-mode[data-v-cfee736c]{z-index:9999;width:100vw;height:100vh;box-shadow:none;background-color:var(--bg-container);border:none;border-radius:0;flex-direction:column;margin:0;display:flex;position:fixed;top:0;left:0;overflow:auto}.fullscreen-mode .log-header[data-v-cfee736c]{z-index:10;background-color:var(--bg-container);padding:var(--spacing-lg);width:100%;margin-bottom:10px;position:sticky;top:0}.fullscreen-mode .filter-panel-header[data-v-cfee736c]{z-index:9;background-color:var(--bg-container);width:100%;position:sticky;top:60px}.fullscreen-mode .content-area[data-v-cfee736c]{flex:1;height:100vh;max-height:none;overflow:auto}.fullscreen-mode .el-table[data-v-cfee736c]{height:calc(100vh - 60px)}.context-menu[data-v-cfee736c]{background:var(--bg-container);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:3000;min-width:200px;padding:6px 0;animation:.15s ease-out fadeIn-cfee736c;position:fixed}.fullscreen-context-menu[data-v-cfee736c]{z-index:999999}.icon-only-button[data-v-cfee736c]{min-width:unset;width:36px;height:36px;padding:var(--spacing-base);border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex}.icon-only-button .el-icon[data-v-cfee736c]{margin-right:0}.el-table .el-table__cell .cell{word-break:break-all}.el-popper.commit-message-tooltip{max-width:480px;line-height:1.5}.el-popper.commit-message-tooltip .el-tooltip__content{white-space:pre-wrap;word-break:break-word}
@@ -1,7 +0,0 @@
1
- import"./rolldown-runtime-CMxvf4Kt.js";import{B as e,Cn as t,Fn as n,G as r,Jn as i,L as a,Ln as o,Mn as s,O as ee,R as te,Sn as c,Tn as ne,Vn as re,W as ie,Xn as l,Y as ae,Zn as oe,_n as u,_r as d,a as f,cn as p,ct as se,gn as m,gr as ce,gt as le,h,hn as g,i as ue,ln as _,m as de,mn as v,mr as y,o as fe,pr as b,pt as pe,sn as me,sr as x,un as he,vn as S,xt as ge,z as _e,zn as C,zt as ve}from"./element-plus-DB-NeCl9.js";import{n as w,t as ye}from"./_plugin-vue_export-helper-CbbG2Bfw.js";import{b as be,d as xe,g as Se,u as Ce,v as we}from"./index-ge5fGkLk.js";var Te={class:`log-header`},Ee={class:`header-left`},De={class:`log-actions`},Oe={key:1,viewBox:`0 0 24 24`,width:`1em`,height:`1em`,fill:`currentColor`,style:{display:`block`}},ke={key:0,class:`filter-panel-header`},Ae={class:`filter-form`},je={class:`filter-item`},Me={class:`compact-label`},Ne={class:`filter-item`},Pe={class:`compact-label`},Fe={class:`filter-item`},Ie={class:`compact-label`},Le={class:`filter-item`},Re={class:`compact-label`},ze={class:`filter-actions`},Be={key:0,role:`alert`,class:`log-error`},Ve={key:1,class:`log-empty-state`},He={class:`log-empty-text`},Ue={key:2,class:`content-area-content`},We={class:`table-view-container`},Ge={class:`commit-message-cell`},Ke={class:`message-content`},qe={key:0,class:`branch-container`},Je={class:`message-text`},Ye={class:`author-name`},Xe=[`title`,`aria-label`,`onClick`],Ze={class:`commit-detail-container`},Qe={key:0,class:`commit-info`},$e={class:`commit-info-row`},et={class:`info-item date-item`},tt={class:`info-label`},nt={class:`info-value`},rt={class:`info-item message-item`},it={class:`info-label`},at={class:`info-message-wrapper`},ot={class:`info-message-title`},st=[`innerHTML`],ct=[`aria-label`,`onKeydown`],T=ye(ne({__name:`LogList`,setup(ne,{expose:ye}){let T=we(),E=x([]),D=x(``),lt=x(!1),O=v(()=>T.isLoadingLog||lt.value),k=x(!1),A=x(!1),ut=x(null),dt=x(!1),j=x(null),M=x([]),N=x(``),P=x(!1),F=x(``),I=x(`full-new`),L=x(``),R=x(``),z=x(!1),ft=v(()=>j.value?.message?j.value.message.split(`
2
- `)[0].trim():``),pt=v(()=>j.value?.message?j.value.message.split(`
3
- `).slice(1).join(`
4
- `).trim():``),mt=v(()=>pt.value.length>0),ht=v(()=>pt.value.replace(/\n/g,`<br>`)),B=x(!1),V=x([]),H=x(``),U=x(null),gt=x([]),W=x([]),_t=x([]),G=x(!1),vt=x(0),yt=x(0),K=x(null),q=x(null),bt=v(()=>E.value),xt=v(()=>M.value.map(e=>({path:e,name:e.split(`/`).pop()||e})));async function J(e=!1,t=1){let n=we();if(!n.isGitRepo){D.value=`当前目录不是Git仓库`;return}try{t>1?A.value=!0:lt.value=!0;let r=new URLSearchParams;r.append(`page`,t.toString()),r.append(`all`,e.toString()),r.append(`with_parents`,`true`),V.value.length>0&&r.append(`author`,V.value.join(`,`)),W.value.length>0&&r.append(`branch`,W.value.join(`,`)),H.value&&r.append(`message`,H.value),U.value&&Array.isArray(U.value)&&U.value.length===2&&(r.append(`dateFrom`,U.value[0]),r.append(`dateTo`,U.value[1])),r.append(`_t`,Date.now().toString());let i=await(await fetch(`/api/log?${r.toString()}`)).json();if(!i||!i.data||!Array.isArray(i.data)){D.value=`加载提交历史失败: 服务器返回数据格式不正确`;return}let a=t>1;a&&Array.isArray(i.data)?E.value=E.value.concat(i.data):Array.isArray(i.data)&&(E.value=i.data),n.currentPage=t,n.totalCommits=i.total??E.value.length,n.hasMoreData=i.hasMore===!0,!a&&!e&&s(()=>{Dt(),setTimeout(nn,200)}),D.value=``}catch(e){D.value=`加载提交历史失败: `+(e instanceof Error?e.message:String(e)),t>1&&(n.hasMoreData=!1)}finally{t>1?A.value=!1:lt.value=!1}}function St(e){return e.includes(`HEAD -> `)?e.replace(`HEAD -> `,``):e.includes(`origin/`)?e:e.trim()}function Ct(e){return e.includes(`HEAD`)?`success`:e.includes(`origin/`)?`warning`:`info`}function wt(e){return e?e.length>60?!0:e.includes(`
5
- `):!1}let Y=x(null),X=x(null),Z=null;function Tt(e){Z===null&&(Z=requestAnimationFrame(()=>{Z=null,Et(e)}))}function Et(e){if(!T.hasMoreData||A.value||O.value)return;let{scrollTop:t,scrollHeight:n,clientHeight:r}=e.target;n-t-r<=20&&Ut()}function Dt(){if(!Y.value)return;let e=Y.value.$el.querySelector(`.el-table__body-wrapper`);e&&(X.value=e,X.value&&(X.value.removeEventListener(`scroll`,Tt,!0),X.value.addEventListener(`scroll`,Tt,!0)))}function Ot(){X.value&&=(X.value.removeEventListener(`scroll`,Tt,!0),null),Z!==null&&(cancelAnimationFrame(Z),Z=null)}function kt(e){e.key===`Escape`&&$.value&&($.value=!1)}o(()=>{T.isGitRepo?(T.log.length>0?(E.value=T.log,T.totalCommits=T.log.length):J(),Kt()):D.value=`当前目录不是Git仓库`,s(()=>{setTimeout(()=>{Dt()},500)}),i(()=>Y.value,e=>{e&&!k.value&&s(()=>{Dt()})}),window.addEventListener(`keydown`,kt)}),i(()=>T.allBranches,e=>{e&&e.length>0?_t.value=[...e].sort():_t.value=[]},{immediate:!0}),n(()=>{Ot(),ut.value!==null&&(window.clearInterval(ut.value),ut.value=null),window.removeEventListener(`keydown`,kt)});async function Q(){T.currentPage=1,T.hasMoreData=!0,await J(k.value,1),s(()=>{if(Y.value){let e=Y.value.$el.querySelector(`.el-scrollbar__wrap`);e&&(e.scrollTop=0)}})}i(()=>T.log,e=>{try{Array.isArray(e)&&(E.value=e),T.totalCommits=E.value.length,T.currentPage=1,T.hasMoreData=!1}catch{}},{immediate:!0}),ye({refreshLog:Q});async function At(e){if(e){j.value=e,dt.value=!0,P.value=!0,M.value=[],N.value=``,F.value=``,I.value=`full-new`,L.value=``,R.value=``,z.value=!1;try{if(!e.hash||e.hash.length<7){N.value=`无效的提交哈希值`,P.value=!1;return}let t=await(await fetch(`/api/commit-files?hash=${e.hash}`)).json();t.success&&Array.isArray(t.files)?(M.value=t.files,M.value.length>0?await Pt(e.hash,M.value[0]):N.value=`该提交没有变更文件`):N.value=`${w(`@A1833:获取文件列表失败: `)}${t.error||`未知错误`}`}catch(e){N.value=`${w(`@A1833:获取提交详情失败: `)}${e.message}`}finally{P.value=!1}}}async function jt(e,t,n){P.value=!0,F.value=t;try{let r=await(await fetch(`/api/commit-file-content?hash=${e}&file=${encodeURIComponent(t)}&version=${n}`)).json();r.success?N.value=r.content||``:N.value=`${w(`@A1833:获取文件内容失败: `)}${r.error||`未知错误`}`}catch(e){N.value=`${w(`@A1833:获取文件内容失败: `)}${e.message}`}finally{P.value=!1}}async function Mt(e,t){P.value=!0,F.value=t;try{let[n,r]=await Promise.all([fetch(`/api/commit-file-content?hash=${e}&file=${encodeURIComponent(t)}&version=old`),fetch(`/api/commit-file-content?hash=${e}&file=${encodeURIComponent(t)}&version=new`)]),[i,a]=await Promise.all([n.json(),r.json()]);L.value=i?.success?i.content||``:`${w(`@A1833:获取文件内容失败: `)}${i?.error||`未知错误`}`,R.value=a?.success?a.content||``:`${w(`@A1833:获取文件内容失败: `)}${a?.error||`未知错误`}`,N.value=``}catch(e){let t=`${w(`@A1833:获取文件内容失败: `)}${e.message}`;L.value=t,R.value=t,N.value=``}finally{P.value=!1}}async function Nt(e,t,n){I.value=n,n===`diff`?(L.value=``,R.value=``,await Ft(e,t)):n===`full-old`?(L.value=``,R.value=``,await jt(e,t,`old`)):(L.value=``,R.value=``,await jt(e,t,`new`))}async function Pt(e,t){I.value=`full-new`,await Mt(e,t)}async function Ft(e,t){P.value=!0,F.value=t;try{let n=await(await fetch(`/api/commit-file-diff?hash=${e}&file=${encodeURIComponent(t)}`)).json();n.success?N.value=n.diff||`没有变更内容`:N.value=`${w(`@A1833:获取差异失败: `)}${n.error||`未知错误`}`}catch(e){N.value=`${w(`@A1833:获取差异失败: `)}${e.message}`}finally{P.value=!1}}function It(e){j.value&&(I.value===`diff`?Nt(j.value.hash,e,`diff`):Pt(j.value.hash,e))}function Lt(){if(!j.value||!F.value){I.value=`diff`;return}Nt(j.value.hash,F.value,`diff`)}function Rt(){if(!j.value||!F.value){I.value=`full-new`;return}Pt(j.value.hash,F.value)}async function zt(){if(!j.value||!F.value)return;let e=N.value;if(!e)try{e=(await(await fetch(`/api/commit-file-diff?hash=${j.value.hash}&file=${encodeURIComponent(F.value)}`)).json()).diff||``}catch{}e&&navigator.clipboard.writeText(e).then(()=>{f.success(w(`@A1833:差异已复制到剪贴板`))}).catch(()=>{f.error(w(`@A1833:复制失败`))})}async function Bt(e,t){try{let n=await(await fetch(`/api/open-file`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e,context:t})})).json();n.success?f.success(n.message):f.error(n.error||w(`@A1833:打开文件失败`))}catch(e){f.error(`${w(`@A1833:打开文件失败: `)}${e.message}`)}}async function Vt(e,t){try{let n=await(await fetch(`/api/open-with-vscode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e,context:t})})).json();n.success?f.success(n.message):f.error(n.error||w(`@A1833:用VSCode打开文件失败`))}catch(e){f.error(`${w(`@A1833:用VSCode打开文件失败: `)}${e.message}`)}}async function Ht(e){try{let t=Se(e);await navigator.clipboard.writeText(t),f.success(w(`@A1833:提交信息已复制到剪贴板`))}catch{f.error(w(`@A1833:复制失败`))}}function Ut(){!T.hasMoreData||A.value||O.value||J(k.value,T.currentPage+1)}function Wt(){V.value=[],W.value=[],H.value=``,U.value=null,T.currentPage=1,J(k.value,1)}function Gt(){T.currentPage=1,J(k.value,1)}async function Kt(){try{let e=await(await fetch(`/api/authors`)).json();e.success&&Array.isArray(e.authors)?gt.value=e.authors.sort():qt()}catch{qt()}}function qt(){let e=new Set;E.value.forEach(t=>{t.author&&e.add(t.author)}),gt.value=Array.from(e).sort()}i(()=>E.value,()=>{},{deep:!0});function Jt(e,t,n){n.preventDefault(),vt.value=n.clientY,yt.value=n.clientX,K.value=e,G.value=!0,s(()=>{let e=q.value;if(e){let t=e.getBoundingClientRect(),r=window.innerWidth,i=window.innerHeight,a=n.clientX,o=n.clientY;a+t.width>r&&(a=Math.max(8,n.clientX-t.width)),o+t.height>i&&(o=Math.max(8,n.clientY-t.height)),yt.value=a,vt.value=o}});let r=()=>{G.value=!1,document.removeEventListener(`click`,r)};setTimeout(()=>{document.addEventListener(`click`,r)},0),s(()=>{let e=q.value?.querySelectorAll(`[role="menuitem"]`);e&&e.length>0&&e[0].focus()})}function Yt(){G.value=!1,document.removeEventListener(`click`,()=>{})}function Xt(e){let t=q.value?.querySelectorAll(`[role="menuitem"]`);if(!t||t.length===0)return;let n=document.activeElement;t[((n?Array.from(t).indexOf(n):-1)+e+t.length)%t.length].focus()}async function Zt(e){if(e)try{await ue.confirm(`${w(`@A1833:确定要撤销提交 `)}${e.hash.substring(0,7)}${w(`@A1833: 吗?这将创建一个新的提交来撤销这次提交的更改。`)}`,`撤销提交确认`,{confirmButtonText:`确认`,cancelButtonText:`取消`,type:`warning`});let t=await(await fetch(`/api/revert-commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({hash:e.hash})})).json();t.success?(f.success(t.message||`已成功撤销提交`),Q(),T.fetchStatus(),T.getBranchStatus()):f.error(t.error||`撤销提交失败`)}catch(e){e!==`cancel`&&f.error(`撤销提交失败: `+(e.message||e))}}async function Qt(e){if(e)try{await ue.confirm(`${w(`@A1833:确定要将提交 `)}${e.hash.substring(0,7)}${w(`@A1833: Cherry-Pick 到当前分支吗?`)}`,`Cherry-Pick确认`,{confirmButtonText:`确认`,cancelButtonText:`取消`,type:`warning`});let t=await(await fetch(`/api/cherry-pick-commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({hash:e.hash})})).json();t.success?(f.success(t.message||`已成功Cherry-Pick提交`),Q(),T.fetchStatus(),T.getBranchStatus()):f.error(t.error||`Cherry-Pick提交失败`)}catch(e){e!==`cancel`&&f.error(`Cherry-Pick提交失败: `+(e.message||e))}}async function $t(e){if(e)try{let t=await(await fetch(`/api/commit-diff-full?hash=${encodeURIComponent(e.hash)}`)).json();if(!t.success){f.error(`${w(`@A1833:复制提交内容失败: `)}${t.error}`);return}await navigator.clipboard.writeText(t.content),f.success(`${w(`@A1833:已复制提交内容: `)}${e.hash.substring(0,7)}`)}catch(e){f.error(`${w(`@A1833:复制提交内容失败: `)}${e.message}`)}}async function en(e){if(e)try{await navigator.clipboard.writeText(e.hash),f.success(`${w(`@A1833:已复制提交哈希: `)}${e.hash.substring(0,7)}`)}catch(e){f.error(`${w(`@A1833:复制提交哈希失败: `)}${e.message}`)}}async function tn(e){if(e)try{await ue.confirm(`${w(`@A1833:确定要将当前分支重置(hard)到提交 `)}${e.hash.substring(0,7)} 吗?
6
-
7
- 警告:这将丢失该提交之后的所有更改!`,`重置确认`,{confirmButtonText:`确认重置`,cancelButtonText:`取消`,type:`warning`,dangerouslyUseHTMLString:!0});let t=await(await fetch(`/api/reset-to-commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({hash:e.hash})})).json();t.success?(f.success(t.message||`已成功重置到指定提交`),Q(),T.fetchStatus(),T.getBranchStatus()):f.error(t.error||`重置到指定提交失败`)}catch(e){e!==`cancel`&&f.error(`重置到指定提交失败: `+(e.message||e))}}function nn(){if(!T.hasMoreData||A.value||O.value||k.value)return;if(!X.value){Dt();return}let{scrollTop:e,scrollHeight:t,clientHeight:n}=X.value;t-e-n<=50&&Ut()}let $=x(!1);function rn(){$.value=!$.value}return(n,i)=>{let o=ae,s=r,ne=fe;return C(),S(he,null,[g(`div`,{class:y([`card`,{"fullscreen-mode":$.value}])},[g(`div`,Te,[g(`div`,Ee,[g(`h2`,null,d(b(w)(`@A1833:提交历史`)),1)]),g(`div`,De,[t(be,{tooltip:B.value?b(w)(`@A1833:隐藏筛选`):b(w)(`@A1833:显示筛选`),active:B.value,"custom-class":`filter-button`,onClick:i[0]||=e=>B.value=!B.value},{default:l(()=>[t(o,null,{default:l(()=>[t(b(le))]),_:1})]),_:1},8,[`tooltip`,`active`]),t(be,{tooltip:$.value?b(w)(`@A1833:退出全屏`):b(w)(`@A1833:全屏显示`),active:$.value,"custom-class":`fullscreen-button`,onClick:rn},{default:l(()=>[$.value?(C(),S(`svg`,Oe,[...i[17]||=[g(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])):(C(),m(o,{key:0},{default:l(()=>[t(b(ge))]),_:1}))]),_:1},8,[`tooltip`,`active`]),t(be,{tooltip:b(w)(`@A1833:刷新日志`),"custom-class":`refresh-button`,onClick:i[1]||=e=>Q()},{default:l(()=>[t(o,null,{default:l(()=>[t(b(ve))]),_:1})]),_:1},8,[`tooltip`])])]),B.value?(C(),S(`div`,ke,[g(`div`,Ae,[g(`div`,je,[t(b(te),{modelValue:V.value,"onUpdate:modelValue":i[2]||=e=>V.value=e,placeholder:b(w)(`@A1833:选择作者`),multiple:``,clearable:``,filterable:``,class:`filter-input`,size:`small`},{prefix:l(()=>[g(`span`,Me,d(b(w)(`@A1833:作者`)),1)]),default:l(()=>[(C(!0),S(he,null,re(gt.value,e=>(C(),m(b(a),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),g(`div`,Ne,[t(b(te),{modelValue:W.value,"onUpdate:modelValue":i[3]||=e=>W.value=e,placeholder:b(w)(`@A1833:选择分支`),multiple:``,clearable:``,filterable:``,class:`filter-input`,size:`small`},{prefix:l(()=>[g(`span`,Pe,d(b(w)(`@A1833:分支`)),1)]),default:l(()=>[(C(!0),S(he,null,re(_t.value,e=>(C(),m(b(a),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),g(`div`,Fe,[t(b(ie),{modelValue:H.value,"onUpdate:modelValue":i[4]||=e=>H.value=e,placeholder:b(w)(`@A1833:提交信息关键词`),clearable:``,class:`filter-input`,size:`small`,onKeyup:p(Gt,[`enter`])},{prefix:l(()=>[g(`span`,Ie,d(b(w)(`@A1833:信息`)),1)]),_:1},8,[`modelValue`,`placeholder`])]),g(`div`,Le,[t(b(ee),{modelValue:U.value,"onUpdate:modelValue":i[5]||=e=>U.value=e,type:`daterange`,"range-separator":b(w)(`@A1833:至`),"start-placeholder":b(w)(`@A1833:开始日期`),"end-placeholder":b(w)(`@A1833:结束日期`),format:`YYYY-MM-DD`,"value-format":`YYYY-MM-DD`,class:`filter-input date-range`,size:`small`},{prefix:l(()=>[g(`span`,Re,d(b(w)(`@A1833:日期`)),1)]),_:1},8,[`modelValue`,`range-separator`,`start-placeholder`,`end-placeholder`])]),g(`div`,ze,[t(b(e),{type:`primary`,size:`small`,onClick:Gt,class:`filter-action-button`},{default:l(()=>[c(d(b(w)(`@A1833:应用`)),1)]),_:1}),t(b(e),{type:`info`,size:`small`,onClick:Wt,class:`filter-action-button`},{default:l(()=>[c(d(b(w)(`@A1833:重置`)),1)]),_:1})])])])):u(``,!0),g(`div`,{class:y([`content-area`,{"with-filter":B.value}])},[D.value&&b(T).isGitRepo?(C(),S(`div`,Be,d(D.value),1)):b(T).isGitRepo?(C(),S(`div`,Ue,[g(`div`,We,[oe((C(),m(b(de),{ref_key:`tableRef`,ref:Y,data:bt.value,stripe:``,border:``,size:`small`,class:`log-table compact-table`,"empty-text":O.value?b(w)(`@A1833:加载中...`):b(w)(`@A1833:没有匹配的提交记录`),height:`450`,onRowContextmenu:Jt,onRowClick:i[6]||=e=>At(e)},{default:l(()=>[t(b(h),{label:b(w)(`@A1833:提交信息`),"min-width":`300`},{default:l(n=>[g(`div`,Ge,[g(`div`,Ke,[n.row.branch?(C(),S(`div`,qe,[(C(!0),S(he,null,re(n.row.branch.split(`,`),(e,t)=>(C(),m(b(_e),{key:t,size:`small`,type:Ct(e),class:`branch-tag`},{default:l(()=>[c(d(St(e)),1)]),_:2},1032,[`type`]))),128))])):u(``,!0),n.row.message?(C(),m(s,{key:1,content:n.row.message,placement:`top`,"show-after":350,disabled:!wt(n.row.message),"popper-class":`commit-message-tooltip`},{default:l(()=>[g(`span`,Je,d(n.row.message),1)]),_:2},1032,[`content`,`disabled`])):u(``,!0),t(b(e),{icon:b(se),size:`small`,onClick:_(e=>Ht(n.row.message),[`stop`]),class:`copy-message-btn`,title:b(w)(`@A1833:复制纯净提交信息(不含类型前缀)`),"aria-label":b(w)(`@A1833:复制纯净提交信息(不含类型前缀)`)},null,8,[`icon`,`onClick`,`title`,`aria-label`])])])]),_:1},8,[`label`]),t(b(h),{prop:`date`,label:b(w)(`@A1833:日期`),"min-width":`130`,width:`150`,resizable:``},null,8,[`label`]),t(b(h),{label:b(w)(`@A1833:作者`),"min-width":`90`,width:`120`,resizable:``},{default:l(e=>[t(s,{content:e.row.email,placement:`top`,"show-after":200},{default:l(()=>[g(`span`,Ye,d(e.row.author),1)]),_:2},1032,[`content`])]),_:1},8,[`label`]),t(b(h),{label:b(w)(`@A1833:哈希`),"min-width":`78`,width:`78`,align:`center`,resizable:``},{default:l(e=>[t(s,{content:e.row.hash,placement:`top`,"show-after":300},{default:l(()=>[g(`button`,{type:`button`,class:`commit-hash`,title:b(w)(`@A1833:点击复制完整哈希`),"aria-label":b(w)(`@A1833:复制提交哈希 {hash}`,{hash:e.row.hash.substring(0,7)}),onClick:_(t=>en(e.row),[`stop`])},d(e.row.hash.substring(0,7)),9,Xe)]),_:2},1032,[`content`])]),_:1},8,[`label`])]),_:1},8,[`data`,`empty-text`])),[[ne,O.value]])])])):(C(),S(`div`,Ve,[t(o,{class:`log-empty-icon`},{default:l(()=>[t(b(pe))]),_:1}),g(`span`,He,d(b(w)(`@A1833:暂无提交记录`)),1)]))],2),t(Ce,{modelValue:dt.value,"onUpdate:modelValue":i[8]||=e=>dt.value=e,title:`${b(w)(`@A1833:提交详情: `)}${j.value?.hash?j.value.hash:b(w)(`@A1833:未知`)}`,size:`fullscreen`,type:`flex`,heightMode:`fixed`,"destroy-on-close":``,"custom-class":`commit-detail-dialog`},{default:l(()=>[oe((C(),S(`div`,Ze,[j.value?(C(),S(`div`,Qe,[g(`div`,$e,[g(`div`,et,[g(`span`,tt,d(b(w)(`@A1833:日期`)),1),g(`span`,nt,d(j.value.date),1)]),g(`div`,rt,[g(`span`,it,d(b(w)(`@A1833:提交信息`)),1),g(`div`,at,[g(`div`,ot,d(ft.value),1),z.value&&mt.value?(C(),S(`div`,{key:0,class:`info-message-body`,innerHTML:ht.value},null,8,st)):u(``,!0)]),mt.value?(C(),S(`button`,{key:0,class:`info-message-toggle`,onClick:i[7]||=e=>z.value=!z.value},[c(d(z.value?b(w)(`@A1833:收起`):b(w)(`@A1833:展开`))+` `,1),g(`span`,{class:y([`info-message-toggle-icon`,{"is-expanded":z.value}])},`▾`,2)])):u(``,!0)])])])):u(``,!0),t(xe,{files:xt.value,loading:P.value,diffContent:N.value,selectedFile:F.value,plainText:!1,compareMode:I.value!==`diff`,compareOriginal:L.value,compareModified:R.value,context:`commit-detail`,emptyText:b(w)(`@A1833:没有找到变更文件`),onFileSelect:It,onOpenFile:Bt,onOpenWithVscode:Vt},{"header-extra":l(()=>[t(b(e),{size:`small`,type:I.value===`diff`?`primary`:`default`,onClick:Lt},{default:l(()=>[c(d(b(w)(`@A1833:仅显示差异`)),1)]),_:1},8,[`type`]),t(b(e),{size:`small`,type:I.value===`diff`?`default`:`primary`,onClick:Rt},{default:l(()=>[c(d(b(w)(`@A1833:显示完整对比`)),1)]),_:1},8,[`type`]),t(b(e),{size:`small`,disabled:!F.value,onClick:zt},{default:l(()=>[c(d(b(w)(`@A1833:复制差异`)),1)]),_:1},8,[`disabled`])]),_:1},8,[`files`,`loading`,`diffContent`,`selectedFile`,`compareMode`,`compareOriginal`,`compareModified`,`emptyText`])])),[[ne,P.value]])]),_:1},8,[`modelValue`,`title`])],2),oe(g(`ul`,{class:y([`context-menu`,{"fullscreen-context-menu":$.value}]),style:ce({top:vt.value+`px`,left:yt.value+`px`}),ref_key:`contextMenuRef`,ref:q,role:`menu`,"aria-label":b(w)(`@A1833:提交操作菜单`),onKeydown:[p(_(Yt,[`prevent`]),[`esc`]),i[15]||=p(_(e=>Xt(1),[`prevent`]),[`down`]),i[16]||=p(_(e=>Xt(-1),[`prevent`]),[`up`])]},[g(`li`,{class:`context-menu-item`,role:`menuitem`,tabindex:`-1`,onClick:i[9]||=e=>At(K.value)},[i[18]||=g(`i`,{class:`el-icon-view`,"aria-hidden":`true`},null,-1),c(` `+d(b(w)(`@A1833:查看详情`)),1)]),g(`li`,{class:`context-menu-item`,role:`menuitem`,tabindex:`-1`,onClick:i[10]||=e=>en(K.value)},[i[19]||=g(`i`,{class:`el-icon-document-copy`,"aria-hidden":`true`},null,-1),c(` `+d(b(w)(`@A1833:复制提交哈希`)),1)]),g(`li`,{class:`context-menu-item`,role:`menuitem`,tabindex:`-1`,onClick:i[11]||=e=>$t(K.value)},[i[20]||=g(`i`,{class:`el-icon-document`,"aria-hidden":`true`},null,-1),c(` `+d(b(w)(`@A1833:复制提交内容`)),1)]),g(`li`,{class:`context-menu-item`,role:`menuitem`,tabindex:`-1`,onClick:i[12]||=e=>tn(K.value)},[i[21]||=g(`i`,{class:`el-icon-refresh-right`,"aria-hidden":`true`},null,-1),c(` `+d(b(w)(`@A1833:重置到该提交(hard)`)),1)]),g(`li`,{class:`context-menu-item`,role:`menuitem`,tabindex:`-1`,onClick:i[13]||=e=>Zt(K.value)},[i[22]||=g(`i`,{class:`el-icon-delete`,"aria-hidden":`true`},null,-1),c(` `+d(b(w)(`@A1833:撤销提交 (Revert)`)),1)]),g(`li`,{class:`context-menu-item`,role:`menuitem`,tabindex:`-1`,onClick:i[14]||=e=>Qt(K.value)},[i[23]||=g(`i`,{class:`el-icon-edit`,"aria-hidden":`true`},null,-1),c(` Cherry`+d(b(w)(`@A1833:-Pick 到当前分支`)),1)])],46,ct),[[me,G.value]])],64)}}}),[[`__scopeId`,`data-v-cfee736c`]]);export{T as default};