ketcher-react 2.21.0-rc.2 → 2.22.0-rc.2
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/dist/index.js +416 -235
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +416 -235
- package/dist/index.modern.js.map +1 -1
- package/dist/script/editor/tool/helper/filterNotInCollapsedSGroup.d.ts +7 -0
- package/dist/script/ui/data/utils.d.ts +11 -0
- package/dist/script/ui/data/utils.test.d.ts +1 -0
- package/dist/script/ui/views/components/ContextMenu/hooks/useAddAttachmentPoint.d.ts +3 -0
- package/dist/script/ui/views/components/ContextMenu/hooks/useRemoveAttachmentPoint.d.ts +3 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -39,6 +39,7 @@ var _typeof$3 = require('@babel/runtime/helpers/typeof');
|
|
|
39
39
|
var Ajv = require('ajv');
|
|
40
40
|
var fp = require('lodash/fp');
|
|
41
41
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
42
|
+
var _ = require('lodash');
|
|
42
43
|
var styled = require('@emotion/styled');
|
|
43
44
|
var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
|
|
44
45
|
var KN = require('w3c-keyname');
|
|
@@ -46,7 +47,6 @@ var _slicedToArray$1 = require('@babel/runtime/helpers/slicedToArray');
|
|
|
46
47
|
var ReactDOM = require('react-dom');
|
|
47
48
|
var reactRedux = require('react-redux');
|
|
48
49
|
var redux = require('redux');
|
|
49
|
-
var _ = require('lodash');
|
|
50
50
|
var CFB = require('cfb');
|
|
51
51
|
var require$$0$2 = require('util');
|
|
52
52
|
require('redux-logger');
|
|
@@ -118,12 +118,12 @@ var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
|
|
|
118
118
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof$3);
|
|
119
119
|
var Ajv__default = /*#__PURE__*/_interopDefaultLegacy(Ajv);
|
|
120
120
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
121
|
+
var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
|
|
121
122
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
122
123
|
var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
|
|
123
124
|
var KN__namespace = /*#__PURE__*/_interopNamespace(KN);
|
|
124
125
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray$1);
|
|
125
126
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
126
|
-
var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
|
|
127
127
|
var CFB__namespace = /*#__PURE__*/_interopNamespace(CFB);
|
|
128
128
|
var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$2);
|
|
129
129
|
var thunk__default = /*#__PURE__*/_interopDefaultLegacy(thunk);
|
|
@@ -685,8 +685,8 @@ function exec(action) {
|
|
|
685
685
|
return enabled;
|
|
686
686
|
}
|
|
687
687
|
|
|
688
|
-
function ownKeys$
|
|
689
|
-
function _objectSpread$
|
|
688
|
+
function ownKeys$1p(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
689
|
+
function _objectSpread$1p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1p(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
690
690
|
var editor = {
|
|
691
691
|
resetToSelect: {
|
|
692
692
|
title: 'Reset to Select Tool',
|
|
@@ -941,7 +941,7 @@ var optionsSchema = {
|
|
|
941
941
|
title: 'Settings',
|
|
942
942
|
type: 'object',
|
|
943
943
|
required: [],
|
|
944
|
-
properties: _objectSpread$
|
|
944
|
+
properties: _objectSpread$1p(_objectSpread$1p(_objectSpread$1p(_objectSpread$1p(_objectSpread$1p({}, editor), render), server), debug), miew)
|
|
945
945
|
};
|
|
946
946
|
function getDefaultOptions() {
|
|
947
947
|
if (!optionsSchema.properties) return {};
|
|
@@ -1124,8 +1124,8 @@ function prefetchRender(tmpls, baseUrl, cacheEl) {
|
|
|
1124
1124
|
});
|
|
1125
1125
|
}
|
|
1126
1126
|
|
|
1127
|
-
function ownKeys$
|
|
1128
|
-
function _objectSpread$
|
|
1127
|
+
function ownKeys$1o(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1128
|
+
function _objectSpread$1o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1o(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1o(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1129
1129
|
var initOptionsState = {
|
|
1130
1130
|
app: {
|
|
1131
1131
|
server: false,
|
|
@@ -1223,29 +1223,29 @@ function optionsReducer() {
|
|
|
1223
1223
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
1224
1224
|
var type = action.type,
|
|
1225
1225
|
data = action.data;
|
|
1226
|
-
if (type === 'APP_OPTIONS') return _objectSpread$
|
|
1227
|
-
app: _objectSpread$
|
|
1226
|
+
if (type === 'APP_OPTIONS') return _objectSpread$1o(_objectSpread$1o({}, state), {}, {
|
|
1227
|
+
app: _objectSpread$1o(_objectSpread$1o({}, state.app), data)
|
|
1228
1228
|
});
|
|
1229
1229
|
if (type === 'SAVE_SETTINGS') {
|
|
1230
|
-
return _objectSpread$
|
|
1231
|
-
settings: _objectSpread$
|
|
1230
|
+
return _objectSpread$1o(_objectSpread$1o({}, state), {}, {
|
|
1231
|
+
settings: _objectSpread$1o(_objectSpread$1o({}, state.settings), data)
|
|
1232
1232
|
});
|
|
1233
1233
|
}
|
|
1234
|
-
if (type === 'SAVE_CHECK_OPTS') return _objectSpread$
|
|
1234
|
+
if (type === 'SAVE_CHECK_OPTS') return _objectSpread$1o(_objectSpread$1o({}, state), {}, {
|
|
1235
1235
|
check: data
|
|
1236
1236
|
});
|
|
1237
|
-
if (type === 'CHANGE_ANALYSE') return _objectSpread$
|
|
1238
|
-
analyse: _objectSpread$
|
|
1237
|
+
if (type === 'CHANGE_ANALYSE') return _objectSpread$1o(_objectSpread$1o({}, state), {}, {
|
|
1238
|
+
analyse: _objectSpread$1o(_objectSpread$1o(_objectSpread$1o({}, state.analyse), data), {}, {
|
|
1239
1239
|
loading: false
|
|
1240
1240
|
})
|
|
1241
1241
|
});
|
|
1242
|
-
if (type === 'ANALYSE_LOADING') return _objectSpread$
|
|
1243
|
-
analyse: _objectSpread$
|
|
1242
|
+
if (type === 'ANALYSE_LOADING') return _objectSpread$1o(_objectSpread$1o({}, state), {}, {
|
|
1243
|
+
analyse: _objectSpread$1o(_objectSpread$1o({}, state.analyse), {}, {
|
|
1244
1244
|
loading: true
|
|
1245
1245
|
})
|
|
1246
1246
|
});
|
|
1247
|
-
if (recognizeActions.includes(type)) return _objectSpread$
|
|
1248
|
-
recognize: _objectSpread$
|
|
1247
|
+
if (recognizeActions.includes(type)) return _objectSpread$1o(_objectSpread$1o({}, state), {}, {
|
|
1248
|
+
recognize: _objectSpread$1o(_objectSpread$1o({}, state.recognize), data)
|
|
1249
1249
|
});
|
|
1250
1250
|
return state;
|
|
1251
1251
|
}
|
|
@@ -1549,8 +1549,8 @@ function getSdataDefault() {
|
|
|
1549
1549
|
return schema[context][fieldName] ? schema[context][fieldName].properties.fieldValue["default"] : '';
|
|
1550
1550
|
}
|
|
1551
1551
|
|
|
1552
|
-
function ownKeys$
|
|
1553
|
-
function _objectSpread$
|
|
1552
|
+
function ownKeys$1n(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1553
|
+
function _objectSpread$1n(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1n(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1n(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1554
1554
|
var initSdata = function initSdata(schema) {
|
|
1555
1555
|
var isCustomShema = schema.key === 'Custom';
|
|
1556
1556
|
var context = isCustomShema ? getSdataDefault(sdataCustomSchema, 'context') : getSdataDefault(sdataSchema);
|
|
@@ -1588,7 +1588,7 @@ var onContextChange = function onContextChange(state, payload) {
|
|
|
1588
1588
|
var fValue = fieldValue;
|
|
1589
1589
|
if (fValue === state.result.fieldValue) fValue = getSdataDefault(sdataCustomSchema, 'fieldValue');
|
|
1590
1590
|
return {
|
|
1591
|
-
result: _objectSpread$
|
|
1591
|
+
result: _objectSpread$1n(_objectSpread$1n({}, payload), {}, {
|
|
1592
1592
|
context: context,
|
|
1593
1593
|
fieldName: fieldName,
|
|
1594
1594
|
fieldValue: fValue
|
|
@@ -1602,7 +1602,7 @@ var onFieldNameChange = function onFieldNameChange(state, payload) {
|
|
|
1602
1602
|
if (sdataSchema[context][fieldName]) fieldValue = getSdataDefault(sdataSchema, context, fieldName);
|
|
1603
1603
|
if (fieldValue === state.result.fieldValue && sdataSchema[context][state.result.fieldName]) fieldValue = '';
|
|
1604
1604
|
return {
|
|
1605
|
-
result: _objectSpread$
|
|
1605
|
+
result: _objectSpread$1n(_objectSpread$1n({}, payload), {}, {
|
|
1606
1606
|
fieldName: fieldName,
|
|
1607
1607
|
fieldValue: fieldValue
|
|
1608
1608
|
})
|
|
@@ -1610,7 +1610,7 @@ var onFieldNameChange = function onFieldNameChange(state, payload) {
|
|
|
1610
1610
|
};
|
|
1611
1611
|
function sdataReducer(state, action) {
|
|
1612
1612
|
if (action.data.result.init) {
|
|
1613
|
-
return correctErrors(_objectSpread$
|
|
1613
|
+
return correctErrors(_objectSpread$1n(_objectSpread$1n({}, state), {}, {
|
|
1614
1614
|
result: Object.assign({}, state.result, action.data.result)
|
|
1615
1615
|
}), action.data);
|
|
1616
1616
|
}
|
|
@@ -1618,7 +1618,7 @@ function sdataReducer(state, action) {
|
|
|
1618
1618
|
var actionFieldName = action.data.result.fieldName;
|
|
1619
1619
|
var newstate = null;
|
|
1620
1620
|
if (actionContext !== state.result.context) newstate = onContextChange(state, action.data.result);else if (actionFieldName !== state.result.fieldName) newstate = onFieldNameChange(state, action.data.result);
|
|
1621
|
-
newstate = newstate || _objectSpread$
|
|
1621
|
+
newstate = newstate || _objectSpread$1n(_objectSpread$1n({}, state), {}, {
|
|
1622
1622
|
result: Object.assign({}, state.result, action.data.result)
|
|
1623
1623
|
});
|
|
1624
1624
|
return correctErrors(newstate, action.data);
|
|
@@ -1758,8 +1758,8 @@ function formReducer(state, action) {
|
|
|
1758
1758
|
var INDIGO_VERIFICATION = 'INDIGO_VERIFICATION';
|
|
1759
1759
|
var ANALYZING_FILE = 'ANALYZING_FILE';
|
|
1760
1760
|
|
|
1761
|
-
function ownKeys$
|
|
1762
|
-
function _objectSpread$
|
|
1761
|
+
function ownKeys$1m(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1762
|
+
function _objectSpread$1m(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1m(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1m(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1763
1763
|
function indigoVerification(data) {
|
|
1764
1764
|
return {
|
|
1765
1765
|
type: INDIGO_VERIFICATION,
|
|
@@ -1784,13 +1784,13 @@ function requestReducer () {
|
|
|
1784
1784
|
switch (type) {
|
|
1785
1785
|
case INDIGO_VERIFICATION:
|
|
1786
1786
|
{
|
|
1787
|
-
return _objectSpread$
|
|
1787
|
+
return _objectSpread$1m(_objectSpread$1m({}, state), {}, {
|
|
1788
1788
|
indigoVerification: data
|
|
1789
1789
|
});
|
|
1790
1790
|
}
|
|
1791
1791
|
case ANALYZING_FILE:
|
|
1792
1792
|
{
|
|
1793
|
-
return _objectSpread$
|
|
1793
|
+
return _objectSpread$1m(_objectSpread$1m({}, state), {}, {
|
|
1794
1794
|
isAnalyzingFile: data
|
|
1795
1795
|
});
|
|
1796
1796
|
}
|
|
@@ -1808,8 +1808,8 @@ var supportedSGroupTypes = {
|
|
|
1808
1808
|
queryComponent: 'queryComponent'
|
|
1809
1809
|
};
|
|
1810
1810
|
|
|
1811
|
-
function ownKeys$
|
|
1812
|
-
function _objectSpread$
|
|
1811
|
+
function ownKeys$1l(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1812
|
+
function _objectSpread$1l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1l(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1813
1813
|
var atom = {
|
|
1814
1814
|
title: 'Atom',
|
|
1815
1815
|
type: 'object',
|
|
@@ -1850,7 +1850,7 @@ var atom = {
|
|
|
1850
1850
|
charge: {
|
|
1851
1851
|
title: 'Charge',
|
|
1852
1852
|
type: 'string',
|
|
1853
|
-
pattern: '^([+-]?)([0-9]
|
|
1853
|
+
pattern: '^([+-]?)(1[0-5]|0|[0-9])([+-]?)$',
|
|
1854
1854
|
maxLength: 4,
|
|
1855
1855
|
"default": '',
|
|
1856
1856
|
invalidMessage: 'Invalid charge value'
|
|
@@ -2041,7 +2041,7 @@ var sgroup = {
|
|
|
2041
2041
|
title: 'SGroup',
|
|
2042
2042
|
type: 'object',
|
|
2043
2043
|
required: ['type'],
|
|
2044
|
-
oneOf: [_objectSpread$
|
|
2044
|
+
oneOf: [_objectSpread$1l({}, sdataCustomSchema), {
|
|
2045
2045
|
key: 'MUL',
|
|
2046
2046
|
title: 'Multiple group',
|
|
2047
2047
|
type: 'object',
|
|
@@ -2146,14 +2146,19 @@ var attachSchema = {
|
|
|
2146
2146
|
}
|
|
2147
2147
|
};
|
|
2148
2148
|
|
|
2149
|
+
function matchCharge(charge) {
|
|
2150
|
+
var regex = new RegExp(atom.properties.charge.pattern);
|
|
2151
|
+
return regex.exec(charge);
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2149
2154
|
var _excluded$z = ["aromaticity", "ringMembership", "ringSize", "connectivity", "chirality", "customQuery"],
|
|
2150
2155
|
_excluded2$7 = ["type", "radiobuttons"];
|
|
2151
|
-
function ownKeys$
|
|
2152
|
-
function _objectSpread$
|
|
2156
|
+
function ownKeys$1k(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2157
|
+
function _objectSpread$1k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1k(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2153
2158
|
var DefaultStereoGroupNumber = 1;
|
|
2154
2159
|
function fromElement(selem) {
|
|
2155
2160
|
if (selem.label === 'R#') {
|
|
2156
|
-
return _objectSpread$
|
|
2161
|
+
return _objectSpread$1k({
|
|
2157
2162
|
type: 'rlabel',
|
|
2158
2163
|
values: fromRlabel(selem.rglabel)
|
|
2159
2164
|
}, selem);
|
|
@@ -2246,21 +2251,21 @@ function fromAtom(satom) {
|
|
|
2246
2251
|
customQuery: satom.queryProperties.customQuery === null ? '' : satom.queryProperties.customQuery.toString()
|
|
2247
2252
|
};
|
|
2248
2253
|
}
|
|
2249
|
-
function toAtom(atom
|
|
2254
|
+
function toAtom(atom) {
|
|
2250
2255
|
var _restAtom$exactChange, _restAtom$unsaturated;
|
|
2251
|
-
var _atom$aromaticity = atom
|
|
2256
|
+
var _atom$aromaticity = atom.aromaticity,
|
|
2252
2257
|
aromaticity = _atom$aromaticity === void 0 ? null : _atom$aromaticity,
|
|
2253
|
-
_atom$ringMembership = atom
|
|
2258
|
+
_atom$ringMembership = atom.ringMembership,
|
|
2254
2259
|
ringMembership = _atom$ringMembership === void 0 ? null : _atom$ringMembership,
|
|
2255
|
-
_atom$ringSize = atom
|
|
2260
|
+
_atom$ringSize = atom.ringSize,
|
|
2256
2261
|
ringSize = _atom$ringSize === void 0 ? null : _atom$ringSize,
|
|
2257
|
-
_atom$connectivity = atom
|
|
2262
|
+
_atom$connectivity = atom.connectivity,
|
|
2258
2263
|
connectivity = _atom$connectivity === void 0 ? null : _atom$connectivity,
|
|
2259
|
-
_atom$chirality = atom
|
|
2264
|
+
_atom$chirality = atom.chirality,
|
|
2260
2265
|
chirality = _atom$chirality === void 0 ? null : _atom$chirality,
|
|
2261
|
-
_atom$customQuery = atom
|
|
2266
|
+
_atom$customQuery = atom.customQuery,
|
|
2262
2267
|
customQuery = _atom$customQuery === void 0 ? '' : _atom$customQuery,
|
|
2263
|
-
restAtom = _objectWithoutProperties__default["default"](atom
|
|
2268
|
+
restAtom = _objectWithoutProperties__default["default"](atom, _excluded$z);
|
|
2264
2269
|
if (customQuery && customQuery !== '') {
|
|
2265
2270
|
return Object.assign({}, restAtom, {
|
|
2266
2271
|
label: 'A',
|
|
@@ -2289,12 +2294,11 @@ function toAtom(atom$1) {
|
|
|
2289
2294
|
exactChangeFlag: 0
|
|
2290
2295
|
});
|
|
2291
2296
|
}
|
|
2292
|
-
var
|
|
2293
|
-
var pch = chargeRegexp.exec(restAtom.charge);
|
|
2297
|
+
var pch = matchCharge(restAtom.charge);
|
|
2294
2298
|
var charge = pch ? parseInt(pch[1] + pch[3] + pch[2]) : restAtom.charge;
|
|
2295
2299
|
var conv = Object.assign({}, restAtom, {
|
|
2296
2300
|
isotope: restAtom.isotope ? Number(restAtom.isotope) : null,
|
|
2297
|
-
charge: restAtom.charge ? Number(charge) : null,
|
|
2301
|
+
charge: restAtom.charge && charge !== 0 ? Number(charge) : null,
|
|
2298
2302
|
alias: restAtom.alias || null,
|
|
2299
2303
|
exactChangeFlag: +((_restAtom$exactChange = restAtom.exactChangeFlag) !== null && _restAtom$exactChange !== void 0 ? _restAtom$exactChange : false),
|
|
2300
2304
|
unsaturatedAtom: +((_restAtom$unsaturated = restAtom.unsaturatedAtom) !== null && _restAtom$unsaturated !== void 0 ? _restAtom$unsaturated : false),
|
|
@@ -2410,7 +2414,7 @@ function fromBond(sbond) {
|
|
|
2410
2414
|
}
|
|
2411
2415
|
function toBond(bond) {
|
|
2412
2416
|
var isCustomQuery = bond.customQuery !== '';
|
|
2413
|
-
return _objectSpread$
|
|
2417
|
+
return _objectSpread$1k({
|
|
2414
2418
|
topology: bond.topology,
|
|
2415
2419
|
reactingCenterStatus: bond.center,
|
|
2416
2420
|
customQuery: !isCustomQuery ? null : bond.customQuery
|
|
@@ -2506,7 +2510,7 @@ function toSgroup(sgroup) {
|
|
|
2506
2510
|
var type = sgroup.type,
|
|
2507
2511
|
radiobuttons = sgroup.radiobuttons,
|
|
2508
2512
|
props = _objectWithoutProperties__default["default"](sgroup, _excluded2$7);
|
|
2509
|
-
var attrs = _objectSpread$
|
|
2513
|
+
var attrs = _objectSpread$1k({}, props);
|
|
2510
2514
|
var absolute = 'absolute';
|
|
2511
2515
|
var attached = 'attached';
|
|
2512
2516
|
switch (radiobuttons) {
|
|
@@ -3061,8 +3065,8 @@ var tools = typeSchema$1["enum"].reduce(function (res, type, i) {
|
|
|
3061
3065
|
|
|
3062
3066
|
var _excluded$y = ["rescale", "fragment"],
|
|
3063
3067
|
_excluded2$6 = ["isPaste", "method"];
|
|
3064
|
-
function ownKeys$
|
|
3065
|
-
function _objectSpread$
|
|
3068
|
+
function ownKeys$1j(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3069
|
+
function _objectSpread$1j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1j(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3066
3070
|
function onAction(action) {
|
|
3067
3071
|
if (action && action.dialog) {
|
|
3068
3072
|
return {
|
|
@@ -3122,7 +3126,7 @@ var getSelectionFromStruct = function getSelectionFromStruct(struct) {
|
|
|
3122
3126
|
function load(struct, options) {
|
|
3123
3127
|
return function () {
|
|
3124
3128
|
var _ref = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(dispatch, getState) {
|
|
3125
|
-
var state, editor, server, errorHandler, _options2, isPaste, method, otherOptions, parsedStruct, _otherOptions, fragment, hasUnsupportedGroups, oldStruct, stereAtomsMap, isIndigoFunctionCalled;
|
|
3129
|
+
var state, editor, server, errorHandler, _options2, isPaste, method, otherOptions, parsedStruct, _otherOptions, fragment, hasUnsupportedGroups, hasMoleculeToMonomerConnections, oldStruct, stereAtomsMap, isIndigoFunctionCalled;
|
|
3126
3130
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
3127
3131
|
while (1) switch (_context.prev = _context.next) {
|
|
3128
3132
|
case 0:
|
|
@@ -3132,7 +3136,7 @@ function load(struct, options) {
|
|
|
3132
3136
|
errorHandler = editor.errorHandler;
|
|
3133
3137
|
options = options || {};
|
|
3134
3138
|
_options2 = options, isPaste = _options2.isPaste, method = _options2.method, otherOptions = _objectWithoutProperties__default["default"](_options2, _excluded2$6);
|
|
3135
|
-
otherOptions = _objectSpread$
|
|
3139
|
+
otherOptions = _objectSpread$1j(_objectSpread$1j({}, otherOptions), {}, {
|
|
3136
3140
|
'dearomatize-on-load': editor.options()['dearomatize-on-load'],
|
|
3137
3141
|
ignoreChiralFlag: editor.options().ignoreChiralFlag
|
|
3138
3142
|
});
|
|
@@ -3146,18 +3150,23 @@ function load(struct, options) {
|
|
|
3146
3150
|
hasUnsupportedGroups = parsedStruct.sgroups.some(function (sGroup) {
|
|
3147
3151
|
return !supportedSGroupTypes[sGroup.type];
|
|
3148
3152
|
});
|
|
3153
|
+
hasMoleculeToMonomerConnections = parsedStruct.bonds.find(function (_$1, bond) {
|
|
3154
|
+
return _.isNumber(bond.beginSuperatomAttachmentPointNumber) || _.isNumber(bond.endSuperatomAttachmentPointNumber);
|
|
3155
|
+
});
|
|
3149
3156
|
if (!hasUnsupportedGroups) {
|
|
3150
|
-
_context.next =
|
|
3157
|
+
_context.next = 19;
|
|
3151
3158
|
break;
|
|
3152
3159
|
}
|
|
3153
|
-
_context.next =
|
|
3160
|
+
_context.next = 18;
|
|
3154
3161
|
return editor.event.confirm.dispatch();
|
|
3155
|
-
case
|
|
3162
|
+
case 18:
|
|
3156
3163
|
parsedStruct.sgroups = parsedStruct.sgroups.filter(function (_key, sGroup) {
|
|
3157
3164
|
return supportedSGroupTypes[sGroup.type];
|
|
3158
3165
|
});
|
|
3159
|
-
case
|
|
3160
|
-
|
|
3166
|
+
case 19:
|
|
3167
|
+
if (!hasMoleculeToMonomerConnections) {
|
|
3168
|
+
parsedStruct.rescale();
|
|
3169
|
+
}
|
|
3161
3170
|
if (editor.struct().atoms.size) {
|
|
3162
3171
|
oldStruct = editor.struct().clone();
|
|
3163
3172
|
parsedStruct.sgroups.forEach(function (sg, sgId) {
|
|
@@ -3211,23 +3220,23 @@ function load(struct, options) {
|
|
|
3211
3220
|
dispatch({
|
|
3212
3221
|
type: 'MODAL_CLOSE'
|
|
3213
3222
|
});
|
|
3214
|
-
_context.next =
|
|
3223
|
+
_context.next = 41;
|
|
3215
3224
|
break;
|
|
3216
|
-
case
|
|
3217
|
-
_context.prev =
|
|
3225
|
+
case 36:
|
|
3226
|
+
_context.prev = 36;
|
|
3218
3227
|
_context.t0 = _context["catch"](8);
|
|
3219
3228
|
ketcherCore.KetcherLogger.error('shared.ts::load', _context.t0);
|
|
3220
3229
|
dispatch(setAnalyzingFile(false));
|
|
3221
3230
|
_context.t0 && errorHandler && errorHandler(_context.t0.message);
|
|
3222
|
-
case
|
|
3223
|
-
_context.prev =
|
|
3231
|
+
case 41:
|
|
3232
|
+
_context.prev = 41;
|
|
3224
3233
|
ketcherCore.notifyRequestCompleted();
|
|
3225
|
-
return _context.finish(
|
|
3226
|
-
case
|
|
3234
|
+
return _context.finish(41);
|
|
3235
|
+
case 44:
|
|
3227
3236
|
case "end":
|
|
3228
3237
|
return _context.stop();
|
|
3229
3238
|
}
|
|
3230
|
-
}, _callee, null, [[8,
|
|
3239
|
+
}, _callee, null, [[8, 36, 41, 44]]);
|
|
3231
3240
|
}));
|
|
3232
3241
|
return function (_x, _x2) {
|
|
3233
3242
|
return _ref.apply(this, arguments);
|
|
@@ -3257,8 +3266,8 @@ function openInfoModalWithCustomMessage(message) {
|
|
|
3257
3266
|
};
|
|
3258
3267
|
}
|
|
3259
3268
|
|
|
3260
|
-
function ownKeys$
|
|
3261
|
-
function _objectSpread$
|
|
3269
|
+
function ownKeys$1i(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3270
|
+
function _objectSpread$1i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1i(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3262
3271
|
function checkServer() {
|
|
3263
3272
|
return function (dispatch, getState) {
|
|
3264
3273
|
var _getState = getState(),
|
|
@@ -3399,7 +3408,7 @@ function serverCall(editor, server, method, options, struct) {
|
|
|
3399
3408
|
resetStereoFlagsPosition(currentStruct);
|
|
3400
3409
|
}
|
|
3401
3410
|
var ketSerializer = new ketcherCore.KetSerializer();
|
|
3402
|
-
var serializedStruct = ketSerializer.serialize(currentStruct, undefined, _objectSpread$
|
|
3411
|
+
var serializedStruct = ketSerializer.serialize(currentStruct, undefined, _objectSpread$1i(_objectSpread$1i({}, selection), {}, {
|
|
3403
3412
|
atoms: selectedAtoms,
|
|
3404
3413
|
bonds: selectedBonds
|
|
3405
3414
|
}));
|
|
@@ -3651,7 +3660,7 @@ var zoom = {
|
|
|
3651
3660
|
|
|
3652
3661
|
var openHelpLink = function openHelpLink() {
|
|
3653
3662
|
var _window$open;
|
|
3654
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.
|
|
3663
|
+
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.22.0-rc.2\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
|
|
3655
3664
|
};
|
|
3656
3665
|
var help = {
|
|
3657
3666
|
help: {
|
|
@@ -3725,9 +3734,9 @@ var fullscreen = {
|
|
|
3725
3734
|
}
|
|
3726
3735
|
};
|
|
3727
3736
|
|
|
3728
|
-
function ownKeys$
|
|
3729
|
-
function _objectSpread$
|
|
3730
|
-
var config = _objectSpread$
|
|
3737
|
+
function ownKeys$1h(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3738
|
+
function _objectSpread$1h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1h(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3739
|
+
var config = _objectSpread$1h(_objectSpread$1h(_objectSpread$1h(_objectSpread$1h(_objectSpread$1h(_objectSpread$1h(_objectSpread$1h(_objectSpread$1h(_objectSpread$1h({
|
|
3731
3740
|
clear: {
|
|
3732
3741
|
shortcut: ['Mod+Delete', 'Mod+Backspace'],
|
|
3733
3742
|
title: 'Clear Canvas',
|
|
@@ -7976,12 +7985,12 @@ var StyledButton = styled__default["default"].button({
|
|
|
7976
7985
|
});
|
|
7977
7986
|
|
|
7978
7987
|
var _excluded$x = ["children"];
|
|
7979
|
-
function ownKeys$
|
|
7980
|
-
function _objectSpread$
|
|
7988
|
+
function ownKeys$1g(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7989
|
+
function _objectSpread$1g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1g(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7981
7990
|
var Button = function Button(_ref) {
|
|
7982
7991
|
var children = _ref.children,
|
|
7983
7992
|
props = _objectWithoutProperties__default["default"](_ref, _excluded$x);
|
|
7984
|
-
return jsxRuntime.jsx(StyledButton, _objectSpread$
|
|
7993
|
+
return jsxRuntime.jsx(StyledButton, _objectSpread$1g(_objectSpread$1g({}, props), {}, {
|
|
7985
7994
|
children: children
|
|
7986
7995
|
}));
|
|
7987
7996
|
};
|
|
@@ -8039,10 +8048,10 @@ var StyledInput$1 = styled__default["default"].input({
|
|
|
8039
8048
|
}
|
|
8040
8049
|
});
|
|
8041
8050
|
|
|
8042
|
-
function ownKeys$
|
|
8043
|
-
function _objectSpread$
|
|
8051
|
+
function ownKeys$1f(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8052
|
+
function _objectSpread$1f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1f(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8044
8053
|
var Input$2 = function Input(props) {
|
|
8045
|
-
return jsxRuntime.jsx(StyledInput$1, _objectSpread$
|
|
8054
|
+
return jsxRuntime.jsx(StyledInput$1, _objectSpread$1f({}, props));
|
|
8046
8055
|
};
|
|
8047
8056
|
|
|
8048
8057
|
var Container = styled__default["default"].div({
|
|
@@ -8131,8 +8140,8 @@ var InfoModal$1 = function InfoModal(_ref) {
|
|
|
8131
8140
|
var styles$g = {"button-common-styles":"Dialog-module_button-common-styles__Xehyp","scrollbar":"Dialog-module_scrollbar__L8hUr","dialog":"Dialog-module_dialog__hiRBI","hide":"Dialog-module_hide__bbkvB","header":"Dialog-module_header__8QGek","btnContainer":"Dialog-module_btnContainer__ulrFM","buttonTop":"Dialog-module_buttonTop__91ha8","closeButton":"Dialog-module_closeButton__XyaAE","footer":"Dialog-module_footer__PliV0","ok":"Dialog-module_ok__BUQ6q","cancel":"Dialog-module_cancel__8d83c","withDivider":"Dialog-module_withDivider__YBKiQ","body":"Dialog-module_body__EWh4H","withMargin":"Dialog-module_withMargin__-zVS4"};
|
|
8132
8141
|
|
|
8133
8142
|
var _excluded$w = ["children", "title", "params", "result", "valid", "buttons", "headerContent", "footerContent", "className", "buttonsNameMap", "needMargin", "withDivider", "focusable"];
|
|
8134
|
-
function ownKeys$
|
|
8135
|
-
function _objectSpread$
|
|
8143
|
+
function ownKeys$1e(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8144
|
+
function _objectSpread$1e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1e(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8136
8145
|
var Dialog = function Dialog(props) {
|
|
8137
8146
|
var children = props.children,
|
|
8138
8147
|
title = props.title,
|
|
@@ -8187,7 +8196,7 @@ var Dialog = function Dialog(props) {
|
|
|
8187
8196
|
event.stopPropagation();
|
|
8188
8197
|
}
|
|
8189
8198
|
};
|
|
8190
|
-
return jsxRuntime.jsxs("div", _objectSpread$
|
|
8199
|
+
return jsxRuntime.jsxs("div", _objectSpread$1e(_objectSpread$1e({
|
|
8191
8200
|
ref: dialogRef,
|
|
8192
8201
|
role: "dialog",
|
|
8193
8202
|
onSubmit: function onSubmit(event) {
|
|
@@ -8513,8 +8522,8 @@ function usePortalStyle(_ref) {
|
|
|
8513
8522
|
return [portalStyle];
|
|
8514
8523
|
}
|
|
8515
8524
|
|
|
8516
|
-
function ownKeys$
|
|
8517
|
-
function _objectSpread$
|
|
8525
|
+
function ownKeys$1d(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8526
|
+
function _objectSpread$1d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1d(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8518
8527
|
var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
8519
8528
|
var id = props.id,
|
|
8520
8529
|
options = props.options,
|
|
@@ -8588,7 +8597,7 @@ var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
|
8588
8597
|
ref: ref,
|
|
8589
8598
|
className: classes$O.root,
|
|
8590
8599
|
"data-testid": "".concat(dataTestId || iconName, "-in-toolbar"),
|
|
8591
|
-
children: [jsxRuntime.jsx(ActionButton, _objectSpread$
|
|
8600
|
+
children: [jsxRuntime.jsx(ActionButton, _objectSpread$1d(_objectSpread$1d({}, actionButtonProps), {}, {
|
|
8592
8601
|
className: className,
|
|
8593
8602
|
name: iconName,
|
|
8594
8603
|
action: config[currentId],
|
|
@@ -8694,8 +8703,8 @@ var TemplatesList = function TemplatesList(props) {
|
|
|
8694
8703
|
var classes$N = {"button-common-styles":"BottomToolbar-module_button-common-styles__PbtE9","scrollbar":"BottomToolbar-module_scrollbar__i1f8P","group":"BottomToolbar-module_group__b-pGt","root":"BottomToolbar-module_root__kjkSm"};
|
|
8695
8704
|
|
|
8696
8705
|
var _excluded$v = ["className"];
|
|
8697
|
-
function ownKeys$
|
|
8698
|
-
function _objectSpread$
|
|
8706
|
+
function ownKeys$1c(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8707
|
+
function _objectSpread$1c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1c(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8699
8708
|
var Group$1 = function Group(_ref) {
|
|
8700
8709
|
var children = _ref.children,
|
|
8701
8710
|
className = _ref.className;
|
|
@@ -8720,22 +8729,22 @@ var BottomToolbar = function BottomToolbar(props) {
|
|
|
8720
8729
|
indigoVerification: indigoVerification,
|
|
8721
8730
|
disableableButtons: disableableButtons,
|
|
8722
8731
|
onAction: onAction
|
|
8723
|
-
}), jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$
|
|
8732
|
+
}), jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$1c({
|
|
8724
8733
|
id: "template-lib"
|
|
8725
8734
|
}, rest))]
|
|
8726
8735
|
})
|
|
8727
8736
|
});
|
|
8728
8737
|
};
|
|
8729
8738
|
|
|
8730
|
-
function ownKeys$
|
|
8731
|
-
function _objectSpread$
|
|
8739
|
+
function ownKeys$1b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8740
|
+
function _objectSpread$1b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1b(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8732
8741
|
function openDialog(dispatch, dialogName, props) {
|
|
8733
8742
|
return new Promise(function (resolve, reject) {
|
|
8734
8743
|
dispatch({
|
|
8735
8744
|
type: 'MODAL_OPEN',
|
|
8736
8745
|
data: {
|
|
8737
8746
|
name: dialogName,
|
|
8738
|
-
prop: _objectSpread$
|
|
8747
|
+
prop: _objectSpread$1b(_objectSpread$1b({}, props), {}, {
|
|
8739
8748
|
onResult: resolve,
|
|
8740
8749
|
onCancel: reject
|
|
8741
8750
|
})
|
|
@@ -8754,14 +8763,14 @@ function modalReducer() {
|
|
|
8754
8763
|
return null;
|
|
8755
8764
|
}
|
|
8756
8765
|
var formState = formReducer(state.form, action);
|
|
8757
|
-
return _objectSpread$
|
|
8766
|
+
return _objectSpread$1b(_objectSpread$1b({}, state), {}, {
|
|
8758
8767
|
form: formState
|
|
8759
8768
|
});
|
|
8760
8769
|
}
|
|
8761
8770
|
switch (type) {
|
|
8762
8771
|
case 'MODAL_CLOSE':
|
|
8763
8772
|
if (state !== null && state !== void 0 && state.parentModal) {
|
|
8764
|
-
state.parentModal.prop = _objectSpread$
|
|
8773
|
+
state.parentModal.prop = _objectSpread$1b(_objectSpread$1b(_objectSpread$1b({}, state.parentModal.prop), state.parentModal.form.result), {}, {
|
|
8765
8774
|
isRestoredModal: true
|
|
8766
8775
|
});
|
|
8767
8776
|
return state.parentModal;
|
|
@@ -8779,8 +8788,8 @@ function modalReducer() {
|
|
|
8779
8788
|
}
|
|
8780
8789
|
}
|
|
8781
8790
|
|
|
8782
|
-
function ownKeys$
|
|
8783
|
-
function _objectSpread$
|
|
8791
|
+
function ownKeys$1a(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8792
|
+
function _objectSpread$1a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1a(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8784
8793
|
function selectTmpl(tmpl) {
|
|
8785
8794
|
return {
|
|
8786
8795
|
type: 'TMPL_SELECT',
|
|
@@ -8888,7 +8897,7 @@ function saveUserTmpl(struct) {
|
|
|
8888
8897
|
var name = _ref.name,
|
|
8889
8898
|
attach = _ref.attach;
|
|
8890
8899
|
tmpl.struct.name = name.trim();
|
|
8891
|
-
tmpl.props = _objectSpread$
|
|
8900
|
+
tmpl.props = _objectSpread$1a(_objectSpread$1a({}, attach), {}, {
|
|
8892
8901
|
group: 'User Templates'
|
|
8893
8902
|
});
|
|
8894
8903
|
var lib = getState().templates.lib.concat(tmpl);
|
|
@@ -8928,7 +8937,7 @@ function templatesReducer() {
|
|
|
8928
8937
|
if (tmplActions.includes(action.type)) return Object.assign({}, state, action.data);
|
|
8929
8938
|
if (attachActions.includes(action.type)) {
|
|
8930
8939
|
var attach = Object.assign({}, state.attach, action.data);
|
|
8931
|
-
return _objectSpread$
|
|
8940
|
+
return _objectSpread$1a(_objectSpread$1a({}, state), {}, {
|
|
8932
8941
|
attach: attach
|
|
8933
8942
|
});
|
|
8934
8943
|
}
|
|
@@ -8937,7 +8946,7 @@ function templatesReducer() {
|
|
|
8937
8946
|
var lib = currentState.lib.filter(function (value) {
|
|
8938
8947
|
return value !== action.data.tmpl;
|
|
8939
8948
|
});
|
|
8940
|
-
return _objectSpread$
|
|
8949
|
+
return _objectSpread$1a(_objectSpread$1a({}, currentState), {}, {
|
|
8941
8950
|
lib: lib
|
|
8942
8951
|
});
|
|
8943
8952
|
}
|
|
@@ -8999,8 +9008,8 @@ function abbreviationLookupReducer() {
|
|
|
8999
9008
|
}
|
|
9000
9009
|
}
|
|
9001
9010
|
|
|
9002
|
-
function ownKeys$
|
|
9003
|
-
function _objectSpread$
|
|
9011
|
+
function ownKeys$19(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9012
|
+
function _objectSpread$19(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$19(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$19(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9004
9013
|
var initialState$3 = {
|
|
9005
9014
|
cursorPosition: {
|
|
9006
9015
|
x: 0,
|
|
@@ -9025,7 +9034,7 @@ function commonReducer() {
|
|
|
9025
9034
|
switch (action.type) {
|
|
9026
9035
|
case COMMON_ACTIONS.COMMON_UPDATE_CURSOR_POSITION:
|
|
9027
9036
|
{
|
|
9028
|
-
return _objectSpread$
|
|
9037
|
+
return _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
9029
9038
|
cursorPosition: {
|
|
9030
9039
|
x: action.data.x,
|
|
9031
9040
|
y: action.data.y
|
|
@@ -9038,8 +9047,8 @@ function commonReducer() {
|
|
|
9038
9047
|
}
|
|
9039
9048
|
|
|
9040
9049
|
var _excluded$u = ["type", "action"];
|
|
9041
|
-
function ownKeys$
|
|
9042
|
-
function _objectSpread$
|
|
9050
|
+
function ownKeys$18(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9051
|
+
function _objectSpread$18(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$18(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$18(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9043
9052
|
function execute(activeTool, _ref) {
|
|
9044
9053
|
var action = _ref.action,
|
|
9045
9054
|
editor = _ref.editor,
|
|
@@ -9097,7 +9106,7 @@ function actionStateReducer () {
|
|
|
9097
9106
|
}
|
|
9098
9107
|
case 'ACTION':
|
|
9099
9108
|
{
|
|
9100
|
-
activeTool = execute(state && state.activeTool, _objectSpread$
|
|
9109
|
+
activeTool = execute(state && state.activeTool, _objectSpread$18(_objectSpread$18({}, params), {}, {
|
|
9101
9110
|
action: action
|
|
9102
9111
|
}));
|
|
9103
9112
|
if (activeTool.tool === 'select') {
|
|
@@ -11702,8 +11711,8 @@ var errors = {
|
|
|
11702
11711
|
codes: codes_1
|
|
11703
11712
|
};
|
|
11704
11713
|
|
|
11705
|
-
function ownKeys$
|
|
11706
|
-
function _objectSpread$
|
|
11714
|
+
function ownKeys$17(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11715
|
+
function _objectSpread$17(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$17(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$17(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11707
11716
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11708
11717
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
11709
11718
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
@@ -12131,7 +12140,7 @@ var AssertionError = /*#__PURE__*/function (_Error, _inspect$custom) {
|
|
|
12131
12140
|
// the minimum depth. Otherwise those values would be too verbose compared
|
|
12132
12141
|
// to the actual error message which contains a combined view of these two
|
|
12133
12142
|
// input values.
|
|
12134
|
-
return inspect(this, _objectSpread$
|
|
12143
|
+
return inspect(this, _objectSpread$17(_objectSpread$17({}, ctx), {}, {
|
|
12135
12144
|
customInspect: false,
|
|
12136
12145
|
depth: 0
|
|
12137
12146
|
}));
|
|
@@ -13751,8 +13760,8 @@ function setFunctionalGroupsTooltip(_ref) {
|
|
|
13751
13760
|
showTooltip(editor, infoPanelData);
|
|
13752
13761
|
}
|
|
13753
13762
|
|
|
13754
|
-
function ownKeys$
|
|
13755
|
-
function _objectSpread$
|
|
13763
|
+
function ownKeys$16(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13764
|
+
function _objectSpread$16(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$16(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$16(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13756
13765
|
var initialState$2 = {
|
|
13757
13766
|
lib: [],
|
|
13758
13767
|
functionalGroupInfo: null,
|
|
@@ -13765,9 +13774,9 @@ var functionalGroupsReducer = function functionalGroupsReducer() {
|
|
|
13765
13774
|
payload = _ref.payload;
|
|
13766
13775
|
switch (type) {
|
|
13767
13776
|
case 'FG_INIT':
|
|
13768
|
-
return _objectSpread$
|
|
13777
|
+
return _objectSpread$16(_objectSpread$16({}, state), payload);
|
|
13769
13778
|
case 'FG_HIGHLIGHT':
|
|
13770
|
-
return _objectSpread$
|
|
13779
|
+
return _objectSpread$16(_objectSpread$16({}, state), {}, {
|
|
13771
13780
|
functionalGroupInfo: payload
|
|
13772
13781
|
});
|
|
13773
13782
|
default:
|
|
@@ -13825,8 +13834,8 @@ function initFGTemplates() {
|
|
|
13825
13834
|
|
|
13826
13835
|
var templatesRawData = "acetic acid\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 acetic acid\nM END\n> <name>\nacetic acid\n\n> <abbreviation>\nacetic acid\n\n> <group>\nSalts and Solvents\n\n$$$$\nacetic anhydride\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1123 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1124 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4114 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 acetic anhydride\nM END\n> <name>\nacetic anhydride\n\n> <abbreviation>\nacetic anhydride\n\n> <group>\nSalts and Solvents\n\n$$$$\nformic acid\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 formic acid\nM END\n> <name>\nformic acid\n\n> <abbreviation>\nformic acid\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethane sulphonic acid\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 -0.9857 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0143 0.5143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.9857 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 methane sulphonic acid\nM END\n> <name>\nmethane sulphonic acid\n\n> <abbreviation>\nmethane sulphonic acid\n\n> <group>\nSalts and Solvents\n\n$$$$\npropionic acid\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0838 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 propionic acid\nM END\n> <name>\npropionic acid\n\n> <abbreviation>\npropionic acid\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,2-propanediol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -3.3587 -3.5057 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0597 -2.7557 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0596 -1.2558 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7606 -3.5057 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5384 -2.7557 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 1,2-propanediol\nM END\n> <name>\n1,2-propanediol\n\n> <abbreviation>\n1,2-propanediol\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,3-propanediol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 15.0779 -8.5508 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3769 -9.3007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6759 -8.5507 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.9750 -9.3007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.2740 -8.5507 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 1,3-propanediol\nM END\n> <name>\n1,3-propanediol\n\n> <abbreviation>\n1,3-propanediol\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,4-butanediol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -0.3480 1.2991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9509 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8481 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1472 2.0491 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 1,4-butanediol\nM END\n> <name>\n1,4-butanediol\n\n> <abbreviation>\n1,4-butanediol\n\n> <group>\nSalts and Solvents\n\n$$$$\n1-butanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 1.0786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 1-butanol\nM END\n> <name>\n1-butanol\n\n> <abbreviation>\n1-butanol\n\n> <group>\nSalts and Solvents\n\n$$$$\n1-propanol\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 1-propanol\nM END\n> <name>\n1-propanol\n\n> <abbreviation>\n1-propanol\n\n> <group>\nSalts and Solvents\n\n$$$$\n2-butanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.1714 2.7286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 2-butanol\nM END\n> <name>\n2-butanol\n\n> <abbreviation>\n2-butanol\n\n> <group>\nSalts and Solvents\n\n$$$$\n2-ethylhexanol\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n 10.7337 0.4167 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1355 0.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8365 -0.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5375 0.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1355 1.9167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4345 -0.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2384 -0.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4345 2.6667 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9394 0.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 5 1 0 0 0 0\n 2 6 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 7 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 2-ethylhexanol\nM END\n> <name>\n2-ethylhexanol\n\n> <abbreviation>\n2-ethylhexanol\n\n> <group>\nSalts and Solvents\n\n$$$$\nisopropanol\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.1714 2.7286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 2-propanol\nM END\n> <name>\nisopropanol\n\n> <abbreviation>\n2-propanol\n\n> <group>\nSalts and Solvents\n\n$$$$\n2-methoxyethanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 1.0786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 0.3286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 2-methoxyethanol\nM END\n> <name>\n2-methoxyethanol\n\n> <abbreviation>\n2-methoxyethanol\n\n> <group>\nSalts and Solvents\n\n$$$$\n2-pentanol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -5.1971 -3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8980 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5991 -3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0009 -3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3000 -1.2500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-pentanol\nM END\n> <name>\n2-pentanol\n\n> <abbreviation>\n2-pentanol\n\n> <group>\nSalts and Solvents\n\n$$$$\nbenzyl alcohol\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 2.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\n 7 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 benzyl alcohol\nM END\n> <name>\nbenzyl alcohol\n\n> <abbreviation>\nbenzyl alcohol\n\n> <group>\nSalts and Solvents\n\n$$$$\ncyclohexanol\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 4.2990 2.0175 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 0.5175 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.2325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -0.2325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.7325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -1.7325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -2.4825 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 cyclohexanol\nM END\n> <name>\ncyclohexanol\n\n> <abbreviation>\ncyclohexanol\n\n> <group>\nSalts and Solvents\n\n$$$$\nethanol\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 ethyl alcohol\nM END\n> <name>\nethanol\n\n> <abbreviation>\nethyl alcohol\n\n> <group>\nSalts and Solvents\n\n$$$$\nethylene glycol\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7256 0.4786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 ethane-1,2-diol\nM END\n> <name>\nethylene glycol\n\n> <abbreviation>\nethane-1,2-diol\n\n> <group>\nSalts and Solvents\n\n$$$$\nglycerol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.9915 2.6580 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2906 1.9080 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5896 2.6580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5897 4.1580 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8887 1.9080 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1878 2.6580 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 glycerol\nM END\n> <name>\nglycerol\n\n> <abbreviation>\nglycerol\n\n> <group>\nSalts and Solvents\n\n$$$$\nisoamyl alcohol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.1714 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 1.0786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 -1.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 isoamyl alcohol\nM END\n> <name>\nisoamyl alcohol\n\n> <abbreviation>\nisoamyl alcohol\n\n> <group>\nSalts and Solvents\n\n$$$$\nisobutanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 2.7286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 isobutanol\nM END\n> <name>\nisobutanol\n\n> <abbreviation>\nisobutanol\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethanol\n -INDIGO-11302219142D\n\n 2 1 0 0 0 0 0 0 0 0999 V2000\n 0.0709 0.8536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5710 0.8536 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 methyl alcohol\nM END\n> <name>\nmethanol\n\n> <abbreviation>\nmethyl alcohol\n\n> <group>\nSalts and Solvents\n\n$$$$\nt-butanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.0709 0.8536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5710 0.8536 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4291 0.8536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0709 2.3536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0709 -0.6464 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 t-butanol\nM END\n> <name>\nt-butanol\n\n> <abbreviation>\nt-butanol\n\n> <group>\nSalts and Solvents\n\n$$$$\nwater\n -INDIGO-11302219142D\n\n 1 0 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.9500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 1 1\nM SMT 1 water\nM END\n> <name>\nwater\n\n> <abbreviation>\nwater\n\n> <group>\nSalts and Solvents\n\n$$$$\ncarbon dioxide\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n -1.2000 0.8500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7000 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.3000 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 carbon dioxide\nM END\n> <name>\ncarbon dioxide\n\n> <abbreviation>\ncarbon dioxide\n\n> <group>\nSalts and Solvents\n\n$$$$\nbenzene\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 benzene\nM END\n> <name>\nbenzene\n\n> <abbreviation>\nbenzene\n\n> <group>\nSalts and Solvents\n\n$$$$\ncumene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 4.2989 1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 -2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 2 5 2 0 0 0 0\n 2 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 8 2 0 0 0 0\n 7 9 2 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 cumene\nM END\n> <name>\ncumene\n\n> <abbreviation>\ncumene\n\n> <group>\nSalts and Solvents\n\n$$$$\nmesitylene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 1.2991 3.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8971 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 2 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 9 2 0 0 0 0\n 2 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 mesitylene\nM END\n> <name>\nmesitylene\n\n> <abbreviation>\nmesitylene\n\n> <group>\nSalts and Solvents\n\n$$$$\ntoluene\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 toluene\nM END\n> <name>\ntoluene\n\n> <abbreviation>\ntoluene\n\n> <group>\nSalts and Solvents\n\n$$$$\nn,n-dimethylaniline\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 4.2989 1.8750 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 -2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 3 7 1 0 0 0 0\n 4 8 2 0 0 0 0\n 7 9 2 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 N,N-dimethylaniline\nM END\n> <name>\nn,n-dimethylaniline\n\n> <abbreviation>\nN,N-dimethylaniline\n\n> <group>\nSalts and Solvents\n\n$$$$\npyridine\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 pyridine\nM END\n> <name>\npyridine\n\n> <abbreviation>\npyridine\n\n> <group>\nSalts and Solvents\n\n$$$$\ntriethylamine\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2010 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 3 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 triethylamine\nM END\n> <name>\ntriethylamine\n\n> <abbreviation>\ntriethylamine\n\n> <group>\nSalts and Solvents\n\n$$$$\nacetonitrile\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 3 0 0 0 0\n 1 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 acetonitrile\nM END\n> <name>\nacetonitrile\n\n> <abbreviation>\nacetonitrile\n\n> <group>\nSalts and Solvents\n\n$$$$\ndimethyl acetamide\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.7990 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0980 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2009 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 dimethyl acetamide\nM END\n> <name>\ndimethyl acetamide\n\n> <abbreviation>\ndimethyl acetamide\n\n> <group>\nSalts and Solvents\n\n$$$$\ndimethyl formamide\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.7990 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0980 -0.7500 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2009 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 DMF\nM END\n> <name>\ndimethyl formamide\n\n> <abbreviation>\nDMF\n\n> <group>\nSalts and Solvents\n\n$$$$\ndimethyl sulfoxide\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2010 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 DMSO\nM END\n> <name>\ndimethyl sulfoxide\n\n> <abbreviation>\nDMSO\n\n> <group>\nSalts and Solvents\n\n$$$$\ndimethylpropylene urea\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 3.4378 2.0544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1388 1.3044 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1387 -0.1955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8397 -0.9455 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4593 -0.1956 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4593 1.3044 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.7584 2.0545 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8397 2.0544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8397 3.5545 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\n 2 8 1 0 0 0 0\n 8 9 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 dimethylpropylene urea\nM END\n> <name>\ndimethylpropylene urea\n\n> <abbreviation>\ndimethylpropylene urea\n\n> <group>\nSalts and Solvents\n\n$$$$\nformamide\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.2485 -6.0342 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5476 -5.2841 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5476 -3.7842 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8467 -6.0341 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 formamide\nM END\n> <name>\nformamide\n\n> <abbreviation>\nformamide\n\n> <group>\nSalts and Solvents\n\n$$$$\nn-methyl-2-pyrrolidone\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 3.8100 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3860 1.8953 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\n 1 6 1 0 0 0 0\n 4 7 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 N-methyl-2-pyrrolidone\nM END\n> <name>\nn-methyl-2-pyrrolidone\n\n> <abbreviation>\nN-methyl-2-pyrrolidone\n\n> <group>\nSalts and Solvents\n\n$$$$\nn-methylformamide\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1009 0.5500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4000 1.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4000 2.8000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6990 0.5500 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1981 1.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 N-methylformamide\nM END\n> <name>\nn-methylformamide\n\n> <abbreviation>\nN-methylformamide\n\n> <group>\nSalts and Solvents\n\n$$$$\npropane nitrile\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 6.8971 0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 4 3 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 propane nitrile\nM END\n> <name>\npropane nitrile\n\n> <abbreviation>\npropane nitrile\n\n> <group>\nSalts and Solvents\n\n$$$$\nsulfolane\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 3.6090 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0673 3.5678 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\n 1 6 2 0 0 0 0\n 1 7 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 sulfolane\nM END\n> <name>\nsulfolane\n\n> <abbreviation>\nsulfolane\n\n> <group>\nSalts and Solvents\n\n$$$$\namyl acetate\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n 5.8307 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1297 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5316 -0.3786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8307 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2326 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9335 -0.3785 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6345 0.3715 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.6646 -0.3785 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9636 0.3715 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 amyl acetate\nM END\n> <name>\namyl acetate\n\n> <abbreviation>\namyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\nbutyl acetate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 7.5466 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8456 2.2500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9486 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6495 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2476 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3505 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8456 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1446 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 5 1 0 0 0 0\n 1 7 1 0 0 0 0\n 2 7 2 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 7 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 butyl acetate\nM END\n> <name>\nbutyl acetate\n\n> <abbreviation>\nbutyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\ndimethyl carbonate\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.5429 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7562 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0552 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 dimethyl carbonate\nM END\n> <name>\ndimethyl carbonate\n\n> <abbreviation>\ndimethyl carbonate\n\n> <group>\nSalts and Solvents\n\n$$$$\nethyl acetate\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.7079 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7079 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0070 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4089 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.1099 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1891 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 ethyl acetate\nM END\n> <name>\nethyl acetate\n\n> <abbreviation>\nethyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\nethyl formate\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 5.8087 -2.6404 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8087 -1.1506 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5094 -3.4018 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2098 -2.6486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9103 -3.4018 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1078 -3.3904 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 2 0 0 0 0\n 3 1 1 0 0 0 0\n 4 3 1 0 0 0 0\n 5 4 1 0 0 0 0\n 1 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 ethyl formate\nM END\n> <name>\nethyl formate\n\n> <abbreviation>\nethyl formate\n\n> <group>\nSalts and Solvents\n\n$$$$\nethyl lactate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n -0.3480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9509 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 3.5491 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1471 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8480 -0.2009 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 ethyl lactate\nM END\n> <name>\nethyl lactate\n\n> <abbreviation>\nethyl lactate\n\n> <group>\nSalts and Solvents\n\n$$$$\nethyl propionate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n -0.3480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9509 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 3.5491 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1471 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 ethyl propionate\nM END\n> <name>\nethyl propionate\n\n> <abbreviation>\nethyl propionate\n\n> <group>\nSalts and Solvents\n\n$$$$\nethylene carbonate\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 1.0323 3.5259 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0323 2.0259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2458 1.1443 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7823 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2824 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.1813 1.1443 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 2 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 ethylene carbonate\nM END\n> <name>\nethylene carbonate\n\n> <abbreviation>\nethylene carbonate\n\n> <group>\nSalts and Solvents\n\n$$$$\nisobutyl acetate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 4.4399 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4399 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7390 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 -2.5929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7561 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 isobutyl acetate\nM END\n> <name>\nisobutyl acetate\n\n> <abbreviation>\nisobutyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\nisopropyl acetate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 3.1409 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4400 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7561 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 1.1571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 isopropyl acetate\nM END\n> <name>\nisopropyl acetate\n\n> <abbreviation>\nisopropyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethyl acetate\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.5429 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7562 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 methyl acetate\nM END\n> <name>\nmethyl acetate\n\n> <abbreviation>\nmethyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethyl formate\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 1.5821 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5821 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8812 -1.0929 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2831 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0159 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 methyl formate\nM END\n> <name>\nmethyl formate\n\n> <abbreviation>\nmethyl formate\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethyl lactate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 7.6971 -2.1071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3980 -2.8571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0991 -2.1071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0991 -0.6071 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8000 -2.8571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5009 -2.1071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8000 -4.3571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 methyl lactate\nM END\n> <name>\nmethyl lactate\n\n> <abbreviation>\nmethyl lactate\n\n> <group>\nSalts and Solvents\n\n$$$$\nn-octylacetate\n -INDIGO-11302219142D\n\n 12 11 0 0 0 0 0 0 0 0999 V2000\n 7.7009 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0000 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2991 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5980 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8971 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1962 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4953 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7942 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0933 4.9462 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 19.3924 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.6913 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.3924 7.1962 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 1 0 0 0 0\n 10 11 1 0 0 0 0\n 10 12 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 4 9 10 11 12\nM SMT 1 n-octylacetate\nM END\n> <name>\nn-octylacetate\n\n> <abbreviation>\nn-octylacetate\n\n> <group>\nSalts and Solvents\n\n$$$$\npropyl acetate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 6.3403 -0.1607 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6395 2.0893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7423 -0.1607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0413 0.5893 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4433 0.5893 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6395 0.5893 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9385 -0.1607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 4 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 6 2 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 propyl acetate\nM END\n> <name>\npropyl acetate\n\n> <abbreviation>\npropyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\npropylene carbonate\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.5661 -1.8745 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5661 -0.3746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.6474 0.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.1839 1.9338 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3160 1.9338 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1978 3.1472 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7797 0.5071 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 5 7 1 0 0 0 0\n 2 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 propylene carbonate\nM END\n> <name>\npropylene carbonate\n\n> <abbreviation>\npropylene carbonate\n\n> <group>\nSalts and Solvents\n\n$$$$\nt-butyl acetate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 6.0125 -7.4927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7134 -6.7427 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7134 -5.2428 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4144 -7.4928 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1153 -6.7428 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8163 -5.9928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3653 -8.0418 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8653 -5.4437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 5 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 t-butyl acetate\nM END\n> <name>\nt-butyl acetate\n\n> <abbreviation>\nt-butyl acetate\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,2-dimethoxyethane\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -0.0857 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2133 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5124 0.1714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3848 -0.5786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8114 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6838 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 1,2-dimethoxyethane\nM END\n> <name>\n1,2-dimethoxyethane\n\n> <abbreviation>\n1,2-dimethoxyethane\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,4-dioxane\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 3.9490 -2.3000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -5.3000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 2 1 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 1,4-dioxane\nM END\n> <name>\n1,4-dioxane\n\n> <abbreviation>\n1,4-dioxane\n\n> <group>\nSalts and Solvents\n\n$$$$\n2-methyl tetrahydrofuran\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3860 1.8953 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-methyl tetrahydrofuran\nM END\n> <name>\n2-methyl tetrahydrofuran\n\n> <abbreviation>\n2-methyl tetrahydrofuran\n\n> <group>\nSalts and Solvents\n\n$$$$\nanisole\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 2.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\n 7 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 anisole\nM END\n> <name>\nanisole\n\n> <abbreviation>\nanisole\n\n> <group>\nSalts and Solvents\n\n$$$$\nbutyl carbitol\n -INDIGO-11302219142D\n\n 11 10 0 0 0 0 0 0 0 0999 V2000\n -0.2227 -3.0342 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0742 -3.7829 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3750 -3.0387 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6719 -3.7875 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9782 -3.0336 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2751 -3.7823 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5758 -3.0382 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8728 -3.7870 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1792 -3.0330 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4761 -3.7817 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7768 -3.0376 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 1 0 0 0 0\n 10 11 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 3 9 10 11\nM SMT 1 butyl carbitol\nM END\n> <name>\nbutyl carbitol\n\n> <abbreviation>\nbutyl carbitol\n\n> <group>\nSalts and Solvents\n\n$$$$\ncyclopentyl methyl ether\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5053 1.7481 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3855 0.7467 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4886 -0.4632 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9950 -0.6239 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 5 4 1 0 0 0 0\n 4 2 1 0 0 0 0\n 2 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 cyclopentyl methyl ether\nM END\n> <name>\ncyclopentyl methyl ether\n\n> <abbreviation>\ncyclopentyl methyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\ndibutyl ether\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n 5.4509 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7500 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0491 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3480 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6470 4.6471 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9461 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2452 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5441 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8432 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 dibutyl ether\nM END\n> <name>\ndibutyl ether\n\n> <abbreviation>\ndibutyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\ndiethyl ether\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 2.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 2.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5019 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6980 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 2 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 ether\nM END\n> <name>\ndiethyl ether\n\n> <abbreviation>\nether\n\n> <group>\nSalts and Solvents\n\n$$$$\ndiethylene glycol\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 7.7875 -1.4835 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4896 -2.2328 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1892 -1.4790 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8854 -2.2317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5884 -1.4840 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2906 -2.2333 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0845 -2.2313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 7 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 diethylene glycol\nM END\n> <name>\ndiethylene glycol\n\n> <abbreviation>\ndiethylene glycol\n\n> <group>\nSalts and Solvents\n\n$$$$\ndiglyme\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n -0.0857 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2133 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5124 0.1714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3848 -0.5786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8114 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6838 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9828 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2818 0.1714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.5809 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 diglyme\nM END\n> <name>\ndiethylene glycol dimethyl ether\n\n> <abbreviation>\ndiglyme\n\n> <group>\nSalts and Solvents\n\n$$$$\ndiisopropyl ether\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 5.5971 2.8500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2980 3.6000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2980 5.1000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9991 2.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7000 3.6000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4009 2.8500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7000 5.1000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 diisopropyl ether\nM END\n> <name>\ndiisopropyl ether\n\n> <abbreviation>\ndiisopropyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\ndimethyl ether\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 4.2989 -0.3750 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5980 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9999 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 dimethyl ether\nM END\n> <name>\ndimethyl ether\n\n> <abbreviation>\ndimethyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\ndiphenyl ether\n -INDIGO-11302219142D\n\n 13 14 0 0 0 0 0 0 0 0999 V2000\n 7.1190 1.0305 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8200 0.2805 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8200 -1.2196 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5210 -1.9696 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2219 -1.2195 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2219 0.2805 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5209 1.0305 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4181 0.2804 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7171 1.0304 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0161 0.2805 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0161 -1.2194 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7170 -1.9694 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4180 -1.2195 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 2 7 1 0 0 0 0\n 1 8 1 0 0 0 0\n 8 9 2 0 0 0 0\n 9 10 1 0 0 0 0\n 10 11 2 0 0 0 0\n 11 12 1 0 0 0 0\n 12 13 2 0 0 0 0\n 8 13 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 5 9 10 11 12 13\nM SMT 1 diphenyl ether\nM END\n> <name>\ndiphenyl ether\n\n> <abbreviation>\ndiphenyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\nethoxybenzene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 0.0000 6.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 4.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 3.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 2 0 0 0 0\n 4 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 ethoxybenzene\nM END\n> <name>\nethoxybenzene\n\n> <abbreviation>\nethoxybenzene\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethyl t-butyl ether\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5019 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0510 2.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5510 -0.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 2 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 methyl t-butyl ether\nM END\n> <name>\nmethyl t-butyl ether\n\n> <abbreviation>\nmethyl t-butyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\nt-amyl methyl ether\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 6.8972 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8482 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3482 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1962 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 7 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 3 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 t-amyl methyl ether\nM END\n> <name>\nt-amyl methyl ether\n\n> <abbreviation>\nt-amyl methyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\nt-butylethyl ether\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 2.3688 -7.1130 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0698 -7.8630 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2293 -7.1129 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5283 -7.8629 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8274 -8.6129 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2783 -6.5639 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7783 -9.1620 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 4 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 t-butylethyl ether\nM END\n> <name>\nt-butylethyl ether\n\n> <abbreviation>\nt-butylethyl ether\n\n> <group>\nSalts and Solvents\n\n$$$$\ntetrahydrofuran\n -INDIGO-11302219142D\n\n 5 5 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 THF\nM END\n> <name>\ntetrahydrofuran\n\n> <abbreviation>\nTHF\n\n> <group>\nSalts and Solvents\n\n$$$$\ntriethylene glycol\n -INDIGO-11302219142D\n\n 10 9 0 0 0 0 0 0 0 0999 V2000\n 4.1520 3.8971 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.4509 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7500 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0491 4.6471 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3480 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6471 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9462 3.8971 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2453 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5442 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8433 4.6471 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 triethylene glycol\nM END\n> <name>\ntriethylene glycol\n\n> <abbreviation>\ntriethylene glycol\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,2,4-trichlorobenzene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 2.2506 -3.8983 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9991 -2.5989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2506 -1.2994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7485 -1.2994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -2.5989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7485 -3.8983 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -5.1978 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9991 0.0000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 6 2 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 3 9 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 8 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 1,2,4-trichlorobenzene\nM END\n> <name>\n1,2,4-trichlorobenzene\n\n> <abbreviation>\n1,2,4-trichlorobenzene\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,2-dichlorobenzene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n 0.9558 -0.8403 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4581 -0.8408 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2048 0.4582 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4555 1.7560 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9571 1.7589 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2065 0.4576 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2078 3.0567 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2060 3.0573 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 6 2 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 8 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 1,2-dichlorobenzene\nM END\n> <name>\n1,2-dichlorobenzene\n\n> <abbreviation>\n1,2-dichlorobenzene\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,2-dichloroethane\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n -0.2571 0.8286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0419 1.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3409 0.8286 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5562 1.5786 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 DCE\nM END\n> <name>\n1,2-dichloroethane\n\n> <abbreviation>\nDCE\n\n> <group>\nSalts and Solvents\n\n$$$$\n2,2,2-trifluoroethanol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.3661 -2.2500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0670 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0670 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0670 1.5000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4330 0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5670 0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 3 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2,2,2-trifluoroethanol\nM END\n> <name>\n2,2,2-trifluoroethanol\n\n> <abbreviation>\n2,2,2-trifluoroethanol\n\n> <group>\nSalts and Solvents\n\n$$$$\n2,3,4-trifluorotoluene\n -INDIGO-11302219142D\n\n 10 10 0 0 0 0 0 0 0 0999 V2000\n 4.0898 1.7173 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0899 1.7173 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5899 -0.8808 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0898 -0.8807 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8398 0.4183 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8399 -2.1798 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3399 0.4182 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5898 -0.8807 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3399 -2.1798 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0899 -0.8808 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 5 1 0 0 0 0\n 2 7 1 0 0 0 0\n 3 10 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 4 8 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 9 2 0 0 0 0\n 7 10 2 0 0 0 0\n 9 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 2,3,4-trifluorotoluene\nM END\n> <name>\n2,3,4-trifluorotoluene\n\n> <abbreviation>\n2,3,4-trifluorotoluene\n\n> <group>\nSalts and Solvents\n\n$$$$\ncarbon tetrachloride\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -1.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6000 0.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6000 0.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 carbon tetrachloride\nM END\n> <name>\ncarbon tetrachloride\n\n> <abbreviation>\ncarbon tetrachloride\n\n> <group>\nSalts and Solvents\n\n$$$$\nchloroacetic acid\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 9.0626 -7.0246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0626 -5.5268 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3632 -7.7759 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4658 -7.0246 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7666 -7.7759 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 2 0 0 0 0\n 3 1 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 chloroacetic acid\nM END\n> <name>\nchloroacetic acid\n\n> <abbreviation>\nchloroacetic acid\n\n> <group>\nSalts and Solvents\n\n$$$$\nchlorobenzene\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 chlorobenzene\nM END\n> <name>\nchlorobenzene\n\n> <abbreviation>\nchlorobenzene\n\n> <group>\nSalts and Solvents\n\n$$$$\nchloroform\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -1.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6000 0.2500 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6000 0.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 chloroform\nM END\n> <name>\nchloroform\n\n> <abbreviation>\nchloroform\n\n> <group>\nSalts and Solvents\n\n$$$$\ndichloromethane\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8500 1.5490 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3500 1.5490 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 DCM\nM END\n> <name>\ndichloromethane\n\n> <abbreviation>\nDCM\n\n> <group>\nSalts and Solvents\n\n$$$$\nfluorobenzene\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 1.2991 3.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 2 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 fluorobenzene\nM END\n> <name>\nfluorobenzene\n\n> <abbreviation>\nfluorobenzene\n\n> <group>\nSalts and Solvents\n\n$$$$\nperfluorocyclic ether\n -INDIGO-11302219142D\n\n 25 25 0 0 0 0 0 0 0 0999 V2000\n -1.9038 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9038 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4038 -4.5746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9038 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4038 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4038 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4038 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0962 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0962 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0962 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5962 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5962 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5962 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0962 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9395 -6.0662 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9395 -3.0827 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3099 -2.4726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5598 -1.1736 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5233 -1.5909 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3135 -3.5873 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3173 -2.4726 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5271 -4.4689 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5635 -4.8864 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7677 -5.7808 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.4224 -6.3797 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 8 10 1 0 0 0 0\n 8 11 1 0 0 0 0\n 11 12 1 0 0 0 0\n 11 13 1 0 0 0 0\n 11 14 1 0 0 0 0\n 14 15 1 0 0 0 0\n 14 16 1 0 0 0 0\n 16 17 1 0 0 0 0\n 17 18 1 0 0 0 0\n 17 19 1 0 0 0 0\n 17 20 1 0 0 0 0\n 20 21 1 0 0 0 0\n 20 22 1 0 0 0 0\n 20 23 1 0 0 0 0\n 14 23 1 0 0 0 0\n 23 24 1 0 0 0 0\n 23 25 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 8 9 10 11 12 13 14 15 16\nM SAL 1 8 17 18 19 20 21 22 23 24\nM SAL 1 1 25\nM SMT 1 perfluorocyclic ether\nM END\n> <name>\nperfluorocyclic ether\n\n> <abbreviation>\nperfluorocyclic ether\n\n> <group>\nSalts and Solvents\n\n$$$$\nperfluorocyclohexane\n -INDIGO-11302219142D\n\n 18 18 0 0 0 0 0 0 0 0999 V2000\n 7.8482 2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5982 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5491 2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0490 2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5982 -0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8482 -2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0490 -2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5491 -2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 -2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0982 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7991 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0982 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5000 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7991 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5000 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 13 1 0 0 0 0\n 2 13 1 0 0 0 0\n 3 14 1 0 0 0 0\n 4 14 1 0 0 0 0\n 5 15 1 0 0 0 0\n 6 15 1 0 0 0 0\n 7 16 1 0 0 0 0\n 8 16 1 0 0 0 0\n 9 17 1 0 0 0 0\n 10 17 1 0 0 0 0\n 11 18 1 0 0 0 0\n 12 18 1 0 0 0 0\n 13 14 1 0 0 0 0\n 13 15 1 0 0 0 0\n 14 16 1 0 0 0 0\n 15 17 1 0 0 0 0\n 16 18 1 0 0 0 0\n 17 18 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 8 9 10 11 12 13 14 15 16\nM SAL 1 2 17 18\nM SMT 1 perfluorocyclohexane\nM END\n> <name>\nperfluorocyclohexane\n\n> <abbreviation>\nperfluorocyclohexane\n\n> <group>\nSalts and Solvents\n\n$$$$\nperfluorohexane\n -INDIGO-11302219142D\n\n 20 19 0 0 0 0 0 0 0 0999 V2000\n 6.1472 0.9240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6472 -1.6740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9463 -0.9240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4462 1.6740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3482 -2.4240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8482 0.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7453 2.4240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2453 -0.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0491 -3.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5490 -0.5760 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -2.6250 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0444 3.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5444 0.5760 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0935 2.6250 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8972 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1963 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 -1.1250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4953 1.1250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2991 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7944 1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 15 1 0 0 0 0\n 2 15 1 0 0 0 0\n 3 16 1 0 0 0 0\n 4 16 1 0 0 0 0\n 5 17 1 0 0 0 0\n 6 17 1 0 0 0 0\n 7 18 1 0 0 0 0\n 8 18 1 0 0 0 0\n 9 19 1 0 0 0 0\n 10 19 1 0 0 0 0\n 11 19 1 0 0 0 0\n 12 20 1 0 0 0 0\n 13 20 1 0 0 0 0\n 14 20 1 0 0 0 0\n 15 16 1 0 0 0 0\n 15 17 1 0 0 0 0\n 16 18 1 0 0 0 0\n 17 19 1 0 0 0 0\n 18 20 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 8 9 10 11 12 13 14 15 16\nM SAL 1 4 17 18 19 20\nM SMT 1 perfluorohexane\nM END\n> <name>\nperfluorohexane\n\n> <abbreviation>\nperfluorohexane\n\n> <group>\nSalts and Solvents\n\n$$$$\nperfluorotoluene\n -INDIGO-11302219142D\n\n 15 15 0 0 0 0 0 0 0 0999 V2000\n 3.0000 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1962 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 3.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0982 2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0982 2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1962 -2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 -3.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8972 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8972 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 10 1 0 0 0 0\n 2 11 1 0 0 0 0\n 3 12 1 0 0 0 0\n 4 12 1 0 0 0 0\n 5 12 1 0 0 0 0\n 6 13 1 0 0 0 0\n 7 14 1 0 0 0 0\n 8 15 1 0 0 0 0\n 9 10 2 0 0 0 0\n 9 11 1 0 0 0 0\n 9 12 1 0 0 0 0\n 10 14 1 0 0 0 0\n 11 13 2 0 0 0 0\n 13 15 1 0 0 0 0\n 14 15 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 7 9 10 11 12 13 14 15\nM SMT 1 perfluorotoluene\nM END\n> <name>\nperfluorotoluene\n\n> <abbreviation>\nperfluorotoluene\n\n> <group>\nSalts and Solvents\n\n$$$$\ntrichloroacetic acid\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 4.3154 -3.6247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6336 -2.8642 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6336 -1.3688 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0543 -2.8010 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1051 -4.3218 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3090 -5.1835 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9579 -3.6120 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 3 2 2 0 0 0 0\n 4 1 1 0 0 0 0\n 5 1 1 0 0 0 0\n 6 1 1 0 0 0 0\n 7 2 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 trichloroacetic acid\nM END\n> <name>\ntrichloroacetic acid\n\n> <abbreviation>\ntrichloroacetic acid\n\n> <group>\nSalts and Solvents\n\n$$$$\ntrichloroacetonitrile\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 4.5000 0.0000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 1.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 3 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 trichloroacetonitrile\nM END\n> <name>\ntrichloroacetonitrile\n\n> <abbreviation>\ntrichloroacetonitrile\n\n> <group>\nSalts and Solvents\n\n$$$$\ntrifluoroacetic acid\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 1.0500 -4.9991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.3000 -3.7000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0500 -2.4009 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2000 -3.7000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7000 -3.7000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2000 -2.2000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2000 -5.2000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 4 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 trifluoroacetic acid\nM END\n> <name>\ntrifluoroacetic acid\n\n> <abbreviation>\ntrifluoroacetic acid\n\n> <group>\nSalts and Solvents\n\n$$$$\ntrifluoromethylbenzene\n -INDIGO-11302219142D\n\n 10 10 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 3.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6000 1.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6000 1.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 9 1 0 0 0 0\n 7 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 trifluoromethylbenzene\nM END\n> <name>\ntrifluoromethylbenzene\n\n> <abbreviation>\ntrifluoromethylbenzene\n\n> <group>\nSalts and Solvents\n\n$$$$\n2-methylpentane\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.5471 -1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7520 -0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0509 -1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3500 -0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6491 -1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3500 1.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-methylpentane\nM END\n> <name>\n2-methylpentane\n\n> <abbreviation>\n2-methylpentane\n\n> <group>\nSalts and Solvents\n\n$$$$\ncis-decalin\n -INDIGO-11302219142D\n\n 12 13 0 0 1 0 0 0 0 0999 V2000\n 2.6130 -0.7481 0.0000 C 0 0 2 0 0 0 0 0 0 0 0 0\n 2.6130 -2.2234 0.0000 C 0 0 1 0 0 0 0 0 0 0 0 0\n 1.3195 -3.0026 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3195 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8754 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8754 -2.9714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -0.7481 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1948 -0.7481 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1948 -2.2234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -2.2234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5583 0.8018 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6130 -3.6988 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 6 1 0 0 0 0\n 3 10 1 0 0 0 0\n 4 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 6 9 1 0 0 0 0\n 7 10 1 0 0 0 0\n 8 9 1 0 0 0 0\n 1 11 1 1 0 0 0\n 2 12 1 1 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 4 9 10 11 12\nM SMT 1 cis-decalin\nM END\n> <name>\ncis-decalin\n\n> <abbreviation>\ncis-decalin\n\n> <group>\nSalts and Solvents\n\n$$$$\ncyclohexane\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 3.9490 -2.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -5.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 2 1 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 cyclohexane\nM END\n> <name>\ncyclohexane\n\n> <abbreviation>\ncyclohexane\n\n> <group>\nSalts and Solvents\n\n$$$$\nisooctane\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 4.6062 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9052 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2043 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8023 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1552 -0.4581 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6552 -0.4580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -0.2571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 2 6 1 0 0 0 0\n 2 7 1 0 0 0 0\n 4 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 isooctane\nM END\n> <name>\nisooctane\n\n> <abbreviation>\nisooctane\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethylcyclohexane\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 3.9490 -2.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -5.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -0.8000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 2 1 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 methylcyclohexane\nM END\n> <name>\nmethylcyclohexane\n\n> <abbreviation>\nmethylcyclohexane\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethylcyclopentane\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 4.2136 0.4041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.4271 -0.4776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0001 -0.4776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9636 -1.9041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4636 -1.9041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2136 1.9041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 methylcyclopentane\nM END\n> <name>\nmethylcyclopentane\n\n> <abbreviation>\nmethylcyclopentane\n\n> <group>\nSalts and Solvents\n\n$$$$\nheptane\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 4.6062 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9052 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2043 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8023 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1014 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4004 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 n-heptane\nM END\n> <name>\nheptane\n\n> <abbreviation>\nn-heptane\n\n> <group>\nSalts and Solvents\n\n$$$$\nhexane\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 4.6062 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9052 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2043 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8023 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1014 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 n-hexane\nM END\n> <name>\nhexane\n\n> <abbreviation>\nn-hexane\n\n> <group>\nSalts and Solvents\n\n$$$$\npentane\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 2.5624 -4.3230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1578 -4.3230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8600 -3.5708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4556 -3.5708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2647 -3.5708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 3 1 1 0 0 0 0\n 4 2 1 0 0 0 0\n 5 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 pentane\nM END\n> <name>\npentane\n\n> <abbreviation>\npentane\n\n> <group>\nSalts and Solvents\n\n$$$$\n2-pentanone\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -1.5971 -4.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2980 -3.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0009 -4.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3000 -3.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5991 -4.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3000 -1.9500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-pentanone\nM END\n> <name>\n2-pentanone\n\n> <abbreviation>\n2-pentanone\n\n> <group>\nSalts and Solvents\n\n$$$$\n3-pentanone\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.6558 5.4039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9548 4.6539 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2538 5.4039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2539 6.9040 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5530 4.6539 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8520 5.4039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 3-pentanone\nM END\n> <name>\n3-pentanone\n\n> <abbreviation>\n3-pentanone\n\n> <group>\nSalts and Solvents\n\n$$$$\nacetone\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 propanone\nM END\n> <name>\nacetone\n\n> <abbreviation>\npropanone\n\n> <group>\nSalts and Solvents\n\n$$$$\ncyclohexanone\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -1.8786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 -2.6286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -1.8786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 cyclohexanone\nM END\n> <name>\ncyclohexanone\n\n> <abbreviation>\ncyclohexanone\n\n> <group>\nSalts and Solvents\n\n$$$$\ncyclopentanone\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 1.0323 3.5259 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0323 2.0259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2458 1.1443 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7823 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2824 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.1813 1.1443 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 2 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 cyclopentanone\nM END\n> <name>\ncyclopentanone\n\n> <abbreviation>\ncyclopentanone\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethyl ethyl ketone\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5409 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 MEK\nM END\n> <name>\nmethyl ethyl ketone\n\n> <abbreviation>\nMEK\n\n> <group>\nSalts and Solvents\n\n$$$$\nmethyl isobutyl ketone\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5409 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8399 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5409 1.8714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 methyl isobutyl ketone\nM END\n> <name>\nmethyl isobutyl ketone\n\n> <abbreviation>\nmethyl isobutyl ketone\n\n> <group>\nSalts and Solvents\n\n$$$$\ncarbon disulfide\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 5.7990 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7989 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 3 2 0 0 0 0\n 2 3 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 carbon disulfide\nM END\n> <name>\ncarbon disulfide\n\n> <abbreviation>\ncarbon disulfide\n\n> <group>\nSalts and Solvents\n\n$$$$\nnitromethane\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 1.5009 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8000 1.5000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0991 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8000 3.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 2 0 0 0 0\nM CHG 2 2 1 3 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 nitromethane\nM END\n> <name>\nnitromethane\n\n> <abbreviation>\nnitromethane\n\n> <group>\nSalts and Solvents\n\n$$$$\no-xylene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n -2.1500 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 5.9750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4481 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\n 6 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 o-xylene\nM END\n> <name>\no-xylene\n\n> <abbreviation>\no-xylene\n\n> <group>\nSalts and Solvents\n\n$$$$\nm-xylene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n -2.1500 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 5.9750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4480 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\n 5 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 m-xylene\nM END\n> <name>\nm-xylene\n\n> <abbreviation>\nm-xylene\n\n> <group>\nSalts and Solvents\n\n$$$$\np-xylene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n -2.1500 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 5.9750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 -0.0250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\n 4 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 p-xylene\nM END\n> <name>\np-xylene\n\n> <abbreviation>\np-xylene\n\n> <group>\nSalts and Solvents\n\n$$$$\nDIPEA\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n -1.5490 7.3145 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5490 8.8145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8481 6.5645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2500 6.5645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1471 7.3145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8481 5.0645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0490 7.3145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2500 5.0645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8481 9.5645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 3 6 1 0 0 0 0\n 4 7 1 0 0 0 0\n 4 8 1 0 0 0 0\n 2 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 DIPEA\nM END\n> <name>\nn,n-diisopropylethylamine\n\n> <abbreviation>\nDIPEA\n\n> <group>\nSalts and Solvents\n\n$$$$\n1,5-diazabicyclo[5.4.0]undec-7-ene\n -INDIGO-11302219142D\n\n 11 12 0 0 0 0 0 0 0 0999 V2000\n 1.6852 -0.3846 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3514 1.0778 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.7286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3515 1.0777 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6852 -0.3847 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1695 -0.6090 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7175 -2.0053 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7822 -3.1781 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2990 -2.9545 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.5574 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 -1.5574 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 2 3 0 0 0\n 10 5 1 0 0 0 0\n 10 11 1 0 0 0 0\n 11 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 3 9 10 11\nM SMT 1 DBU\nM END\n> <name>\n1,5-diazabicyclo[5.4.0]undec-7-ene\n\n> <abbreviation>\nDBU\n\n> <group>\nSalts and Solvents\n\n$$$$\nhexamethylphosphoramide\n -INDIGO-11302219142D\n\n 11 10 0 0 0 0 0 0 0 0999 V2000\n 2.3174 -0.9012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6235 -1.9903 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8900 -0.9145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5935 -3.2519 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5935 -4.7619 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0831 -3.2205 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0654 -4.1562 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1687 -1.9999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1521 -3.2278 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3934 -4.5570 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0626 -2.3997 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\n 4 9 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 11 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 3 9 10 11\nM SMT 1 HMPA\nM END\n> <name>\nhexamethylphosphoramide\n\n> <abbreviation>\nHMPA\n\n> <group>\nSalts and Solvents\n\n$$$$\nhexamethylphosphorous triamide\n -INDIGO-11302219142D\n\n 10 9 0 0 0 0 0 0 0 0999 V2000\n 0.0007 0.0004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3000 0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3000 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9000 0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1992 0.0004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9000 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6031 -1.5008 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9032 -2.2490 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3053 -2.2531 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 4 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 8 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 HMPT\nM END\n> <name>\nhexamethylphosphorous triamide\n\n> <abbreviation>\nHMPT\n\n> <group>\nSalts and Solvents\n\n$$$$\nheavy water\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 0.0007 0.0004 0.0000 D 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3000 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5993 0.0004 0.0000 D 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 D2O\nM END\n> <name>\nheavy water\n\n> <abbreviation>\nD2O\n\n> <group>\nSalts and Solvents\n\n$$$$\n";
|
|
13827
13836
|
|
|
13828
|
-
function ownKeys$
|
|
13829
|
-
function _objectSpread$
|
|
13837
|
+
function ownKeys$15(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13838
|
+
function _objectSpread$15(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$15(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$15(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13830
13839
|
var initialState$1 = {
|
|
13831
13840
|
lib: [],
|
|
13832
13841
|
mode: MODES.FG
|
|
@@ -13838,7 +13847,7 @@ var saltsAndSolventsReducer = function saltsAndSolventsReducer() {
|
|
|
13838
13847
|
payload = _ref.payload;
|
|
13839
13848
|
switch (type) {
|
|
13840
13849
|
case 'SALTS_AND_SOLVENTS_INIT':
|
|
13841
|
-
return _objectSpread$
|
|
13850
|
+
return _objectSpread$15(_objectSpread$15({}, state), payload);
|
|
13842
13851
|
default:
|
|
13843
13852
|
return state;
|
|
13844
13853
|
}
|
|
@@ -13887,8 +13896,8 @@ function initSaltsAndSolventsTemplates() {
|
|
|
13887
13896
|
}();
|
|
13888
13897
|
}
|
|
13889
13898
|
|
|
13890
|
-
function ownKeys$
|
|
13891
|
-
function _objectSpread$
|
|
13899
|
+
function ownKeys$14(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13900
|
+
function _objectSpread$14(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$14(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$14(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13892
13901
|
var initial = {
|
|
13893
13902
|
freqAtoms: [],
|
|
13894
13903
|
currentAtom: 0,
|
|
@@ -13908,7 +13917,7 @@ function updateVisibleTools(visibleTool, activeTool) {
|
|
|
13908
13917
|
if (key === 'shape' && menuHeight > 900) return res;
|
|
13909
13918
|
if (!key.match(regExp) || menuHeight > 700) res[key] = visibleTool[key];
|
|
13910
13919
|
return res;
|
|
13911
|
-
}, _objectSpread$
|
|
13920
|
+
}, _objectSpread$14({}, activeTool));
|
|
13912
13921
|
}
|
|
13913
13922
|
function initResize() {
|
|
13914
13923
|
return function (dispatch, getState) {
|
|
@@ -13932,41 +13941,41 @@ function toolbarReducer () {
|
|
|
13932
13941
|
case 'ACTION':
|
|
13933
13942
|
{
|
|
13934
13943
|
var visibleTool = toolInMenu(action.action);
|
|
13935
|
-
return visibleTool ? _objectSpread$
|
|
13944
|
+
return visibleTool ? _objectSpread$14(_objectSpread$14({}, state), {}, {
|
|
13936
13945
|
opened: null,
|
|
13937
|
-
visibleTools: _objectSpread$
|
|
13938
|
-
}) : _objectSpread$
|
|
13946
|
+
visibleTools: _objectSpread$14(_objectSpread$14({}, state.visibleTools), visibleTool)
|
|
13947
|
+
}) : _objectSpread$14(_objectSpread$14({}, state), {}, {
|
|
13939
13948
|
opened: null
|
|
13940
13949
|
});
|
|
13941
13950
|
}
|
|
13942
13951
|
case 'ADD_ATOMS':
|
|
13943
13952
|
{
|
|
13944
13953
|
var newState = addFreqAtom(data, state.freqAtoms, state.currentAtom);
|
|
13945
|
-
return _objectSpread$
|
|
13954
|
+
return _objectSpread$14(_objectSpread$14({}, state), newState);
|
|
13946
13955
|
}
|
|
13947
13956
|
case 'CLEAR_VISIBLE':
|
|
13948
13957
|
{
|
|
13949
13958
|
var activeTool = toolInMenu(action.data);
|
|
13950
13959
|
var correctTools = updateVisibleTools(state.visibleTools, activeTool);
|
|
13951
|
-
return _objectSpread$
|
|
13960
|
+
return _objectSpread$14(_objectSpread$14({}, state), {}, {
|
|
13952
13961
|
opened: null,
|
|
13953
|
-
visibleTools: _objectSpread$
|
|
13962
|
+
visibleTools: _objectSpread$14({}, correctTools)
|
|
13954
13963
|
});
|
|
13955
13964
|
}
|
|
13956
13965
|
case 'OPENED':
|
|
13957
13966
|
{
|
|
13958
|
-
return data.isSelected && state.opened ? _objectSpread$
|
|
13967
|
+
return data.isSelected && state.opened ? _objectSpread$14(_objectSpread$14({}, state), {}, {
|
|
13959
13968
|
opened: null
|
|
13960
|
-
}) : _objectSpread$
|
|
13969
|
+
}) : _objectSpread$14(_objectSpread$14({}, state), {}, {
|
|
13961
13970
|
opened: data.menuName
|
|
13962
13971
|
});
|
|
13963
13972
|
}
|
|
13964
13973
|
case 'UPDATE':
|
|
13965
|
-
return _objectSpread$
|
|
13974
|
+
return _objectSpread$14(_objectSpread$14({}, state), {}, {
|
|
13966
13975
|
opened: null
|
|
13967
13976
|
});
|
|
13968
13977
|
case 'MODAL_OPEN':
|
|
13969
|
-
return _objectSpread$
|
|
13978
|
+
return _objectSpread$14(_objectSpread$14({}, state), {}, {
|
|
13970
13979
|
opened: null
|
|
13971
13980
|
});
|
|
13972
13981
|
default:
|
|
@@ -14009,8 +14018,8 @@ function hiddenAncestor(el, base) {
|
|
|
14009
14018
|
return findEl;
|
|
14010
14019
|
}
|
|
14011
14020
|
|
|
14012
|
-
function ownKeys$
|
|
14013
|
-
function _objectSpread$
|
|
14021
|
+
function ownKeys$13(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14022
|
+
function _objectSpread$13(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$13(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$13(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14014
14023
|
var initialState = {
|
|
14015
14024
|
visible: false,
|
|
14016
14025
|
rotateHandlePosition: {
|
|
@@ -14032,7 +14041,7 @@ var floatingToolsReducer = function floatingToolsReducer() {
|
|
|
14032
14041
|
payload = _ref.payload;
|
|
14033
14042
|
switch (type) {
|
|
14034
14043
|
case 'UPDATE_FLOATING_TOOLS':
|
|
14035
|
-
return _objectSpread$
|
|
14044
|
+
return _objectSpread$13(_objectSpread$13({}, state), payload);
|
|
14036
14045
|
default:
|
|
14037
14046
|
return state;
|
|
14038
14047
|
}
|
|
@@ -14040,8 +14049,8 @@ var floatingToolsReducer = function floatingToolsReducer() {
|
|
|
14040
14049
|
|
|
14041
14050
|
var _excluded$t = ["type"],
|
|
14042
14051
|
_excluded2$5 = ["buttons"];
|
|
14043
|
-
function ownKeys$
|
|
14044
|
-
function _objectSpread$
|
|
14052
|
+
function ownKeys$12(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14053
|
+
function _objectSpread$12(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$12(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$12(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14045
14054
|
var shared = redux.combineReducers({
|
|
14046
14055
|
common: commonReducer,
|
|
14047
14056
|
actionState: actionStateReducer,
|
|
@@ -14074,11 +14083,11 @@ function getRootReducer(setEditor) {
|
|
|
14074
14083
|
{
|
|
14075
14084
|
action.type;
|
|
14076
14085
|
var data = _objectWithoutProperties__default["default"](action, _excluded$t);
|
|
14077
|
-
if (data) state = _objectSpread$
|
|
14086
|
+
if (data) state = _objectSpread$12(_objectSpread$12({}, state), data);
|
|
14078
14087
|
}
|
|
14079
14088
|
}
|
|
14080
|
-
var sh = shared(state, _objectSpread$
|
|
14081
|
-
var finalState = sh === state.shared ? state : _objectSpread$
|
|
14089
|
+
var sh = shared(state, _objectSpread$12(_objectSpread$12({}, action), fp.pick(['editor', 'server', 'options'], state)));
|
|
14090
|
+
var finalState = sh === state.shared ? state : _objectSpread$12(_objectSpread$12({}, state), sh);
|
|
14082
14091
|
global.currentState = finalState;
|
|
14083
14092
|
return finalState;
|
|
14084
14093
|
};
|
|
@@ -14167,8 +14176,8 @@ function useSettingsContext() {
|
|
|
14167
14176
|
return React__default["default"].useContext(settingsContext);
|
|
14168
14177
|
}
|
|
14169
14178
|
|
|
14170
|
-
function ownKeys$
|
|
14171
|
-
function _objectSpread$
|
|
14179
|
+
function ownKeys$11(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14180
|
+
function _objectSpread$11(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$11(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$11(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14172
14181
|
var throttleMilliseconds = 100;
|
|
14173
14182
|
function useThrottleResizeObserver() {
|
|
14174
14183
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -14182,11 +14191,11 @@ function useThrottleResizeObserver() {
|
|
|
14182
14191
|
var onResize = React.useMemo(function () {
|
|
14183
14192
|
return _.throttle(setSize, throttleMilliseconds);
|
|
14184
14193
|
}, []);
|
|
14185
|
-
var _useResizeObserver = useResizeObserver__default["default"](_objectSpread$
|
|
14194
|
+
var _useResizeObserver = useResizeObserver__default["default"](_objectSpread$11({
|
|
14186
14195
|
onResize: onResize
|
|
14187
14196
|
}, options)),
|
|
14188
14197
|
ref = _useResizeObserver.ref;
|
|
14189
|
-
return _objectSpread$
|
|
14198
|
+
return _objectSpread$11({
|
|
14190
14199
|
ref: ref
|
|
14191
14200
|
}, size);
|
|
14192
14201
|
}
|
|
@@ -14316,13 +14325,13 @@ var mediaSizes$2 = {
|
|
|
14316
14325
|
};
|
|
14317
14326
|
|
|
14318
14327
|
var _excluded$s = ["height"];
|
|
14319
|
-
function ownKeys
|
|
14320
|
-
function _objectSpread
|
|
14328
|
+
function ownKeys$10(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14329
|
+
function _objectSpread$10(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$10(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$10(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14321
14330
|
var Bond$1 = function Bond(props) {
|
|
14322
14331
|
var height = props.height,
|
|
14323
14332
|
rest = _objectWithoutProperties__default["default"](props, _excluded$s);
|
|
14324
14333
|
if (height && height <= mediaSizes$2.bondCollapsableHeight) {
|
|
14325
|
-
return jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread
|
|
14334
|
+
return jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread$10({
|
|
14326
14335
|
id: "bonds",
|
|
14327
14336
|
options: groupOptions,
|
|
14328
14337
|
variant: "grouped",
|
|
@@ -14330,35 +14339,35 @@ var Bond$1 = function Bond(props) {
|
|
|
14330
14339
|
}, rest));
|
|
14331
14340
|
}
|
|
14332
14341
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
14333
|
-
children: [jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread
|
|
14342
|
+
children: [jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread$10({
|
|
14334
14343
|
id: "bond-common",
|
|
14335
14344
|
options: bondCommon
|
|
14336
|
-
}, rest)), jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread
|
|
14345
|
+
}, rest)), jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread$10({
|
|
14337
14346
|
id: "bond-stereo",
|
|
14338
14347
|
options: bondStereo
|
|
14339
|
-
}, rest)), jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread
|
|
14348
|
+
}, rest)), jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread$10({
|
|
14340
14349
|
id: "bond-query",
|
|
14341
14350
|
options: bondQuery
|
|
14342
|
-
}, rest)), jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread
|
|
14351
|
+
}, rest)), jsxRuntime.jsx(ToolbarMultiToolItem, _objectSpread$10({
|
|
14343
14352
|
id: "bond-special",
|
|
14344
14353
|
options: bondSpecial
|
|
14345
14354
|
}, rest))]
|
|
14346
14355
|
});
|
|
14347
14356
|
};
|
|
14348
14357
|
|
|
14349
|
-
function ownKeys
|
|
14350
|
-
function _objectSpread
|
|
14358
|
+
function ownKeys$$(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14359
|
+
function _objectSpread$$(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$$(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$$(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14351
14360
|
var RGroup$1 = function RGroup(props) {
|
|
14352
|
-
return jsxRuntime.jsx(ToolbarGroupItem, _objectSpread
|
|
14361
|
+
return jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$$({
|
|
14353
14362
|
id: "rgroup",
|
|
14354
14363
|
options: rGroupOptions
|
|
14355
14364
|
}, props));
|
|
14356
14365
|
};
|
|
14357
14366
|
|
|
14358
|
-
function ownKeys$
|
|
14359
|
-
function _objectSpread$
|
|
14367
|
+
function ownKeys$_(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14368
|
+
function _objectSpread$_(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$_(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$_(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14360
14369
|
var Shape = function Shape(props) {
|
|
14361
|
-
return jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$
|
|
14370
|
+
return jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$_({
|
|
14362
14371
|
id: "shapes",
|
|
14363
14372
|
options: shapeOptions
|
|
14364
14373
|
}, props));
|
|
@@ -14367,8 +14376,8 @@ var Shape = function Shape(props) {
|
|
|
14367
14376
|
var classes$L = {"button-common-styles":"LeftToolbar-module_button-common-styles__WgnON","scrollbar":"LeftToolbar-module_scrollbar__OBwid","group":"LeftToolbar-module_group__0s41t","root":"LeftToolbar-module_root__yhhZm","buttons":"LeftToolbar-module_buttons__lnIjn","borderOff":"LeftToolbar-module_borderOff__om425","groupItem":"LeftToolbar-module_groupItem__OqQu0"};
|
|
14368
14377
|
|
|
14369
14378
|
var _excluded$r = ["className"];
|
|
14370
|
-
function ownKeys$
|
|
14371
|
-
function _objectSpread$
|
|
14379
|
+
function ownKeys$Z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14380
|
+
function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14372
14381
|
var LeftToolbar = function LeftToolbar(props) {
|
|
14373
14382
|
var _scrollRef$current;
|
|
14374
14383
|
var className = props.className,
|
|
@@ -14394,7 +14403,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
14394
14403
|
var id = _ref.id,
|
|
14395
14404
|
options = _ref.options,
|
|
14396
14405
|
dataTestId = _ref.dataTestId;
|
|
14397
|
-
return ToolbarGroupItem(_objectSpread$
|
|
14406
|
+
return ToolbarGroupItem(_objectSpread$Z({
|
|
14398
14407
|
id: id,
|
|
14399
14408
|
options: options,
|
|
14400
14409
|
dataTestId: dataTestId
|
|
@@ -14431,16 +14440,16 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
14431
14440
|
children: visibleItems.map(function (item) {
|
|
14432
14441
|
switch (item.id) {
|
|
14433
14442
|
case 'bond-common':
|
|
14434
|
-
return React.createElement(Bond$1, _objectSpread$
|
|
14443
|
+
return React.createElement(Bond$1, _objectSpread$Z(_objectSpread$Z({}, rest), {}, {
|
|
14435
14444
|
height: height,
|
|
14436
14445
|
key: item.id
|
|
14437
14446
|
}));
|
|
14438
14447
|
case 'rgroup':
|
|
14439
|
-
return React.createElement(RGroup$1, _objectSpread$
|
|
14448
|
+
return React.createElement(RGroup$1, _objectSpread$Z(_objectSpread$Z({}, rest), {}, {
|
|
14440
14449
|
key: item.id
|
|
14441
14450
|
}));
|
|
14442
14451
|
case 'shapes':
|
|
14443
|
-
return React.createElement(Shape, _objectSpread$
|
|
14452
|
+
return React.createElement(Shape, _objectSpread$Z(_objectSpread$Z({}, rest), {}, {
|
|
14444
14453
|
key: item.id
|
|
14445
14454
|
}));
|
|
14446
14455
|
case 'bonds':
|
|
@@ -14568,14 +14577,14 @@ var LeftToolbarContainer = reactRedux.connect(mapStateToProps$k, mapDispatchToPr
|
|
|
14568
14577
|
var classes$K = {"button-common-styles":"Atom-module_button-common-styles__j3EUJ","scrollbar":"Atom-module_scrollbar__iO-Ni","atom":"Atom-module_atom__g2RUu"};
|
|
14569
14578
|
|
|
14570
14579
|
var _excluded$q = ["el", "shortcut", "selected"];
|
|
14571
|
-
function ownKeys$
|
|
14572
|
-
function _objectSpread$
|
|
14580
|
+
function ownKeys$Y(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14581
|
+
function _objectSpread$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14573
14582
|
function Atom$1(_ref) {
|
|
14574
14583
|
var el = _ref.el,
|
|
14575
14584
|
shortcut = _ref.shortcut,
|
|
14576
14585
|
selected = _ref.selected,
|
|
14577
14586
|
props = _objectWithoutProperties__default["default"](_ref, _excluded$q);
|
|
14578
|
-
return jsxRuntime.jsx("button", _objectSpread$
|
|
14587
|
+
return jsxRuntime.jsx("button", _objectSpread$Y(_objectSpread$Y({
|
|
14579
14588
|
title: shortcut ? "".concat(el.title, " (").concat(shortcut, ")") : el.title,
|
|
14580
14589
|
className: clsx__default["default"](classes$K.atom, {
|
|
14581
14590
|
selected: selected
|
|
@@ -14636,8 +14645,8 @@ var HorizontalDivider = function HorizontalDivider() {
|
|
|
14636
14645
|
};
|
|
14637
14646
|
|
|
14638
14647
|
var _excluded$p = ["className"];
|
|
14639
|
-
function ownKeys$
|
|
14640
|
-
function _objectSpread$
|
|
14648
|
+
function ownKeys$X(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14649
|
+
function _objectSpread$X(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$X(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$X(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14641
14650
|
var Group = function Group(_ref) {
|
|
14642
14651
|
var children = _ref.children,
|
|
14643
14652
|
className = _ref.className;
|
|
@@ -14703,7 +14712,7 @@ var RightToolbar = function RightToolbar(props) {
|
|
|
14703
14712
|
atoms: freqAtoms,
|
|
14704
14713
|
active: active,
|
|
14705
14714
|
onAction: onAction
|
|
14706
|
-
}), jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$
|
|
14715
|
+
}), jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$X({
|
|
14707
14716
|
id: "period-table"
|
|
14708
14717
|
}, rest))]
|
|
14709
14718
|
})
|
|
@@ -14713,11 +14722,11 @@ var RightToolbar = function RightToolbar(props) {
|
|
|
14713
14722
|
className: classes$J.groupItem,
|
|
14714
14723
|
children: jsxRuntime.jsxs("div", {
|
|
14715
14724
|
ref: sizeRef,
|
|
14716
|
-
children: [jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$
|
|
14725
|
+
children: [jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$X({
|
|
14717
14726
|
id: "any-atom"
|
|
14718
14727
|
}, rest)), jsxRuntime.jsx("div", {
|
|
14719
14728
|
className: classes$J.button,
|
|
14720
|
-
children: jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$
|
|
14729
|
+
children: jsxRuntime.jsx(ToolbarGroupItem, _objectSpread$X({
|
|
14721
14730
|
id: "extended-table"
|
|
14722
14731
|
}, rest))
|
|
14723
14732
|
})]
|
|
@@ -15575,8 +15584,8 @@ var selectAbbreviationLookupValue = function selectAbbreviationLookupValue(state
|
|
|
15575
15584
|
return (_state$abbreviationLo = state.abbreviationLookup.lookupValue) !== null && _state$abbreviationLo !== void 0 ? _state$abbreviationLo : '';
|
|
15576
15585
|
};
|
|
15577
15586
|
|
|
15578
|
-
function ownKeys$
|
|
15579
|
-
function _objectSpread$
|
|
15587
|
+
function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15588
|
+
function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15580
15589
|
var destinationVectorMapping = {
|
|
15581
15590
|
ArrowUp: new ketcherCore.Vec2(0, -1),
|
|
15582
15591
|
ArrowDown: new ketcherCore.Vec2(0, 1),
|
|
@@ -15601,7 +15610,7 @@ function moveSelectedItems(editor, key, isShiftPressed) {
|
|
|
15601
15610
|
if (isClose) {
|
|
15602
15611
|
var moveStep = isShiftPressed ? getFasterStep(destinationVectorInCanvas) : destinationVectorInCanvas;
|
|
15603
15612
|
editor.render.setViewBox(function (prev) {
|
|
15604
|
-
return _objectSpread$
|
|
15613
|
+
return _objectSpread$W(_objectSpread$W({}, prev), {}, {
|
|
15605
15614
|
minX: prev.minX + moveStep.x,
|
|
15606
15615
|
minY: prev.minY + moveStep.y
|
|
15607
15616
|
});
|
|
@@ -16243,9 +16252,53 @@ function atomLongtapEvent(tool, render) {
|
|
|
16243
16252
|
};
|
|
16244
16253
|
}
|
|
16245
16254
|
|
|
16255
|
+
function filterNotInContractedSGroup(itemsToFilter, struct) {
|
|
16256
|
+
var _itemsToFilter$atoms$, _itemsToFilter$atoms, _itemsToFilter$bonds$, _itemsToFilter$bonds;
|
|
16257
|
+
return {
|
|
16258
|
+
atoms: (_itemsToFilter$atoms$ = (_itemsToFilter$atoms = itemsToFilter.atoms) === null || _itemsToFilter$atoms === void 0 ? void 0 : _itemsToFilter$atoms.filter(function (atomId) {
|
|
16259
|
+
var groupId = struct.getGroupIdFromAtomId(atomId);
|
|
16260
|
+
if (isNotCollapsedSGroup(groupId, struct)) {
|
|
16261
|
+
return true;
|
|
16262
|
+
} else {
|
|
16263
|
+
var sGroup = struct.sgroups.get(groupId);
|
|
16264
|
+
return (sGroup === null || sGroup === void 0 ? void 0 : sGroup.getAttachmentAtomId()) === atomId;
|
|
16265
|
+
}
|
|
16266
|
+
})) !== null && _itemsToFilter$atoms$ !== void 0 ? _itemsToFilter$atoms$ : [],
|
|
16267
|
+
bonds: (_itemsToFilter$bonds$ = (_itemsToFilter$bonds = itemsToFilter.bonds) === null || _itemsToFilter$bonds === void 0 ? void 0 : _itemsToFilter$bonds.filter(function (bondId) {
|
|
16268
|
+
var groupId = struct.getGroupIdFromBondId(bondId);
|
|
16269
|
+
return isNotCollapsedSGroup(groupId, struct);
|
|
16270
|
+
})) !== null && _itemsToFilter$bonds$ !== void 0 ? _itemsToFilter$bonds$ : []
|
|
16271
|
+
};
|
|
16272
|
+
}
|
|
16273
|
+
function isNotCollapsedSGroup(groupId, struct) {
|
|
16274
|
+
if (groupId === null) {
|
|
16275
|
+
return true;
|
|
16276
|
+
}
|
|
16277
|
+
var sGroup = struct.sgroups.get(groupId);
|
|
16278
|
+
if (!sGroup) {
|
|
16279
|
+
throw new Error("sGroup with id = \"".concat(groupId, "\" must be defined, unexpected behaviour"));
|
|
16280
|
+
}
|
|
16281
|
+
return sGroup.checkAttr('expanded', true);
|
|
16282
|
+
}
|
|
16283
|
+
function filterNotPartOfSuperatomWithoutLabel(itemsToFilter, struct) {
|
|
16284
|
+
var _itemsToFilter$atoms$2, _itemsToFilter$atoms2, _itemsToFilter$bonds$2, _itemsToFilter$bonds2;
|
|
16285
|
+
return {
|
|
16286
|
+
atoms: (_itemsToFilter$atoms$2 = (_itemsToFilter$atoms2 = itemsToFilter.atoms) === null || _itemsToFilter$atoms2 === void 0 ? void 0 : _itemsToFilter$atoms2.filter(function (atomId) {
|
|
16287
|
+
var _struct$getGroupFromA;
|
|
16288
|
+
return !((_struct$getGroupFromA = struct.getGroupFromAtomId(atomId)) !== null && _struct$getGroupFromA !== void 0 && _struct$getGroupFromA.isSuperatomWithoutLabel);
|
|
16289
|
+
})) !== null && _itemsToFilter$atoms$2 !== void 0 ? _itemsToFilter$atoms$2 : [],
|
|
16290
|
+
bonds: (_itemsToFilter$bonds$2 = (_itemsToFilter$bonds2 = itemsToFilter.bonds) === null || _itemsToFilter$bonds2 === void 0 ? void 0 : _itemsToFilter$bonds2.filter(function (bondId) {
|
|
16291
|
+
var _struct$getGroupFromB;
|
|
16292
|
+
return !((_struct$getGroupFromB = struct.getGroupFromBondId(bondId)) !== null && _struct$getGroupFromB !== void 0 && _struct$getGroupFromB.isSuperatomWithoutLabel);
|
|
16293
|
+
})) !== null && _itemsToFilter$bonds$2 !== void 0 ? _itemsToFilter$bonds$2 : []
|
|
16294
|
+
};
|
|
16295
|
+
}
|
|
16296
|
+
|
|
16246
16297
|
function _createForOfIteratorHelper$d(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$d(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
16247
16298
|
function _unsupportedIterableToArray$d(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$d(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$d(o, minLen); }
|
|
16248
16299
|
function _arrayLikeToArray$d(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
16300
|
+
function ownKeys$V(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16301
|
+
function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16249
16302
|
var searchMaps = ['atoms', 'bonds', 'sgroups', 'functionalGroups', 'sgroupData'];
|
|
16250
16303
|
var SGroupTool = function () {
|
|
16251
16304
|
function SGroupTool(editor) {
|
|
@@ -16258,11 +16311,22 @@ var SGroupTool = function () {
|
|
|
16258
16311
|
key: "checkSelection",
|
|
16259
16312
|
value: function checkSelection() {
|
|
16260
16313
|
var selection = this.editor.selection() || {};
|
|
16314
|
+
var struct = this.editor.render.ctab;
|
|
16315
|
+
var molecule = struct.molecule;
|
|
16316
|
+
var filteredAtomsAndBonds = filterNotPartOfSuperatomWithoutLabel({
|
|
16317
|
+
atoms: selection.atoms,
|
|
16318
|
+
bonds: selection.bonds
|
|
16319
|
+
}, molecule);
|
|
16320
|
+
selection = _objectSpread$V(_objectSpread$V({}, selection), {}, {
|
|
16321
|
+
atoms: filteredAtomsAndBonds.atoms,
|
|
16322
|
+
bonds: filteredAtomsAndBonds.bonds
|
|
16323
|
+
});
|
|
16324
|
+
selection = this.editor.selection(selection) || {};
|
|
16325
|
+
this.editor.rotateController.rerender();
|
|
16326
|
+
this.editor.update(true);
|
|
16261
16327
|
if (selection.atoms && selection.bonds) {
|
|
16262
16328
|
var _this$editor$selectio;
|
|
16263
16329
|
var selectedAtoms = (_this$editor$selectio = this.editor.selection()) === null || _this$editor$selectio === void 0 ? void 0 : _this$editor$selectio.atoms;
|
|
16264
|
-
var struct = this.editor.render.ctab;
|
|
16265
|
-
var molecule = struct.molecule;
|
|
16266
16330
|
var sgroups = molecule.sgroups;
|
|
16267
16331
|
var newSelected = {
|
|
16268
16332
|
atoms: [],
|
|
@@ -16535,6 +16599,9 @@ var SGroupTool = function () {
|
|
|
16535
16599
|
atomsResult.forEach(function (id) {
|
|
16536
16600
|
var _struct$sgroups$get3, _newSelected$atoms3;
|
|
16537
16601
|
var fgId = ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(functionalGroups, id);
|
|
16602
|
+
if (fgId === null) {
|
|
16603
|
+
return;
|
|
16604
|
+
}
|
|
16538
16605
|
var sgroupAtoms = ketcherCore.SGroup.getAtoms(molecule, (_struct$sgroups$get3 = struct.sgroups.get(fgId)) === null || _struct$sgroups$get3 === void 0 ? void 0 : _struct$sgroups$get3.item);
|
|
16539
16606
|
(_newSelected$atoms3 = newSelected.atoms).push.apply(_newSelected$atoms3, _toConsumableArray__default["default"](sgroupAtoms));
|
|
16540
16607
|
});
|
|
@@ -16543,6 +16610,9 @@ var SGroupTool = function () {
|
|
|
16543
16610
|
bondsResult.forEach(function (id) {
|
|
16544
16611
|
var _struct$sgroups$get4, _newSelected$bonds3;
|
|
16545
16612
|
var fgId = ketcherCore.FunctionalGroup.findFunctionalGroupByBond(molecule, functionalGroups, id);
|
|
16613
|
+
if (fgId === null) {
|
|
16614
|
+
return;
|
|
16615
|
+
}
|
|
16546
16616
|
var sgroupBonds = ketcherCore.SGroup.getBonds(molecule, (_struct$sgroups$get4 = struct.sgroups.get(fgId)) === null || _struct$sgroups$get4 === void 0 ? void 0 : _struct$sgroups$get4.item);
|
|
16547
16617
|
(_newSelected$bonds3 = newSelected.bonds).push.apply(_newSelected$bonds3, _toConsumableArray__default["default"](sgroupBonds));
|
|
16548
16618
|
});
|
|
@@ -16597,6 +16667,14 @@ var SGroupTool = function () {
|
|
|
16597
16667
|
var selection = null;
|
|
16598
16668
|
if (this.lassoHelper.running(event)) {
|
|
16599
16669
|
selection = newSelected.atoms.length > 0 ? selMerge(this.lassoHelper.end(event), newSelected, false) : this.lassoHelper.end(event);
|
|
16670
|
+
var filteredAtomsAndBonds = filterNotPartOfSuperatomWithoutLabel({
|
|
16671
|
+
atoms: selection.atoms,
|
|
16672
|
+
bonds: selection.bonds
|
|
16673
|
+
}, molecule);
|
|
16674
|
+
selection = _objectSpread$V(_objectSpread$V({}, selection), {}, {
|
|
16675
|
+
atoms: filteredAtomsAndBonds.atoms,
|
|
16676
|
+
bonds: filteredAtomsAndBonds.bonds
|
|
16677
|
+
});
|
|
16600
16678
|
this.editor.selection(selection);
|
|
16601
16679
|
} else {
|
|
16602
16680
|
if (!ci) {
|
|
@@ -16941,35 +17019,6 @@ function updateSelectedBonds(_ref) {
|
|
|
16941
17019
|
}
|
|
16942
17020
|
}
|
|
16943
17021
|
|
|
16944
|
-
function filterNotInContractedSGroup(itemsToFilter, struct) {
|
|
16945
|
-
var _itemsToFilter$atoms$, _itemsToFilter$atoms, _itemsToFilter$bonds$, _itemsToFilter$bonds;
|
|
16946
|
-
return {
|
|
16947
|
-
atoms: (_itemsToFilter$atoms$ = (_itemsToFilter$atoms = itemsToFilter.atoms) === null || _itemsToFilter$atoms === void 0 ? void 0 : _itemsToFilter$atoms.filter(function (atomId) {
|
|
16948
|
-
var groupId = struct.getGroupIdFromAtomId(atomId);
|
|
16949
|
-
if (isNotCollapsedSGroup(groupId, struct)) {
|
|
16950
|
-
return true;
|
|
16951
|
-
} else {
|
|
16952
|
-
var sGroup = struct.sgroups.get(groupId);
|
|
16953
|
-
return (sGroup === null || sGroup === void 0 ? void 0 : sGroup.getAttachmentAtomId()) === atomId;
|
|
16954
|
-
}
|
|
16955
|
-
})) !== null && _itemsToFilter$atoms$ !== void 0 ? _itemsToFilter$atoms$ : [],
|
|
16956
|
-
bonds: (_itemsToFilter$bonds$ = (_itemsToFilter$bonds = itemsToFilter.bonds) === null || _itemsToFilter$bonds === void 0 ? void 0 : _itemsToFilter$bonds.filter(function (bondId) {
|
|
16957
|
-
var groupId = struct.getGroupIdFromBondId(bondId);
|
|
16958
|
-
return isNotCollapsedSGroup(groupId, struct);
|
|
16959
|
-
})) !== null && _itemsToFilter$bonds$ !== void 0 ? _itemsToFilter$bonds$ : []
|
|
16960
|
-
};
|
|
16961
|
-
}
|
|
16962
|
-
function isNotCollapsedSGroup(groupId, struct) {
|
|
16963
|
-
if (groupId === null) {
|
|
16964
|
-
return true;
|
|
16965
|
-
}
|
|
16966
|
-
var sGroup = struct.sgroups.get(groupId);
|
|
16967
|
-
if (!sGroup) {
|
|
16968
|
-
throw new Error("sGroup with id = \"".concat(groupId, "\" must be defined, unexpected behaviour"));
|
|
16969
|
-
}
|
|
16970
|
-
return sGroup.checkAttr('expanded', true);
|
|
16971
|
-
}
|
|
16972
|
-
|
|
16973
17022
|
function customOnChangeHandler(action, handler) {
|
|
16974
17023
|
var data = [];
|
|
16975
17024
|
action.operations.reverse().forEach(function (operation) {
|
|
@@ -17660,9 +17709,10 @@ function getNewSelectedItems(editor, selectedSgroups) {
|
|
|
17660
17709
|
_step3;
|
|
17661
17710
|
try {
|
|
17662
17711
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
17712
|
+
var _sgroup$item;
|
|
17663
17713
|
var sgId = _step3.value;
|
|
17664
17714
|
var sgroup = editor.render.ctab.sgroups.get(sgId);
|
|
17665
|
-
if (sgroup) {
|
|
17715
|
+
if (sgroup && !((_sgroup$item = sgroup.item) !== null && _sgroup$item !== void 0 && _sgroup$item.isSuperatomWithoutLabel)) {
|
|
17666
17716
|
var _newSelected$atoms2, _newSelected$bonds2;
|
|
17667
17717
|
var sgroupAtoms = ketcherCore.SGroup.getAtoms(editor.struct(), sgroup.item);
|
|
17668
17718
|
var sgroupBonds = ketcherCore.SGroup.getBonds(editor.struct(), sgroup.item);
|
|
@@ -19273,7 +19323,7 @@ function findClosestAtom(restruct, pos, skip, minDist) {
|
|
|
19273
19323
|
minDist = minDist || maxMinDist;
|
|
19274
19324
|
minDist = Math.min(minDist, maxMinDist);
|
|
19275
19325
|
restruct.atoms.forEach(function (atom, aid) {
|
|
19276
|
-
if (ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atom.a, sGroups, functionalGroups, true)) {
|
|
19326
|
+
if (ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atom.a, sGroups, functionalGroups, true) || ketcherCore.Atom.isHiddenLeavingGroupAtom(restruct.molecule, aid)) {
|
|
19277
19327
|
return null;
|
|
19278
19328
|
}
|
|
19279
19329
|
var isSkippedAtom = aid === skipId || atom.a.isPreview;
|
|
@@ -19311,7 +19361,7 @@ function findClosestBond(restruct, pos, skip, minDist, options) {
|
|
|
19311
19361
|
}
|
|
19312
19362
|
var p1 = restruct.atoms.get(bond.b.begin).a.pp;
|
|
19313
19363
|
var p2 = restruct.atoms.get(bond.b.end).a.pp;
|
|
19314
|
-
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bond.b, sGroups)) {
|
|
19364
|
+
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bond.b, sGroups) || ketcherCore.Bond.isBondToHiddenLeavingGroup(restruct.molecule, bond.b)) {
|
|
19315
19365
|
return null;
|
|
19316
19366
|
}
|
|
19317
19367
|
var mid = ketcherCore.Vec2.lc2(p1, 0.5, p2, 0.5);
|
|
@@ -19483,7 +19533,7 @@ function findClosestSGroup(restruct, pos) {
|
|
|
19483
19533
|
var ret = null;
|
|
19484
19534
|
var minDist = SELECTION_DISTANCE_COEFFICIENT;
|
|
19485
19535
|
restruct.molecule.sgroups.forEach(function (sg, sgid) {
|
|
19486
|
-
if (sg.isContracted()) return null;
|
|
19536
|
+
if (sg.isContracted() || sg.isSuperatomWithoutLabel) return null;
|
|
19487
19537
|
var d = sg.bracketDirection;
|
|
19488
19538
|
var n = d.rotateSC(1, 0);
|
|
19489
19539
|
var pg = new ketcherCore.Vec2(ketcherCore.Vec2.dot(pos, d), ketcherCore.Vec2.dot(pos, n));
|
|
@@ -19919,10 +19969,12 @@ var BondTool = function () {
|
|
|
19919
19969
|
} finally {
|
|
19920
19970
|
_iterator.f();
|
|
19921
19971
|
}
|
|
19922
|
-
|
|
19923
|
-
|
|
19924
|
-
|
|
19925
|
-
|
|
19972
|
+
if (result.length) {
|
|
19973
|
+
this.editor.event.removeFG.dispatch({
|
|
19974
|
+
fgIds: result
|
|
19975
|
+
});
|
|
19976
|
+
return;
|
|
19977
|
+
}
|
|
19926
19978
|
} else if (bondResult.length > 0) {
|
|
19927
19979
|
var _iterator2 = _createForOfIteratorHelper$6(bondResult),
|
|
19928
19980
|
_step2;
|
|
@@ -19939,10 +19991,12 @@ var BondTool = function () {
|
|
|
19939
19991
|
} finally {
|
|
19940
19992
|
_iterator2.f();
|
|
19941
19993
|
}
|
|
19942
|
-
|
|
19943
|
-
|
|
19944
|
-
|
|
19945
|
-
|
|
19994
|
+
if (result.length) {
|
|
19995
|
+
this.editor.event.removeFG.dispatch({
|
|
19996
|
+
fgIds: result
|
|
19997
|
+
});
|
|
19998
|
+
return;
|
|
19999
|
+
}
|
|
19946
20000
|
}
|
|
19947
20001
|
var attachmentAtomId;
|
|
19948
20002
|
if ((ci === null || ci === void 0 ? void 0 : ci.map) === 'functionalGroups') {
|
|
@@ -20232,10 +20286,12 @@ var ChainTool = function () {
|
|
|
20232
20286
|
} finally {
|
|
20233
20287
|
_iterator.f();
|
|
20234
20288
|
}
|
|
20235
|
-
|
|
20236
|
-
|
|
20237
|
-
|
|
20238
|
-
|
|
20289
|
+
if (result.length) {
|
|
20290
|
+
this.editor.event.removeFG.dispatch({
|
|
20291
|
+
fgIds: result
|
|
20292
|
+
});
|
|
20293
|
+
return;
|
|
20294
|
+
}
|
|
20239
20295
|
} else if (bondResult.length > 0) {
|
|
20240
20296
|
var _iterator2 = _createForOfIteratorHelper$5(bondResult),
|
|
20241
20297
|
_step2;
|
|
@@ -20252,10 +20308,12 @@ var ChainTool = function () {
|
|
|
20252
20308
|
} finally {
|
|
20253
20309
|
_iterator2.f();
|
|
20254
20310
|
}
|
|
20255
|
-
|
|
20256
|
-
|
|
20257
|
-
|
|
20258
|
-
|
|
20311
|
+
if (result.length) {
|
|
20312
|
+
this.editor.event.removeFG.dispatch({
|
|
20313
|
+
fgIds: result
|
|
20314
|
+
});
|
|
20315
|
+
return;
|
|
20316
|
+
}
|
|
20259
20317
|
}
|
|
20260
20318
|
this.editor.hover(null);
|
|
20261
20319
|
this.dragCtx = {
|
|
@@ -20789,6 +20847,9 @@ var EraserTool = function () {
|
|
|
20789
20847
|
this.editor.update(ketcherCore.fromOneBondDeletion(restruct, ci.id));
|
|
20790
20848
|
} else if (ci.map === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups)) {
|
|
20791
20849
|
var _sGroup = sgroups.get(ci.id);
|
|
20850
|
+
if ((_sGroup === null || _sGroup === void 0 ? void 0 : _sGroup.item) instanceof ketcherCore.MonomerMicromolecule) {
|
|
20851
|
+
return;
|
|
20852
|
+
}
|
|
20792
20853
|
this.editor.update(ketcherCore.fromFragmentDeletion(rnd.ctab, {
|
|
20793
20854
|
atoms: _toConsumableArray__default["default"](ketcherCore.SGroup.getAtoms(molecule, _sGroup === null || _sGroup === void 0 ? void 0 : _sGroup.item)),
|
|
20794
20855
|
bonds: _toConsumableArray__default["default"](ketcherCore.SGroup.getBonds(molecule, _sGroup === null || _sGroup === void 0 ? void 0 : _sGroup.item))
|
|
@@ -21041,12 +21102,6 @@ var PasteTool = function () {
|
|
|
21041
21102
|
this.dragCtx.action = action;
|
|
21042
21103
|
this.editor.update(this.dragCtx.action, true);
|
|
21043
21104
|
} else {
|
|
21044
|
-
var _struct = this.editor.struct();
|
|
21045
|
-
this.struct.sgroups.forEach(function (sgroup) {
|
|
21046
|
-
if (sgroup.isNotContractible(_struct)) {
|
|
21047
|
-
sgroup.setAttr('expanded', true);
|
|
21048
|
-
}
|
|
21049
|
-
});
|
|
21050
21105
|
var _fromPaste5 = ketcherCore.fromPaste(this.restruct, this.struct, this.editor.render.page2obj(event)),
|
|
21051
21106
|
_fromPaste6 = _slicedToArray__default["default"](_fromPaste5, 2),
|
|
21052
21107
|
_action = _fromPaste6[0],
|
|
@@ -23953,6 +24008,106 @@ function ButtonGroup(_ref) {
|
|
|
23953
24008
|
});
|
|
23954
24009
|
}
|
|
23955
24010
|
|
|
24011
|
+
var useAddAttachmentPoint = function useAddAttachmentPoint() {
|
|
24012
|
+
var _useAppContext = useAppContext(),
|
|
24013
|
+
getKetcherInstance = _useAppContext.getKetcherInstance;
|
|
24014
|
+
var handler = React.useCallback( function () {
|
|
24015
|
+
var _ref2 = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(_ref) {
|
|
24016
|
+
var _props$atomIds;
|
|
24017
|
+
var props, editor, restruct, struct, atomId, sgroup, bondAdditionResult, action, addedLeavingGroupAtomId, moleculeAtoms, sgroupAttachmentPoints, lastAttachmentPoint;
|
|
24018
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
24019
|
+
while (1) switch (_context.prev = _context.next) {
|
|
24020
|
+
case 0:
|
|
24021
|
+
props = _ref.props;
|
|
24022
|
+
editor = getKetcherInstance().editor;
|
|
24023
|
+
restruct = editor.render.ctab;
|
|
24024
|
+
struct = editor.struct();
|
|
24025
|
+
atomId = props === null || props === void 0 || (_props$atomIds = props.atomIds) === null || _props$atomIds === void 0 ? void 0 : _props$atomIds[0];
|
|
24026
|
+
sgroup = struct.getGroupFromAtomId(atomId);
|
|
24027
|
+
if (_.isNumber(atomId)) {
|
|
24028
|
+
_context.next = 8;
|
|
24029
|
+
break;
|
|
24030
|
+
}
|
|
24031
|
+
return _context.abrupt("return");
|
|
24032
|
+
case 8:
|
|
24033
|
+
bondAdditionResult = ketcherCore.fromBondAddition(restruct, {
|
|
24034
|
+
type: ketcherCore.Bond.PATTERN.TYPE.SINGLE
|
|
24035
|
+
}, atomId, {
|
|
24036
|
+
label: 'H'
|
|
24037
|
+
});
|
|
24038
|
+
action = bondAdditionResult[0];
|
|
24039
|
+
addedLeavingGroupAtomId = bondAdditionResult[2];
|
|
24040
|
+
if (!sgroup) {
|
|
24041
|
+
moleculeAtoms = struct.findConnectedComponent(atomId);
|
|
24042
|
+
action.mergeWith(ketcherCore.fromSgroupAddition(restruct, ketcherCore.SGroup.TYPES.SUP, moleculeAtoms, {
|
|
24043
|
+
expanded: true
|
|
24044
|
+
}, restruct.molecule.sgroups.newId(), [new ketcherCore.SGroupAttachmentPoint(atomId, addedLeavingGroupAtomId, undefined, 1)]));
|
|
24045
|
+
} else {
|
|
24046
|
+
sgroupAttachmentPoints = (sgroup === null || sgroup === void 0 ? void 0 : sgroup.getAttachmentPoints()) || [];
|
|
24047
|
+
lastAttachmentPoint = sgroupAttachmentPoints[sgroupAttachmentPoints.length - 1];
|
|
24048
|
+
action.mergeWith(ketcherCore.fromSgroupAttachmentPointAddition(restruct, sgroup.id, new ketcherCore.SGroupAttachmentPoint(atomId, addedLeavingGroupAtomId, undefined, (lastAttachmentPoint.attachmentPointNumber || 0) + 1)));
|
|
24049
|
+
}
|
|
24050
|
+
editor.update(action);
|
|
24051
|
+
editor.selection(null);
|
|
24052
|
+
case 14:
|
|
24053
|
+
case "end":
|
|
24054
|
+
return _context.stop();
|
|
24055
|
+
}
|
|
24056
|
+
}, _callee);
|
|
24057
|
+
}));
|
|
24058
|
+
return function (_x) {
|
|
24059
|
+
return _ref2.apply(this, arguments);
|
|
24060
|
+
};
|
|
24061
|
+
}(), [getKetcherInstance]);
|
|
24062
|
+
return [handler];
|
|
24063
|
+
};
|
|
24064
|
+
|
|
24065
|
+
var useRemoveAttachmentPoint = function useRemoveAttachmentPoint() {
|
|
24066
|
+
var _useAppContext = useAppContext(),
|
|
24067
|
+
getKetcherInstance = _useAppContext.getKetcherInstance;
|
|
24068
|
+
var handler = React.useCallback( function () {
|
|
24069
|
+
var _ref2 = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(_ref) {
|
|
24070
|
+
var _props$atomIds;
|
|
24071
|
+
var props, editor, restruct, struct, atomId, sgroup, sgroupAttachmentPoints, atomExternalConnections, atomFreeAttachmentPoints, attachmentPointToDelete, action;
|
|
24072
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
24073
|
+
while (1) switch (_context.prev = _context.next) {
|
|
24074
|
+
case 0:
|
|
24075
|
+
props = _ref.props;
|
|
24076
|
+
editor = getKetcherInstance().editor;
|
|
24077
|
+
restruct = editor.render.ctab;
|
|
24078
|
+
struct = editor.struct();
|
|
24079
|
+
atomId = props === null || props === void 0 || (_props$atomIds = props.atomIds) === null || _props$atomIds === void 0 ? void 0 : _props$atomIds[0];
|
|
24080
|
+
sgroup = struct.getGroupFromAtomId(atomId);
|
|
24081
|
+
sgroupAttachmentPoints = (sgroup === null || sgroup === void 0 ? void 0 : sgroup.getAttachmentPoints()) || [];
|
|
24082
|
+
atomExternalConnections = ketcherCore.Atom.getAttachmentAtomExternalConnections(struct, atomId);
|
|
24083
|
+
atomFreeAttachmentPoints = sgroupAttachmentPoints === null || sgroupAttachmentPoints === void 0 ? void 0 : sgroupAttachmentPoints.filter(function (attachmentPoint) {
|
|
24084
|
+
return attachmentPoint.atomId === atomId && !(atomExternalConnections !== null && atomExternalConnections !== void 0 && atomExternalConnections.find(function (_, bond) {
|
|
24085
|
+
return bond.endSuperatomAttachmentPointNumber === attachmentPoint.attachmentPointNumber || bond.beginSuperatomAttachmentPointNumber === attachmentPoint.attachmentPointNumber;
|
|
24086
|
+
}));
|
|
24087
|
+
});
|
|
24088
|
+
attachmentPointToDelete = atomFreeAttachmentPoints[atomFreeAttachmentPoints.length - 1];
|
|
24089
|
+
if (!(!_.isNumber(atomId) || !attachmentPointToDelete)) {
|
|
24090
|
+
_context.next = 12;
|
|
24091
|
+
break;
|
|
24092
|
+
}
|
|
24093
|
+
return _context.abrupt("return");
|
|
24094
|
+
case 12:
|
|
24095
|
+
action = ketcherCore.fromOneAtomDeletion(restruct, attachmentPointToDelete.leaveAtomId);
|
|
24096
|
+
editor.update(action);
|
|
24097
|
+
editor.selection(null);
|
|
24098
|
+
case 15:
|
|
24099
|
+
case "end":
|
|
24100
|
+
return _context.stop();
|
|
24101
|
+
}
|
|
24102
|
+
}, _callee);
|
|
24103
|
+
}));
|
|
24104
|
+
return function (_x) {
|
|
24105
|
+
return _ref2.apply(this, arguments);
|
|
24106
|
+
};
|
|
24107
|
+
}(), [getKetcherInstance]);
|
|
24108
|
+
return [handler];
|
|
24109
|
+
};
|
|
24110
|
+
|
|
23956
24111
|
function ownKeys$M(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23957
24112
|
function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23958
24113
|
var _atom$properties = atom.properties,
|
|
@@ -24021,10 +24176,16 @@ var atomPropertiesForSubMenu = [{
|
|
|
24021
24176
|
};
|
|
24022
24177
|
})));
|
|
24023
24178
|
var AtomMenuItems = function AtomMenuItems(props) {
|
|
24024
|
-
var _props$propsFromTrigg4;
|
|
24179
|
+
var _props$propsFromTrigg4, _props$propsFromTrigg5, _props$propsFromTrigg6;
|
|
24025
24180
|
var _useAtomEdit = useAtomEdit(),
|
|
24026
24181
|
_useAtomEdit2 = _slicedToArray__default["default"](_useAtomEdit, 1),
|
|
24027
24182
|
handleEdit = _useAtomEdit2[0];
|
|
24183
|
+
var _useAddAttachmentPoin = useAddAttachmentPoint(),
|
|
24184
|
+
_useAddAttachmentPoin2 = _slicedToArray__default["default"](_useAddAttachmentPoin, 1),
|
|
24185
|
+
handleAddAttachmentPoint = _useAddAttachmentPoin2[0];
|
|
24186
|
+
var _useRemoveAttachmentP = useRemoveAttachmentPoint(),
|
|
24187
|
+
_useRemoveAttachmentP2 = _slicedToArray__default["default"](_useRemoveAttachmentP, 1),
|
|
24188
|
+
handleRemoveAttachmentPoint = _useRemoveAttachmentP2[0];
|
|
24028
24189
|
var _useAtomStereo = useAtomStereo(),
|
|
24029
24190
|
_useAtomStereo2 = _slicedToArray__default["default"](_useAtomStereo, 2),
|
|
24030
24191
|
handleStereo = _useAtomStereo2[0],
|
|
@@ -24033,6 +24194,7 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
24033
24194
|
var _useAppContext = useAppContext(),
|
|
24034
24195
|
getKetcherInstance = _useAppContext.getKetcherInstance;
|
|
24035
24196
|
var editor = getKetcherInstance().editor;
|
|
24197
|
+
var struct = editor.struct();
|
|
24036
24198
|
var getPropertyValue = function getPropertyValue(key) {
|
|
24037
24199
|
var _props$propsFromTrigg;
|
|
24038
24200
|
var ctab = editor.render.ctab;
|
|
@@ -24060,10 +24222,24 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
24060
24222
|
});
|
|
24061
24223
|
}
|
|
24062
24224
|
};
|
|
24225
|
+
var onlyOneAtomSelected = ((_props$propsFromTrigg4 = props.propsFromTrigger) === null || _props$propsFromTrigg4 === void 0 || (_props$propsFromTrigg4 = _props$propsFromTrigg4.atomIds) === null || _props$propsFromTrigg4 === void 0 ? void 0 : _props$propsFromTrigg4.length) === 1;
|
|
24226
|
+
var selectedAtomId = (_props$propsFromTrigg5 = props.propsFromTrigger) === null || _props$propsFromTrigg5 === void 0 || (_props$propsFromTrigg5 = _props$propsFromTrigg5.atomIds) === null || _props$propsFromTrigg5 === void 0 ? void 0 : _props$propsFromTrigg5[0];
|
|
24227
|
+
var sgroup = _.isNumber(selectedAtomId) ? struct.getGroupFromAtomId(selectedAtomId) : undefined;
|
|
24228
|
+
var atomInSgroupWithLabel = sgroup && !(sgroup !== null && sgroup !== void 0 && sgroup.isSuperatomWithoutLabel);
|
|
24229
|
+
var attachmentPoints = (sgroup === null || sgroup === void 0 ? void 0 : sgroup.getAttachmentPoints()) || [];
|
|
24230
|
+
var maxAttachmentPointsAmount = attachmentPoints.length >= 8;
|
|
24231
|
+
var isAtomSuperatomAttachmentPoint = ketcherCore.Atom.isSuperatomAttachmentAtom(struct, selectedAtomId);
|
|
24232
|
+
var isAtomSuperatomLeavingGroup = ketcherCore.Atom.isSuperatomLeavingGroupAtom(struct, selectedAtomId);
|
|
24233
|
+
var atomExternalConnections = _.isNumber(selectedAtomId) ? ketcherCore.Atom.getAttachmentAtomExternalConnections(struct, selectedAtomId) : undefined;
|
|
24234
|
+
var atomFreeAttachmentPoints = attachmentPoints === null || attachmentPoints === void 0 ? void 0 : attachmentPoints.filter(function (attachmentPoint) {
|
|
24235
|
+
return attachmentPoint.atomId === selectedAtomId && !(atomExternalConnections !== null && atomExternalConnections !== void 0 && atomExternalConnections.some(function (bond) {
|
|
24236
|
+
return bond.endSuperatomAttachmentPointNumber === attachmentPoint.attachmentPointNumber || bond.beginSuperatomAttachmentPointNumber === attachmentPoint.attachmentPointNumber;
|
|
24237
|
+
}));
|
|
24238
|
+
});
|
|
24063
24239
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
24064
24240
|
children: [jsxRuntime.jsx(reactContexify.Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
|
|
24065
24241
|
onClick: handleEdit,
|
|
24066
|
-
children: (_props$
|
|
24242
|
+
children: (_props$propsFromTrigg6 = props.propsFromTrigger) !== null && _props$propsFromTrigg6 !== void 0 && _props$propsFromTrigg6.extraItemsSelected ? 'Edit selected atoms...' : 'Edit...'
|
|
24067
24243
|
})), jsxRuntime.jsx(reactContexify.Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
|
|
24068
24244
|
disabled: stereoDisabled,
|
|
24069
24245
|
onClick: handleStereo,
|
|
@@ -24089,6 +24265,12 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
24089
24265
|
}
|
|
24090
24266
|
}));
|
|
24091
24267
|
})
|
|
24268
|
+
})), onlyOneAtomSelected && !atomInSgroupWithLabel && !maxAttachmentPointsAmount && !isAtomSuperatomLeavingGroup && jsxRuntime.jsx(reactContexify.Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
|
|
24269
|
+
onClick: handleAddAttachmentPoint,
|
|
24270
|
+
children: "Add attachment point"
|
|
24271
|
+
})), isAtomSuperatomAttachmentPoint && atomFreeAttachmentPoints.length > 0 && jsxRuntime.jsx(reactContexify.Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
|
|
24272
|
+
onClick: handleRemoveAttachmentPoint,
|
|
24273
|
+
children: "Remove attachment point"
|
|
24092
24274
|
})), jsxRuntime.jsx(reactContexify.Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
|
|
24093
24275
|
onClick: handleDelete,
|
|
24094
24276
|
children: "Delete"
|
|
@@ -24658,7 +24840,7 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
24658
24840
|
case 'bonds':
|
|
24659
24841
|
{
|
|
24660
24842
|
var functionalGroup = ketcherCore.FunctionalGroup.findFunctionalGroupByBond(struct, struct.functionalGroups, closestItem.id, true);
|
|
24661
|
-
return functionalGroup === null ? {
|
|
24843
|
+
return functionalGroup === null || functionalGroup !== null && functionalGroup !== void 0 && functionalGroup.relatedSGroup.isSuperatomWithoutLabel ? {
|
|
24662
24844
|
id: CONTEXT_MENU_ID.FOR_BONDS,
|
|
24663
24845
|
bondIds: [closestItem.id]
|
|
24664
24846
|
} : {
|
|
@@ -24669,7 +24851,7 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
24669
24851
|
case 'atoms':
|
|
24670
24852
|
{
|
|
24671
24853
|
var _functionalGroup = ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(struct.functionalGroups, closestItem.id, true);
|
|
24672
|
-
return _functionalGroup === null ? {
|
|
24854
|
+
return _functionalGroup === null || _functionalGroup !== null && _functionalGroup !== void 0 && _functionalGroup.relatedSGroup.isSuperatomWithoutLabel ? {
|
|
24673
24855
|
id: CONTEXT_MENU_ID.FOR_ATOMS,
|
|
24674
24856
|
atomIds: [closestItem.id]
|
|
24675
24857
|
} : {
|
|
@@ -24758,9 +24940,9 @@ var ContextMenuTrigger = function ContextMenuTrigger(_ref) {
|
|
|
24758
24940
|
var selectedSGroupsIds = new Set();
|
|
24759
24941
|
selectedAtomIds === null || selectedAtomIds === void 0 || selectedAtomIds.forEach(function (atomId) {
|
|
24760
24942
|
var functionalGroup = ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(struct.functionalGroups, atomId, true);
|
|
24761
|
-
functionalGroup !== null && selectedFunctionalGroups.set(functionalGroup.relatedSGroupId, functionalGroup);
|
|
24943
|
+
functionalGroup !== null && functionalGroup.relatedSGroup && !functionalGroup.relatedSGroup.isSuperatomWithoutLabel && selectedFunctionalGroups.set(functionalGroup.relatedSGroupId, functionalGroup);
|
|
24762
24944
|
var sGroupId = struct.sgroups.find(function (_, sGroup) {
|
|
24763
|
-
return sGroup.atoms.includes(atomId);
|
|
24945
|
+
return !sGroup.isSuperatomWithoutLabel && sGroup.atoms.includes(atomId);
|
|
24764
24946
|
});
|
|
24765
24947
|
sGroupId !== null && selectedSGroupsIds.add(sGroupId);
|
|
24766
24948
|
});
|
|
@@ -27983,8 +28165,7 @@ function pseudoAtomValid(value, atomType, isCustomQuery) {
|
|
|
27983
28165
|
return value && isGenericElement;
|
|
27984
28166
|
}
|
|
27985
28167
|
function chargeValid(charge, isMultipleAtoms, isCustomQuery) {
|
|
27986
|
-
var
|
|
27987
|
-
var result = regex.exec(charge);
|
|
28168
|
+
var result = matchCharge(charge);
|
|
27988
28169
|
var isValidCharge = result && (result[1] === '' || result[3] === '');
|
|
27989
28170
|
if (isCustomQuery || charge === '') {
|
|
27990
28171
|
return true;
|
|
@@ -32824,8 +33005,8 @@ var KetcherBuilder = function () {
|
|
|
32824
33005
|
initApp(element, appRoot, staticResourcesUrl, {
|
|
32825
33006
|
buttons: buttons || {},
|
|
32826
33007
|
errorHandler: errorHandler || null,
|
|
32827
|
-
version: "2.
|
|
32828
|
-
buildDate: "2024-
|
|
33008
|
+
version: "2.22.0-rc.2" ,
|
|
33009
|
+
buildDate: "2024-06-03T17:53:41" ,
|
|
32829
33010
|
buildNumber: ''
|
|
32830
33011
|
}, structService, resolve, togglerComponent);
|
|
32831
33012
|
});
|