dimcode 0.0.5 → 0.0.6-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -35
- package/assets/gui/200.html +1 -0
- package/assets/gui/404.html +1 -0
- package/assets/gui/_nuxt/0OuYuFdd.js +1 -0
- package/assets/gui/_nuxt/1BRcSDDT.js +1 -0
- package/assets/gui/_nuxt/5J0xJHOV.js +321 -0
- package/assets/gui/_nuxt/6eT8GE5o.js +64 -0
- package/assets/gui/_nuxt/9qrePV86.js +61 -0
- package/assets/gui/_nuxt/B2dLwdvI.js +7 -0
- package/assets/gui/_nuxt/B7D4_qKt.js +10 -0
- package/assets/gui/_nuxt/BAs_flqE.js +1 -0
- package/assets/gui/_nuxt/BB51-bYG.js +1 -0
- package/assets/gui/_nuxt/BElB9nYn.js +60 -0
- package/assets/gui/_nuxt/BJjbwZQ7.js +1 -0
- package/assets/gui/_nuxt/BL99WVqL.js +1 -0
- package/assets/gui/_nuxt/BO9A_Qud.js +1 -0
- package/assets/gui/_nuxt/BYSie7N9.js +162 -0
- package/assets/gui/_nuxt/BZe2Hr6x.js +1 -0
- package/assets/gui/_nuxt/B_R0907Q.js +1 -0
- package/assets/gui/_nuxt/BcT6UR04.js +267 -0
- package/assets/gui/_nuxt/BgfsbVxC.js +1 -0
- package/assets/gui/_nuxt/BhdyVfxG.js +36 -0
- package/assets/gui/_nuxt/BmDWW0df.js +1 -0
- package/assets/gui/_nuxt/BojRNRsE.js +1 -0
- package/assets/gui/_nuxt/BxcNx9LB.js +1 -0
- package/assets/gui/_nuxt/CJH9uMnP.js +24 -0
- package/assets/gui/_nuxt/CKgCUght.js +1 -0
- package/assets/gui/_nuxt/CLlt8osM.js +165 -0
- package/assets/gui/_nuxt/CM3agAjz.js +15 -0
- package/assets/gui/_nuxt/CN0qvlFN.js +1 -0
- package/assets/gui/_nuxt/CNJpRdJ6.js +4 -0
- package/assets/gui/_nuxt/CRrxCVWn.js +1 -0
- package/assets/gui/_nuxt/CT3j1vwf.js +68 -0
- package/assets/gui/_nuxt/CdJQtGWr.js +30 -0
- package/assets/gui/_nuxt/CiWev5X2.js +15 -0
- package/assets/gui/_nuxt/Ckugh5XE.js +145 -0
- package/assets/gui/_nuxt/CqW_5_-N.js +250 -0
- package/assets/gui/_nuxt/CtJeA47E.js +4 -0
- package/assets/gui/_nuxt/Cu9sB8W2.js +65 -0
- package/assets/gui/_nuxt/CyEYbRMh.js +1 -0
- package/assets/gui/_nuxt/CzNcg-IY.js +7 -0
- package/assets/gui/_nuxt/CzhkyCcg.js +43 -0
- package/assets/gui/_nuxt/D8InAP22.js +24 -0
- package/assets/gui/_nuxt/DCNZp4ME.js +1 -0
- package/assets/gui/_nuxt/DGBBJ9Xx.js +1 -0
- package/assets/gui/_nuxt/DLlHnO3U.js +139 -0
- package/assets/gui/_nuxt/DMY8e2uq.js +122 -0
- package/assets/gui/_nuxt/DNM2C9RQ.js +1 -0
- package/assets/gui/_nuxt/DQ8-KXr1.js +1 -0
- package/assets/gui/_nuxt/DRGOv7Jx.js +1 -0
- package/assets/gui/_nuxt/DTY9QkWn.js +128 -0
- package/assets/gui/_nuxt/DZZGaqXx.js +22 -0
- package/assets/gui/_nuxt/D_5CzcoO.js +1 -0
- package/assets/gui/_nuxt/DhKg5wIH.js +1 -0
- package/assets/gui/_nuxt/DhXJpUyf.js +261 -0
- package/assets/gui/_nuxt/DoSvhc5U.js +1 -0
- package/assets/gui/_nuxt/DvJDa2y1.js +1 -0
- package/assets/gui/_nuxt/Gi6I4Gst.js +1 -0
- package/assets/gui/_nuxt/SiDb1yUH.js +220 -0
- package/assets/gui/_nuxt/XbL3y5x-.js +261 -0
- package/assets/gui/_nuxt/YqgMhCSt.js +1 -0
- package/assets/gui/_nuxt/builds/latest.json +1 -0
- package/assets/gui/_nuxt/builds/meta/0dad00ea-fa1a-4b5b-b2ee-235be40dfee0.json +1 -0
- package/assets/gui/_nuxt/chYRGlfM.js +1 -0
- package/assets/gui/_nuxt/entry.B4Ab0wk3.css +1 -0
- package/assets/gui/_nuxt/error-404.BAwq3L4-.css +1 -0
- package/assets/gui/_nuxt/error-500.DFXMopWe.css +1 -0
- package/assets/gui/_nuxt/fTY9LIxP.js +1 -0
- package/assets/gui/_nuxt/fZZrj866.js +10 -0
- package/assets/gui/_nuxt/index.BudxHvB3.css +1 -0
- package/assets/gui/_nuxt/kh6OeDug.js +350 -0
- package/assets/gui/_nuxt/n2n_ryJ5.js +89 -0
- package/assets/gui/_nuxt/oCPQMeLF.js +2 -0
- package/assets/gui/_nuxt/p6NW31vF.js +1 -0
- package/assets/gui/_nuxt/vY0XMWGW.js +1 -0
- package/assets/gui/_nuxt/yG4UzpsV.js +1 -0
- package/assets/gui/favicon.ico +0 -0
- package/assets/gui/index.html +1 -0
- package/assets/gui/robots.txt +2 -0
- package/dist/cli.mjs +2124 -478
- package/package.json +22 -10
- package/scripts/postinstall.mjs +66 -0
package/README.md
CHANGED
|
@@ -1,18 +1,49 @@
|
|
|
1
|
+
<img src="https://storage-static.fazhiplus.com/zmchat-avatar/0752d736887697a3284138d013052e53+MjI1ZWM1YTAtNmE4Zi00ZWRkLWI0NjktZjNlNzM4N2U0M2M3LjBkZDI2ODc1LWYxMGYtNDBhNC05NWQ1LWJiZGY2ZmEwM2M0OXgxNzY5NzQ4MDM4MTcyNDEwNzYw" alt="Brand Logo" height="100">
|
|
2
|
+
|
|
1
3
|
# Dimcode CLI
|
|
2
4
|
|
|
3
|
-
> A powerful AI agent CLI
|
|
5
|
+
> A powerful AI agent CLI with a beautiful interactive terminal UI (TUI)
|
|
4
6
|
|
|
5
7
|
[](https://badge.fury.io/js/dimcode)
|
|
6
|
-
[](https://opensource.org/licenses/MIT)
|
|
7
8
|
|
|
8
|
-
Dimcode is a command-line interface for AI-powered coding assistance
|
|
9
|
+
Dimcode is a command-line interface for AI-powered coding assistance. It helps you move fast with:
|
|
9
10
|
|
|
10
11
|
- 🎨 **Beautiful TUI** - Modern terminal interface built with Vue 3
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
12
|
+
|
|
13
|
+
<img src="https://storage-static.fazhiplus.com/zmchat-avatar/7b06958a80a23e038609f65f6c39d1f4+MjI1ZWM1YTAtNmE4Zi00ZWRkLWI0NjktZjNlNzM4N2U0M2M3LjEyOTVhYTU1LWI4YTgtNDA3YS1hNDliLTExMTgxOTU0YTM1NngxNzcwMTkzMzEwOTY2NjM5NjY0" alt="UI" height="300">
|
|
14
|
+
|
|
15
|
+
- 💬 **Multi-session Management** - Organize multiple AI conversations
|
|
16
|
+
- 🔧 **Built-in Tools** - File ops, web search, code analysis, and more
|
|
17
|
+
- ⚡ **Streaming Responses** - See AI outputs in real time
|
|
18
|
+
- 🎯 **Tool Approvals** - Granular control over tool execution
|
|
19
|
+
- 🌈 **Themes** - Flexible, customizable color schemes
|
|
20
|
+
|
|
21
|
+
## 📈 Download Stats
|
|
22
|
+
|
|
23
|
+
| Metric | Live Badge |
|
|
24
|
+
| ---------------- | -------------------------------------------------------------------------------------------------------- |
|
|
25
|
+
| Weekly downloads | [](https://www.npmjs.com/package/dimcode) |
|
|
26
|
+
| Total downloads | [](https://www.npmjs.com/package/dimcode) |
|
|
27
|
+
|
|
28
|
+
## ⚡ Get Started in 30 Seconds
|
|
29
|
+
|
|
30
|
+
1. Install the CLI
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install -g dimcode
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
2. Run it
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
dim
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
3. Ask for help
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
Create a React component for a todo list
|
|
46
|
+
```
|
|
16
47
|
|
|
17
48
|
## 📦 Installation
|
|
18
49
|
|
|
@@ -43,16 +74,6 @@ Run directly without installation:
|
|
|
43
74
|
npx dimcode
|
|
44
75
|
```
|
|
45
76
|
|
|
46
|
-
## 🚀 Quick Start
|
|
47
|
-
|
|
48
|
-
After installation, simply run:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
dim
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
This will launch the interactive terminal UI.
|
|
55
|
-
|
|
56
77
|
## 🎮 Usage
|
|
57
78
|
|
|
58
79
|
### Command Palette
|
|
@@ -69,22 +90,40 @@ Press `Ctrl+P` to open the command palette, which provides quick access to:
|
|
|
69
90
|
|
|
70
91
|
Type slash commands directly in the input field:
|
|
71
92
|
|
|
72
|
-
| Command
|
|
73
|
-
|
|
74
|
-
| `/settings`
|
|
75
|
-
| `/
|
|
76
|
-
| `/
|
|
77
|
-
| `/
|
|
78
|
-
| `/
|
|
93
|
+
| Command | Description |
|
|
94
|
+
| ----------------- | --------------------------------------- |
|
|
95
|
+
| `/settings` | Open settings dialog (custom providers) |
|
|
96
|
+
| `/config` | Alternative for `/settings` |
|
|
97
|
+
| `/approvals` | Manage tool approvals (auto/all) |
|
|
98
|
+
| `/approval` | Alternative for `/approvals` |
|
|
99
|
+
| `/connect` | Connect a provider |
|
|
100
|
+
| `/models` | Select a model |
|
|
101
|
+
| `/sessions` | List all sessions |
|
|
102
|
+
| `/new` | Create a new session |
|
|
103
|
+
| `/redo` | Redo last interaction |
|
|
104
|
+
| `/rename <title>` | Rename current session |
|
|
105
|
+
| `/timeline` | Jump to a user message |
|
|
106
|
+
| `/tl` | Alternative for `/timeline` |
|
|
107
|
+
| `/review` | Review code changes |
|
|
108
|
+
| `/debug` | Open debug dialog (node mode only) |
|
|
79
109
|
|
|
80
110
|
### Keyboard Shortcuts
|
|
81
111
|
|
|
82
|
-
| Shortcut
|
|
83
|
-
|
|
84
|
-
| `Ctrl+P`
|
|
85
|
-
| `Ctrl+
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
112
|
+
| Shortcut | Action |
|
|
113
|
+
| ------------- | ------------------------------------------ |
|
|
114
|
+
| `Ctrl+P` | Open command palette |
|
|
115
|
+
| `Ctrl+O` | Expand/collapse all tool calls & thinking |
|
|
116
|
+
| `Ctrl+C` | Clear input (if non-empty); otherwise exit |
|
|
117
|
+
| `Enter` | Send message |
|
|
118
|
+
| `Shift+Enter` | New line in input |
|
|
119
|
+
|
|
120
|
+
### Input Tips
|
|
121
|
+
|
|
122
|
+
- Drag to select text, then release to auto-copy (when enabled)
|
|
123
|
+
- In the input area, use `Shift+Option` for rectangular selection
|
|
124
|
+
- Triple-click in the input area to select all
|
|
125
|
+
- `Tab` moves focus to the next input field; `Shift+Tab` moves to the previous
|
|
126
|
+
- The CLI is mouse-friendly for selection, scrolling, and clicking buttons/controls
|
|
88
127
|
|
|
89
128
|
## ⚙️ Configuration
|
|
90
129
|
|
|
@@ -96,7 +135,7 @@ Create a `.env` file in your working directory or set environment variables:
|
|
|
96
135
|
# OpenAI Configuration
|
|
97
136
|
OPENAI_API_KEY=your_api_key_here
|
|
98
137
|
OPENAI_BASE_URL=https://api.openai.com/v1 # Optional
|
|
99
|
-
|
|
138
|
+
DIMCODE_MODEL=deepseek-v3.1 # Default model
|
|
100
139
|
|
|
101
140
|
# Serper API for web search (optional)
|
|
102
141
|
SERPER_API_KEY=your_serper_key_here
|
|
@@ -110,33 +149,38 @@ On first launch, Dimcode will guide you through:
|
|
|
110
149
|
2. **Model Selection** - Choose your preferred AI model
|
|
111
150
|
3. **Tool Approvals** - Configure which tools can run automatically
|
|
112
151
|
|
|
113
|
-
Settings are stored in `~/.
|
|
152
|
+
Settings are stored in `~/.dimcode/dimcode/` directory by default (can be customized via `DIMCODE_HOME` environment variable).
|
|
114
153
|
|
|
115
154
|
## 🔧 Built-in Tools
|
|
116
155
|
|
|
117
156
|
Dimcode comes with powerful built-in tools:
|
|
118
157
|
|
|
119
158
|
### File Operations
|
|
159
|
+
|
|
120
160
|
- **Read** - Read file contents
|
|
121
161
|
- **Write** - Create or overwrite files
|
|
122
162
|
- **Edit** - Make precise edits to existing files
|
|
123
163
|
|
|
124
164
|
### Code Analysis
|
|
165
|
+
|
|
125
166
|
- **Grep** - Search content using patterns
|
|
126
167
|
- **Glob** - Find files by pattern
|
|
127
168
|
- **AstGrepSearch** - AST-based code search
|
|
128
169
|
- **AstGrepReplace** - AST-based code refactoring
|
|
129
170
|
|
|
130
171
|
### Web & Research
|
|
172
|
+
|
|
131
173
|
- **WebSearch** - Search the web using Serper API
|
|
132
174
|
- **WebFetch** - Fetch web page content
|
|
133
175
|
|
|
134
176
|
### Task Management
|
|
177
|
+
|
|
135
178
|
- **TodoWrite** - Create and manage TODO lists
|
|
136
179
|
- **Task** - Execute complex multi-step tasks
|
|
137
180
|
- **Skill** - Store and reuse common workflows
|
|
138
181
|
|
|
139
182
|
### System
|
|
183
|
+
|
|
140
184
|
- **Bash** - Execute shell commands (requires approval)
|
|
141
185
|
- **AskUser** - Request input from user
|
|
142
186
|
|
|
@@ -166,5 +210,4 @@ dim
|
|
|
166
210
|
## 🔐 Security & Privacy
|
|
167
211
|
|
|
168
212
|
- **Tool Approvals**: By default, sensitive operations (file writes, shell commands) require user approval
|
|
169
|
-
- **Local Storage**: All session data is stored locally in `~/.
|
|
170
|
-
|
|
213
|
+
- **Local Storage**: All session data is stored locally in `~/.dimcode/dimcode/` (customizable via `DIMCODE_HOME`)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>GoatChain GUI</title><link rel="stylesheet" href="/_nuxt/entry.B4Ab0wk3.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/kh6OeDug.js"><script type="module" src="/_nuxt/kh6OeDug.js" crossorigin></script><meta name="description" content="GoatChain GUI - shared event stream viewer and query console."><script id="unhead:payload" type="application/json">{"title":"GoatChain GUI"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"0dad00ea-fa1a-4b5b-b2ee-235be40dfee0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1770303359255,false]</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>GoatChain GUI</title><link rel="stylesheet" href="/_nuxt/entry.B4Ab0wk3.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/kh6OeDug.js"><script type="module" src="/_nuxt/kh6OeDug.js" crossorigin></script><meta name="description" content="GoatChain GUI - shared event stream viewer and query console."><script id="unhead:payload" type="application/json">{"title":"GoatChain GUI"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"0dad00ea-fa1a-4b5b-b2ee-235be40dfee0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1770303359255,false]</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import S from"./DhXJpUyf.js";S.__defineMacro("\\ce",function(o){return A(o.consumeArgs(1)[0],"ce")});S.__defineMacro("\\pu",function(o){return A(o.consumeArgs(1)[0],"pu")});S.__defineMacro("\\tripledash","{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}");var A=function(t,e){for(var a="",r=t.length&&t[t.length-1].loc.start,i=t.length-1;i>=0;i--)t[i].loc.start>r&&(a+=" ",r=t[i].loc.start),a+=t[i].text,r+=t[i].text.length;var c=p.go(n.go(a,e));return c},n={go:function(t,e){if(!t)return[];e===void 0&&(e="ce");var a="0",r={};r.parenthesisLevel=0,t=t.replace(/\n/g," "),t=t.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),t=t.replace(/[\u2026]/g,"...");for(var i,c=10,s=[];;){i!==t?(c=10,i=t):c--;var _=n.stateMachines[e],u=_.transitions[a]||_.transitions["*"];t:for(var h=0;h<u.length;h++){var x=n.patterns.match_(u[h].pattern,t);if(x){for(var l=u[h].task,d=0;d<l.action_.length;d++){var g;if(_.actions[l.action_[d].type_])g=_.actions[l.action_[d].type_](r,x.match_,l.action_[d].option);else if(n.actions[l.action_[d].type_])g=n.actions[l.action_[d].type_](r,x.match_,l.action_[d].option);else throw["MhchemBugA","mhchem bug A. Please report. ("+l.action_[d].type_+")"];n.concatArray(s,g)}if(a=l.nextState||a,t.length>0){if(l.revisit||(t=x.remainder),!l.toContinue)break t}else return s}}if(c<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var a=0;a<e.length;a++)t.push(e[a]);else t.push(e)},patterns:{patterns:{empty:/^$/,else:/^./,else2:/^./,space:/^\s/,"space A":/^\s(?=[A-Z\\$])/,space$:/^\s$/,"a-z":/^[a-z]/,x:/^x/,x$:/^x$/,i$:/^i$/,letters:/^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/,"\\greek":/^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/,"one lowercase latin letter $":/^(?:([a-z])(?:$|[^a-zA-Z]))$/,"$one lowercase latin letter$ $":/^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/,"one lowercase greek letter $":/^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/,digits:/^[0-9]+/,"-9.,9":/^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/,"-9.,9 no missing 0":/^[+\-]?[0-9]+(?:[.,][0-9]+)?/,"(-)(9.,9)(e)(99)":function(t){var e=t.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/);return e&&e[0]?{match_:e.splice(1),remainder:t.substr(e[0].length)}:null},"(-)(9)^(-9)":function(t){var e=t.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/);return e&&e[0]?{match_:e.splice(1),remainder:t.substr(e[0].length)}:null},"state of aggregation $":function(t){var e=n.patterns.findObserveGroups(t,"",/^\([a-z]{1,3}(?=[\),])/,")","");if(e&&e.remainder.match(/^($|[\s,;\)\]\}])/))return e;var a=t.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);return a?{match_:a[0],remainder:t.substr(a[0].length)}:null},"_{(state of aggregation)}$":/^_\{(\([a-z]{1,3}\))\}/,"{[(":/^(?:\\\{|\[|\()/,")]}":/^(?:\)|\]|\\\})/,", ":/^[,;]\s*/,",":/^[,;]/,".":/^[.]/,". ":/^([.\u22C5\u00B7\u2022])\s*/,"...":/^\.\.\.(?=$|[^.])/,"* ":/^([*])\s*/,"^{(...)}":function(t){return n.patterns.findObserveGroups(t,"^{","","","}")},"^($...$)":function(t){return n.patterns.findObserveGroups(t,"^","$","$","")},"^a":/^\^([0-9]+|[^\\_])/,"^\\x{}{}":function(t){return n.patterns.findObserveGroups(t,"^",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"^\\x{}":function(t){return n.patterns.findObserveGroups(t,"^",/^\\[a-zA-Z]+\{/,"}","")},"^\\x":/^\^(\\[a-zA-Z]+)\s*/,"^(-1)":/^\^(-?\d+)/,"'":/^'/,"_{(...)}":function(t){return n.patterns.findObserveGroups(t,"_{","","","}")},"_($...$)":function(t){return n.patterns.findObserveGroups(t,"_","$","$","")},_9:/^_([+\-]?[0-9]+|[^\\])/,"_\\x{}{}":function(t){return n.patterns.findObserveGroups(t,"_",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"_\\x{}":function(t){return n.patterns.findObserveGroups(t,"_",/^\\[a-zA-Z]+\{/,"}","")},"_\\x":/^_(\\[a-zA-Z]+)\s*/,"^_":/^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,"{}":/^\{\}/,"{...}":function(t){return n.patterns.findObserveGroups(t,"","{","}","")},"{(...)}":function(t){return n.patterns.findObserveGroups(t,"{","","","}")},"$...$":function(t){return n.patterns.findObserveGroups(t,"","$","$","")},"${(...)}$":function(t){return n.patterns.findObserveGroups(t,"${","","","}$")},"$(...)$":function(t){return n.patterns.findObserveGroups(t,"$","","","$")},"=<>":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return n.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return n.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return n.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(t){return n.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(t){return n.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(t){return n.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(t){var e;if(e=t.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/),e)return{match_:e[0],remainder:t.substr(e[0].length)};var a=n.patterns.findObserveGroups(t,"","$","$","");return a&&(e=a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),e)?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,a,r,i,c,s,_,u,h){var x=function(v,m){if(typeof m=="string")return v.indexOf(m)!==0?null:m;var y=v.match(m);return y?y[0]:null},l=function(v,m,y){for(var $=0;m<v.length;){var O=v.charAt(m),z=x(v.substr(m),y);if(z!==null&&$===0)return{endMatchBegin:m,endMatchEnd:m+z.length};if(O==="{")$++;else if(O==="}"){if($===0)throw["ExtraCloseMissingOpen","Extra close brace or missing open brace"];$--}m++}return $>0,null},d=x(t,e);if(d===null||(t=t.substr(d.length),d=x(t,a),d===null))return null;var g=l(t,d.length,r||i);if(g===null)return null;var f=t.substring(0,r?g.endMatchEnd:g.endMatchBegin);if(c||s){var q=this.findObserveGroups(t.substr(g.endMatchEnd),c,s,_,u);if(q===null)return null;var k=[f,q.match_];return{match_:h?k.join(""):k,remainder:q.remainder}}else return{match_:f,remainder:t.substr(g.endMatchEnd)}},match_:function(t,e){var a=n.patterns.patterns[t];if(a===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+t+")"];if(typeof a=="function")return n.patterns.patterns[t](e);var r=e.match(a);if(r){var i;return r[2]?i=[r[1],r[2]]:r[1]?i=r[1]:i=r[0],{match_:i,remainder:e.substr(r[0].length)}}return null}},actions:{"a=":function(t,e){t.a=(t.a||"")+e},"b=":function(t,e){t.b=(t.b||"")+e},"p=":function(t,e){t.p=(t.p||"")+e},"o=":function(t,e){t.o=(t.o||"")+e},"q=":function(t,e){t.q=(t.q||"")+e},"d=":function(t,e){t.d=(t.d||"")+e},"rm=":function(t,e){t.rm=(t.rm||"")+e},"text=":function(t,e){t.text_=(t.text_||"")+e},insert:function(t,e,a){return{type_:a}},"insert+p1":function(t,e,a){return{type_:a,p1:e}},"insert+p1+p2":function(t,e,a){return{type_:a,p1:e[0],p2:e[1]}},copy:function(t,e){return e},rm:function(t,e){return{type_:"rm",p1:e||""}},text:function(t,e){return n.go(e,"text")},"{text}":function(t,e){var a=["{"];return n.concatArray(a,n.go(e,"text")),a.push("}"),a},"tex-math":function(t,e){return n.go(e,"tex-math")},"tex-math tight":function(t,e){return n.go(e,"tex-math tight")},bond:function(t,e,a){return{type_:"bond",kind_:a||e}},"color0-output":function(t,e){return{type_:"color0",color:e[0]}},ce:function(t,e){return n.go(e)},"1/2":function(t,e){var a=[];e.match(/^[+\-]/)&&(a.push(e.substr(0,1)),e=e.substr(1));var r=e.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return r[1]=r[1].replace(/\$/g,""),a.push({type_:"frac",p1:r[1],p2:r[2]}),r[3]&&(r[3]=r[3].replace(/\$/g,""),a.push({type_:"tex-math",p1:r[3]})),a},"9,9":function(t,e){return n.go(e,"9,9")}},createTransitions:function(t){var e,a,r,i,c={};for(e in t)for(a in t[e])for(r=a.split("|"),t[e][a].stateArray=r,i=0;i<r.length;i++)c[r[i]]=[];for(e in t)for(a in t[e])for(r=t[e][a].stateArray||[],i=0;i<r.length;i++){var s=t[e][a];if(s.action_){s.action_=[].concat(s.action_);for(var _=0;_<s.action_.length;_++)typeof s.action_[_]=="string"&&(s.action_[_]={type_:s.action_[_]})}else s.action_=[];for(var u=e.split("|"),h=0;h<u.length;h++)if(r[i]==="*")for(var x in c)c[x].push({pattern:u[h],task:s});else c[r[i]].push({pattern:u[h],task:s})}return c},stateMachines:{}};n.stateMachines={ce:{transitions:n.createTransitions({empty:{"*":{action_:"output"}},else:{"0|1|2":{action_:"beginsWithBond=false",revisit:!0,toContinue:!0}},oxidation$:{0:{action_:"oxidation-output"}},CMT:{r:{action_:"rdt=",nextState:"rt"},rd:{action_:"rqt=",nextState:"rdt"}},arrowUpDown:{"0|1|2|as":{action_:["sb=false","output","operator"],nextState:"1"}},uprightEntities:{"0|1|2":{action_:["o=","output"],nextState:"1"}},orbital:{"0|1|2|3":{action_:"o=",nextState:"o"}},"->":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(t,e){var a;if((t.d||"").match(/^[0-9]+$/)){var r=t.d;t.d=void 0,a=this.output(t),t.b=r}else a=this.output(t);return n.actions["o="](t,e),a},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var a=[];return n.concatArray(a,this.output(t)),n.concatArray(a,n.actions.bond(t,e,"-")),a}else t.d=e},"- after o/d":function(t,e,a){var r=n.patterns.match_("orbital",t.o||""),i=n.patterns.match_("one lowercase greek letter $",t.o||""),c=n.patterns.match_("one lowercase latin letter $",t.o||""),s=n.patterns.match_("$one lowercase latin letter$ $",t.o||""),_=e==="-"&&(r&&r.remainder===""||i||c||s);_&&!t.a&&!t.b&&!t.p&&!t.d&&!t.q&&!r&&c&&(t.o="$"+t.o+"$");var u=[];return _?(n.concatArray(u,this.output(t)),u.push({type_:"hyphen"})):(r=n.patterns.match_("digits",t.d||""),a&&r&&r.remainder===""?(n.concatArray(u,n.actions["d="](t,e)),n.concatArray(u,this.output(t))):(n.concatArray(u,this.output(t)),n.concatArray(u,n.actions.bond(t,e,"-")))),u},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:n.go(e,"o")}},comma:function(t,e){var a=e.replace(/\s*$/,""),r=a!==e;return r&&t.parenthesisLevel===0?{type_:"comma enumeration L",p1:a}:{type_:"comma enumeration M",p1:a}},output:function(t,e,a){var r;if(!t.r)r=[],!t.a&&!t.b&&!t.p&&!t.o&&!t.q&&!t.d&&!a||(t.sb&&r.push({type_:"entitySkip"}),!t.o&&!t.q&&!t.d&&!t.b&&!t.p&&a!==2?(t.o=t.a,t.a=void 0):!t.o&&!t.q&&!t.d&&(t.b||t.p)?(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):t.o&&t.dType==="kv"&&n.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&t.dType==="kv"&&!t.q&&(t.dType=void 0),r.push({type_:"chemfive",a:n.go(t.a,"a"),b:n.go(t.b,"bd"),p:n.go(t.p,"pq"),o:n.go(t.o,"o"),q:n.go(t.q,"pq"),d:n.go(t.d,t.dType==="oxidation"?"oxidation":"bd"),dType:t.dType}));else{var i;t.rdt==="M"?i=n.go(t.rd,"tex-math"):t.rdt==="T"?i=[{type_:"text",p1:t.rd||""}]:i=n.go(t.rd);var c;t.rqt==="M"?c=n.go(t.rq,"tex-math"):t.rqt==="T"?c=[{type_:"text",p1:t.rq||""}]:c=n.go(t.rq),r={type_:"arrow",r:t.r,rd:i,rq:c}}for(var s in t)s!=="parenthesisLevel"&&s!=="beginsWithBond"&&delete t[s];return r},"oxidation-output":function(t,e){var a=["{"];return n.concatArray(a,n.go(e,"oxidation")),a.push("}"),a},"frac-output":function(t,e){return{type_:"frac-ce",p1:n.go(e[0]),p2:n.go(e[1])}},"overset-output":function(t,e){return{type_:"overset",p1:n.go(e[0]),p2:n.go(e[1])}},"underset-output":function(t,e){return{type_:"underset",p1:n.go(e[0]),p2:n.go(e[1])}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:n.go(e[0]),p2:n.go(e[1])}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:n.go(e[1])}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,a){return{type_:"operator",kind_:a||e}}}},a:{transitions:n.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:n.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:n.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var a in t)delete t[a];return e}}}},pq:{transitions:n.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(t,e){return{type_:"state of aggregation subscript",p1:n.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:n.go(e[1],"pq")}}}},bd:{transitions:n.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(t,e){return{type_:"color",color1:e[0],color2:n.go(e[1],"bd")}}}},oxidation:{transitions:n.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e||""}}}},"tex-math":{transitions:n.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var a in t)delete t[a];return e}}}},"tex-math tight":{transitions:n.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var a in t)delete t[a];return e}}}},"9,9":{transitions:n.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:n.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(t,e){var a=[];return e[0]==="+-"||e[0]==="+/-"?a.push("\\pm "):e[0]&&a.push(e[0]),e[1]&&(n.concatArray(a,n.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?n.concatArray(a,n.go(e[2],"pu-9,9")):a.push(e[2])),e[3]=e[4]||e[3],e[3]&&(e[3]=e[3].trim(),e[3]==="e"||e[3].substr(0,1)==="*"?a.push({type_:"cdot"}):a.push({type_:"times"}))),e[3]&&a.push("10^{"+e[5]+"}"),a},"number^":function(t,e){var a=[];return e[0]==="+-"||e[0]==="+/-"?a.push("\\pm "):e[0]&&a.push(e[0]),n.concatArray(a,n.go(e[1],"pu-9,9")),a.push("^{"+e[2]+"}"),a},operator:function(t,e,a){return{type_:"operator",kind_:a||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,a=n.patterns.match_("{(...)}",t.d||"");a&&a.remainder===""&&(t.d=a.match_);var r=n.patterns.match_("{(...)}",t.q||"");if(r&&r.remainder===""&&(t.q=r.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var i={d:n.go(t.d,"pu"),q:n.go(t.q,"pu")};t.o==="//"?e={type_:"pu-frac",p1:i.d,p2:i.q}:(e=i.d,i.d.length>1||i.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),n.concatArray(e,i.q))}else e=n.go(t.d,"pu-2");for(var c in t)delete t[c];return e}}},"pu-2":{transitions:n.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var a=n.patterns.match_("{(...)}",t.rm||"");a&&a.remainder===""?e=n.go(a.match_,"pu"):e={type_:"rm",p1:t.rm}}for(var r in t)delete t[r];return e}}},"pu-9,9":{transitions:n.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var a=t.text_.length%3;a===0&&(a=3);for(var r=t.text_.length-3;r>0;r-=3)e.push(t.text_.substr(r,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,a)),e.reverse()}else e.push(t.text_);for(var i in t)delete t[i];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){for(var a=t.text_.length-3,r=0;r<a;r+=3)e.push(t.text_.substr(r,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(r))}else e.push(t.text_);for(var i in t)delete t[i];return e}}}};var p={go:function(t,e){if(!t)return"";for(var a="",r=!1,i=0;i<t.length;i++){var c=t[i];typeof c=="string"?a+=c:(a+=p._go2(c),c.type_==="1st-level escape"&&(r=!0))}return!e&&!r&&a&&(a="{"+a+"}"),a},_goInner:function(t){return t&&p.go(t,!0)},_go2:function(t){var e;switch(t.type_){case"chemfive":e="";var a={a:p._goInner(t.a),b:p._goInner(t.b),p:p._goInner(t.p),o:p._goInner(t.o),q:p._goInner(t.q),d:p._goInner(t.d)};a.a&&(a.a.match(/^[+\-]/)&&(a.a="{"+a.a+"}"),e+=a.a+"\\,"),(a.b||a.p)&&(e+="{\\vphantom{X}}",e+="^{\\hphantom{"+(a.b||"")+"}}_{\\hphantom{"+(a.p||"")+"}}",e+="{\\vphantom{X}}",e+="^{\\smash[t]{\\vphantom{2}}\\mathllap{"+(a.b||"")+"}}",e+="_{\\vphantom{2}\\mathllap{\\smash[t]{"+(a.p||"")+"}}}"),a.o&&(a.o.match(/^[+\-]/)&&(a.o="{"+a.o+"}"),e+=a.o),t.dType==="kv"?((a.d||a.q)&&(e+="{\\vphantom{X}}"),a.d&&(e+="^{"+a.d+"}"),a.q&&(e+="_{\\smash[t]{"+a.q+"}}")):t.dType==="oxidation"?(a.d&&(e+="{\\vphantom{X}}",e+="^{"+a.d+"}"),a.q&&(e+="{\\vphantom{X}}",e+="_{\\smash[t]{"+a.q+"}}")):(a.q&&(e+="{\\vphantom{X}}",e+="_{\\smash[t]{"+a.q+"}}"),a.d&&(e+="{\\vphantom{X}}",e+="^{"+a.d+"}"));break;case"rm":e="\\mathrm{"+t.p1+"}";break;case"text":t.p1.match(/[\^_]/)?(t.p1=t.p1.replace(" ","~").replace("-","\\text{-}"),e="\\mathrm{"+t.p1+"}"):e="\\text{"+t.p1+"}";break;case"roman numeral":e="\\mathrm{"+t.p1+"}";break;case"state of aggregation":e="\\mskip2mu "+p._goInner(t.p1);break;case"state of aggregation subscript":e="\\mskip1mu "+p._goInner(t.p1);break;case"bond":if(e=p._getBond(t.kind_),!e)throw["MhchemErrorBond","mhchem Error. Unknown bond type ("+t.kind_+")"];break;case"frac":var r="\\frac{"+t.p1+"}{"+t.p2+"}";e="\\mathchoice{\\textstyle"+r+"}{"+r+"}{"+r+"}{"+r+"}";break;case"pu-frac":var i="\\frac{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";e="\\mathchoice{\\textstyle"+i+"}{"+i+"}{"+i+"}{"+i+"}";break;case"tex-math":e=t.p1+" ";break;case"frac-ce":e="\\frac{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";break;case"overset":e="\\overset{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";break;case"underset":e="\\underset{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";break;case"underbrace":e="\\underbrace{"+p._goInner(t.p1)+"}_{"+p._goInner(t.p2)+"}";break;case"color":e="{\\color{"+t.color1+"}{"+p._goInner(t.color2)+"}}";break;case"color0":e="\\color{"+t.color+"}";break;case"arrow":var c={rd:p._goInner(t.rd),rq:p._goInner(t.rq)},s="\\x"+p._getArrow(t.r);c.rq&&(s+="[{"+c.rq+"}]"),c.rd?s+="{"+c.rd+"}":s+="{}",e=s;break;case"operator":e=p._getOperator(t.kind_);break;case"1st-level escape":e=t.p1+" ";break;case"space":e=" ";break;case"entitySkip":e="~";break;case"pu-space-1":e="~";break;case"pu-space-2":e="\\mkern3mu ";break;case"1000 separator":e="\\mkern2mu ";break;case"commaDecimal":e="{,}";break;case"comma enumeration L":e="{"+t.p1+"}\\mkern6mu ";break;case"comma enumeration M":e="{"+t.p1+"}\\mkern3mu ";break;case"comma enumeration S":e="{"+t.p1+"}\\mkern1mu ";break;case"hyphen":e="\\text{-}";break;case"addition compound":e="\\,{\\cdot}\\,";break;case"electron dot":e="\\mkern1mu \\bullet\\mkern1mu ";break;case"KV x":e="{\\times}";break;case"prime":e="\\prime ";break;case"cdot":e="\\cdot ";break;case"tight cdot":e="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":e="\\times ";break;case"circa":e="{\\sim}";break;case"^":e="uparrow";break;case"v":e="downarrow";break;case"ellipsis":e="\\ldots ";break;case"/":e="/";break;case" / ":e="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return e},_getArrow:function(t){switch(t){case"->":return"rightarrow";case"→":return"rightarrow";case"⟶":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<-->":return"rightleftarrows";case"<=>":return"rightleftharpoons";case"⇌":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(t){switch(t){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":return" {}\\approx{} ";case"$\\approx$":return" {}\\approx{} ";case"v":return" \\downarrow{} ";case"(v)":return" \\downarrow{} ";case"^":return" \\uparrow{} ";case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as b,d as C,c as B,w as I,o as M,f as L,g as E,j as O,k as $,v as N,l as p,m as S,n as A,r as D,T as K,p as V,q as w,s as H,t as P,B as U,x as W}from"./kh6OeDug.js";var R=(c,n,o)=>new Promise((a,r)=>{var v=e=>{try{t(o.next(e))}catch(f){r(f)}},d=e=>{try{t(o.throw(e))}catch(f){r(f)}},t=e=>e.done?a(e.value):Promise.resolve(e.value).then(v,d);t((o=o.apply(c,n)).next())});const j={class:"math-inline__loading",role:"status","aria-live":"polite"},y=b(C({__name:"MathInlineNode",props:{node:{}},setup(c){const n=c,o=w(null),a=w(null);let r=!1,v=0,d=!1,t=null;const e=w(!0),f=B();let s=null;function T(){return R(this,null,function*(){if(!a.value||d)return;if(!n.node.content)return e.value=!1,a.value.textContent=n.node.raw,void(r=!0);t&&(t.abort(),t=null);const i=++v,u=new AbortController;if(t=u,!r)try{!s&&o.value&&(s=f(o.value)),yield s?.whenVisible}catch{}const g=n.node.markup==="$$";H(n.node.content,g,{timeout:1500,waitTimeout:0,maxRetries:0,signal:u.signal}).then(l=>{d||i!==v||a.value&&(a.value.innerHTML=l,e.value=!1,r=!0)}).catch(l=>R(null,null,function*(){if(d||i!==v||!a.value)return;const m=l?.code||l?.name,h=m==="KATEX_DISABLED";if(m==="WORKER_INIT_ERROR"||l?.fallbackToRenderer||m===P||m==="WORKER_TIMEOUT"){const k=yield U();if(k){try{const _=n.node.markup==="$$",x=k.renderToString(n.node.content,{throwOnError:n.node.loading,displayMode:_});e.value=!1,a.value.innerHTML=x,r=!0,W(n.node.content,_,x)}catch{}return}}if(h)return e.value=!1,void(a.value.textContent=n.node.raw);r||(e.value=!h),n.node.loading?h&&(a.value.textContent=n.node.raw):(e.value=!1,a.value.textContent=n.node.raw)}))})}return I(()=>n.node.content,()=>{T()}),M(()=>{T()}),L(()=>{var i;d=!0,t&&(t.abort(),t=null),(i=s?.destroy)==null||i.call(s),s=null}),(i,u)=>(E(),O("span",{ref_key:"containerEl",ref:o,class:"math-inline-wrapper"},[$(p("span",{ref_key:"mathElement",ref:a,class:"math-inline"},null,512),[[N,!e.value]]),e.value?(E(),S(K,{key:0,name:"table-node-fade"},{default:A(()=>[p("span",j,[D(i.$slots,"loading",{isLoading:e.value},()=>[u[0]||(u[0]=p("span",{class:"math-inline__spinner animate-spin","aria-hidden":"true"},null,-1)),u[1]||(u[1]=p("span",{class:"sr-only"},"Loading",-1))],!0)])]),_:3})):V("",!0)],512))}}),[["__scopeId","data-v-32b58f6e"]]);y.install=c=>{c.component(y.__name,y)};export{y as default};
|