[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6994":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},6994,"FlashSpace","wojciech-kulik\u002FFlashSpace","wojciech-kulik","FlashSpace is a blazingly fast virtual workspace manager for macOS ⚡","",null,"Swift",3356,59,11,3,0,6,21,62,24,27.33,"GNU General Public License v3.0",false,"main",[26,27,28,29],"apple","macos","swift","window-manager","2026-06-12 02:01:33","[![Homebrew](https:\u002F\u002Fimg.shields.io\u002Fhomebrew\u002Fcask\u002Fv\u002Fflashspace?color=FBB03F&logo=homebrew&label=homebrew)](https:\u002F\u002Fformulae.brew.sh\u002Fcask\u002Fflashspace)\n[![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fwojciech-kulik\u002FFlashSpace?logo=github)](https:\u002F\u002Fgithub.com\u002Fwojciech-kulik\u002FFlashSpace\u002Freleases)\n[![min macOS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FmacOS-14.0+-silver?logo=apple)](#)\n[![CI Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fwojciech-kulik\u002FFlashSpace\u002Fxcode-build-check.yml?logo=githubactions&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fwojciech-kulik\u002FFlashSpace\u002Factions\u002Fworkflows\u002Fxcode-build-check.yml)\n\n# ⚡ FlashSpace\n\nFlashSpace is a blazingly-fast virtual workspace manager for macOS, designed to\nenhance and replace native macOS Spaces. No more waiting for macOS animations.\n\n\u003Cimg width=\"806\" height=\"582\" alt=\"FlashSpace\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F630c1095-d2df-4288-a21a-893f41e687f2\" \u002F>\n\n## ⚙️ Installation\n\n**Requirements:**\n\n- macOS 14.0 or later.\n- Enabled \"Displays have separate Spaces\" in \"Desktop & Dock\" system settings.\n\n### Homebrew\n\n```bash\nbrew install flashspace\n```\n\n### Download Binary\n\nSee: [Releases Page].\n\n### Build From Source\n\nSee: [Build From Source](#%EF%B8%8F-build-from-source).\n\n## 🎥 Demo\n\nThe video shows a sample configuration where I use 3 workspaces and switch\nbetween them using hotkeys.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F09c574c5-512f-47b5-b644-feac0e1de4b0\n\n## 💬 How to use\n\n1. Move all your apps to a single macOS space (per display).\n1. Create a workspace.\n1. Assign apps to it.\n1. Assign a display to the workspace (or use [dynamic mode](#%EF%B8%8F-display-assignment-modes)).\n1. Set a hotkey for quick workspace activation.\n1. Follow the same steps for other workspaces.\n1. Switch between configured workspaces using hotkeys.\n\n### The Same App In Multiple Workspaces\n\nIf you want to keep the same app in multiple workspaces, you can use the\n\"Floating Apps\" feature from the app settings or you can add the app to multiple\nworkspaces from the main app window.\n\n## 👉 How it works\n\nFlashSpace allows to define virtual workspaces and assign apps to them. Each workspace is\nalso assigned to a specific display. When you switch to a workspace, the assigned apps are\nautomatically presented and all other apps from the assigned display are hidden.\n\nThe app allows workspaces to be switched independently on each display.\n\n## ✨ Features\n\n- [x] Blazingly fast workspace switching\n- [x] Multiple displays support\n- [x] [Space Control](#-space-control) - preview all workspaces and switch between them\n- [x] [Workspace Switcher](#-workspace-switcher) - quickly switch between workspaces using `Option + Tab`\n- [x] Hotkeys - manage apps and workspaces using keyboard\n- [x] Focus detection - activate workspace on app focus\n- [x] [Focus manager](#-focus-manager) - switch focus between apps using keyboard\n- [x] Cursor manager - auto-center the cursor in the active window\n- [x] Profiles - quickly switch between different configurations\n- [x] Menu bar - configurable icon & text (per workspace)\n- [x] Swipe Gestures - customize swipe gesture actions for your trackpad\n- [x] Floating apps - keep apps visible across all workspaces\n- [x] Configuration through GUI and config file\n- [x] Support for multiple config file formats: JSON, YAML, and TOML\n- [x] [Dynamic display assignment](#%EF%B8%8F-display-assignment-modes)\n- [x] [CLI](#-command-line-interface) - interact with the app using the command line interface\n- [x] [Picture-in-Picture](#-picture-in-picture-support) support\n- [x] [SketchyBar] integration\n- [x] [Raycast extension] created by [krmbzds](https:\u002F\u002Fgithub.com\u002Fkrmbzds)\n\n## ⚖️ Project Values\n\n- **Performance** - The app should be as fast as possible.\n- **Simplicity** - The app should be easy to use and configure.\n- **Reliability** - The app should work without glitches and unexpected behavior.\n- **Invisible** - The app should help, not disturb.\n- **UNIX Philosophy** - The app should do one thing and do it well - manage workspaces.\n\n## 🔭 Space Control\n\nSpace Control allows you to preview all workspaces on a grid and switch between them.\n\nUse 0-9 and arrow keys to switch between workspaces.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4c801433-2c70-4cb9-85d8-ff75dbbfab7e\n\n## ⚡ Workspace Switcher\n\nWorkspace Switcher allows you to quickly switch between workspaces using\n`Option + Tab` (by default).\n\nIt shows a list of workspaces and allows you to switch them in a similar way\nto macOS app switcher (`CMD + Tab`).\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faa814d3d-55c4-4af8-b1de-ceb7cc41eb7a\n\n## 🪟 Focus Manager\n\nFlashSpace enables fast switching of focus between windows. Use hotkeys to\nshift focus in any desired direction. It also allows you to jump between\ndisplays.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F9bc22b19-7cd7-48f8-a679-0adf4adc3aef\n\n## 🎥 Picture-In-Picture Support\n\nFlashSpace supports Picture-In-Picture mode. This is an experimental feature\nand can be disabled in the App Settings -> Workspaces.\n\nmacOS does not offer a public API to hide a specific window, and hiding the app\nalso hides the PiP window. To work around this issue, FlashSpace identifies if\nthe app supports PiP and **hides in a screen corner** all windows except the\nPiP window.\n\nIf the PiP window is not visible, the standard behavior is applied.\n\nSupported browsers: Safari, Zen Browser, Chrome, Firefox, Brave, Vivaldi, Arc, Dia, Opera, Microsoft Edge, Comet.\n\n**Please note that this feature may not work if your browser language is not set to\nEnglish.**\n\n## 🖥️ Display Assignment Modes\n\nFlashSpace supports two modes of display assignment:\n\n- **Static (default)** - Each workspace is assigned to a specific display. This is\n  perfect for users who want to have a dedicated workspace for each display,\n  similar to how macOS Spaces work. This mode can be challenging if you use\n  multiple displays and change their arrangement frequently.\n\n- **Dynamic** - Each workspace is automatically assigned to the displays where\n  its apps are located. In this mode, one workspace can be shown on multiple\n  displays at the same time. This is useful for users who want to rearrange\n  workspaces by moving apps between displays without changing the configuration.\n  You can't show empty workspaces with this mode.\n\nThe display assignment mode can be changed in the App Settings -> Workspaces.\n\n## 🖥️ SketchyBar Integration\n\nFlashSpace can be integrated with [SketchyBar] and other tools. The app runs a\nconfigurable script when the workspace is changed.\n\nYou can enable the integration in the app settings.\n\n\u003Cdetails>\n  \u003Csummary>Configuration Example\u003C\u002Fsummary>\n\n### Only Active Workspace\n\n##### `sketchybarrc`\n\n```bash\nsketchybar --add item flashspace left \\\n  --set flashspace \\\n  background.color=0x22ffffff \\\n  background.corner_radius=5 \\\n  label.padding_left=5 \\\n  label.padding_right=5 \\\n  script=\"$CONFIG_DIR\u002Fplugins\u002Fflashspace.sh\" \\\n  --add event flashspace_workspace_change \\\n  --subscribe flashspace flashspace_workspace_change\n```\n\n##### `plugins\u002Fflashspace.sh`\n\n```bash\n#!\u002Fbin\u002Fbash\n\nsketchybar --set $NAME label=\"$WORKSPACE - $DISPLAY\"\n```\n\n### All Workspaces\n\n##### `sketchybarrc`\n\n```bash\nsketchybar --add event flashspace_workspace_change\n\nSID=1\nWORKSPACES=$(\u002FApplications\u002FFlashSpace.app\u002FContents\u002FResources\u002Fflashspace list-workspaces)\n\nfor workspace in $WORKSPACES; do\n  sketchybar --add item flashspace.$SID left \\\n    --subscribe flashspace.$SID flashspace_workspace_change \\\n    --set flashspace.$SID \\\n    background.color=0x22ffffff \\\n    background.corner_radius=5 \\\n    background.padding_left=5 \\\n    label.padding_left=5 \\\n    label.padding_right=5 \\\n    label=\"$workspace\" \\\n    script=\"$CONFIG_DIR\u002Fplugins\u002Fflashspace.sh $workspace\"\n\n  SID=$((SID + 1))\ndone\n```\n\n##### `plugins\u002Fflashspace.sh`\n\n```bash\n#!\u002Fbin\u002Fbash\n\nif [ \"$1\" = \"$WORKSPACE\" ]; then\n  sketchybar --set $NAME label.color=0xffff0000\nelse\n  sketchybar --set $NAME label.color=0xffffffff\nfi\n```\n\n\u003C\u002Fdetails>\n\n## 💻 Command-Line Interface\n\nFlashSpace provides a command-line interface to interact with the app. You can\nuse it to manage workspaces, apps, and profiles.\n\nFirst, install the CLI in the App Settings -> CLI. Then, use the `flashspace`\ncommand to interact with the app. Run the following command to see all\navailable commands:\n\n```bash\nflashspace --help\n```\n\n## 📝 Design Decisions\n\n### 👉 Non-disruptive Behavior\n\nFlashSpace doesn't actively manage windows, so if you switch to a workspace and call\nanother app that is not assigned to the workspace, it will be shown on top of\nthe workspace apps.\n\nIt is considered to be a desired behavior as it allows quickly accessing other\napps without glitches or switching between workspaces.\n\nGlitches are common in tiling window managers, often caused by not configured\npop-ups or dialog windows. FlashSpace prevents these issues by not managing\nwindows & apps that are unassigned allowing you to interact with the system in\na non-disruptive way.\n\n### 👉 No Support For Individual App Windows Per Workspace\n\nFlashSpace doesn't support the concept of individual app windows per workspace.\nThis is a conscious decision to keep the app simple and fast.\n\nThis way, FlashSpace can rely on native show & hide functionality ensuring the\nmost efficient way of managing and switching between workspaces. Additionally,\nthis hack-free approach is battery-friendly and doesn't break other features in\nthe system like Mission Control.\n\nSupporting individual windows per workspace would introduce significant\ncomplexity and could negatively impact the app's performance. This limitation\nresults from the lack of a public API in macOS to hide specific windows.\nCurrently, the only options are to move a window to a screen corner or minimize\nit - neither of which provides an ideal user experience.\n\n### 👉 No Support For Layouts\n\nFlashSpace doesn't support moving windows, resizing, or changing their layout.\nThis is a conscious decision to keep the app simple and fast.\n\nThis feature would introduce significant complexity and could negatively impact\nthe app's performance. Additionally, it would require a lot of work to support\nall edge cases and glitches. The app is designed to manage workspaces and it\nfollows the UNIX philosophy of doing one thing and doing it well.\n\nThere are many great and free window management apps available that can be used\nin conjunction with FlashSpace, so there is no need to duplicate this\nfunctionality. Examples of such apps are Magnet, Rectangle, Raycast, and many\nothers.\n\n## 🛠️ Build From Source\n\nFlashSpace uses [XcodeGen] to generate the Xcode project from the `project.yml`\nfile.\n\n1. Clone the repository.\n1. Navigate to the project directory.\n1. Run `brew bundle` to install dependencies.\n1. Run `xcodegen generate`.\n1. Open `FlashSpace.xcodeproj` in Xcode.\n1. Click on the `FlashSpace` target, click on the `Signing & Capabilities` tab,\n   and select your team.\n1. Build & run the app.\n\nRemember to run `xcodegen generate` every time you change branch or pull changes.\n\nIf you want to generate the project with configured signing, you can run:\n\n```bash\nXCODE_DEVELOPMENT_TEAM=YOUR_TEAM_ID xcodegen generate\n```\n\nYou can also set this variable globally in your shell.\n\n## 💡 Tips & Tricks\n\n### 👉 Apps Appear On The Wrong Display After Sleep\n\nmacOS has a bug that causes apps to appear on the wrong display after sleep.\nThis happens if the app is hidden while the Mac is in sleep mode.\n\nThere is one workaround that can help with this issue. When you wake up\nyour Mac, make sure to turn on all displays before logging in. This way,\nall apps should be shown on the correct display.\n\n### 👉 Move & Resize Windows\n\nmacOS 15 introduced new features that allow you to move & resize windows\nwithout 3rd party apps. To see all available options, select \"Window\" from the\nmenu bar and go to \"Move & Resize\" submenu.\n\nAdjusting shortcuts is quite limited, but it's possible: [see\nhere](https:\u002F\u002Fdiscussions.apple.com\u002Fthread\u002F255773494?sortBy=rank). However, the\nmost flexible approach would be to use Raycast, Magnet, or other window\nmanagement apps.\n\n### 👉 Switch Between Windows\n\nmacOS allows you to switch focus between windows of the same app using the `` Cmd + ` `` shortcut.\n\n### 👉 SKHD\n\nThere is a great command-line tool called [SKHD] that allows you to define\ncustom global shortcuts. You can use it also with FlashSpace through the CLI.\n\nYou could even define some shortcuts that are not available in FlashSpace, like\nswitching between specific profiles.\n\n### 👉 Raycast Extension\n\n\u003Cimg height=\"400\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F93404797-990d-44d8-947b-ae21871dacb2\" \u002F>\n\nIf you are a Raycast user, you can use the [Raycast extension] to manage\nFlashSpace without leaving your keyboard.\n\nBig thanks to [krmbzds](https:\u002F\u002Fgithub.com\u002Fkrmbzds) for creating this extension!\n\n## 💛 Sponsors\n\nBig thanks to all the sponsors who support this project 🍻!\n\n### Monthly Sponsors\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbjrmatos\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4262050\" width=\"40\" height=\"40\" alt=\"@bjrmatos\" title=\"bjrmatos\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnotlus\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F828989\" width=\"40\" height=\"40\" alt=\"@notlus\" title=\"notlus\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FCyberax\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1136550\" width=\"40\" height=\"40\" alt=\"@Cyberax\" title=\"Cyberax\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdosboxd\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16291547\" width=\"40\" height=\"40\" alt=\"@dosboxd\" title=\"dosboxd\">\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### One Time Sponsors\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdanscheer\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F56642865\" width=\"40\" height=\"40\" alt=\"@danscheer\" title=\"danscheer\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffelipeva\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4754195\" width=\"40\" height=\"40\" alt=\"@felipeva\" title=\"felipeva\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsinan-guler\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F37443512\" width=\"40\" height=\"40\" alt=\"@sinan-guler\" title=\"sinan-guler\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmaxschipper\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F150921823\" width=\"40\" height=\"40\" alt=\"@maxschipper\" title=\"maxschipper\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsergiopatino\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F868839\" width=\"40\" height=\"40\" alt=\"@sergiopatino\" title=\"sergiopatino\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fashaney\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F25646923\" width=\"40\" height=\"40\" alt=\"@ashaney\" title=\"ashaney\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fexsesx\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20399517\" width=\"40\" height=\"40\" alt=\"@exsesx\" title=\"exsesx\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkonpa\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F778731\" width=\"40\" height=\"40\" alt=\"@konpa\" title=\"konpa\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnbargnesi\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1265294\" width=\"40\" height=\"40\" alt=\"@nbargnesi\" title=\"nbargnesi\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbchopson\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F14081421\" width=\"40\" height=\"40\" alt=\"@bchopson\" title=\"bchopson\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNextMerge\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F178944810\" width=\"40\" height=\"40\" alt=\"@NextMerge\" title=\"NextMerge\">\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### Past Monthly Sponsors\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffrankroeder\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F19746932\" width=\"40\" height=\"40\" alt=\"@frankroeder\" title=\"frankroeder\">\u003C\u002Fa>\u003C\u002Ftd>\n        \u003Ctd>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faayio\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F41933025\" width=\"40\" height=\"40\" alt=\"@aayio\" title=\"aayio\">\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 🤓 My Other Projects\n\n- [Snippety](https:\u002F\u002Fsnippety.app) - Snippets manager for macOS & iOS\n- [xcodebuild.nvim](https:\u002F\u002Fgithub.com\u002Fwojciech-kulik\u002Fxcodebuild.nvim) - Neovim plugin\n- [Smog Poland](https:\u002F\u002Fsmog-polska.pl) - Air quality monitoring app for Poland\n- [XcodeProjectCLI] - Open Source CLI tool to manage Xcode project\n\n&nbsp;\n\n[SketchyBar]: https:\u002F\u002Fgithub.com\u002FFelixKratz\u002FSketchyBar\n[XcodeGen]: https:\u002F\u002Fgithub.com\u002Fyonaskolb\u002FXcodeGen\n[Releases Page]: https:\u002F\u002Fgithub.com\u002Fwojciech-kulik\u002FFlashSpace\u002Freleases\n[SKHD]: https:\u002F\u002Fgithub.com\u002Fkoekeishiya\u002Fskhd\n[XcodeProjectCLI]: https:\u002F\u002Fgithub.com\u002Fwojciech-kulik\u002FXcodeProjectCLI\n[Raycast extension]: https:\u002F\u002Fwww.raycast.com\u002Fkrmbzds\u002Fflashspace\n","FlashSpace 是一款为 macOS 设计的极速虚拟工作区管理工具。它利用 Swift 语言开发，能够显著提升多任务处理效率，通过即时切换工作区来取代 macOS 原生的 Spaces 功能，从而避免了等待动画的过程。核心功能包括支持多显示器、快速的工作区切换、热键自定义以及焦点管理和光标自动居中等。适用于需要高效管理多个应用程序窗口及频繁切换工作环境的用户，特别是在编程、设计或任何涉及多任务并行处理的职业场景下特别有用。",2,"2026-06-11 03:10:02","top_language"]