md-review-server 0.1.2 → 0.1.3

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 (60) hide show
  1. package/README.md +47 -220
  2. package/dist/assets/{_baseUniq-DI2TZgiU.js → _baseUniq-BtqrRblU.js} +1 -1
  3. package/dist/assets/{arc-0aOBgqln.js → arc-DYLWUs9a.js} +1 -1
  4. package/dist/assets/{architectureDiagram-VXUJARFQ-D1WnZX0i.js → architectureDiagram-VXUJARFQ-D6qlN2-o.js} +1 -1
  5. package/dist/assets/{blockDiagram-VD42YOAC-CMmHyk4v.js → blockDiagram-VD42YOAC-DYwXxiWE.js} +1 -1
  6. package/dist/assets/{c4Diagram-YG6GDRKO-CnjNpHKo.js → c4Diagram-YG6GDRKO-BkX5Nh_r.js} +1 -1
  7. package/dist/assets/channel-DEOuUvLR.js +1 -0
  8. package/dist/assets/{chunk-4BX2VUAB-_1bE-T-E.js → chunk-4BX2VUAB-BVS8BUrO.js} +1 -1
  9. package/dist/assets/{chunk-55IACEB6-dlxfCuoj.js → chunk-55IACEB6-D0VSlUME.js} +1 -1
  10. package/dist/assets/{chunk-B4BG7PRW-C42iQvc0.js → chunk-B4BG7PRW-CTbGViQg.js} +1 -1
  11. package/dist/assets/{chunk-DI55MBZ5-B5Uv0h4o.js → chunk-DI55MBZ5-DZZ8VuIT.js} +1 -1
  12. package/dist/assets/{chunk-FMBD7UC4-BdfjKS1C.js → chunk-FMBD7UC4-Cejd2Qga.js} +1 -1
  13. package/dist/assets/{chunk-QN33PNHL-bYBDKYcm.js → chunk-QN33PNHL-CSYbobj9.js} +1 -1
  14. package/dist/assets/{chunk-QZHKN3VN-2hdQ_fkV.js → chunk-QZHKN3VN-DTYL7itM.js} +1 -1
  15. package/dist/assets/{chunk-TZMSLE5B-C8LiAShG.js → chunk-TZMSLE5B-CB26Um_S.js} +1 -1
  16. package/dist/assets/classDiagram-2ON5EDUG-COuYCe8Y.js +1 -0
  17. package/dist/assets/classDiagram-v2-WZHVMYZB-COuYCe8Y.js +1 -0
  18. package/dist/assets/clone-Dp52nPJ3.js +1 -0
  19. package/dist/assets/{cose-bilkent-S5V4N54A-DsxEv76Y.js → cose-bilkent-S5V4N54A-DJZQhu6B.js} +1 -1
  20. package/dist/assets/{dagre-6UL2VRFP-CzhKzxyL.js → dagre-6UL2VRFP-BIJxtntA.js} +1 -1
  21. package/dist/assets/{diagram-PSM6KHXK-DchJfjQS.js → diagram-PSM6KHXK-BaKSafBV.js} +1 -1
  22. package/dist/assets/{diagram-QEK2KX5R-CxBYETfP.js → diagram-QEK2KX5R-DP04tSss.js} +1 -1
  23. package/dist/assets/{diagram-S2PKOQOG-U9S5ZOME.js → diagram-S2PKOQOG-DvAywjcf.js} +1 -1
  24. package/dist/assets/{erDiagram-Q2GNP2WA-BqZKWv9l.js → erDiagram-Q2GNP2WA-BzPG-mA4.js} +1 -1
  25. package/dist/assets/{flowDiagram-NV44I4VS-7E3VaRAM.js → flowDiagram-NV44I4VS-Bg7K4ofb.js} +1 -1
  26. package/dist/assets/{ganttDiagram-JELNMOA3-C3giu5WC.js → ganttDiagram-JELNMOA3-CUVnLJVA.js} +1 -1
  27. package/dist/assets/{gitGraphDiagram-NY62KEGX-09l3qi9Y.js → gitGraphDiagram-NY62KEGX-D4v4IMg3.js} +1 -1
  28. package/dist/assets/{graph-CIHF1jxj.js → graph-BY0lo9mk.js} +1 -1
  29. package/dist/assets/{index-DonetEir.js → index-BcvRuFYs.js} +89 -89
  30. package/dist/assets/index-Db98Ybtz.css +19 -0
  31. package/dist/assets/{infoDiagram-WHAUD3N6-CxrQKkZ7.js → infoDiagram-WHAUD3N6-BkDjJjcL.js} +1 -1
  32. package/dist/assets/{journeyDiagram-XKPGCS4Q-CafZCYAC.js → journeyDiagram-XKPGCS4Q-88A7UWEC.js} +1 -1
  33. package/dist/assets/{kanban-definition-3W4ZIXB7-BPnBXjFX.js → kanban-definition-3W4ZIXB7-Dwb0ibd7.js} +1 -1
  34. package/dist/assets/{layout-CuN5D054.js → layout-8a74uiju.js} +1 -1
  35. package/dist/assets/{linear-CVBbq0yW.js → linear-CPWCLHud.js} +1 -1
  36. package/dist/assets/{min-DqAzei1c.js → min-CqBum7ZI.js} +1 -1
  37. package/dist/assets/{mindmap-definition-VGOIOE7T-C9JzG0Gk.js → mindmap-definition-VGOIOE7T-Dwgu9T2u.js} +1 -1
  38. package/dist/assets/{pieDiagram-ADFJNKIX-DPLAvqYj.js → pieDiagram-ADFJNKIX-Ban3Hxk-.js} +1 -1
  39. package/dist/assets/{quadrantDiagram-AYHSOK5B-CF0Op1tv.js → quadrantDiagram-AYHSOK5B-DsjCsrlw.js} +1 -1
  40. package/dist/assets/{requirementDiagram-UZGBJVZJ-CTYaZjq6.js → requirementDiagram-UZGBJVZJ-BRvX4zCO.js} +1 -1
  41. package/dist/assets/{sankeyDiagram-TZEHDZUN-CVsSH6ag.js → sankeyDiagram-TZEHDZUN-DHn2OBLn.js} +1 -1
  42. package/dist/assets/{sequenceDiagram-WL72ISMW-_5LQ8ply.js → sequenceDiagram-WL72ISMW-CummwZV_.js} +1 -1
  43. package/dist/assets/{stateDiagram-FKZM4ZOC-lGntU0qp.js → stateDiagram-FKZM4ZOC-IuG47RUM.js} +1 -1
  44. package/dist/assets/stateDiagram-v2-4FDKWEC3-CtbaykL5.js +1 -0
  45. package/dist/assets/{timeline-definition-IT6M3QCI-B2Cv_EhF.js → timeline-definition-IT6M3QCI-DrEsI2Bt.js} +1 -1
  46. package/dist/assets/{treemap-KMMF4GRG-C7myvUeN.js → treemap-KMMF4GRG-CpGxyb0v.js} +1 -1
  47. package/dist/assets/{xychartDiagram-PRI3JC2R-BlM5iMNi.js → xychartDiagram-PRI3JC2R-DZ2Ig9GW.js} +1 -1
  48. package/dist/index.html +2 -2
  49. package/package.json +1 -1
  50. package/server/app.js +1 -0
  51. package/server/comment-store.js +6 -0
  52. package/skills/markdown-review-loop/SKILL.md +11 -0
  53. package/skills/markdown-review-loop/VERSION +1 -1
  54. package/skills/markdown-review-loop/references/review-template.md +1 -0
  55. package/dist/assets/channel-DKOgBY_w.js +0 -1
  56. package/dist/assets/classDiagram-2ON5EDUG-A7wHDY1p.js +0 -1
  57. package/dist/assets/classDiagram-v2-WZHVMYZB-A7wHDY1p.js +0 -1
  58. package/dist/assets/clone-FuZyOQgB.js +0 -1
  59. package/dist/assets/index-D__pdEdb.css +0 -19
  60. package/dist/assets/stateDiagram-v2-4FDKWEC3-D4z3Ploi.js +0 -1
