20 20
21一位開發者的個人設定。它選擇一個模型和努力程度,調整終端機,並預先批准一個唯讀命令和一個檔案讀取。未列出的所有內容都保持其預設值。這樣的檔案放在 `~/.claude/settings.json` 中,適用於您開啟的每個專案。21一位開發者的個人設定。它選擇一個模型和努力程度,調整終端機,並預先批准一個唯讀命令和一個檔案讀取。未列出的所有內容都保持其預設值。這樣的檔案放在 `~/.claude/settings.json` 中,適用於您開啟的每個專案。
22 22
23**可複製的設定檔**23> [tab] 可複製的設定檔
24 24>
25將此儲存為 `~/.claude/settings.json`。這是有效的 JSON,沒有註解,因此您可以直接貼上並刪除您不想要的鍵。25> 將此儲存為 `~/.claude/settings.json`。這是有效的 JSON,沒有註解,因此您可以直接貼上並刪除您不想要的鍵。
26 26>
27```json ~/.claude/settings.json theme={null}27> ```json ~/.claude/settings.json theme={null}
28{28> {
29 "model": "claude-sonnet-5",29> "model": "claude-sonnet-5",
30 "modelSettings": {30> "modelSettings": {
31 "claude-sonnet-5": { "effortLevel": "xhigh" }31> "claude-sonnet-5": { "effortLevel": "xhigh" }
32 },32> },
33 "editorMode": "vim",33> "editorMode": "vim",
34 "theme": "light-daltonized",34> "theme": "light-daltonized",
35 "statusLine": {35> "statusLine": {
36 "type": "command",36> "type": "command",
37 "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",37> "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
38 "padding": 238> "padding": 2
39 },39> },
40 "spinnerTipsEnabled": false,40> "spinnerTipsEnabled": false,
41 "preferredNotifChannel": "terminal_bell",41> "preferredNotifChannel": "terminal_bell",
42 "permissions": {42> "permissions": {
43 "allow": [43> "allow": [
44 "Bash(git diff *)",44> "Bash(git diff *)",
45 "Read(~/.zshrc)"45> "Read(~/.zshrc)"
46 ]46> ]
47 },47> },
48 "autoUpdatesChannel": "stable",48> "autoUpdatesChannel": "stable",
49 "cleanupPeriodDays": 2049> "cleanupPeriodDays": 20
50}50> }
51```51> ```
52 52
53**每個鍵的作用**53> [tab] 每個鍵的作用
54 54>
55相同的檔案,每個鍵上方有註解。在此閱讀;從另一個標籤複製,因為 Claude Code 不接受設定檔中的註解。55> 相同的檔案,每個鍵上方有註解。在此閱讀;從另一個標籤複製,因為 Claude Code 不接受設定檔中的註解。
56 56>
57```jsonc ~/.claude/settings.json theme={null}57> ```jsonc ~/.claude/settings.json theme={null}
58{58> {
59 // 在 Sonnet 5 上開始每個工作階段59> // 在 Sonnet 5 上開始每個工作階段
60 "model": "claude-sonnet-5",60> "model": "claude-sonnet-5",
61 // 在 Sonnet 5 上執行高於其預設高級別的推理;/effort 為每個模型儲存一個級別,--effort 為單個工作階段設定一個級別61> // 在 Sonnet 5 上執行高於其預設高級別的推理;/effort 為每個模型儲存一個級別,--effort 為單個工作階段設定一個級別
62 "modelSettings": {62> "modelSettings": {
63 "claude-sonnet-5": { "effortLevel": "xhigh" }63> "claude-sonnet-5": { "effortLevel": "xhigh" }
64 },64> },
65 // 提示中的 Vim 快捷鍵65> // 提示中的 Vim 快捷鍵
66 "editorMode": "vim",66> "editorMode": "vim",
67 // 色盲友善的淺色主題67> // 色盲友善的淺色主題
68 "theme": "light-daltonized",68> "theme": "light-daltonized",
69 // 提示下方的狀態列:模型名稱和已使用的內容69> // 提示下方的狀態列:模型名稱和已使用的內容
70 "statusLine": {70> "statusLine": {
71 "type": "command",71> "type": "command",
72 "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",72> "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
73 "padding": 273> "padding": 2
74 },74> },
75 // 隱藏在微調器下旋轉的提示75> // 隱藏在微調器下旋轉的提示
76 "spinnerTipsEnabled": false,76> "spinnerTipsEnabled": false,
77 // 為通知(例如完成的任務或等待的權限提示)響鈴終端機鈴聲77> // 為通知(例如完成的任務或等待的權限提示)響鈴終端機鈴聲
78 "preferredNotifChannel": "terminal_bell",78> "preferredNotifChannel": "terminal_bell",
79 // 讓 Claude Code 執行 git diff 並讀取您的 .zshrc,無需詢問79> // 讓 Claude Code 執行 git diff 並讀取您的 .zshrc,無需詢問
80 "permissions": {80> "permissions": {
81 "allow": [81> "allow": [
82 "Bash(git diff *)",82> "Bash(git diff *)",
83 "Read(~/.zshrc)"83> "Read(~/.zshrc)"
84 ]84> ]
85 },85> },
86 // 從穩定通道取得更新86> // 從穩定通道取得更新
87 "autoUpdatesChannel": "stable",87> "autoUpdatesChannel": "stable",
88 // 刪除超過 20 天的工作階段記錄和其他本機工作階段資料88> // 刪除超過 20 天的工作階段記錄和其他本機工作階段資料
89 "cleanupPeriodDays": 2089> "cleanupPeriodDays": 20
90}90> }
91```91> ```
92 92
93## 團隊的共享設定93## 團隊的共享設定
94 94
100* **hook 是版本庫中的指令碼。** 此檔案的 hook 執行 `.claude/hooks/block-rm.sh`;[hook 如何解析](https://code.claude.com/docs/zh-TW/hooks.md#how-a-hook-resolves) 說明如何編寫它。100* **hook 是版本庫中的指令碼。** 此檔案的 hook 執行 `.claude/hooks/block-rm.sh`;[hook 如何解析](https://code.claude.com/docs/zh-TW/hooks.md#how-a-hook-resolves) 說明如何編寫它。
101* **規則匹配所寫的命令和路徑。** `Bash(git push *)` 不匹配 [`git -C . push`](https://code.claude.com/docs/zh-TW/permissions#bash-rule-limits)。`Read(./.env)` 本身會停止檔案工具和命名檔案的命令,例如 `cat .env`,但不會停止 [`grep -r` 在目錄上執行](https://code.claude.com/docs/zh-TW/permissions#read-and-edit);此檔案中的 `sandbox` 區塊關閉了該間隙,因為沙箱 [新增您的 `Read` 拒絕路徑](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-filesystem-denyread) 到每個沙箱化命令無法讀取的內容。101* **規則匹配所寫的命令和路徑。** `Bash(git push *)` 不匹配 [`git -C . push`](https://code.claude.com/docs/zh-TW/permissions#bash-rule-limits)。`Read(./.env)` 本身會停止檔案工具和命名檔案的命令,例如 `cat .env`,但不會停止 [`grep -r` 在目錄上執行](https://code.claude.com/docs/zh-TW/permissions#read-and-edit);此檔案中的 `sandbox` 區塊關閉了該間隙,因為沙箱 [新增您的 `Read` 拒絕路徑](https://code.claude.com/docs/zh-TW/settings-reference#sandbox-filesystem-denyread) 到每個沙箱化命令無法讀取的內容。
102 102
103**可複製的設定檔**103> [tab] 可複製的設定檔
104 104>
105將此儲存為版本庫頂部的 `.claude/settings.json` 並提交。這是有效的 JSON,沒有註解,因此您可以直接貼上並刪除您不想要的鍵。105> 將此儲存為版本庫頂部的 `.claude/settings.json` 並提交。這是有效的 JSON,沒有註解,因此您可以直接貼上並刪除您不想要的鍵。
106 106>
107```json .claude/settings.json theme={null}107> ```json .claude/settings.json theme={null}
108{108> {
109 "permissions": {109> "permissions": {
110 "allow": [110> "allow": [
111 "Bash(npm run *)"111> "Bash(npm run *)"
112 ],112> ],
113 "ask": [113> "ask": [
114 "Bash(git push *)"114> "Bash(git push *)"
115 ],115> ],
116 "deny": [116> "deny": [
117 "Read(./.env)",117> "Read(./.env)",
118 "Read(./.env.*)",118> "Read(./.env.*)",
119 "Read(./secrets/**)"119> "Read(./secrets/**)"
120 ]120> ]
121 },121> },
122 "hooks": {122> "hooks": {
123 "PreToolUse": [123> "PreToolUse": [
124 {124> {
125 "matcher": "Bash",125> "matcher": "Bash",
126 "hooks": [126> "hooks": [
127 {127> {
128 "type": "command",128> "type": "command",
129 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"129> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
130 }130> }
131 ]131> ]
132 }132> }
133 ]133> ]
134 },134> },
135 "extraKnownMarketplaces": {135> "extraKnownMarketplaces": {
136 "acme-tools": {136> "acme-tools": {
137 "source": {137> "source": {
138 "source": "github",138> "source": "github",
139 "repo": "acme-corp/claude-plugins"139> "repo": "acme-corp/claude-plugins"
140 }140> }
141 }141> }
142 },142> },
143 "enabledPlugins": {143> "enabledPlugins": {
144 "code-formatter@acme-tools": true144> "code-formatter@acme-tools": true
145 },145> },
146 "sandbox": {146> "sandbox": {
147 "enabled": true,147> "enabled": true,
148 "filesystem": {148> "filesystem": {
149 "allowWrite": [149> "allowWrite": [
150 "/tmp/build"150> "/tmp/build"
151 ]151> ]
152 },152> },
153 "network": {153> "network": {
154 "allowedDomains": [154> "allowedDomains": [
155 "registry.npmjs.org",155> "registry.npmjs.org",
156 "*.example.com"156> "*.example.com"
157 ]157> ]
158 }158> }
159 },159> },
160 "plansDirectory": "./plans"160> "plansDirectory": "./plans"
161}161> }
162```162> ```
163 163
164**每個鍵的作用**164> [tab] 每個鍵的作用
165 165>
166相同的檔案,每個鍵上方有註解。在此閱讀;從另一個標籤複製,因為 Claude Code 不接受設定檔中的註解。166> 相同的檔案,每個鍵上方有註解。在此閱讀;從另一個標籤複製,因為 Claude Code 不接受設定檔中的註解。
167 167>
168```jsonc .claude/settings.json theme={null}168> ```jsonc .claude/settings.json theme={null}
169{169> {
170 "permissions": {170> "permissions": {
171 // 執行 npm 指令碼,無需詢問171> // 執行 npm 指令碼,無需詢問
172 "allow": [172> "allow": [
173 "Bash(npm run *)"173> "Bash(npm run *)"
174 ],174> ],
175 // 在 git push 命令前確認175> // 在 git push 命令前確認
176 "ask": [176> "ask": [
177 "Bash(git push *)"177> "Bash(git push *)"
178 ],178> ],
179 // 拒絕檔案工具和檔案讀取命令讀取環境檔案和 secrets 資料夾179> // 拒絕檔案工具和檔案讀取命令讀取環境檔案和 secrets 資料夾
180 "deny": [180> "deny": [
181 "Read(./.env)",181> "Read(./.env)",
182 "Read(./.env.*)",182> "Read(./.env.*)",
183 "Read(./secrets/**)"183> "Read(./secrets/**)"
184 ]184> ]
185 },185> },
186 // 在每個 Bash 命令前,執行儲存庫中可以阻止它的指令碼186> // 在每個 Bash 命令前,執行儲存庫中可以阻止它的指令碼
187 "hooks": {187> "hooks": {
188 "PreToolUse": [188> "PreToolUse": [
189 {189> {
190 "matcher": "Bash",190> "matcher": "Bash",
191 "hooks": [191> "hooks": [
192 {192> {
193 "type": "command",193> "type": "command",
194 "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"194> "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
195 }195> }
196 ]196> ]
197 }197> }
198 ]198> ]
199 },199> },
200 // 在每個複製上註冊團隊的外掛程式市集200> // 在每個複製上註冊團隊的外掛程式市集
201 "extraKnownMarketplaces": {201> "extraKnownMarketplaces": {
202 "acme-tools": {202> "acme-tools": {
203 "source": {203> "source": {
204 "source": "github",204> "source": "github",
205 "repo": "acme-corp/claude-plugins"205> "repo": "acme-corp/claude-plugins"
206 }206> }
207 }207> }
208 },208> },
209 // 啟用該市集中的一個外掛程式;來自外部來源(例如 GitHub 儲存庫)的外掛程式仍需要每個人安裝一次209> // 啟用該市集中的一個外掛程式;來自外部來源(例如 GitHub 儲存庫)的外掛程式仍需要每個人安裝一次
210 "enabledPlugins": {210> "enabledPlugins": {
211 "code-formatter@acme-tools": true211> "code-formatter@acme-tools": true
212 },212> },
213 // 沙箱命令:可寫的建置目錄;npm 和 example.com 預先允許213> // 沙箱命令:可寫的建置目錄;npm 和 example.com 預先允許
214 "sandbox": {214> "sandbox": {
215 "enabled": true,215> "enabled": true,
216 "filesystem": {216> "filesystem": {
217 "allowWrite": [217> "allowWrite": [
218 "/tmp/build"218> "/tmp/build"
219 ]219> ]
220 },220> },
221 "network": {221> "network": {
222 "allowedDomains": [222> "allowedDomains": [
223 "registry.npmjs.org",223> "registry.npmjs.org",
224 "*.example.com"224> "*.example.com"
225 ]225> ]
226 }226> }
227 },227> },
228 // 將計畫檔案保留在儲存庫內228> // 將計畫檔案保留在儲存庫內
229 "plansDirectory": "./plans"229> "plansDirectory": "./plans"
230}230> }
231```231> ```
232 232
233## 組織的受管設定233## 組織的受管設定
234 234
247 247
248管理員將這樣的檔案部署為 `managed-settings.json`,或透過 MDM 或 [伺服器受管設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md) 部署相同的 JSON。一個部署的檔案適用於它到達的每台機器或帳戶。要為一個群組提供不同的數值,請將不同的檔案或設定檔部署到該群組,因為 [伺服器受管設定尚不支援每個群組的政策](https://code.claude.com/docs/zh-TW/server-managed-settings.md#current-limitations)。248管理員將這樣的檔案部署為 `managed-settings.json`,或透過 MDM 或 [伺服器受管設定](https://code.claude.com/docs/zh-TW/server-managed-settings.md) 部署相同的 JSON。一個部署的檔案適用於它到達的每台機器或帳戶。要為一個群組提供不同的數值,請將不同的檔案或設定檔部署到該群組,因為 [伺服器受管設定尚不支援每個群組的政策](https://code.claude.com/docs/zh-TW/server-managed-settings.md#current-limitations)。
249 249
250**可複製的設定檔**250> [tab] 可複製的設定檔
251 251>
252將此部署為 `managed-settings.json`,或透過 MDM 或 claude.ai 主控台部署相同的 JSON。這是有效的 JSON,沒有註解;將範例組織 UUID、伺服器 URL 和市集替換為您自己的,並刪除您不想要的鍵。252> 將此部署為 `managed-settings.json`,或透過 MDM 或 claude.ai 主控台部署相同的 JSON。這是有效的 JSON,沒有註解;將範例組織 UUID、伺服器 URL 和市集替換為您自己的,並刪除您不想要的鍵。
253 253>
254```json managed-settings.json theme={null}254> ```json managed-settings.json theme={null}
255{255> {
256 "forceLoginMethod": "claudeai",256> "forceLoginMethod": "claudeai",
257 "forceLoginOrgUUID": [257> "forceLoginOrgUUID": [
258 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"258> "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
259 ],259> ],
260 "availableModels": [260> "availableModels": [
261 "opus",261> "opus",
262 "sonnet"262> "sonnet"
263 ],263> ],
264 "enforceAvailableModels": true,264> "enforceAvailableModels": true,
265 "permissions": {265> "permissions": {
266 "deny": [266> "deny": [
267 "Bash(curl *)",267> "Bash(curl *)",
268 "Read(./.env)",268> "Read(./.env)",
269 "Read(./secrets/**)"269> "Read(./secrets/**)"
270 ],270> ],
271 "disableBypassPermissionsMode": "disable"271> "disableBypassPermissionsMode": "disable"
272 },272> },
273 "allowManagedPermissionRulesOnly": true,273> "allowManagedPermissionRulesOnly": true,
274 "allowedMcpServers": [274> "allowedMcpServers": [
275 {275> {
276 "serverUrl": "https://api.githubcopilot.com/*"276> "serverUrl": "https://api.githubcopilot.com/*"
277 }277> }
278 ],278> ],
279 "allowManagedMcpServersOnly": true,279> "allowManagedMcpServersOnly": true,
280 "strictKnownMarketplaces": [280> "strictKnownMarketplaces": [
281 {281> {
282 "source": "github",282> "source": "github",
283 "repo": "acme-corp/approved-plugins"283> "repo": "acme-corp/approved-plugins"
284 }284> }
285 ],285> ],
286 "sandbox": {286> "sandbox": {
287 "enabled": true,287> "enabled": true,
288 "failIfUnavailable": true,288> "failIfUnavailable": true,
289 "allowUnsandboxedCommands": false,289> "allowUnsandboxedCommands": false,
290 "network": {290> "network": {
291 "allowedDomains": [291> "allowedDomains": [
292 "registry.npmjs.org",292> "registry.npmjs.org",
293 "github.com"293> "github.com"
294 ],294> ],
295 "allowManagedDomainsOnly": true295> "allowManagedDomainsOnly": true
296 }296> }
297 },297> },
298 "requiredMinimumVersion": "2.1.150",298> "requiredMinimumVersion": "2.1.150",
299 "cleanupPeriodDays": 7,299> "cleanupPeriodDays": 7,
300 "companyAnnouncements": [300> "companyAnnouncements": [
301 "Welcome to Acme Corp! Review our code guidelines at docs.example.com"301> "Welcome to Acme Corp! Review our code guidelines at docs.example.com"
302 ]302> ]
303}303> }
304```304> ```
305 305
306**每個鍵的作用**306> [tab] 每個鍵的作用
307 307>
308相同的檔案,每個鍵上方有註解。在此閱讀;從另一個標籤複製,因為 Claude Code 不接受設定檔中的註解。308> 相同的檔案,每個鍵上方有註解。在此閱讀;從另一個標籤複製,因為 Claude Code 不接受設定檔中的註解。
309 309>
310```jsonc managed-settings.json theme={null}310> ```jsonc managed-settings.json theme={null}
311{311> {
312 // 僅 claude.ai 登入,且僅在此組織中312> // 僅 claude.ai 登入,且僅在此組織中
313 "forceLoginMethod": "claudeai",313> "forceLoginMethod": "claudeai",
314 "forceLoginOrgUUID": [314> "forceLoginOrgUUID": [
315 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"315> "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
316 ],316> ],
317 // 僅 Opus 和 Sonnet 模型;使用 enforceAvailableModels,預設選項也遵守清單317> // 僅 Opus 和 Sonnet 模型;使用 enforceAvailableModels,預設選項也遵守清單
318 "availableModels": [318> "availableModels": [
319 "opus",319> "opus",
320 "sonnet"320> "sonnet"
321 ],321> ],
322 "enforceAvailableModels": true,322> "enforceAvailableModels": true,
323 "permissions": {323> "permissions": {
324 // 在每台機器上拒絕 curl 命令和讀取專案的 .env 檔案和 secrets 資料夾324> // 在每台機器上拒絕 curl 命令和讀取專案的 .env 檔案和 secrets 資料夾
325 "deny": [325> "deny": [
326 "Bash(curl *)",326> "Bash(curl *)",
327 "Read(./.env)",327> "Read(./.env)",
328 "Read(./secrets/**)"328> "Read(./secrets/**)"
329 ],329> ],
330 // 從每個工作階段移除繞過權限模式330> // 從每個工作階段移除繞過權限模式
331 "disableBypassPermissionsMode": "disable"331> "disableBypassPermissionsMode": "disable"
332 },332> },
333 // 忽略來自使用者、專案和本機設定的權限規則333> // 忽略來自使用者、專案和本機設定的權限規則
334 "allowManagedPermissionRulesOnly": true,334> "allowManagedPermissionRulesOnly": true,
335 // 僅 GitHub MCP 伺服器,透過 URL 而非名稱匹配,因為使用者可以335> // 僅 GitHub MCP 伺服器,透過 URL 而非名稱匹配,因為使用者可以
336 // 將任何伺服器命名為 "github"。不匹配的使用者新增伺服器不會載入,包括336> // 將任何伺服器命名為 "github"。不匹配的使用者新增伺服器不會載入,包括
337 // 當清單僅有 URL 項目時的每個 stdio 伺服器。下面的 allowManagedMcpServersOnly337> // 當清單僅有 URL 項目時的每個 stdio 伺服器。下面的 allowManagedMcpServersOnly
338 // 鍵使此受管清單成為唯一適用的允許清單338> // 鍵使此受管清單成為唯一適用的允許清單
339 "allowedMcpServers": [339> "allowedMcpServers": [
340 {340> {
341 "serverUrl": "https://api.githubcopilot.com/*"341> "serverUrl": "https://api.githubcopilot.com/*"
342 }342> }
343 ],343> ],
344 "allowManagedMcpServersOnly": true,344> "allowManagedMcpServersOnly": true,
345 // 外掛程式只能來自此市集345> // 外掛程式只能來自此市集
346 "strictKnownMarketplaces": [346> "strictKnownMarketplaces": [
347 {347> {
348 "source": "github",348> "source": "github",
349 "repo": "acme-corp/approved-plugins"349> "repo": "acme-corp/approved-plugins"
350 }350> }
351 ],351> ],
352 // 沙箱化 Claude 執行的每個命令,如果無法設定沙箱則拒絕啟動,352> // 沙箱化 Claude 執行的每個命令,如果無法設定沙箱則拒絕啟動,
353 // 並且永遠不讓被阻止的命令在沙箱外重試;網路353> // 並且永遠不讓被阻止的命令在沙箱外重試;網路
354 // 限制為 npm 和 GitHub,使用者無法新增網域354> // 限制為 npm 和 GitHub,使用者無法新增網域
355 "sandbox": {355> "sandbox": {
356 "enabled": true,356> "enabled": true,
357 "failIfUnavailable": true,357> "failIfUnavailable": true,
358 "allowUnsandboxedCommands": false,358> "allowUnsandboxedCommands": false,
359 "network": {359> "network": {
360 "allowedDomains": [360> "allowedDomains": [
361 "registry.npmjs.org",361> "registry.npmjs.org",
362 "github.com"362> "github.com"
363 ],363> ],
364 "allowManagedDomainsOnly": true364> "allowManagedDomainsOnly": true
365 }365> }
366 },366> },
367 // 拒絕在 2.1.150 之前的版本上啟動367> // 拒絕在 2.1.150 之前的版本上啟動
368 "requiredMinimumVersion": "2.1.150",368> "requiredMinimumVersion": "2.1.150",
369 // 在 7 天後刪除工作階段記錄和其他本機工作階段資料369> // 在 7 天後刪除工作階段記錄和其他本機工作階段資料
370 "cleanupPeriodDays": 7,370> "cleanupPeriodDays": 7,
371 // 每個使用者在啟動時看到的訊息371> // 每個使用者在啟動時看到的訊息
372 "companyAnnouncements": [372> "companyAnnouncements": [
373 "Welcome to Acme Corp! Review our code guidelines at docs.example.com"373> "Welcome to Acme Corp! Review our code guidelines at docs.example.com"
374 ]374> ]
375}375> }
376```376> ```