From 8434cf78ed0e5f712a49e077236b4df0c9faf7e4 Mon Sep 17 00:00:00 2001 From: polv Date: Wed, 11 Feb 2026 06:45:30 +0700 Subject: [PATCH] auto create markdown file from parser interface --- README.md | 59 +- docs/index.md | 2 + ...¯深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md | 1195 ++++++++++++++++ ...š倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md | 786 +++++++++++ package.json | 2 +- pnpm-lock.yaml | 1226 ++++++----------- pnpm-workspace.yaml | 2 - server.js | 40 +- 8 files changed, 2446 insertions(+), 866 deletions(-) create mode 100644 docs/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md create mode 100644 docs/那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md delete mode 100644 pnpm-workspace.yaml diff --git a/README.md b/README.md index d90429db..7d09da8e 100644 --- a/README.md +++ b/README.md @@ -15,16 +15,37 @@ Download or place a video file in the `/docs/public` directory. Several options Choose any method to download your video and save it to `/docs/public` directory. -### Step 2: Create a Markdown File +### Step 2: Start the Development Server -Create a markdown file in `/docs` directory. The filename should match the video filename with `[xxx]` removed and spaces replaced with underscores. +Run the following command in the project directory: + +```bash +pnpm run dev +``` + +This starts the VitePress development server and WebSocket server for communication. + +### Step 3: Use the Downloader Interface + +1. Open the VitePress website in your browser +2. Enter your video filename in the textbox (e.g. `my video [abc123].mp4`, `presentation.webm`, `my-video [xyz].mpeg`) +3. Press Enter or click Submit + +The app will: +- Load the markdown matching the submitted video filename. + - If it exists: process the video — extract screenshots for timestamps, insert images, and save the markdown. + - If it does not exist: create the markdown and exit. Edit the new file (add frontmatter or timestamps), then run the Downloader again. + +#### Create/Edit the Markdown File + +You may let the Downloader create the markdown file automatically, or create it yourself by placing a file in the `/docs` directory. The filename should match the video filename with any bracketed ID removed and spaces replaced with underscores, for example: -For example: - Video file: `my video [abc123].mp4` → Markdown file: `my_video.md` - Video file: `presentation.webm` → Markdown file: `presentation.md` -- Video file: `my-video [xyz].mpeg` → Markdown file: `my-video.md` -The markdown file content can be: +If the file is newly created by the Downloader, you will need to edit the markdown to provide the content or timestamps the app will use. After editing, run the Downloader again to regenerate screenshots and update image references. + +The markdown file content can be one of the following: **Option A: YAML Frontmatter (for auto-generating timestamps)** @@ -58,28 +79,6 @@ Velit euismod blandit proin arcu magna. Timestamps should be in `M:SS` or `MM:SS` format on their own line. They will be converted to timestamped screenshot references. -### Step 3: Start the Development Server - -Run the following command in the project directory: - -```bash -pnpm run dev -``` - -This starts the VitePress development server and WebSocket server for communication. - -### Step 4: Use the Downloader Interface - -1. Open the VitePress website in your browser -2. Enter your video filename in the textbox (e.g. `my video [abc123].mp4`, `presentation.webm`, `my-video [xyz].mpeg`) -3. Press Enter or click Submit - -The app will: -- Load the video -- Extract screenshots at specified timestamps -- Replace timestamp lines with embedded screenshot images -- Save the updated markdown file - ## Project Structure ``` @@ -100,7 +99,7 @@ group-similar.js # Script for deduplicating similar screenshots ## Dependencies - Node.js and pnpm -- VitePress for web UI +- [VitePress](https://vitepress.dev) for web UI - WebSocket for real-time communication between browser and server -- gray-matter for parsing YAML frontmatter -- [Sharp](https://github.com/lovell/sharp) for image processing (screenshot manipulation) +- `gray-matter` for parsing YAML frontmatter +- [`sharp`](https://github.com/lovell/sharp) for image processing (screenshot manipulation) diff --git a/docs/index.md b/docs/index.md index f465ffe3..b603b7f1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -9,6 +9,8 @@ hero: +- [什么是深圳?| WHAT IS SHENZHEN?【星球研究所】](/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】) +- [意大利为什么没有赶上现代化这趟二路汽车?](/意大利为什么没有赶上现代化这趟二路汽车?) - [みんなうっかり間違える!?中国語 様態補語と程度補語の文法の注意点とは](/みんなうっかり間違える!?中国語_様態補語と程度補語の文法の注意点とは) - [【剥茧The Truth Within】EP02](/qVVhBGT0K7Y) - [15萬緬甸人在台灣的背後,是一段顛沛流離的故事](/15萬緬甸人在台灣的背後,是一段顛沛流離的故事) diff --git a/docs/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md b/docs/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md new file mode 100644 index 00000000..3a4c0ded --- /dev/null +++ b/docs/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md @@ -0,0 +1,1195 @@ +--- +interval: 2 +dedup: true +video: '/什么是深圳?| WHAT IS SHENZHEN?【星球研究所】 [EwNegRhR-_k].mp4' +--- + + +![0:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_00.png) + + + +![0:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_02.png) + + + +![0:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_04.png) + + + +![0:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_06.png) + + + +![0:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_08.png) + + + +![0:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_10.png) + + + +![0:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_12.png) + + + +
+0:12 + +![0:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_14.png) + + + +![0:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_16.png) +
+
+ + + +![0:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_18.png) + + + +![0:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_20.png) + + + +![0:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_22.png) + + + +![0:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_24.png) + + + +![0:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_26.png) + + + +![0:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_28.png) + + + +![0:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_30.png) + + + +![0:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_32.png) + + + +![0:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_34.png) + + + +![0:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_36.png) + + + +![0:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_38.png) + + + +![0:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_40.png) + + + +![0:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_42.png) + + + +![0:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_44.png) + + + +![0:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_46.png) + + + +![0:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_48.png) + + + +![0:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_50.png) + + + +![0:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_52.png) + + + +![0:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_54.png) + + + +![0:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_56.png) + + + +![0:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_58.png) + + + +![1:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_00.png) + + + +![1:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_02.png) + + + +![1:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_04.png) + + + +![1:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_06.png) + + + +![1:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_08.png) + + + +![1:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_10.png) + + + +![1:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_12.png) + + + +![1:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_14.png) + + + +![1:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_16.png) + + + +![1:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_18.png) + + + +![1:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_20.png) + + + +![1:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_22.png) + + + +![1:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_24.png) + + + +![1:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_26.png) + + + +![1:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_28.png) + + + +![1:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_30.png) + + + +![1:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_32.png) + + + +![1:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_34.png) + + + +![1:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_36.png) + + + +![1:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_38.png) + + + +![1:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_40.png) + + + +
+1:40 + +![1:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_42.png) +
+
+ + + +![1:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_44.png) + + + +![1:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_46.png) + + + +![1:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_48.png) + + + +![1:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_50.png) + + + +![1:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_52.png) + + + +![1:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_54.png) + + + +![1:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_56.png) + + + +![1:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_58.png) + + + +![2:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_00.png) + + + +![2:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_02.png) + + + +![2:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_04.png) + + + +![2:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_06.png) + + + +![2:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_08.png) + + + +![2:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_10.png) + + + +![2:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_12.png) + + + +![2:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_14.png) + + + +![2:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_16.png) + + + +![2:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_18.png) + + + +![2:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_20.png) + + + +![2:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_22.png) + + + +![2:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_24.png) + + + +![2:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_26.png) + + + +![2:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_28.png) + + + +![2:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_30.png) + + + +![2:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_32.png) + + + +![2:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_34.png) + + + +![2:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_36.png) + + + +![2:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_38.png) + + + +![2:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_40.png) + + + +![2:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_42.png) + + + +![2:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_44.png) + + + +![2:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_46.png) + + + +![2:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_48.png) + + + +![2:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_50.png) + + + +![2:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_52.png) + + + +![2:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_54.png) + + + +![2:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_56.png) + + + +![2:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_58.png) + + + +![3:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_00.png) + + + +![3:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_02.png) + + + +![3:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_04.png) + + + +![3:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_06.png) + + + +![3:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_08.png) + + + +![3:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_10.png) + + + +![3:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_12.png) + + + +![3:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_14.png) + + + +![3:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_16.png) + + + +![3:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_18.png) + + + +![3:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_20.png) + + + +![3:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_22.png) + + + +![3:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_24.png) + + + +![3:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_26.png) + + + +![3:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_28.png) + + + +![3:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_30.png) + + + +![3:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_32.png) + + + +![3:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_34.png) + + + +![3:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_36.png) + + + +![3:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_38.png) + + + +![3:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_40.png) + + + +![3:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_42.png) + + + +![3:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_44.png) + + + +![3:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_46.png) + + + +![3:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_48.png) + + + +![3:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_50.png) + + + +![3:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_52.png) + + + +![3:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_54.png) + + + +![3:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_56.png) + + + +![3:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_58.png) + + + +![4:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_00.png) + + + +![4:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_02.png) + + + +![4:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_04.png) + + + +![4:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_06.png) + + + +![4:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_08.png) + + + +![4:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_10.png) + + + +![4:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_12.png) + + + +![4:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_14.png) + + + +![4:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_16.png) + + + +![4:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_18.png) + + + +![4:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_20.png) + + + +![4:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_22.png) + + + +![4:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_24.png) + + + +![4:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_26.png) + + + +![4:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_28.png) + + + +![4:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_30.png) + + + +![4:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_32.png) + + + +![4:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_34.png) + + + +![4:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_36.png) + + + +![4:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_38.png) + + + +![4:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_40.png) + + + +![4:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_42.png) + + + +![4:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_44.png) + + + +![4:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_46.png) + + + +![4:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_48.png) + + + +![4:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_50.png) + + + +![4:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_52.png) + + + +![4:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_54.png) + + + +![4:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_56.png) + + + +![4:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_58.png) + + + +![5:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_00.png) + + + +![5:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_02.png) + + + +![5:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_04.png) + + + +![5:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_06.png) + + + +![5:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_08.png) + + + +![5:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_10.png) + + + +![5:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_12.png) + + + +![5:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_14.png) + + + +![5:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_16.png) + + + +![5:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_18.png) + + + +![5:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_20.png) + + + +![5:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_22.png) + + + +![5:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_24.png) + + + +![5:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_26.png) + + + +![5:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_28.png) + + + +![5:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_30.png) + + + +![5:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_32.png) + + + +![5:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_34.png) + + + +![5:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_36.png) + + + +![5:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_38.png) + + + +![5:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_40.png) + + + +![5:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_42.png) + + + +![5:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_44.png) + + + +![5:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_46.png) + + + +![5:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_48.png) + + + +![5:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_50.png) + + + +![5:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_52.png) + + + +![5:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_54.png) + + + +![5:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_56.png) + + + +![5:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_58.png) + + + +![6:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_00.png) + + + +![6:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_02.png) + + + +![6:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_04.png) + + + +![6:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_06.png) + + + +![6:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_08.png) + + + +![6:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_10.png) + + + +![6:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_12.png) + + + +![6:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_14.png) + + + +![6:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_16.png) + + + +![6:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_18.png) + + + +![6:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_20.png) + + + +![6:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_22.png) + + + +![6:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_24.png) + + + +![6:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_26.png) + + + +![6:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_28.png) + + + +![6:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_30.png) + + + +![6:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_32.png) + + + +![6:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_34.png) + + + +![6:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_36.png) + + + +![6:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_38.png) + + + +![6:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_40.png) + + + +![6:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_42.png) + + + +![6:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_44.png) + + + +![6:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_46.png) + + + +![6:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_48.png) + + + +![6:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_50.png) + + + +![6:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_52.png) + + + +![6:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_54.png) + + + +![6:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_56.png) + + + +![6:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_58.png) + + + +![7:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_00.png) + + + +![7:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_02.png) + + + +![7:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_04.png) + + + +![7:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_06.png) + + + +![7:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_08.png) + + + +![7:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_10.png) + + + +![7:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_12.png) + + + +![7:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_14.png) + + + +![7:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_16.png) + + + +![7:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_18.png) + + + +![7:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_20.png) + + + +![7:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_22.png) + + + +![7:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_24.png) + + + +![7:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_26.png) + + + +![7:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_28.png) + + + +![7:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_30.png) + + + +![7:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_32.png) + + + +![7:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_34.png) + + + +![7:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_36.png) + + + +![7:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_38.png) + + + +![7:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_40.png) + + + +![7:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_42.png) + + + +![7:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_44.png) + + + +![7:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_46.png) + + + +![7:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_48.png) + + + +![7:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_50.png) + + + +![7:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_52.png) + + + +![7:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_54.png) + + + +![7:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_56.png) + + + +![7:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_58.png) + + + +![8:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_00.png) + + + +![8:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_02.png) + + + +![8:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_04.png) + + + +![8:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_06.png) + + + +![8:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_08.png) + + + +![8:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_10.png) + + + +![8:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_12.png) + + + +![8:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_14.png) + + + +![8:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_16.png) + + + +![8:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_18.png) + + + +![8:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_20.png) + + + +![8:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_22.png) + + + +![8:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_24.png) + + + +![8:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_26.png) + + + +![8:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_28.png) + + + +![8:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_30.png) + + + +![8:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_32.png) + + + +![8:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_34.png) + + + +![8:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_36.png) + + + +![8:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_38.png) + + + +![8:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_40.png) + + + +![8:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_42.png) + + + +![8:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_44.png) + + + +![8:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_46.png) + + + +![8:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_48.png) + + + +![8:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_50.png) + + + +![8:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_52.png) + + + +![8:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_54.png) + + + +![8:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_56.png) + + + +![8:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_58.png) + + + +![9:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_00.png) + + + +![9:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_02.png) + + + +![9:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_04.png) + + + +![9:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_06.png) + + + +![9:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_08.png) + + + +![9:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_10.png) + + + +![9:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_12.png) + + + +![9:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_14.png) + + + +![9:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_16.png) + + + +![9:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_18.png) + + + +![9:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_20.png) + + + +![9:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_22.png) + + + +![9:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_24.png) + + + +![9:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_26.png) + + + +
+9:26 + +![9:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_28.png) +
+
+ + + +![9:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_30.png) + + + +![9:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_32.png) + + + +
+9:32 + +![9:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_34.png) +
+
+ + + +![9:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_36.png) + + + +![9:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_38.png) + + + +
+9:38 + +![9:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_40.png) +
+
+ + diff --git a/docs/那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md b/docs/那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md new file mode 100644 index 00000000..6437bf7b --- /dev/null +++ b/docs/那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md @@ -0,0 +1,786 @@ +--- +interval: 2 +dedup: true +video: >- + /那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita: The Man Who Almost Became Thailand’s + Prime Minister [LQ5NuIjEFxE].mp4 +--- + + +![0:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_00.png) + + + +![0:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_02.png) + + + +![0:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_04.png) + + + +![0:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_06.png) + + + +![0:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_08.png) + + + +![0:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_10.png) + + + +![0:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_12.png) + + + +![0:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_14.png) + + + +![0:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_16.png) + + + +![0:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_18.png) + + + +![0:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_20.png) + + + +![0:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_22.png) + + + +![0:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_24.png) + + + +![0:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_26.png) + + + +![0:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_28.png) + + + +![0:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_30.png) + + + +![0:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_32.png) + + + +![0:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_34.png) + + + +![0:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_36.png) + + + +![0:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_38.png) + + + +![0:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_40.png) + + + +![0:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_42.png) + + + +![0:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_44.png) + + + +![0:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_46.png) + + + +![0:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_48.png) + + + +![0:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_50.png) + + + +![0:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_52.png) + + + +![0:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_54.png) + + + +![0:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_56.png) + + + +
+0:56 + +![0:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_58.png) +
+
+ + + +![1:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_00.png) + + + +
+1:00 + +![1:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_02.png) +
+
+ + + +![1:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_04.png) + + + +![1:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_06.png) + + + +![1:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_08.png) + + + +![1:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_10.png) + + + +![1:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_12.png) + + + +![1:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_14.png) + + + +![1:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_16.png) + + + +![1:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_18.png) + + + +![1:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_20.png) + + + +![1:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_22.png) + + + +![1:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_24.png) + + + +![1:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_26.png) + + + +![1:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_28.png) + + + +![1:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_30.png) + + + +![1:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_32.png) + + + +![1:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_34.png) + + + +![1:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_36.png) + + + +![1:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_38.png) + + + +![1:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_40.png) + + + +![1:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_42.png) + + + +![1:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_44.png) + + + +![1:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_46.png) + + + +![1:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_48.png) + + + +![1:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_50.png) + + + +![1:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_52.png) + + + +
+1:52 + +![1:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_54.png) +
+
+ + + +![1:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_56.png) + + + +![1:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_58.png) + + + +![2:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_00.png) + + + +![2:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_02.png) + + + +![2:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_04.png) + + + +![2:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_06.png) + + + +![2:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_08.png) + + + +![2:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_10.png) + + + +![2:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_12.png) + + + +![2:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_14.png) + + + +![2:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_16.png) + + + +![2:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_18.png) + + + +
+2:18 + +![2:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_20.png) +
+
+ + + +![2:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_22.png) + + + +![2:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_24.png) + + + +![2:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_26.png) + + + +![2:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_28.png) + + + +![2:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_30.png) + + + +![2:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_32.png) + + + +![2:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_34.png) + + + +![2:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_36.png) + + + +![2:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_38.png) + + + +![2:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_40.png) + + + +![2:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_42.png) + + + +![2:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_44.png) + + + +
+2:44 + +![2:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_46.png) +
+
+ + + +![2:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_48.png) + + + +![2:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_50.png) + + + +![2:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_52.png) + + + +![2:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_54.png) + + + +![2:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_56.png) + + + +![2:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_58.png) + + + +![3:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_00.png) + + + +![3:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_02.png) + + + +![3:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_04.png) + + + +![3:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_06.png) + + + +![3:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_08.png) + + + +
+3:08 + +![3:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_10.png) + + + +![3:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_12.png) +
+
+ + + +![3:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_14.png) + + + +![3:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_16.png) + + + +![3:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_18.png) + + + +![3:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_20.png) + + + +![3:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_22.png) + + + +![3:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_24.png) + + + +![3:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_26.png) + + + +![3:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_28.png) + + + +![3:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_30.png) + + + +![3:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_32.png) + + + +![3:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_34.png) + + + +![3:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_36.png) + + + +![3:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_38.png) + + + +![3:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_40.png) + + + +![3:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_42.png) + + + +![3:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_44.png) + + + +![3:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_46.png) + + + +![3:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_48.png) + + + +![3:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_50.png) + + + +![3:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_52.png) + + + +![3:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_54.png) + + + +![3:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_56.png) + + + +![3:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_58.png) + + + +![4:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_00.png) + + + +![4:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_02.png) + + + +![4:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_04.png) + + + +![4:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_06.png) + + + +![4:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_08.png) + + + +
+4:08 + +![4:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_10.png) + + + +![4:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_12.png) + + + +![4:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_14.png) + + + +![4:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_16.png) + + + +![4:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_18.png) +
+
+ + + +![4:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_20.png) + + + +![4:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_22.png) + + + +![4:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_24.png) + + + +![4:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_26.png) + + + +![4:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_28.png) + + + +![4:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_30.png) + + + +![4:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_32.png) + + + +
+4:32 + +![4:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_34.png) +
+
+ + + +![4:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_36.png) + + + +
+4:36 + +![4:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_38.png) +
+
+ + + +![4:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_40.png) + + + +![4:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_42.png) + + + +![4:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_44.png) + + + +![4:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_46.png) + + + +![4:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_48.png) + + + +![4:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_50.png) + + + +![4:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_52.png) + + + +![4:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_54.png) + + + +![4:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_56.png) + + + +![4:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_58.png) + + + +![5:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_00.png) + + + +![5:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_02.png) + + + +![5:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_04.png) + + + +![5:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_06.png) + + + +![5:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_08.png) + + + +![5:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_10.png) + + + +![5:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_12.png) + + + +![5:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_14.png) + + + +![5:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_16.png) + + + +![5:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_18.png) + + + +![5:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_20.png) + + + +![5:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_22.png) + + + +![5:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_24.png) + + + +![5:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_26.png) + + + +
+5:26 + +![5:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_28.png) + + + +![5:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_30.png) + + + +![5:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_32.png) +
+
+ + + +![5:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_34.png) + + + +
+5:34 + +![5:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_36.png) + + + +![5:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_38.png) +
+
+ + + +![5:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_40.png) + + + +
+5:40 + +![5:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_42.png) +
+
+ + + +![5:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_44.png) + + + +
+5:44 + +![5:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_46.png) +
+
+ + + +![5:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_48.png) + + + +
+5:48 + +![5:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_50.png) +
+
+ + + +![5:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_52.png) + + diff --git a/package.json b/package.json index 966b4842..813b8001 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "ws": "^8.19.0" }, "devDependencies": { - "@types/node": "^20.19.30", + "@types/node": "24", "@types/ws": "^8.18.1", "concurrently": "^9.2.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bac21d6c..23fe75b5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,20 +16,20 @@ importers: version: 0.34.5 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@20.19.30) + version: 7.3.1(@types/node@24.10.13) vitepress: specifier: 2.0.0-alpha.15 - version: 2.0.0-alpha.15(@algolia/client-search@5.46.3)(@types/node@20.19.30)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3) + version: 2.0.0-alpha.15(@types/node@24.10.13)(postcss@8.5.6) vue: specifier: ^3.5.27 - version: 3.5.27 + version: 3.5.28 ws: specifier: ^8.19.0 version: 8.19.0 devDependencies: '@types/node': - specifier: ^20.19.30 - version: 20.19.30 + specifier: '24' + version: 24.10.13 '@types/ws': specifier: ^8.18.1 version: 8.18.1 @@ -39,102 +39,6 @@ importers: packages: - '@ai-sdk/gateway@2.0.27': - resolution: {integrity: sha512-8hbezMsGa0crSt7/DKjkYL1UbbJJW/UFxTfhmf5qcIeYeeWG4dTNmm+DWbUdIsTaWvp59KC4eeC9gYXBbTHd7w==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@3.0.20': - resolution: {integrity: sha512-iXHVe0apM2zUEzauqJwqmpC37A5rihrStAih5Ks+JE32iTe4LZ58y17UGBjpQQTCRw9YxMeo2UFLxLpBluyvLQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider@2.0.1': - resolution: {integrity: sha512-KCUwswvsC5VsW2PWFqF8eJgSCu5Ysj7m1TxiHTVA6g7k360bk0RNQENT8KTMAYEs+8fWPD3Uu4dEmzGHc+jGng==} - engines: {node: '>=18'} - - '@ai-sdk/react@2.0.123': - resolution: {integrity: sha512-exaEvHAsDdR0wgzF3l0BmC9U1nPLnkPK2CCnX3BP4RDj/PySZvPXjry3AOz1Ayb8KSPZgWklVRzxsQxrOYQJxA==} - engines: {node: '>=18'} - peerDependencies: - react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 - zod: ^3.25.76 || ^4.1.8 - peerDependenciesMeta: - zod: - optional: true - - '@algolia/abtesting@1.12.3': - resolution: {integrity: sha512-0SpSdnME0RCS6UHSs9XD3ox4bMcCg1JTmjAJ3AU6rcTlX54CZOAEPc2as8uSghX6wfKGT0HWes4TeUpjJMg6FQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/autocomplete-core@1.19.2': - resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2': - resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} - peerDependencies: - search-insights: '>= 1 < 3' - - '@algolia/autocomplete-shared@1.19.2': - resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/client-abtesting@5.46.3': - resolution: {integrity: sha512-i2C8sBcl3EKXuCd5nlGohW+pZ9pY3P3JKJ2OYqsbCPg6wURiR32hNDiDvDq7/dqJ7KWWwC2snxJhokZzGlckgQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-analytics@5.46.3': - resolution: {integrity: sha512-uFmD7m3LOym1SAURHeiqupHT9jui+9HK0lAiIvm077gXEscOM5KKXM4rg/ICzQ3UDHLZEA0Lb5TglWsXnieE6w==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-common@5.46.3': - resolution: {integrity: sha512-SN+yK840nXa+2+mF72hrDfGd8+B7eBjF8TK/8KoRMdjlAkO/P3o3vtpjKRKI/Sk4L8kYYkB/avW8l+cwR+O1Ew==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-insights@5.46.3': - resolution: {integrity: sha512-5ic1liG0VucNPi6gKCWh5bEUGWQfyEmVeXiNKS+rOSppg7B7nKH0PEEJOFXBbHmgK5aPfNNZINiKcyUoH4XsFA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-personalization@5.46.3': - resolution: {integrity: sha512-f4HNitgTip8tntKgluYBTc1LWSOkbNCdxZvRA3rRBZnEAYSvLe7jpE+AxRep6RY+prSWwMtyeCFhA/F1Um+TuQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-query-suggestions@5.46.3': - resolution: {integrity: sha512-/AaVqah2aYyJj7Cazu5QRkgcV3HF3lkBJo5TRkgqQ26xR4iHNRbLF2YsWJfJpJEFghlTF2HOCh7IgzaUCnM+8A==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-search@5.46.3': - resolution: {integrity: sha512-hfpCIukPuwkrlwsYfJEWdU5R5bduBHEq2uuPcqmgPgNq5MSjmiNIzRuzxGZZgiBKcre6gZT00DR7G1AFn//wiQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/ingestion@1.46.3': - resolution: {integrity: sha512-ChVzNkCzAVxKozTnTgPWCG69WQLjzW7X6OqD91zUh8U38ZhPEX/t3qGhXs+M9ZNaHcJ7xToMB3jywNwONhpLGA==} - engines: {node: '>= 14.0.0'} - - '@algolia/monitoring@1.46.3': - resolution: {integrity: sha512-MZa+Z5iPmVMxVAQ0aq4HpGsja5utSLEMcOuY01X8D46vvMrSPkP8DnlDFtu1PgJ0RwyIGqqx7v+ClFo6iRJ6bA==} - engines: {node: '>= 14.0.0'} - - '@algolia/recommend@5.46.3': - resolution: {integrity: sha512-cr3atJRJBKgAKZl/Oxo4sig6Se0+ukbyIOOluPV5H+ZAXVcxuMoXQgwQ1M5UHPnCnEsZ4uBXhBmilRgUQpUegw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-browser-xhr@5.46.3': - resolution: {integrity: sha512-/Ku9GImJf2SKoRM2S3e03MjCVaWJCP5olih4k54DRhNDdmxBkd3nsWuUXvDElY3Ucw/arBYGs5SYz79SoS5APw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-fetch@5.46.3': - resolution: {integrity: sha512-Uw+SPy/zpfwbH1AxQaeOWvWVzPEcO0XbtLbbSz0HPcEIiBGWyfa9LUCxD5UferbDjrSQNVimmzl3FaWi4u8Ykw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-node-http@5.46.3': - resolution: {integrity: sha512-4No9iTjr1GZ0JWsFbQJj9aZBnmKyY1sTxOoEud9+SGe3U6iAulF0A0lI4cWi/F/Gcfg8V3jkaddcqSQKDnE45w==} - engines: {node: '>= 14.0.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -143,213 +47,182 @@ packages: resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.6': - resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==} + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.28.6': - resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@docsearch/core@4.4.0': - resolution: {integrity: sha512-kiwNo5KEndOnrf5Kq/e5+D9NBMCFgNsDoRpKQJ9o/xnSlheh6b8AXppMuuUVVdAUIhIfQFk/07VLjjk/fYyKmw==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true + '@docsearch/css@4.5.4': + resolution: {integrity: sha512-gzO4DJwyM9c4YEPHwaLV1nUCDC2N6yoh0QJj44dce2rcfN71mB+jpu3+F+Y/KMDF1EKV0C3m54leSWsraE94xg==} - '@docsearch/css@4.4.0': - resolution: {integrity: sha512-e9vPgtih6fkawakmYo0Y6V4BKBmDV7Ykudn7ADWXUs5b6pmtBRwDbpSG/WiaUG63G28OkJDEnsMvgIAnZgGwYw==} - - '@docsearch/js@4.4.0': - resolution: {integrity: sha512-vCiKzjYD54bugUIMZA6YzuLDilkD3TNH/kfbvqsnzxiLTMu8F13psD+hdMSEOn7j+dFJOaf49fZ+gwr+rXctMw==} - - '@docsearch/react@4.4.0': - resolution: {integrity: sha512-z12zeg1mV7WD4Ag4pKSuGukETJLaucVFwszDXL/qLaEgRqxEaVacO9SR1qqnCXvZztlvz2rt7cMqryi/7sKfjA==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true + '@docsearch/js@4.5.4': + resolution: {integrity: sha512-jEBsIklNTevznLZouB0y6SZcaT897gRHnGTzCcH32ibPZRVj/9FyuAM2LUTk61sFdOY79LH4V9rYsIdOe6Wq2g==} '@emnapi/runtime@1.8.1': resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@iconify-json/simple-icons@1.2.67': - resolution: {integrity: sha512-RGJRwlxyup54L1UDAjCshy3ckX5zcvYIU74YLSnUgHGvqh6B4mvksbGNHAIEp7dZQ6cM13RZVT5KC07CmnFNew==} + '@iconify-json/simple-icons@1.2.70': + resolution: {integrity: sha512-CYNRCgN6nBTjN4dNkrBCjHXNR2e4hQihdsZUs/afUNFOWLSYjfihca4EFN05rRvDk4Xoy2n8tym6IxBZmcn+Qg==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -494,165 +367,158 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@opentelemetry/api@1.9.0': - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} - engines: {node: '>=8.0.0'} + '@rolldown/pluginutils@1.0.0-rc.2': + resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} - '@rolldown/pluginutils@1.0.0-beta.53': - resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} - - '@rollup/rollup-android-arm-eabi@4.55.2': - resolution: {integrity: sha512-21J6xzayjy3O6NdnlO6aXi/urvSRjm6nCI6+nF6ra2YofKruGixN9kfT+dt55HVNwfDmpDHJcaS3JuP/boNnlA==} + '@rollup/rollup-android-arm-eabi@4.57.1': + resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.55.2': - resolution: {integrity: sha512-eXBg7ibkNUZ+sTwbFiDKou0BAckeV6kIigK7y5Ko4mB/5A1KLhuzEKovsmfvsL8mQorkoincMFGnQuIT92SKqA==} + '@rollup/rollup-android-arm64@4.57.1': + resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.55.2': - resolution: {integrity: sha512-UCbaTklREjrc5U47ypLulAgg4njaqfOVLU18VrCrI+6E5MQjuG0lSWaqLlAJwsD7NpFV249XgB0Bi37Zh5Sz4g==} + '@rollup/rollup-darwin-arm64@4.57.1': + resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.55.2': - resolution: {integrity: sha512-dP67MA0cCMHFT2g5XyjtpVOtp7y4UyUxN3dhLdt11at5cPKnSm4lY+EhwNvDXIMzAMIo2KU+mc9wxaAQJTn7sQ==} + '@rollup/rollup-darwin-x64@4.57.1': + resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.55.2': - resolution: {integrity: sha512-WDUPLUwfYV9G1yxNRJdXcvISW15mpvod1Wv3ok+Ws93w1HjIVmCIFxsG2DquO+3usMNCpJQ0wqO+3GhFdl6Fow==} + '@rollup/rollup-freebsd-arm64@4.57.1': + resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.55.2': - resolution: {integrity: sha512-Ng95wtHVEulRwn7R0tMrlUuiLVL/HXA8Lt/MYVpy88+s5ikpntzZba1qEulTuPnPIZuOPcW9wNEiqvZxZmgmqQ==} + '@rollup/rollup-freebsd-x64@4.57.1': + resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': - resolution: {integrity: sha512-AEXMESUDWWGqD6LwO/HkqCZgUE1VCJ1OhbvYGsfqX2Y6w5quSXuyoy/Fg3nRqiwro+cJYFxiw5v4kB2ZDLhxrw==} + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.55.2': - resolution: {integrity: sha512-ZV7EljjBDwBBBSv570VWj0hiNTdHt9uGznDtznBB4Caj3ch5rgD4I2K1GQrtbvJ/QiB+663lLgOdcADMNVC29Q==} + '@rollup/rollup-linux-arm-musleabihf@4.57.1': + resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.55.2': - resolution: {integrity: sha512-uvjwc8NtQVPAJtq4Tt7Q49FOodjfbf6NpqXyW/rjXoV+iZ3EJAHLNAnKT5UJBc6ffQVgmXTUL2ifYiLABlGFqA==} + '@rollup/rollup-linux-arm64-gnu@4.57.1': + resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.55.2': - resolution: {integrity: sha512-s3KoWVNnye9mm/2WpOZ3JeUiediUVw6AvY/H7jNA6qgKA2V2aM25lMkVarTDfiicn/DLq3O0a81jncXszoyCFA==} + '@rollup/rollup-linux-arm64-musl@4.57.1': + resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.55.2': - resolution: {integrity: sha512-gi21faacK+J8aVSyAUptML9VQN26JRxe484IbF+h3hpG+sNVoMXPduhREz2CcYr5my0NE3MjVvQ5bMKX71pfVA==} + '@rollup/rollup-linux-loong64-gnu@4.57.1': + resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-musl@4.55.2': - resolution: {integrity: sha512-qSlWiXnVaS/ceqXNfnoFZh4IiCA0EwvCivivTGbEu1qv2o+WTHpn1zNmCTAoOG5QaVr2/yhCoLScQtc/7RxshA==} + '@rollup/rollup-linux-loong64-musl@4.57.1': + resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.55.2': - resolution: {integrity: sha512-rPyuLFNoF1B0+wolH277E780NUKf+KoEDb3OyoLbAO18BbeKi++YN6gC/zuJoPPDlQRL3fIxHxCxVEWiem2yXw==} + '@rollup/rollup-linux-ppc64-gnu@4.57.1': + resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.55.2': - resolution: {integrity: sha512-g+0ZLMook31iWV4PvqKU0i9E78gaZgYpSrYPed/4Bu+nGTgfOPtfs1h11tSSRPXSjC5EzLTjV/1A7L2Vr8pJoQ==} + '@rollup/rollup-linux-ppc64-musl@4.57.1': + resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.55.2': - resolution: {integrity: sha512-i+sGeRGsjKZcQRh3BRfpLsM3LX3bi4AoEVqmGDyc50L6KfYsN45wVCSz70iQMwPWr3E5opSiLOwsC9WB4/1pqg==} + '@rollup/rollup-linux-riscv64-gnu@4.57.1': + resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.55.2': - resolution: {integrity: sha512-C1vLcKc4MfFV6I0aWsC7B2Y9QcsiEcvKkfxprwkPfLaN8hQf0/fKHwSF2lcYzA9g4imqnhic729VB9Fo70HO3Q==} + '@rollup/rollup-linux-riscv64-musl@4.57.1': + resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.55.2': - resolution: {integrity: sha512-68gHUK/howpQjh7g7hlD9DvTTt4sNLp1Bb+Yzw2Ki0xvscm2cOdCLZNJNhd2jW8lsTPrHAHuF751BygifW4bkQ==} + '@rollup/rollup-linux-s390x-gnu@4.57.1': + resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.55.2': - resolution: {integrity: sha512-1e30XAuaBP1MAizaOBApsgeGZge2/Byd6wV4a8oa6jPdHELbRHBiw7wvo4dp7Ie2PE8TZT4pj9RLGZv9N4qwlw==} + '@rollup/rollup-linux-x64-gnu@4.57.1': + resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.55.2': - resolution: {integrity: sha512-4BJucJBGbuGnH6q7kpPqGJGzZnYrpAzRd60HQSt3OpX/6/YVgSsJnNzR8Ot74io50SeVT4CtCWe/RYIAymFPwA==} + '@rollup/rollup-linux-x64-musl@4.57.1': + resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.55.2': - resolution: {integrity: sha512-cT2MmXySMo58ENv8p6/O6wI/h/gLnD3D6JoajwXFZH6X9jz4hARqUhWpGuQhOgLNXscfZYRQMJvZDtWNzMAIDw==} + '@rollup/rollup-openbsd-x64@4.57.1': + resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.55.2': - resolution: {integrity: sha512-sZnyUgGkuzIXaK3jNMPmUIyJrxu/PjmATQrocpGA1WbCPX8H5tfGgRSuYtqBYAvLuIGp8SPRb1O4d1Fkb5fXaQ==} + '@rollup/rollup-openharmony-arm64@4.57.1': + resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.55.2': - resolution: {integrity: sha512-sDpFbenhmWjNcEbBcoTV0PWvW5rPJFvu+P7XoTY0YLGRupgLbFY0XPfwIbJOObzO7QgkRDANh65RjhPmgSaAjQ==} + '@rollup/rollup-win32-arm64-msvc@4.57.1': + resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.55.2': - resolution: {integrity: sha512-GvJ03TqqaweWCigtKQVBErw2bEhu1tyfNQbarwr94wCGnczA9HF8wqEe3U/Lfu6EdeNP0p6R+APeHVwEqVxpUQ==} + '@rollup/rollup-win32-ia32-msvc@4.57.1': + resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.55.2': - resolution: {integrity: sha512-KvXsBvp13oZz9JGe5NYS7FNizLe99Ny+W8ETsuCyjXiKdiGrcz2/J/N8qxZ/RSwivqjQguug07NLHqrIHrqfYw==} + '@rollup/rollup-win32-x64-gnu@4.57.1': + resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.55.2': - resolution: {integrity: sha512-xNO+fksQhsAckRtDSPWaMeT1uIM+JrDRXlerpnWNXhn1TdB3YZ6uKBMBTKP0eX9XtYEP978hHk1f8332i2AW8Q==} + '@rollup/rollup-win32-x64-msvc@4.57.1': + resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} cpu: [x64] os: [win32] - '@shikijs/core@3.21.0': - resolution: {integrity: sha512-AXSQu/2n1UIQekY8euBJlvFYZIw0PHY63jUzGbrOma4wPxzznJXTXkri+QcHeBNaFxiiOljKxxJkVSoB3PjbyA==} + '@shikijs/core@3.22.0': + resolution: {integrity: sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==} - '@shikijs/engine-javascript@3.21.0': - resolution: {integrity: sha512-ATwv86xlbmfD9n9gKRiwuPpWgPENAWCLwYCGz9ugTJlsO2kOzhOkvoyV/UD+tJ0uT7YRyD530x6ugNSffmvIiQ==} + '@shikijs/engine-javascript@3.22.0': + resolution: {integrity: sha512-jdKhfgW9CRtj3Tor0L7+yPwdG3CgP7W+ZEqSsojrMzCjD1e0IxIbwUMDDpYlVBlC08TACg4puwFGkZfLS+56Tw==} - '@shikijs/engine-oniguruma@3.21.0': - resolution: {integrity: sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==} + '@shikijs/engine-oniguruma@3.22.0': + resolution: {integrity: sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==} - '@shikijs/langs@3.21.0': - resolution: {integrity: sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==} + '@shikijs/langs@3.22.0': + resolution: {integrity: sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==} - '@shikijs/themes@3.21.0': - resolution: {integrity: sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==} + '@shikijs/themes@3.22.0': + resolution: {integrity: sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==} - '@shikijs/transformers@3.21.0': - resolution: {integrity: sha512-CZwvCWWIiRRiFk9/JKzdEooakAP8mQDtBOQ1TKiCaS2E1bYtyBCOkUzS8akO34/7ufICQ29oeSfkb3tT5KtrhA==} + '@shikijs/transformers@3.22.0': + resolution: {integrity: sha512-E7eRV7mwDBjueLF6852n2oYeJYxBq3NSsDk+uyruYAXONv4U8holGmIrT+mPRJQ1J1SNOH6L8G19KRzmBawrFw==} - '@shikijs/types@3.21.0': - resolution: {integrity: sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==} + '@shikijs/types@3.22.0': + resolution: {integrity: sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -671,8 +537,8 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/node@20.19.30': - resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==} + '@types/node@24.10.13': + resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -686,68 +552,64 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vercel/oidc@3.1.0': - resolution: {integrity: sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==} - engines: {node: '>= 20'} - - '@vitejs/plugin-vue@6.0.3': - resolution: {integrity: sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==} + '@vitejs/plugin-vue@6.0.4': + resolution: {integrity: sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 vue: ^3.2.25 - '@vue/compiler-core@3.5.27': - resolution: {integrity: sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==} + '@vue/compiler-core@3.5.28': + resolution: {integrity: sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==} - '@vue/compiler-dom@3.5.27': - resolution: {integrity: sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==} + '@vue/compiler-dom@3.5.28': + resolution: {integrity: sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==} - '@vue/compiler-sfc@3.5.27': - resolution: {integrity: sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==} + '@vue/compiler-sfc@3.5.28': + resolution: {integrity: sha512-6TnKMiNkd6u6VeVDhZn/07KhEZuBSn43Wd2No5zaP5s3xm8IqFTHBj84HJah4UepSUJTro5SoqqlOY22FKY96g==} - '@vue/compiler-ssr@3.5.27': - resolution: {integrity: sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==} + '@vue/compiler-ssr@3.5.28': + resolution: {integrity: sha512-JCq//9w1qmC6UGLWJX7RXzrGpKkroubey/ZFqTpvEIDJEKGgntuDMqkuWiZvzTzTA5h2qZvFBFHY7fAAa9475g==} - '@vue/devtools-api@8.0.5': - resolution: {integrity: sha512-DgVcW8H/Nral7LgZEecYFFYXnAvGuN9C3L3DtWekAncFBedBczpNW8iHKExfaM559Zm8wQWrwtYZ9lXthEHtDw==} + '@vue/devtools-api@8.0.6': + resolution: {integrity: sha512-+lGBI+WTvJmnU2FZqHhEB8J1DXcvNlDeEalz77iYgOdY1jTj1ipSBaKj3sRhYcy+kqA8v/BSuvOz1XJucfQmUA==} - '@vue/devtools-kit@8.0.5': - resolution: {integrity: sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==} + '@vue/devtools-kit@8.0.6': + resolution: {integrity: sha512-9zXZPTJW72OteDXeSa5RVML3zWDCRcO5t77aJqSs228mdopYj5AiTpihozbsfFJ0IodfNs7pSgOGO3qfCuxDtw==} - '@vue/devtools-shared@8.0.5': - resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==} + '@vue/devtools-shared@8.0.6': + resolution: {integrity: sha512-Pp1JylTqlgMJvxW6MGyfTF8vGvlBSCAvMFaDCYa82Mgw7TT5eE5kkHgDvmOGHWeJE4zIDfCpCxHapsK2LtIAJg==} - '@vue/reactivity@3.5.27': - resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==} + '@vue/reactivity@3.5.28': + resolution: {integrity: sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw==} - '@vue/runtime-core@3.5.27': - resolution: {integrity: sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==} + '@vue/runtime-core@3.5.28': + resolution: {integrity: sha512-POVHTdbgnrBBIpnbYU4y7pOMNlPn2QVxVzkvEA2pEgvzbelQq4ZOUxbp2oiyo+BOtiYlm8Q44wShHJoBvDPAjQ==} - '@vue/runtime-dom@3.5.27': - resolution: {integrity: sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==} + '@vue/runtime-dom@3.5.28': + resolution: {integrity: sha512-4SXxSF8SXYMuhAIkT+eBRqOkWEfPu6nhccrzrkioA6l0boiq7sp18HCOov9qWJA5HML61kW8p/cB4MmBiG9dSA==} - '@vue/server-renderer@3.5.27': - resolution: {integrity: sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==} + '@vue/server-renderer@3.5.28': + resolution: {integrity: sha512-pf+5ECKGj8fX95bNincbzJ6yp6nyzuLDhYZCeFxUNp8EBrQpPpQaLX3nNCp49+UbgbPun3CeVE+5CXVV1Xydfg==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 - '@vue/shared@3.5.27': - resolution: {integrity: sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==} + '@vue/shared@3.5.28': + resolution: {integrity: sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==} - '@vueuse/core@14.1.0': - resolution: {integrity: sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==} + '@vueuse/core@14.2.1': + resolution: {integrity: sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==} peerDependencies: vue: ^3.5.0 - '@vueuse/integrations@14.1.0': - resolution: {integrity: sha512-eNQPdisnO9SvdydTIXnTE7c29yOsJBD/xkwEyQLdhDC/LKbqrFpXHb3uS//7NcIrQO3fWVuvMGp8dbK6mNEMCA==} + '@vueuse/integrations@14.2.1': + resolution: {integrity: sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==} peerDependencies: async-validator: ^4 axios: ^1 change-case: ^5 drauu: ^0.4 - focus-trap: ^7 + focus-trap: ^7 || ^8 fuse.js: ^7 idb-keyval: ^6 jwt-decode: ^4 @@ -782,24 +644,14 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@14.1.0': - resolution: {integrity: sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==} + '@vueuse/metadata@14.2.1': + resolution: {integrity: sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==} - '@vueuse/shared@14.1.0': - resolution: {integrity: sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==} + '@vueuse/shared@14.2.1': + resolution: {integrity: sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==} peerDependencies: vue: ^3.5.0 - ai@5.0.121: - resolution: {integrity: sha512-3iYPdARKGLryC/7OA9RgBUaym1gynvWS7UPy8NwoRNCKP52lshldtHB5xcEfVviw7liWH2zJlW9yEzsDglcIEQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - algoliasearch@5.46.3: - resolution: {integrity: sha512-n/NdPglzmkcNYZfIT3Fo8pnDR/lKiK1kZ1Yaa315UoLyHymADhWw15+bzN5gBxrCA8KyeNu0JJD6mLtTov43lQ==} - engines: {node: '>= 14.0.0'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -867,12 +719,12 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - entities@7.0.0: - resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} engines: {node: '>=0.12'} - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true @@ -888,10 +740,6 @@ packages: estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - eventsource-parser@3.0.6: - resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} - engines: {node: '>=18.0.0'} - extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -934,9 +782,6 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - htm@3.1.1: - resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} - html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -956,9 +801,6 @@ packages: resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -969,11 +811,6 @@ packages: mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - mdast-util-to-hast@13.2.1: resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} @@ -1009,8 +846,8 @@ packages: oniguruma-to-es@4.3.4: resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} - perfect-debounce@2.0.0: - resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==} + perfect-debounce@2.1.0: + resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1026,10 +863,6 @@ packages: property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - react@19.2.3: - resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} - engines: {node: '>=0.10.0'} - regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -1046,23 +879,20 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.55.2: - resolution: {integrity: sha512-PggGy4dhwx5qaW+CKBilA/98Ql9keyfnb7lh4SR6shQ91QQQi1ORJ1v4UinkdP2i87OBs9AQFooQylcrrRfIcg==} + rollup@4.57.1: + resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} hasBin: true @@ -1074,8 +904,8 @@ packages: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} - shiki@3.21.0: - resolution: {integrity: sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==} + shiki@3.22.0: + resolution: {integrity: sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==} source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} @@ -1118,18 +948,9 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - swr@2.3.8: - resolution: {integrity: sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - tabbable@6.4.0: resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} - throttleit@2.1.0: - resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} - engines: {node: '>=18'} - tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -1144,8 +965,8 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unist-util-is@6.0.1: resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} @@ -1159,13 +980,8 @@ packages: unist-util-visit-parents@6.0.2: resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - - use-sync-external-store@1.6.0: - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} @@ -1228,8 +1044,8 @@ packages: postcss: optional: true - vue@3.5.27: - resolution: {integrity: sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==} + vue@3.5.28: + resolution: {integrity: sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1264,278 +1080,112 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - zod@4.3.5: - resolution: {integrity: sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==} - zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@ai-sdk/gateway@2.0.27(zod@4.3.5)': - dependencies: - '@ai-sdk/provider': 2.0.1 - '@ai-sdk/provider-utils': 3.0.20(zod@4.3.5) - '@vercel/oidc': 3.1.0 - zod: 4.3.5 - - '@ai-sdk/provider-utils@3.0.20(zod@4.3.5)': - dependencies: - '@ai-sdk/provider': 2.0.1 - '@standard-schema/spec': 1.1.0 - eventsource-parser: 3.0.6 - zod: 4.3.5 - - '@ai-sdk/provider@2.0.1': - dependencies: - json-schema: 0.4.0 - - '@ai-sdk/react@2.0.123(react@19.2.3)(zod@4.3.5)': - dependencies: - '@ai-sdk/provider-utils': 3.0.20(zod@4.3.5) - ai: 5.0.121(zod@4.3.5) - react: 19.2.3 - swr: 2.3.8(react@19.2.3) - throttleit: 2.1.0 - optionalDependencies: - zod: 4.3.5 - - '@algolia/abtesting@1.12.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)': - dependencies: - '@algolia/client-search': 5.46.3 - algoliasearch: 5.46.3 - - '@algolia/client-abtesting@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-analytics@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-common@5.46.3': {} - - '@algolia/client-insights@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-personalization@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-query-suggestions@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-search@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/ingestion@1.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/monitoring@1.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/recommend@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/requester-browser-xhr@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - - '@algolia/requester-fetch@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - - '@algolia/requester-node-http@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.28.5': {} - '@babel/parser@7.28.6': + '@babel/parser@7.29.0': dependencies: - '@babel/types': 7.28.6 + '@babel/types': 7.29.0 - '@babel/types@7.28.6': + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@docsearch/core@4.4.0(react@19.2.3)': - optionalDependencies: - react: 19.2.3 + '@docsearch/css@4.5.4': {} - '@docsearch/css@4.4.0': {} - - '@docsearch/js@4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3)': - dependencies: - '@docsearch/react': 4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3) - htm: 3.1.1 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - - '@docsearch/react@4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3)': - dependencies: - '@ai-sdk/react': 2.0.123(react@19.2.3)(zod@4.3.5) - '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3) - '@docsearch/core': 4.4.0(react@19.2.3) - '@docsearch/css': 4.4.0 - ai: 5.0.121(zod@4.3.5) - algoliasearch: 5.46.3 - marked: 16.4.2 - zod: 4.3.5 - optionalDependencies: - react: 19.2.3 - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' + '@docsearch/js@4.5.4': {} '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.27.3': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.27.3': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.27.3': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.27.3': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.27.3': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.27.3': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.27.3': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.27.3': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.27.3': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.27.3': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.27.3': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.27.3': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.27.3': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.27.3': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.27.3': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.27.3': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.27.3': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.27.3': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.27.3': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.27.3': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.27.3': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.27.3': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.27.3': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.27.3': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.27.3': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.27.3': optional: true - '@iconify-json/simple-icons@1.2.67': + '@iconify-json/simple-icons@1.2.70': dependencies: '@iconify/types': 2.0.0 @@ -1639,125 +1289,121 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} - '@opentelemetry/api@1.9.0': {} + '@rolldown/pluginutils@1.0.0-rc.2': {} - '@rolldown/pluginutils@1.0.0-beta.53': {} - - '@rollup/rollup-android-arm-eabi@4.55.2': + '@rollup/rollup-android-arm-eabi@4.57.1': optional: true - '@rollup/rollup-android-arm64@4.55.2': + '@rollup/rollup-android-arm64@4.57.1': optional: true - '@rollup/rollup-darwin-arm64@4.55.2': + '@rollup/rollup-darwin-arm64@4.57.1': optional: true - '@rollup/rollup-darwin-x64@4.55.2': + '@rollup/rollup-darwin-x64@4.57.1': optional: true - '@rollup/rollup-freebsd-arm64@4.55.2': + '@rollup/rollup-freebsd-arm64@4.57.1': optional: true - '@rollup/rollup-freebsd-x64@4.55.2': + '@rollup/rollup-freebsd-x64@4.57.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.55.2': + '@rollup/rollup-linux-arm-musleabihf@4.57.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.55.2': + '@rollup/rollup-linux-arm64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.55.2': + '@rollup/rollup-linux-arm64-musl@4.57.1': optional: true - '@rollup/rollup-linux-loong64-gnu@4.55.2': + '@rollup/rollup-linux-loong64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-loong64-musl@4.55.2': + '@rollup/rollup-linux-loong64-musl@4.57.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.55.2': + '@rollup/rollup-linux-ppc64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-ppc64-musl@4.55.2': + '@rollup/rollup-linux-ppc64-musl@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.55.2': + '@rollup/rollup-linux-riscv64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.55.2': + '@rollup/rollup-linux-riscv64-musl@4.57.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.55.2': + '@rollup/rollup-linux-s390x-gnu@4.57.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.55.2': + '@rollup/rollup-linux-x64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-x64-musl@4.55.2': + '@rollup/rollup-linux-x64-musl@4.57.1': optional: true - '@rollup/rollup-openbsd-x64@4.55.2': + '@rollup/rollup-openbsd-x64@4.57.1': optional: true - '@rollup/rollup-openharmony-arm64@4.55.2': + '@rollup/rollup-openharmony-arm64@4.57.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.55.2': + '@rollup/rollup-win32-arm64-msvc@4.57.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.55.2': + '@rollup/rollup-win32-ia32-msvc@4.57.1': optional: true - '@rollup/rollup-win32-x64-gnu@4.55.2': + '@rollup/rollup-win32-x64-gnu@4.57.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.55.2': + '@rollup/rollup-win32-x64-msvc@4.57.1': optional: true - '@shikijs/core@3.21.0': + '@shikijs/core@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.21.0': + '@shikijs/engine-javascript@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.4 - '@shikijs/engine-oniguruma@3.21.0': + '@shikijs/engine-oniguruma@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.21.0': + '@shikijs/langs@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 - '@shikijs/themes@3.21.0': + '@shikijs/themes@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 - '@shikijs/transformers@3.21.0': + '@shikijs/transformers@3.22.0': dependencies: - '@shikijs/core': 3.21.0 - '@shikijs/types': 3.21.0 + '@shikijs/core': 3.22.0 + '@shikijs/types': 3.22.0 - '@shikijs/types@3.21.0': + '@shikijs/types@3.22.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 '@shikijs/vscode-textmate@10.0.2': {} - '@standard-schema/spec@1.1.0': {} - '@types/estree@1.0.8': {} '@types/hast@3.0.4': @@ -1777,9 +1423,9 @@ snapshots: '@types/mdurl@2.0.0': {} - '@types/node@20.19.30': + '@types/node@24.10.13': dependencies: - undici-types: 6.21.0 + undici-types: 7.16.0 '@types/unist@3.0.3': {} @@ -1787,135 +1433,108 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.30 + '@types/node': 24.10.13 '@ungap/structured-clone@1.3.0': {} - '@vercel/oidc@3.1.0': {} - - '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@20.19.30))(vue@3.5.27)': + '@vitejs/plugin-vue@6.0.4(vite@7.3.1(@types/node@24.10.13))(vue@3.5.28)': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.53 - vite: 7.3.1(@types/node@20.19.30) - vue: 3.5.27 + '@rolldown/pluginutils': 1.0.0-rc.2 + vite: 7.3.1(@types/node@24.10.13) + vue: 3.5.28 - '@vue/compiler-core@3.5.27': + '@vue/compiler-core@3.5.28': dependencies: - '@babel/parser': 7.28.6 - '@vue/shared': 3.5.27 - entities: 7.0.0 + '@babel/parser': 7.29.0 + '@vue/shared': 3.5.28 + entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.27': + '@vue/compiler-dom@3.5.28': dependencies: - '@vue/compiler-core': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/compiler-core': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/compiler-sfc@3.5.27': + '@vue/compiler-sfc@3.5.28': dependencies: - '@babel/parser': 7.28.6 - '@vue/compiler-core': 3.5.27 - '@vue/compiler-dom': 3.5.27 - '@vue/compiler-ssr': 3.5.27 - '@vue/shared': 3.5.27 + '@babel/parser': 7.29.0 + '@vue/compiler-core': 3.5.28 + '@vue/compiler-dom': 3.5.28 + '@vue/compiler-ssr': 3.5.28 + '@vue/shared': 3.5.28 estree-walker: 2.0.2 magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.27': + '@vue/compiler-ssr@3.5.28': dependencies: - '@vue/compiler-dom': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/compiler-dom': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/devtools-api@8.0.5': + '@vue/devtools-api@8.0.6': dependencies: - '@vue/devtools-kit': 8.0.5 + '@vue/devtools-kit': 8.0.6 - '@vue/devtools-kit@8.0.5': + '@vue/devtools-kit@8.0.6': dependencies: - '@vue/devtools-shared': 8.0.5 + '@vue/devtools-shared': 8.0.6 birpc: 2.9.0 hookable: 5.5.3 mitt: 3.0.1 - perfect-debounce: 2.0.0 + perfect-debounce: 2.1.0 speakingurl: 14.0.1 superjson: 2.2.6 - '@vue/devtools-shared@8.0.5': + '@vue/devtools-shared@8.0.6': dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.27': + '@vue/reactivity@3.5.28': dependencies: - '@vue/shared': 3.5.27 + '@vue/shared': 3.5.28 - '@vue/runtime-core@3.5.27': + '@vue/runtime-core@3.5.28': dependencies: - '@vue/reactivity': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/reactivity': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/runtime-dom@3.5.27': + '@vue/runtime-dom@3.5.28': dependencies: - '@vue/reactivity': 3.5.27 - '@vue/runtime-core': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/reactivity': 3.5.28 + '@vue/runtime-core': 3.5.28 + '@vue/shared': 3.5.28 csstype: 3.2.3 - '@vue/server-renderer@3.5.27(vue@3.5.27)': + '@vue/server-renderer@3.5.28(vue@3.5.28)': dependencies: - '@vue/compiler-ssr': 3.5.27 - '@vue/shared': 3.5.27 - vue: 3.5.27 + '@vue/compiler-ssr': 3.5.28 + '@vue/shared': 3.5.28 + vue: 3.5.28 - '@vue/shared@3.5.27': {} + '@vue/shared@3.5.28': {} - '@vueuse/core@14.1.0(vue@3.5.27)': + '@vueuse/core@14.2.1(vue@3.5.28)': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 14.1.0 - '@vueuse/shared': 14.1.0(vue@3.5.27) - vue: 3.5.27 + '@vueuse/metadata': 14.2.1 + '@vueuse/shared': 14.2.1(vue@3.5.28) + vue: 3.5.28 - '@vueuse/integrations@14.1.0(focus-trap@7.8.0)(vue@3.5.27)': + '@vueuse/integrations@14.2.1(focus-trap@7.8.0)(vue@3.5.28)': dependencies: - '@vueuse/core': 14.1.0(vue@3.5.27) - '@vueuse/shared': 14.1.0(vue@3.5.27) - vue: 3.5.27 + '@vueuse/core': 14.2.1(vue@3.5.28) + '@vueuse/shared': 14.2.1(vue@3.5.28) + vue: 3.5.28 optionalDependencies: focus-trap: 7.8.0 - '@vueuse/metadata@14.1.0': {} + '@vueuse/metadata@14.2.1': {} - '@vueuse/shared@14.1.0(vue@3.5.27)': + '@vueuse/shared@14.2.1(vue@3.5.28)': dependencies: - vue: 3.5.27 - - ai@5.0.121(zod@4.3.5): - dependencies: - '@ai-sdk/gateway': 2.0.27(zod@4.3.5) - '@ai-sdk/provider': 2.0.1 - '@ai-sdk/provider-utils': 3.0.20(zod@4.3.5) - '@opentelemetry/api': 1.9.0 - zod: 4.3.5 - - algoliasearch@5.46.3: - dependencies: - '@algolia/abtesting': 1.12.3 - '@algolia/client-abtesting': 5.46.3 - '@algolia/client-analytics': 5.46.3 - '@algolia/client-common': 5.46.3 - '@algolia/client-insights': 5.46.3 - '@algolia/client-personalization': 5.46.3 - '@algolia/client-query-suggestions': 5.46.3 - '@algolia/client-search': 5.46.3 - '@algolia/ingestion': 1.46.3 - '@algolia/monitoring': 1.46.3 - '@algolia/recommend': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 + vue: 3.5.28 ansi-regex@5.0.1: {} @@ -1979,36 +1598,36 @@ snapshots: emoji-regex@8.0.0: {} - entities@7.0.0: {} + entities@7.0.1: {} - esbuild@0.27.2: + esbuild@0.27.3: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 escalade@3.2.0: {} @@ -2016,8 +1635,6 @@ snapshots: estree-walker@2.0.2: {} - eventsource-parser@3.0.6: {} - extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -2064,8 +1681,6 @@ snapshots: hookable@5.5.3: {} - htm@3.1.1: {} - html-void-elements@3.0.0: {} is-extendable@0.1.1: {} @@ -2079,8 +1694,6 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 - json-schema@0.4.0: {} - kind-of@6.0.3: {} magic-string@0.30.21: @@ -2089,8 +1702,6 @@ snapshots: mark.js@8.11.1: {} - marked@16.4.2: {} - mdast-util-to-hast@13.2.1: dependencies: '@types/hast': 3.0.4 @@ -2100,7 +1711,7 @@ snapshots: micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 micromark-util-character@2.1.1: @@ -2134,7 +1745,7 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 - perfect-debounce@2.0.0: {} + perfect-debounce@2.1.0: {} picocolors@1.1.1: {} @@ -2148,8 +1759,6 @@ snapshots: property-information@7.1.0: {} - react@19.2.3: {} - regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -2164,55 +1773,53 @@ snapshots: rfdc@1.4.1: {} - rollup@4.55.2: + rollup@4.57.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.55.2 - '@rollup/rollup-android-arm64': 4.55.2 - '@rollup/rollup-darwin-arm64': 4.55.2 - '@rollup/rollup-darwin-x64': 4.55.2 - '@rollup/rollup-freebsd-arm64': 4.55.2 - '@rollup/rollup-freebsd-x64': 4.55.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.55.2 - '@rollup/rollup-linux-arm-musleabihf': 4.55.2 - '@rollup/rollup-linux-arm64-gnu': 4.55.2 - '@rollup/rollup-linux-arm64-musl': 4.55.2 - '@rollup/rollup-linux-loong64-gnu': 4.55.2 - '@rollup/rollup-linux-loong64-musl': 4.55.2 - '@rollup/rollup-linux-ppc64-gnu': 4.55.2 - '@rollup/rollup-linux-ppc64-musl': 4.55.2 - '@rollup/rollup-linux-riscv64-gnu': 4.55.2 - '@rollup/rollup-linux-riscv64-musl': 4.55.2 - '@rollup/rollup-linux-s390x-gnu': 4.55.2 - '@rollup/rollup-linux-x64-gnu': 4.55.2 - '@rollup/rollup-linux-x64-musl': 4.55.2 - '@rollup/rollup-openbsd-x64': 4.55.2 - '@rollup/rollup-openharmony-arm64': 4.55.2 - '@rollup/rollup-win32-arm64-msvc': 4.55.2 - '@rollup/rollup-win32-ia32-msvc': 4.55.2 - '@rollup/rollup-win32-x64-gnu': 4.55.2 - '@rollup/rollup-win32-x64-msvc': 4.55.2 + '@rollup/rollup-android-arm-eabi': 4.57.1 + '@rollup/rollup-android-arm64': 4.57.1 + '@rollup/rollup-darwin-arm64': 4.57.1 + '@rollup/rollup-darwin-x64': 4.57.1 + '@rollup/rollup-freebsd-arm64': 4.57.1 + '@rollup/rollup-freebsd-x64': 4.57.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 + '@rollup/rollup-linux-arm-musleabihf': 4.57.1 + '@rollup/rollup-linux-arm64-gnu': 4.57.1 + '@rollup/rollup-linux-arm64-musl': 4.57.1 + '@rollup/rollup-linux-loong64-gnu': 4.57.1 + '@rollup/rollup-linux-loong64-musl': 4.57.1 + '@rollup/rollup-linux-ppc64-gnu': 4.57.1 + '@rollup/rollup-linux-ppc64-musl': 4.57.1 + '@rollup/rollup-linux-riscv64-gnu': 4.57.1 + '@rollup/rollup-linux-riscv64-musl': 4.57.1 + '@rollup/rollup-linux-s390x-gnu': 4.57.1 + '@rollup/rollup-linux-x64-gnu': 4.57.1 + '@rollup/rollup-linux-x64-musl': 4.57.1 + '@rollup/rollup-openbsd-x64': 4.57.1 + '@rollup/rollup-openharmony-arm64': 4.57.1 + '@rollup/rollup-win32-arm64-msvc': 4.57.1 + '@rollup/rollup-win32-ia32-msvc': 4.57.1 + '@rollup/rollup-win32-x64-gnu': 4.57.1 + '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 rxjs@7.8.2: dependencies: tslib: 2.8.1 - search-insights@2.17.3: {} - section-matter@1.0.0: dependencies: extend-shallow: 2.0.1 kind-of: 6.0.3 - semver@7.7.3: {} + semver@7.7.4: {} sharp@0.34.5: dependencies: '@img/colour': 1.0.0 detect-libc: 2.1.2 - semver: 7.7.3 + semver: 7.7.4 optionalDependencies: '@img/sharp-darwin-arm64': 0.34.5 '@img/sharp-darwin-x64': 0.34.5 @@ -2241,14 +1848,14 @@ snapshots: shell-quote@1.8.3: {} - shiki@3.21.0: + shiki@3.22.0: dependencies: - '@shikijs/core': 3.21.0 - '@shikijs/engine-javascript': 3.21.0 - '@shikijs/engine-oniguruma': 3.21.0 - '@shikijs/langs': 3.21.0 - '@shikijs/themes': 3.21.0 - '@shikijs/types': 3.21.0 + '@shikijs/core': 3.22.0 + '@shikijs/engine-javascript': 3.22.0 + '@shikijs/engine-oniguruma': 3.22.0 + '@shikijs/langs': 3.22.0 + '@shikijs/themes': 3.22.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -2289,16 +1896,8 @@ snapshots: dependencies: has-flag: 4.0.0 - swr@2.3.8(react@19.2.3): - dependencies: - dequal: 2.0.3 - react: 19.2.3 - use-sync-external-store: 1.6.0(react@19.2.3) - tabbable@6.4.0: {} - throttleit@2.1.0: {} - tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -2310,7 +1909,7 @@ snapshots: tslib@2.8.1: {} - undici-types@6.21.0: {} + undici-types@7.16.0: {} unist-util-is@6.0.1: dependencies: @@ -2329,16 +1928,12 @@ snapshots: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit@5.0.0: + unist-util-visit@5.1.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - use-sync-external-store@1.6.0(react@19.2.3): - dependencies: - react: 19.2.3 - vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -2349,44 +1944,42 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@7.3.1(@types/node@20.19.30): + vite@7.3.1(@types/node@24.10.13): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.55.2 + rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 20.19.30 + '@types/node': 24.10.13 fsevents: 2.3.3 - vitepress@2.0.0-alpha.15(@algolia/client-search@5.46.3)(@types/node@20.19.30)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3): + vitepress@2.0.0-alpha.15(@types/node@24.10.13)(postcss@8.5.6): dependencies: - '@docsearch/css': 4.4.0 - '@docsearch/js': 4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3) - '@iconify-json/simple-icons': 1.2.67 - '@shikijs/core': 3.21.0 - '@shikijs/transformers': 3.21.0 - '@shikijs/types': 3.21.0 + '@docsearch/css': 4.5.4 + '@docsearch/js': 4.5.4 + '@iconify-json/simple-icons': 1.2.70 + '@shikijs/core': 3.22.0 + '@shikijs/transformers': 3.22.0 + '@shikijs/types': 3.22.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 6.0.3(vite@7.3.1(@types/node@20.19.30))(vue@3.5.27) - '@vue/devtools-api': 8.0.5 - '@vue/shared': 3.5.27 - '@vueuse/core': 14.1.0(vue@3.5.27) - '@vueuse/integrations': 14.1.0(focus-trap@7.8.0)(vue@3.5.27) + '@vitejs/plugin-vue': 6.0.4(vite@7.3.1(@types/node@24.10.13))(vue@3.5.28) + '@vue/devtools-api': 8.0.6 + '@vue/shared': 3.5.28 + '@vueuse/core': 14.2.1(vue@3.5.28) + '@vueuse/integrations': 14.2.1(focus-trap@7.8.0)(vue@3.5.28) focus-trap: 7.8.0 mark.js: 8.11.1 minisearch: 7.2.0 - shiki: 3.21.0 - vite: 7.3.1(@types/node@20.19.30) - vue: 3.5.27 + shiki: 3.22.0 + vite: 7.3.1(@types/node@24.10.13) + vue: 3.5.28 optionalDependencies: postcss: 8.5.6 transitivePeerDependencies: - - '@algolia/client-search' - '@types/node' - - '@types/react' - async-validator - axios - change-case @@ -2399,11 +1992,8 @@ snapshots: - lightningcss - nprogress - qrcode - - react - - react-dom - sass - sass-embedded - - search-insights - sortablejs - stylus - sugarss @@ -2413,13 +2003,13 @@ snapshots: - universal-cookie - yaml - vue@3.5.27: + vue@3.5.28: dependencies: - '@vue/compiler-dom': 3.5.27 - '@vue/compiler-sfc': 3.5.27 - '@vue/runtime-dom': 3.5.27 - '@vue/server-renderer': 3.5.27(vue@3.5.27) - '@vue/shared': 3.5.27 + '@vue/compiler-dom': 3.5.28 + '@vue/compiler-sfc': 3.5.28 + '@vue/runtime-dom': 3.5.28 + '@vue/server-renderer': 3.5.28(vue@3.5.28) + '@vue/shared': 3.5.28 wrap-ansi@7.0.0: dependencies: @@ -2443,6 +2033,4 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - zod@4.3.5: {} - zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index e6654d63..00000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,2 +0,0 @@ -onlyBuiltDependencies: - - sharp diff --git a/server.js b/server.js index 6d56d6c9..e683ff31 100644 --- a/server.js +++ b/server.js @@ -33,9 +33,10 @@ wss.on("connection", (ws) => { console.log(`Start ${q}`); const md = loadMdFile(q); + const q_stem = make_q_stem(q); try { - mkdirSync(joinPath(ROOT_DIR, md.q_stem)); + mkdirSync(joinPath(ROOT_DIR, q_stem)); } catch (e) {} let isChanged = false; @@ -63,7 +64,7 @@ wss.on("connection", (ws) => { const { min, sec } = m.groups; const t = `${min}_${sec}`; ts.push(t); - newContent += `\n![${line}](./${md.q_stem}/${t}.png)\n\n`; + newContent += `\n![${line}](./${q_stem}/${t}.png)\n\n`; isChanged = true; } else { newContent += `${line}\n`; @@ -80,10 +81,7 @@ wss.on("connection", (ws) => { case "timed_q": { const { q, t } = payload; - const q_stem = q - .replace(/\.[a-z0-9]+$/, "") - .replace(/\[.+?\]/g, "") - .trim(); + const q_stem = make_q_stem(q); filename = t ? joinPath(q_stem, `${t}.png`) : ""; } break; @@ -92,7 +90,7 @@ wss.on("connection", (ws) => { const { q } = payload; const md = loadMdFile(q); - console.log(`Done timestamp ${q}`); + console.log(`Done basic parsing ${q}`); const { dedup } = md.data; if (dedup) { @@ -104,7 +102,7 @@ wss.on("connection", (ws) => { typeof dedup === "number" ? dedup : undefined, ).then((stats) => { // Don't log a thing yet. - console.log(`Done duduping ${md.filename}`); + console.log(`Done deduping ${md.filename}`); }); } @@ -125,16 +123,30 @@ wss.on("connection", (ws) => { * @returns */ function loadMdFile(q) { - const q_stem = q - .replace(/\.[a-z0-9]+$/, "") - .replace(/\[.+?\]/g, "") - .trim() - .replace(/\s+/g, "_"); + const q_stem = make_q_stem(q); try { mkdirSync(joinPath(ROOT_DIR, q_stem)); } catch (e) {} const filename = joinPath(ROOT_DIR, `${q_stem}.md`); - return { q_stem, filename, ...matter(readFileSync(filename, "utf-8")) }; + try { + // create a blank md file if not exists + readFileSync(filename, { flag: "a" }); + } catch (e) {} + + return { filename, ...matter(readFileSync(filename, "utf-8")) }; +} + +/** + * + * @param {string} q + * @returns + */ +function make_q_stem(q) { + return q + .replace(/\.[a-z0-9]+$/, "") + .replace(/\[.+?\]/g, "") + .trim() + .replace(/\s+/g, "_"); }