package/README.md CHANGED
@@ -4,35 +4,19 @@
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE)
5
5
  [![GitHub](https://img.shields.io/badge/GitHub-md--review--server-black.svg)](https://github.com/tracyxiong1/md-review-server)
6
6
 
7
- ![demo](./assets/demo.gif)
8
-
9
7
  `md-review-server` 是面向 Codex 的本地 Markdown 可视化评审工具。
10
8
 
11
- 在 Codex 中,纯对话方式适合提出整体修改要求,但不方便对长文中的具体文本进行圈选和批注。`md-review-server` 提供浏览器评审页面和 `markdown-review-loop` skill,让用户可以在浏览器中阅读 Markdown、留下局部评论,再由 Codex 根据评论生成下一版文档,形成“批注 -> 修订 -> 再评审”的迭代流程。
9
+ 在 Codex 中,纯对话适合提出整体修改要求,但不方便圈选长文中的具体内容并集中提交评论。`md-review-server` 提供浏览器预览、选区批注、评论状态跟踪和 `markdown-review-loop` skill,用于搭建“批注 -> 修订 -> 再评审”的 Markdown 协作流程。
12
10
 
13
11
  ## 使用场景
14
12
 
15
- - 需要在浏览器里阅读 Markdown,并对具体段落做批注。
16
- - 需要让 Codex 根据批注生成下一版文档。
17
- - 需要对技术方案、README、机制说明、复盘草稿做多轮修改。
18
- - 需要保留 `v1`、`v2`、`v3` 等多个版本,方便回看每轮改动。
19
-
20
- 适合处理的问题包括:
21
-
22
- - 章节结构需要调整。
23
- - 表达不够清晰,需要重写。
24
- - 某段内容缺少背景、边界或结论。
25
- - 长文需要分轮评审,先看结构,再看内容,再看措辞。
26
-
27
- ## 示意流程
28
-
29
- | 1. 进入流程 | 2. Review & comment | 3. Review & comment | 4. Review 完毕,提交 | 5. 查看结果 & loop |
30
- | --------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------ |
31
- | ![进入流程](./assets/review-loop/01-enter-flow.png) | ![Review and comment](./assets/review-loop/02-review-comment.png) | ![Review and comment](./assets/review-loop/03-review-comment.png) | ![Review 完毕,提交](./assets/review-loop/04-submit-review.png) | ![查看结果并进入下一轮](./assets/review-loop/05-review-result.png) |
13
+ - 评审技术方案、README、机制说明、复盘草稿等 Markdown 文档。
14
+ - 在浏览器中圈选具体文本,留下局部修改意见。
15
+ - 让 Codex 读取评论、生成下一版文档,并继续下一轮评审。
32
16
 
33
17
  ## 快速开始
34
18
 
35
- ### 安装
19
+ ### 安装 skill
36
20
 
37
21
  推荐让 Codex 自动安装:
38
22
 
@@ -44,17 +28,10 @@
44
28
 
45
29
  ```sh
46
30
  npx -y md-review-server@latest skill install
47
- ```
48
-
49
- 检查状态:
50
-
51
- ```sh
52
31
  npx -y md-review-server@latest skill doctor
53
32
  ```
54
33
 
55
- 看到 `Status: up to date` 即可使用。
56
-
57
- ### 启动评审循环
34
+ ### 启动评审
58
35
 
59
36
  在 Codex 中输入:
60
37
 
@@ -62,23 +39,14 @@ npx -y md-review-server@latest skill doctor
62
39
  使用 $markdown-review-loop 帮我启动 docs/example.md 的评审循环。
63
40
  ```
64
41
 
65
- Codex 会打开本地评审页面。用户在浏览器中阅读文档,并对需要修改的位置创建评论。
66
-
67
- ### 在浏览器中评论
68
-
69
- 在浏览器中操作:
42
+ Codex 会打开本地评审页面。用户在浏览器中圈选文本并创建评论。
70
43
 
71
- 1. 选中需要修改的文字。
72
- 2. 点击 `Comment`。
73
- 3. 输入评论。
74
- 4. 提交评论。
75
-
76
- ### 让 Codex 生成下一版
44
+ ### 生成下一版
77
45
 
78
46
  评论完成后,回到 Codex 输入:
79
47
 
80
48
  ```text
81
- 评论完了
49
+ 评论完了,读取评论并生成下一版。
82
50
  ```
83
51
 
84
52
  Codex 会根据评论生成新版本,例如:
@@ -87,49 +55,41 @@ Codex 会根据评论生成新版本,例如:
87
55
  example.v1.md -> example.v2.md
88
56
  ```
89
57
 
90
- ### 继续评审
91
-
92
- 如果还需要继续修改,在浏览器中切换到新版文档,继续评论。然后对 Codex 说:
58
+ 如果还需要继续修改,在新版文档上补充评论,然后对 Codex 说:
93
59
 
94
60
  ```text
95
- 我已经在 v2 上补充了新评论,继续生成 v3。
61
+ 我已经在新版上补充了评论,继续处理。
96
62
  ```
97
63
 
98
- 推荐使用版本化文件名:
64
+ ## 示意流程
99
65
 
100
- ```text
101
- example.v1.md
102
- example.v2.md
103
- example.v3.md
104
- ```
66
+ ### 1. 进入评审流程
105
67
 
106
- 查看历史版本:
68
+ ![进入评审流程](./assets/review-loop/01-enter-flow.png)
107
69
 
108
- ![查看历史版本](./assets/review-loop/06-history-versions.png)
70
+ ### 2. 在浏览器中阅读和圈选
109
71
 
110
- ### 常用话术
72
+ ![阅读和圈选文档](./assets/review-loop/02-review-comment.png)
111
73
 
112
- 启动评审:
74
+ ### 3. 提交局部评论
113
75
 
114
- ```text
115
- 使用 $markdown-review-loop 帮我启动这份 Markdown 的评审循环。
116
- ```
76
+ ![提交局部评论](./assets/review-loop/03-review-comment.png)
117
77
 
118
- 生成下一版:
78
+ ### 4. 回到 Codex 处理评论
119
79
 
120
- ```text
121
- 评论完了,读取评论并生成下一版。
122
- ```
80
+ ![回到 Codex 处理评论](./assets/review-loop/04-submit-review.png)
123
81
 
124
- 继续下一轮:
82
+ ### 5. 查看结果并进入下一轮
125
83
 
126
- ```text
127
- 我已经在新版上补充了评论,继续处理。
128
- ```
84
+ ![查看结果并进入下一轮](./assets/review-loop/05-review-result.png)
85
+
86
+ 历史版本可以在文件树中切换查看:
87
+
88
+ ![查看历史版本](./assets/review-loop/06-history-versions.png)
129
89
 
130
90
  ## 手动启动 Review Server
131
91
 
132
- 不使用 Codex skill 时,可以直接启动本地评审页面:
92
+ 不使用 Codex skill 时,可以直接启动本地服务:
133
93
 
134
94
  ```sh
135
95
  npx -y md-review-server@latest docs --port 3030 --active-file docs/guide.md
@@ -146,40 +106,12 @@ md-review-server docs --port 3030
146
106
 
147
107
  ## 主要能力
148
108
 
149
- - 内置 `markdown-review-loop` Codex skill,可通过 npm 安装和更新
150
- - 按原始结构预览 Markdown MDX 文件
151
- - 解析并展示 Frontmatter 元数据
152
- - 对选中文本和指定行范围创建评论
153
- - 编辑和删除已有评论
154
- - 将评论持久化到 `.reviews/*.review.json`
155
- - 通过 HTTP API 读取评论和更新处理状态
156
- - 在目录模式中通过文件树选择 Markdown 文件
157
- - 支持深色模式,跟随系统偏好
158
- - 支持可调整、可折叠的评论侧边栏
159
- - 点击评论行号跳转到对应内容
160
- - Markdown 文件变更后通过 SSE 自动刷新
161
-
162
- ## 评论管理
163
-
164
- ### 添加评论
165
-
166
- 1. 在 Markdown 预览区域选择文本
167
- 2. 点击出现的 `Comment` 按钮
168
- 3. 输入评论内容
169
- 4. 按 `Cmd/Ctrl+Enter` 或点击 `Submit`
170
-
171
- ### 编辑评论
172
-
173
- 1. 点击评论上的编辑按钮
174
- 2. 修改文本框中的内容
175
- 3. 按 `Cmd/Ctrl+Enter` 或点击 `Save`
176
- 4. 按 `Escape` 或点击 `Cancel` 放弃修改
177
-
178
- ### 快捷键
179
-
180
- - `Cmd/Ctrl+Enter`:提交或保存评论
181
- - `Escape`:取消编辑
182
- - `Cmd+K`:目录模式中聚焦搜索框
109
+ - 内置 `markdown-review-loop` Codex skill,支持 npm 安装和更新。
110
+ - 在浏览器中预览 Markdown / MDX,并对选中文本创建评论。
111
+ - 将评论持久化到 `.reviews/*.review.json`,刷新后继续保留。
112
+ - 提供 HTTP API,供 Codex 读取 open comments 并回写处理状态。
113
+ - 支持目录模式、文件树、版本化 Markdown 文件和深色模式。
114
+ - 支持评论编辑、删除、状态展示和对应内容跳转。
183
115
 
184
116
  ## CLI 使用方式
185
117
 
@@ -203,105 +135,34 @@ md-review-server <directory> [options] # 浏览指定目录下的 Markdown 文
203
135
  -v, --version 显示版本号
204
136
  ```
205
137
 
206
- ### 示例
207
-
208
- ```sh
209
- md-review-server
210
- md-review-server docs
211
- md-review-server README.md
212
- md-review-server docs/guide.mdx
213
- md-review-server docs --active-file docs/guide.md --port 8080
214
- md-review-server skill install
215
- md-review-server skill update --force
216
- ```
217
-
218
138
  ## 进阶说明
219
139
 
220
140
  ### 评论数据
221
141
 
222
- 评论由服务端写入 Markdown 所在 review 目录:
142
+ 评论由服务端写入 Markdown 所在的 review 目录:
223
143
 
224
144
  ```text
225
145
  docs/.reviews/guide.v2.review.json
226
146
  ```
227
147
 
228
- review 文件使用 JSON 存储,核心字段包括:
229
-
230
- ```json
231
- {
232
- "schemaVersion": 1,
233
- "document": "guide.v2.md",
234
- "comments": [
235
- {
236
- "id": "c001",
237
- "file": "guide.v2.md",
238
- "startLine": 12,
239
- "endLine": 12,
240
- "startOffset": 4,
241
- "endOffset": 18,
242
- "selectedText": "selected text",
243
- "beforeText": "before",
244
- "afterText": "after",
245
- "comment": "需要补充说明",
246
- "status": "open"
247
- }
248
- ]
249
- }
250
- ```
251
-
252
148
  支持的评论状态:
253
149
 
254
- - `open`:待处理
255
- - `resolved`:已处理
256
- - `partially_resolved`:部分处理
257
- - `unresolved`:无法处理,需记录原因
258
- - `ignored`:明确跳过
150
+ - `open`
151
+ - `resolved`
152
+ - `partially_resolved`
153
+ - `unresolved`
154
+ - `ignored`
259
155
 
260
156
  ### HTTP API
261
157
 
262
- #### 获取会话信息
263
-
264
- ```sh
265
- curl http://127.0.0.1:3030/api/session
266
- ```
267
-
268
- #### 获取待处理评论
269
-
270
- ```sh
271
- curl 'http://127.0.0.1:3030/api/comments?file=guide.v2.md&status=open'
272
- ```
273
-
274
- #### 创建评论
275
-
276
- ```sh
277
- curl -X POST 'http://127.0.0.1:3030/api/comments' \
278
- -H 'Content-Type: application/json' \
279
- -d '{
280
- "file": "guide.v2.md",
281
- "startLine": 12,
282
- "endLine": 12,
283
- "selectedText": "selected text",
284
- "comment": "需要补充说明"
285
- }'
286
- ```
287
-
288
- #### 批量回写状态
289
-
290
- ```sh
291
- curl -X PATCH 'http://127.0.0.1:3030/api/comments' \
292
- -H 'Content-Type: application/json' \
293
- -d '{
294
- "updates": [
295
- {
296
- "id": "c001",
297
- "file": "guide.v2.md",
298
- "status": "resolved",
299
- "targetFile": "guide.v3.md",
300
- "resolution": "已补充说明。"
301
- }
302
- ]
303
- }'
304
- ```
158
+ | Method | Path | 用途 |
159
+ | ------ | ------------------- | ------------------------------- |
160
+ | GET | `/api/session` | 获取当前 review server 会话信息 |
161
+ | GET | `/api/comments` | 按文件和状态读取评论 |
162
+ | POST | `/api/comments` | 创建评论 |
163
+ | PATCH | `/api/comments/:id` | 更新单条评论内容或状态 |
164
+ | PATCH | `/api/comments` | 批量回写评论状态 |
165
+ | DELETE | `/api/comments/:id` | 删除评论 |
305
166
 
306
167
  ## 本地开发
307
168
 
@@ -313,40 +174,6 @@ pnpm build
313
174
  pnpm lint
314
175
  ```
315
176
 
316
- ## 发布流程
317
-
318
- 项目使用 GitHub Actions 和 npm Trusted Publishing 发布 npm 包,不需要在 GitHub Secrets 中保存长期 `NPM_TOKEN`。
319
-
320
- npm 包后台需要配置 Trusted Publisher:
321
-
322
- - Package:`md-review-server`
323
- - Publisher:GitHub Actions
324
- - Owner:`tracyxiong1`
325
- - Repository:`md-review-server`
326
- - Workflow filename:`release-please.yml`
327
-
328
- 发布步骤:
329
-
330
- 1. 使用语义化 commit 合并改动到 `main`
331
- 2. `release-please` 自动创建或更新 release PR
332
- 3. 合并 release PR 后,workflow 创建 GitHub Release 和版本 tag
333
- 4. 同一个 workflow 在 tag 对应代码上执行 `lint`、`test`、`build`
334
- 5. 验证 npm 上不存在同版本后,通过 OIDC 发布到 npm
335
-
336
- 也可以手动创建版本 tag 触发同一个发布流程:
337
-
338
- ```sh
339
- npm version patch
340
- git push origin main --tags
341
- ```
342
-
343
- 发布完成后可验证:
344
-
345
- ```sh
346
- npm view md-review-server version --registry=https://registry.npmjs.org/
347
- npx -y md-review-server@latest skill doctor
348
- ```
349
-
350
177
  ## License
351
178
 
352
179
  [MIT](./LICENSE)
@@ -1 +1 @@
1
- import{aV as L,br as ln,aE as A,aT as P,bs as gn,bt as dn,aD as W,bu as hn,bv as z,bw as pn,bm as An,bx as m,aW as N,a$ as U,b2 as T,by as _n,aZ as on,bz as wn,bp as On,aF as V,bn as vn,bA as I}from"./index-DonetEir.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function En(){}function bn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Zn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Hn.call(n,r)}))}:Bn;function qn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return qn(n,M,Zn)}var Yn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Yn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Xn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=q(n),a=u.length,h=q(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var E=n.constructor,b=r.constructor;E!=b&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof b=="function"&&b instanceof b)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function Er(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function br(n){var r=Er(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):D(r,i,Ir|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):br(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function Zr(n,r){var e=A(n)?bn:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function qr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:En,Br=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,yn as c,an as d,rn as e,qn as f,Zn as g,q as h,x as i,bn as j,M as k,Xr as l,qr as m,Zr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Gn as y};
1
+ import{aV as L,br as ln,aE as A,aT as P,bs as gn,bt as dn,aD as W,bu as hn,bv as z,bw as pn,bm as An,bx as m,aW as N,a$ as U,b2 as T,by as _n,aZ as on,bz as wn,bp as On,aF as V,bn as vn,bA as I}from"./index-BcvRuFYs.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function En(){}function bn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Zn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Hn.call(n,r)}))}:Bn;function qn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return qn(n,M,Zn)}var Yn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Yn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Xn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=q(n),a=u.length,h=q(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var E=n.constructor,b=r.constructor;E!=b&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof b=="function"&&b instanceof b)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function Er(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function br(n){var r=Er(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):D(r,i,Ir|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):br(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function Zr(n,r){var e=A(n)?bn:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function qr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:En,Br=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,yn as c,an as d,rn as e,qn as f,Zn as g,q as h,x as i,bn as j,M as k,Xr as l,qr as m,Zr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Gn as y};
@@ -1 +1 @@
1
- import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as B,a9 as rn,aa as L,ab as o,ac as sn,ad as on,ae as fn}from"./index-DonetEir.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as B,a9 as rn,aa as L,ab as o,ac as sn,ad as on,ae as fn}from"./index-BcvRuFYs.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};