ketcher-react 3.5.0-rc.2 → 3.5.0-rc.4
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/Editor.d.ts +1 -1
- package/dist/MicromoleculesEditor.d.ts +1 -0
- package/dist/cjs/Editor.d.ts +1 -1
- package/dist/cjs/MicromoleculesEditor.d.ts +1 -0
- package/dist/cjs/components/StructRender/types.d.ts +1 -2
- package/dist/cjs/contexts/appContext.d.ts +1 -2
- package/dist/cjs/index.js +618 -564
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{index.modern-ada6f3d0.js → index.modern-2314b276.js} +69 -43
- package/dist/cjs/index.modern-2314b276.js.map +1 -0
- package/dist/cjs/script/builders/ketcher/ButtonName.d.ts +1 -1
- package/dist/cjs/script/builders/ketcher/KetcherBuilder.d.ts +4 -7
- package/dist/cjs/script/editor/Editor.d.ts +2 -1
- package/dist/cjs/script/editor/tool/arrow/arrow.types.d.ts +1 -4
- package/dist/cjs/script/editor/tool/arrow/multitailArrowMoveTool.d.ts +1 -1
- package/dist/cjs/script/editor/tool/arrow/reactionArrowMoveTool.d.ts +1 -1
- package/dist/cjs/script/index.d.ts +5 -5
- package/dist/cjs/script/ui/App/initApp.d.ts +2 -4
- package/dist/cjs/script/ui/dialog/template/template-attach.d.ts +2 -0
- package/dist/cjs/script/ui/state/hotkeys.d.ts +1 -1
- package/dist/cjs/script/ui/views/components/ContextMenu/ContextMenuTrigger.utils.d.ts +2 -2
- package/dist/cjs/script/ui/views/components/ContextMenu/contextMenu.types.d.ts +8 -8
- package/dist/cjs/script/ui/views/modal/Modal.container.d.ts +2 -2
- package/dist/cjs/script/ui/views/modal/Modal.d.ts +2 -2
- package/dist/cjs/script/ui/views/modal/modal.types.d.ts +4 -1
- package/dist/cjs/script/ui/views/toolbars/toolbar.types.d.ts +1 -1
- package/dist/components/StructRender/types.d.ts +1 -2
- package/dist/contexts/appContext.d.ts +1 -2
- package/dist/index.js +620 -566
- package/dist/index.js.map +1 -1
- package/dist/{index.modern-87cd317d.js → index.modern-723c68e1.js} +68 -42
- package/dist/index.modern-723c68e1.js.map +1 -0
- package/dist/script/builders/ketcher/ButtonName.d.ts +1 -1
- package/dist/script/builders/ketcher/KetcherBuilder.d.ts +4 -7
- package/dist/script/editor/Editor.d.ts +2 -1
- package/dist/script/editor/tool/arrow/arrow.types.d.ts +1 -4
- package/dist/script/editor/tool/arrow/multitailArrowMoveTool.d.ts +1 -1
- package/dist/script/editor/tool/arrow/reactionArrowMoveTool.d.ts +1 -1
- package/dist/script/index.d.ts +5 -5
- package/dist/script/ui/App/initApp.d.ts +2 -4
- package/dist/script/ui/dialog/template/template-attach.d.ts +2 -0
- package/dist/script/ui/state/hotkeys.d.ts +1 -1
- package/dist/script/ui/views/components/ContextMenu/ContextMenuTrigger.utils.d.ts +2 -2
- package/dist/script/ui/views/components/ContextMenu/contextMenu.types.d.ts +8 -8
- package/dist/script/ui/views/modal/Modal.container.d.ts +2 -2
- package/dist/script/ui/views/modal/Modal.d.ts +2 -2
- package/dist/script/ui/views/modal/modal.types.d.ts +4 -1
- package/dist/script/ui/views/toolbars/toolbar.types.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/index.modern-ada6f3d0.js.map +0 -1
- package/dist/index.modern-87cd317d.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -18,16 +18,16 @@ import _slicedToArray$1 from '@babel/runtime/helpers/slicedToArray';
|
|
|
18
18
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
19
19
|
import * as React from 'react';
|
|
20
20
|
import React__default, { createRef, Component, useRef, useEffect, useLayoutEffect, useMemo, useState, createElement, forwardRef, useCallback, Fragment as Fragment$2, PureComponent, lazy, Suspense } from 'react';
|
|
21
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
22
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
21
23
|
import 'intersection-observer';
|
|
22
24
|
import 'element-closest-polyfill';
|
|
23
25
|
import 'regenerator-runtime/runtime';
|
|
24
26
|
import 'url-search-params-polyfill';
|
|
25
27
|
import 'whatwg-fetch';
|
|
26
|
-
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
27
|
-
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
28
28
|
import _classCallCheck$2 from '@babel/runtime/helpers/classCallCheck';
|
|
29
29
|
import _createClass$2 from '@babel/runtime/helpers/createClass';
|
|
30
|
-
import { KetSerializer, MolSerializer, KetcherLogger,
|
|
30
|
+
import { KetSerializer, MolSerializer, KetcherLogger, ketcherProvider, defaultBondThickness, isClipboardAPIAvailable, notifyCopyCut, notifyRequestCompleted, isControlKey, StereLabelStyleType, StereoColoringType, ShowHydrogenLabels, ShowHydrogenLabelNames, SettingsManager, SdfSerializer, KETCHER_SAVED_OPTIONS_KEY, Bond as Bond$2, Elements, AtomList, getAtomType, StereoLabel, isAttachmentBond, Atom as Atom$2, findStereoAtoms, RxnArrowMode, MULTITAIL_ARROW_TOOL_NAME, SimpleObjectMode, IMAGE_KEY, SGroup as SGroup$1, Pile, identifyStructFormat, SupportedFormat, FormatterFactory, MULTITAIL_ARROW_KEY, ChemicalMimeType, RenderStruct, Struct, ZoomTool, shortcutStr, MonomerMicromolecule, UnresolvedMonomer, FunctionalGroupsProvider, SaltsAndSolventsProvider, KetcherAsyncEvents, ElementColor, generateMenuShortcuts, Vec2, Scale, fromMultipleMove, FunctionalGroup, mergeMapOfItemsToSet, fromSgroupDeletion, fromFragmentDeletion, vectorUtils, fromBondAddition, Action, fromAtomAddition, fromAtomsAttrs, checkOverlapping, fromSeveralSgroupAddition, expandSGroupWithMultipleAttachmentPoint, SgContexts, fromSgroupAction, fromItemsFuse, ReBond, setExpandSGroup, fromBondsAttrs, OperationType, ReStruct, imageReferencePositionToCursor, multitailArrowReferenceLinesToCursor, multitailReferencePositionToCursor, CoordinateTransformation, MultitailArrowRefName, fromMultitailArrowHeadTailMove, fromMultitailArrowHeadTailsResize, fromMultitailArrowMove, fromArrowResizing, fromPaste, fromImageResize, fromSimpleObjectResizing, getItemsToFuse, getHoverToFuse, fromTextDeletion, fromTextUpdating, fromTemplateOnCanvas, fromTemplateOnBondAction, fromTemplateOnAtom, BondAttr, AtomAttr, formatProperties, runAsyncAction, getStructStringFromClipboardData, getStructure, initHotKeys, keyNorm, Fragment as Fragment$1, fromRGroupAttachmentPointUpdate, fromOneBondDeletion, bondChangingAction, fromChain, removeInfoLabelFromAtoms, fromStereoFlagUpdate, fromOneAtomDeletion, fromArrowDeletion, fromPlusDeletion, fromSimpleObjectDeletion, fromRGroupAttachmentPointDeletion, fromImageDeletion, fromMultitailArrowDeletion, notifyItemsToMergeInitializationComplete, RGroup as RGroup$2, fromRGroupFragment, fromUpdateIfThen, fromRGroupAttrs, fromArrowAddition, fromMultitailArrowCreation, fromPlusAddition, getRelSGroupsBySelection, RotateMonomerOperation, fromRotate, fromFlip, fromSimpleObjectAddition, fromTextCreation, fromImageMove, fromImageCreation, fromHighlightCreate, fromHighlightClear, getOptionsWithConvertedUnits, provideEditorSettings, fromNewCanvas, Render, Coordinates, fromDescriptorsAlign, fromSgroupAttachmentPointAddition, SGroupAttachmentPoint, fromSgroupAddition, atomGetAttr, fromBondFlipping, setExpandMonomerSGroup, fromMultitailArrowTailAdd, MultitailArrow, fromMultitailArrowTailRemove, AmbiguousMonomer, genericsList, getAtomCustomQuery, getFormatMimeTypeByFileName, getPropertiesByFormat, StereoFlag, getPropertiesByImgFormat, legacyCopy as legacyCopy$1, b64toBlob, Generics, TextCommand, Ketcher, DefaultStructServiceOptions } from 'ketcher-core';
|
|
31
31
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
32
32
|
import _possibleConstructorReturn$2 from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
33
33
|
import _getPrototypeOf$2 from '@babel/runtime/helpers/getPrototypeOf';
|
|
@@ -37,7 +37,7 @@ import _typeof$3 from '@babel/runtime/helpers/typeof';
|
|
|
37
37
|
import Ajv from 'ajv';
|
|
38
38
|
import { pick, range as range$1, capitalize, without, omit, findLastIndex, findIndex, isEmpty, pickBy, isEqual, escapeRegExp, flow, filter, reduce, throttle, xor, debounce, upperFirst } from 'lodash/fp';
|
|
39
39
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
40
|
-
import _, { isNumber, throttle as throttle$1, debounce as debounce$1, intersection, difference, cloneDeep, isEqual as isEqual$1, capitalize as capitalize$1, range as range$2, isEmpty as isEmpty$1, uniqBy
|
|
40
|
+
import _, { isNumber, throttle as throttle$1, debounce as debounce$1, intersection, difference, cloneDeep, isEqual as isEqual$1, capitalize as capitalize$1, range as range$2, isEmpty as isEmpty$1, uniqBy } from 'lodash';
|
|
41
41
|
import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
|
|
42
42
|
import styled from '@emotion/styled';
|
|
43
43
|
import { css } from '@emotion/react';
|
|
@@ -85,6 +85,7 @@ function createApi(structServiceProvider, defaultOptions) {
|
|
|
85
85
|
var structService = structServiceProvider.createStructService(defaultOptions);
|
|
86
86
|
var info = structService.info();
|
|
87
87
|
return Object.assign(info, {
|
|
88
|
+
addKetcherId: structService.addKetcherId.bind(structService),
|
|
88
89
|
info: structService.info.bind(structService),
|
|
89
90
|
convert: structService.convert.bind(structService),
|
|
90
91
|
layout: structService.layout.bind(structService),
|
|
@@ -195,48 +196,43 @@ function copyImageToClipboard() {
|
|
|
195
196
|
}
|
|
196
197
|
function _copyImageToClipboard() {
|
|
197
198
|
_copyImageToClipboard = _asyncToGenerator( _regeneratorRuntime.mark(function _callee() {
|
|
198
|
-
var state, editor,
|
|
199
|
+
var state, editor, options, struct, errorHandler, ketcher, ketSerializer, structStr, image, item;
|
|
199
200
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
200
201
|
while (1) switch (_context.prev = _context.next) {
|
|
201
202
|
case 0:
|
|
202
203
|
state = global.currentState;
|
|
203
204
|
editor = state.editor;
|
|
204
|
-
server = state.server;
|
|
205
205
|
options = state.options;
|
|
206
206
|
struct = editor.structSelected();
|
|
207
207
|
errorHandler = editor.errorHandler;
|
|
208
|
-
_context.prev =
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
_context.prev = 5;
|
|
209
|
+
ketcher = ketcherProvider.getKetcher(editor.ketcherId);
|
|
210
|
+
ketSerializer = new KetSerializer();
|
|
211
|
+
structStr = ketSerializer.serialize(struct);
|
|
211
212
|
_context.next = 11;
|
|
212
|
-
return service.getStructureFromStructAsync(struct);
|
|
213
|
-
case 11:
|
|
214
|
-
structStr = _context.sent;
|
|
215
|
-
ketcher = new Ketcher(editor, server, {}, factory);
|
|
216
|
-
_context.next = 15;
|
|
217
213
|
return ketcher.generateImage(structStr, {
|
|
218
214
|
outputFormat: 'png',
|
|
219
215
|
backgroundColor: '255, 255, 255',
|
|
220
216
|
bondThickness: options.settings.bondThickness || defaultBondThickness
|
|
221
217
|
});
|
|
222
|
-
case
|
|
218
|
+
case 11:
|
|
223
219
|
image = _context.sent;
|
|
224
220
|
item = new ClipboardItem(_defineProperty$1({}, image.type, image));
|
|
225
|
-
_context.next =
|
|
221
|
+
_context.next = 15;
|
|
226
222
|
return navigator.clipboard.write([item]);
|
|
227
|
-
case
|
|
228
|
-
_context.next =
|
|
223
|
+
case 15:
|
|
224
|
+
_context.next = 21;
|
|
229
225
|
break;
|
|
230
|
-
case
|
|
231
|
-
_context.prev =
|
|
232
|
-
_context.t0 = _context["catch"](
|
|
226
|
+
case 17:
|
|
227
|
+
_context.prev = 17;
|
|
228
|
+
_context.t0 = _context["catch"](5);
|
|
233
229
|
KetcherLogger.error('copyImageToClipboard.js::copyImageToClipboard', _context.t0);
|
|
234
230
|
errorHandler('This feature is not available in your browser');
|
|
235
|
-
case
|
|
231
|
+
case 21:
|
|
236
232
|
case "end":
|
|
237
233
|
return _context.stop();
|
|
238
234
|
}
|
|
239
|
-
}, _callee, null, [[
|
|
235
|
+
}, _callee, null, [[5, 17]]);
|
|
240
236
|
}));
|
|
241
237
|
return _copyImageToClipboard.apply(this, arguments);
|
|
242
238
|
}
|
|
@@ -639,8 +635,8 @@ function exec(action) {
|
|
|
639
635
|
return enabled;
|
|
640
636
|
}
|
|
641
637
|
|
|
642
|
-
function ownKeys$
|
|
643
|
-
function _objectSpread$
|
|
638
|
+
function ownKeys$1w(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; }
|
|
639
|
+
function _objectSpread$1w(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1w(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1w(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
644
640
|
var MeasurementUnits;
|
|
645
641
|
(function (MeasurementUnits) {
|
|
646
642
|
MeasurementUnits["Px"] = "px";
|
|
@@ -982,7 +978,7 @@ var optionsSchema = {
|
|
|
982
978
|
title: 'Settings',
|
|
983
979
|
type: 'object',
|
|
984
980
|
required: [],
|
|
985
|
-
properties: _objectSpread$
|
|
981
|
+
properties: _objectSpread$1w(_objectSpread$1w(_objectSpread$1w(_objectSpread$1w(_objectSpread$1w({}, editor), render), server), debug), miew)
|
|
986
982
|
};
|
|
987
983
|
function getDefaultOptions() {
|
|
988
984
|
if (!optionsSchema.properties) return {};
|
|
@@ -1165,8 +1161,8 @@ function prefetchRender(tmpls, baseUrl, cacheEl) {
|
|
|
1165
1161
|
});
|
|
1166
1162
|
}
|
|
1167
1163
|
|
|
1168
|
-
function ownKeys$
|
|
1169
|
-
function _objectSpread$
|
|
1164
|
+
function ownKeys$1v(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; }
|
|
1165
|
+
function _objectSpread$1v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1v(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1170
1166
|
var initOptionsState = {
|
|
1171
1167
|
app: {
|
|
1172
1168
|
server: false,
|
|
@@ -1196,7 +1192,7 @@ var initOptionsState = {
|
|
|
1196
1192
|
getServerSettings: function getServerSettings() {
|
|
1197
1193
|
var seriliazedServerOptions = getSerilizedServerOptions(this.settings);
|
|
1198
1194
|
var defaultServerOptions = pick(SERVER_OPTIONS, this.settings);
|
|
1199
|
-
return _objectSpread$
|
|
1195
|
+
return _objectSpread$1v(_objectSpread$1v({}, defaultServerOptions), seriliazedServerOptions);
|
|
1200
1196
|
}
|
|
1201
1197
|
};
|
|
1202
1198
|
function getSerilizedServerOptions(options) {
|
|
@@ -1220,7 +1216,7 @@ function getSerilizedServerOptions(options) {
|
|
|
1220
1216
|
'reaction-component-margin-size-unit': options.reactionComponentMarginSizeUnit
|
|
1221
1217
|
};
|
|
1222
1218
|
if (options.imageResolution === '600') {
|
|
1223
|
-
newOptions = _objectSpread$
|
|
1219
|
+
newOptions = _objectSpread$1v(_objectSpread$1v({}, newOptions), {}, {
|
|
1224
1220
|
'render-output-sheet-width': 11,
|
|
1225
1221
|
'render-output-sheet-height': 8.5
|
|
1226
1222
|
});
|
|
@@ -1298,29 +1294,29 @@ function optionsReducer() {
|
|
|
1298
1294
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
1299
1295
|
var type = action.type,
|
|
1300
1296
|
data = action.data;
|
|
1301
|
-
if (type === 'APP_OPTIONS') return _objectSpread$
|
|
1302
|
-
app: _objectSpread$
|
|
1297
|
+
if (type === 'APP_OPTIONS') return _objectSpread$1v(_objectSpread$1v({}, state), {}, {
|
|
1298
|
+
app: _objectSpread$1v(_objectSpread$1v({}, state.app), data)
|
|
1303
1299
|
});
|
|
1304
1300
|
if (type === 'SAVE_SETTINGS') {
|
|
1305
|
-
return _objectSpread$
|
|
1306
|
-
settings: _objectSpread$
|
|
1301
|
+
return _objectSpread$1v(_objectSpread$1v({}, state), {}, {
|
|
1302
|
+
settings: _objectSpread$1v(_objectSpread$1v({}, state.settings), data)
|
|
1307
1303
|
});
|
|
1308
1304
|
}
|
|
1309
|
-
if (type === 'SAVE_CHECK_OPTS') return _objectSpread$
|
|
1305
|
+
if (type === 'SAVE_CHECK_OPTS') return _objectSpread$1v(_objectSpread$1v({}, state), {}, {
|
|
1310
1306
|
check: data
|
|
1311
1307
|
});
|
|
1312
|
-
if (type === 'CHANGE_ANALYSE') return _objectSpread$
|
|
1313
|
-
analyse: _objectSpread$
|
|
1308
|
+
if (type === 'CHANGE_ANALYSE') return _objectSpread$1v(_objectSpread$1v({}, state), {}, {
|
|
1309
|
+
analyse: _objectSpread$1v(_objectSpread$1v(_objectSpread$1v({}, state.analyse), data), {}, {
|
|
1314
1310
|
loading: false
|
|
1315
1311
|
})
|
|
1316
1312
|
});
|
|
1317
|
-
if (type === 'ANALYSE_LOADING') return _objectSpread$
|
|
1318
|
-
analyse: _objectSpread$
|
|
1313
|
+
if (type === 'ANALYSE_LOADING') return _objectSpread$1v(_objectSpread$1v({}, state), {}, {
|
|
1314
|
+
analyse: _objectSpread$1v(_objectSpread$1v({}, state.analyse), {}, {
|
|
1319
1315
|
loading: true
|
|
1320
1316
|
})
|
|
1321
1317
|
});
|
|
1322
|
-
if (recognizeActions.includes(type)) return _objectSpread$
|
|
1323
|
-
recognize: _objectSpread$
|
|
1318
|
+
if (recognizeActions.includes(type)) return _objectSpread$1v(_objectSpread$1v({}, state), {}, {
|
|
1319
|
+
recognize: _objectSpread$1v(_objectSpread$1v({}, state.recognize), data)
|
|
1324
1320
|
});
|
|
1325
1321
|
return state;
|
|
1326
1322
|
}
|
|
@@ -1624,8 +1620,8 @@ function getSdataDefault() {
|
|
|
1624
1620
|
return schema[context][fieldName] ? schema[context][fieldName].properties.fieldValue["default"] : '';
|
|
1625
1621
|
}
|
|
1626
1622
|
|
|
1627
|
-
function ownKeys$
|
|
1628
|
-
function _objectSpread$
|
|
1623
|
+
function ownKeys$1u(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; }
|
|
1624
|
+
function _objectSpread$1u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1u(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1629
1625
|
var initSdata = function initSdata(schema) {
|
|
1630
1626
|
var isCustomShema = schema.key === 'Custom';
|
|
1631
1627
|
var context = isCustomShema ? getSdataDefault(sdataCustomSchema, 'context') : getSdataDefault(sdataSchema);
|
|
@@ -1663,7 +1659,7 @@ var onContextChange = function onContextChange(state, payload) {
|
|
|
1663
1659
|
var fValue = fieldValue;
|
|
1664
1660
|
if (fValue === state.result.fieldValue) fValue = getSdataDefault(sdataCustomSchema, 'fieldValue');
|
|
1665
1661
|
return {
|
|
1666
|
-
result: _objectSpread$
|
|
1662
|
+
result: _objectSpread$1u(_objectSpread$1u({}, payload), {}, {
|
|
1667
1663
|
context: context,
|
|
1668
1664
|
fieldName: fieldName,
|
|
1669
1665
|
fieldValue: fValue
|
|
@@ -1677,7 +1673,7 @@ var onFieldNameChange = function onFieldNameChange(state, payload) {
|
|
|
1677
1673
|
if (sdataSchema[context][fieldName]) fieldValue = getSdataDefault(sdataSchema, context, fieldName);
|
|
1678
1674
|
if (fieldValue === state.result.fieldValue && sdataSchema[context][state.result.fieldName]) fieldValue = '';
|
|
1679
1675
|
return {
|
|
1680
|
-
result: _objectSpread$
|
|
1676
|
+
result: _objectSpread$1u(_objectSpread$1u({}, payload), {}, {
|
|
1681
1677
|
fieldName: fieldName,
|
|
1682
1678
|
fieldValue: fieldValue
|
|
1683
1679
|
})
|
|
@@ -1685,7 +1681,7 @@ var onFieldNameChange = function onFieldNameChange(state, payload) {
|
|
|
1685
1681
|
};
|
|
1686
1682
|
function sdataReducer(state, action) {
|
|
1687
1683
|
if (action.data.result.init) {
|
|
1688
|
-
return correctErrors(_objectSpread$
|
|
1684
|
+
return correctErrors(_objectSpread$1u(_objectSpread$1u({}, state), {}, {
|
|
1689
1685
|
result: Object.assign({}, state.result, action.data.result)
|
|
1690
1686
|
}), action.data);
|
|
1691
1687
|
}
|
|
@@ -1693,7 +1689,7 @@ function sdataReducer(state, action) {
|
|
|
1693
1689
|
var actionFieldName = action.data.result.fieldName;
|
|
1694
1690
|
var newstate = null;
|
|
1695
1691
|
if (actionContext !== state.result.context) newstate = onContextChange(state, action.data.result);else if (actionFieldName !== state.result.fieldName) newstate = onFieldNameChange(state, action.data.result);
|
|
1696
|
-
newstate = newstate || _objectSpread$
|
|
1692
|
+
newstate = newstate || _objectSpread$1u(_objectSpread$1u({}, state), {}, {
|
|
1697
1693
|
result: Object.assign({}, state.result, action.data.result)
|
|
1698
1694
|
});
|
|
1699
1695
|
return correctErrors(newstate, action.data);
|
|
@@ -1833,8 +1829,8 @@ function formReducer(state, action) {
|
|
|
1833
1829
|
var INDIGO_VERIFICATION = 'INDIGO_VERIFICATION';
|
|
1834
1830
|
var ANALYZING_FILE = 'ANALYZING_FILE';
|
|
1835
1831
|
|
|
1836
|
-
function ownKeys$
|
|
1837
|
-
function _objectSpread$
|
|
1832
|
+
function ownKeys$1t(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; }
|
|
1833
|
+
function _objectSpread$1t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1t(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1838
1834
|
function indigoVerification(data) {
|
|
1839
1835
|
return {
|
|
1840
1836
|
type: INDIGO_VERIFICATION,
|
|
@@ -1859,13 +1855,13 @@ function requestReducer () {
|
|
|
1859
1855
|
switch (type) {
|
|
1860
1856
|
case INDIGO_VERIFICATION:
|
|
1861
1857
|
{
|
|
1862
|
-
return _objectSpread$
|
|
1858
|
+
return _objectSpread$1t(_objectSpread$1t({}, state), {}, {
|
|
1863
1859
|
indigoVerification: data
|
|
1864
1860
|
});
|
|
1865
1861
|
}
|
|
1866
1862
|
case ANALYZING_FILE:
|
|
1867
1863
|
{
|
|
1868
|
-
return _objectSpread$
|
|
1864
|
+
return _objectSpread$1t(_objectSpread$1t({}, state), {}, {
|
|
1869
1865
|
isAnalyzingFile: data
|
|
1870
1866
|
});
|
|
1871
1867
|
}
|
|
@@ -1883,8 +1879,8 @@ var supportedSGroupTypes = {
|
|
|
1883
1879
|
queryComponent: 'queryComponent'
|
|
1884
1880
|
};
|
|
1885
1881
|
|
|
1886
|
-
function ownKeys$
|
|
1887
|
-
function _objectSpread$
|
|
1882
|
+
function ownKeys$1s(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; }
|
|
1883
|
+
function _objectSpread$1s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1s(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1888
1884
|
var atom = {
|
|
1889
1885
|
title: 'Atom',
|
|
1890
1886
|
type: 'object',
|
|
@@ -2116,7 +2112,7 @@ var sgroup = {
|
|
|
2116
2112
|
title: 'SGroup',
|
|
2117
2113
|
type: 'object',
|
|
2118
2114
|
required: ['type'],
|
|
2119
|
-
oneOf: [_objectSpread$
|
|
2115
|
+
oneOf: [_objectSpread$1s({}, sdataCustomSchema), {
|
|
2120
2116
|
key: 'MUL',
|
|
2121
2117
|
title: 'Multiple group',
|
|
2122
2118
|
type: 'object',
|
|
@@ -2228,12 +2224,12 @@ function matchCharge(charge) {
|
|
|
2228
2224
|
|
|
2229
2225
|
var _excluded$B = ["aromaticity", "ringMembership", "ringSize", "connectivity", "chirality", "customQuery"],
|
|
2230
2226
|
_excluded2$7 = ["type", "radiobuttons"];
|
|
2231
|
-
function ownKeys$
|
|
2232
|
-
function _objectSpread$
|
|
2227
|
+
function ownKeys$1r(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; }
|
|
2228
|
+
function _objectSpread$1r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1r(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2233
2229
|
var DefaultStereoGroupNumber = 1;
|
|
2234
2230
|
function fromElement(selem) {
|
|
2235
2231
|
if (selem.label === 'R#') {
|
|
2236
|
-
return _objectSpread$
|
|
2232
|
+
return _objectSpread$1r({
|
|
2237
2233
|
type: 'rlabel',
|
|
2238
2234
|
values: fromRlabel(selem.rglabel)
|
|
2239
2235
|
}, selem);
|
|
@@ -2489,7 +2485,7 @@ function fromBond(sbond) {
|
|
|
2489
2485
|
}
|
|
2490
2486
|
function toBond(bond) {
|
|
2491
2487
|
var isCustomQuery = bond.customQuery !== '';
|
|
2492
|
-
return _objectSpread$
|
|
2488
|
+
return _objectSpread$1r({
|
|
2493
2489
|
topology: bond.topology,
|
|
2494
2490
|
reactingCenterStatus: bond.center,
|
|
2495
2491
|
customQuery: !isCustomQuery ? null : bond.customQuery
|
|
@@ -2585,7 +2581,7 @@ function toSgroup(sgroup) {
|
|
|
2585
2581
|
var type = sgroup.type,
|
|
2586
2582
|
radiobuttons = sgroup.radiobuttons,
|
|
2587
2583
|
props = _objectWithoutProperties(sgroup, _excluded2$7);
|
|
2588
|
-
var attrs = _objectSpread$
|
|
2584
|
+
var attrs = _objectSpread$1r({}, props);
|
|
2589
2585
|
var absolute = 'absolute';
|
|
2590
2586
|
var attached = 'attached';
|
|
2591
2587
|
switch (radiobuttons) {
|
|
@@ -3157,8 +3153,8 @@ var tools = typeSchema$1["enum"].reduce(function (res, type, i) {
|
|
|
3157
3153
|
|
|
3158
3154
|
var _excluded$A = ["rescale", "fragment"],
|
|
3159
3155
|
_excluded2$6 = ["isPaste", "method"];
|
|
3160
|
-
function ownKeys$
|
|
3161
|
-
function _objectSpread$
|
|
3156
|
+
function ownKeys$1q(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; }
|
|
3157
|
+
function _objectSpread$1q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1q(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3162
3158
|
function onAction(action) {
|
|
3163
3159
|
if (action && action.dialog) {
|
|
3164
3160
|
return {
|
|
@@ -3229,7 +3225,7 @@ function load(struct, options) {
|
|
|
3229
3225
|
errorHandler = editor.errorHandler;
|
|
3230
3226
|
options = options || {};
|
|
3231
3227
|
_options2 = options, isPaste = _options2.isPaste, method = _options2.method, otherOptions = _objectWithoutProperties(_options2, _excluded2$6);
|
|
3232
|
-
otherOptions = _objectSpread$
|
|
3228
|
+
otherOptions = _objectSpread$1q(_objectSpread$1q({}, serverSettings), otherOptions);
|
|
3233
3229
|
dispatch(setAnalyzingFile(true));
|
|
3234
3230
|
_context.prev = 9;
|
|
3235
3231
|
_context.next = 12;
|
|
@@ -3344,8 +3340,8 @@ function openInfoModalWithCustomMessage(message) {
|
|
|
3344
3340
|
};
|
|
3345
3341
|
}
|
|
3346
3342
|
|
|
3347
|
-
function ownKeys$
|
|
3348
|
-
function _objectSpread$
|
|
3343
|
+
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; }
|
|
3344
|
+
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$1(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; }
|
|
3349
3345
|
function checkServer() {
|
|
3350
3346
|
return function (dispatch, getState) {
|
|
3351
3347
|
var _getState = getState(),
|
|
@@ -3486,7 +3482,7 @@ function serverCall(editor, server, method, options, struct) {
|
|
|
3486
3482
|
resetStereoFlagsPosition(currentStruct);
|
|
3487
3483
|
}
|
|
3488
3484
|
var ketSerializer = new KetSerializer();
|
|
3489
|
-
var serializedStruct = ketSerializer.serialize(currentStruct, undefined, _objectSpread$
|
|
3485
|
+
var serializedStruct = ketSerializer.serialize(currentStruct, undefined, _objectSpread$1p(_objectSpread$1p({}, selection), {}, {
|
|
3490
3486
|
atoms: selectedAtoms,
|
|
3491
3487
|
bonds: selectedBonds
|
|
3492
3488
|
}));
|
|
@@ -3745,7 +3741,7 @@ var zoom = {
|
|
|
3745
3741
|
|
|
3746
3742
|
var openHelpLink = function openHelpLink() {
|
|
3747
3743
|
var _window$open;
|
|
3748
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v3.5.0-rc.
|
|
3744
|
+
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v3.5.0-rc.4\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
|
|
3749
3745
|
};
|
|
3750
3746
|
var help = {
|
|
3751
3747
|
help: {
|
|
@@ -3845,8 +3841,8 @@ var fullscreen = {
|
|
|
3845
3841
|
}
|
|
3846
3842
|
};
|
|
3847
3843
|
|
|
3848
|
-
function ownKeys$
|
|
3849
|
-
function _objectSpread$
|
|
3844
|
+
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; }
|
|
3845
|
+
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$1(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; }
|
|
3850
3846
|
var disableIfViewOnly = function disableIfViewOnly(editor) {
|
|
3851
3847
|
return !!editor.render.options.viewOnlyMode;
|
|
3852
3848
|
};
|
|
@@ -3855,13 +3851,13 @@ var updateConfigItem = function updateConfigItem(item) {
|
|
|
3855
3851
|
return item;
|
|
3856
3852
|
} else if (typeof item.disabled === 'function') {
|
|
3857
3853
|
var originalDisabled = item.disabled;
|
|
3858
|
-
return _objectSpread$
|
|
3854
|
+
return _objectSpread$1o(_objectSpread$1o({}, item), {}, {
|
|
3859
3855
|
disabled: function disabled() {
|
|
3860
3856
|
return disableIfViewOnly(arguments.length <= 0 ? undefined : arguments[0]) || originalDisabled.apply(void 0, arguments);
|
|
3861
3857
|
}
|
|
3862
3858
|
});
|
|
3863
3859
|
} else {
|
|
3864
|
-
return _objectSpread$
|
|
3860
|
+
return _objectSpread$1o(_objectSpread$1o({}, item), {}, {
|
|
3865
3861
|
disabled: disableIfViewOnly
|
|
3866
3862
|
});
|
|
3867
3863
|
}
|
|
@@ -3924,8 +3920,11 @@ var config = {
|
|
|
3924
3920
|
undo: {
|
|
3925
3921
|
shortcut: 'Mod+z',
|
|
3926
3922
|
title: 'Undo',
|
|
3927
|
-
action:
|
|
3928
|
-
|
|
3923
|
+
action: {
|
|
3924
|
+
thunk: function thunk(_, getState) {
|
|
3925
|
+
var editor = getState().editor;
|
|
3926
|
+
editor.undo();
|
|
3927
|
+
}
|
|
3929
3928
|
},
|
|
3930
3929
|
disabled: function disabled(editor) {
|
|
3931
3930
|
return editor.historySize().undo === 0;
|
|
@@ -3937,8 +3936,11 @@ var config = {
|
|
|
3937
3936
|
redo: {
|
|
3938
3937
|
shortcut: ['Mod+Shift+z', 'Mod+y'],
|
|
3939
3938
|
title: 'Redo',
|
|
3940
|
-
action:
|
|
3941
|
-
|
|
3939
|
+
action: {
|
|
3940
|
+
thunk: function thunk(_, getState) {
|
|
3941
|
+
var editor = getState().editor;
|
|
3942
|
+
editor.redo();
|
|
3943
|
+
}
|
|
3942
3944
|
},
|
|
3943
3945
|
disabled: function disabled(editor) {
|
|
3944
3946
|
return editor.historySize().redo === 0;
|
|
@@ -4177,11 +4179,11 @@ var config = {
|
|
|
4177
4179
|
}
|
|
4178
4180
|
}
|
|
4179
4181
|
};
|
|
4180
|
-
var configWithNonViewOnlyActionsDisabled = Object.entries(_objectSpread$
|
|
4182
|
+
var configWithNonViewOnlyActionsDisabled = Object.entries(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o(_objectSpread$1o({}, config), config$1), debugObj), tools), atoms), zoom), templates), functionalGroupsLib), fullscreen), help)).reduce(function (acc, _ref2) {
|
|
4181
4183
|
var _ref3 = _slicedToArray$1(_ref2, 2),
|
|
4182
4184
|
key = _ref3[0],
|
|
4183
4185
|
item = _ref3[1];
|
|
4184
|
-
return _objectSpread$
|
|
4186
|
+
return _objectSpread$1o(_objectSpread$1o({}, acc), {}, _defineProperty$1({}, key, updateConfigItem(item)));
|
|
4185
4187
|
}, {});
|
|
4186
4188
|
function hasSelection(editor) {
|
|
4187
4189
|
var selection = editor.selection();
|
|
@@ -8196,12 +8198,12 @@ var IconButtonBase = function IconButtonBase(_ref) {
|
|
|
8196
8198
|
};
|
|
8197
8199
|
|
|
8198
8200
|
var _excluded$z = ["iconName"];
|
|
8199
|
-
function ownKeys$
|
|
8200
|
-
function _objectSpread$
|
|
8201
|
+
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; }
|
|
8202
|
+
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$1(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; }
|
|
8201
8203
|
var IconButton = function IconButton(_ref) {
|
|
8202
8204
|
var iconName = _ref.iconName,
|
|
8203
8205
|
props = _objectWithoutProperties(_ref, _excluded$z);
|
|
8204
|
-
return jsx(IconButtonBase, _objectSpread$
|
|
8206
|
+
return jsx(IconButtonBase, _objectSpread$1n(_objectSpread$1n({}, props), {}, {
|
|
8205
8207
|
children: jsx(StyledIcon$1, {
|
|
8206
8208
|
name: iconName
|
|
8207
8209
|
})
|
|
@@ -8209,12 +8211,12 @@ var IconButton = function IconButton(_ref) {
|
|
|
8209
8211
|
};
|
|
8210
8212
|
|
|
8211
8213
|
var _excluded$y = ["link"];
|
|
8212
|
-
function ownKeys$
|
|
8213
|
-
function _objectSpread$
|
|
8214
|
+
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; }
|
|
8215
|
+
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$1(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; }
|
|
8214
8216
|
var IconButtonCustomIcon = function IconButtonCustomIcon(_ref) {
|
|
8215
8217
|
var link = _ref.link,
|
|
8216
8218
|
props = _objectWithoutProperties(_ref, _excluded$y);
|
|
8217
|
-
return jsx(IconButtonBase, _objectSpread$
|
|
8219
|
+
return jsx(IconButtonBase, _objectSpread$1m(_objectSpread$1m({}, props), {}, {
|
|
8218
8220
|
children: jsx(StyledCustomIcon, {
|
|
8219
8221
|
src: link,
|
|
8220
8222
|
alt: props.title
|
|
@@ -8245,12 +8247,12 @@ var StyledButton = styled.button({
|
|
|
8245
8247
|
});
|
|
8246
8248
|
|
|
8247
8249
|
var _excluded$x = ["children"];
|
|
8248
|
-
function ownKeys$
|
|
8249
|
-
function _objectSpread$
|
|
8250
|
+
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; }
|
|
8251
|
+
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$1(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; }
|
|
8250
8252
|
var Button = function Button(_ref) {
|
|
8251
8253
|
var children = _ref.children,
|
|
8252
8254
|
props = _objectWithoutProperties(_ref, _excluded$x);
|
|
8253
|
-
return jsx(StyledButton, _objectSpread$
|
|
8255
|
+
return jsx(StyledButton, _objectSpread$1l(_objectSpread$1l({}, props), {}, {
|
|
8254
8256
|
children: children
|
|
8255
8257
|
}));
|
|
8256
8258
|
};
|
|
@@ -8317,10 +8319,10 @@ var StyledInput$1 = styled.input({
|
|
|
8317
8319
|
}
|
|
8318
8320
|
});
|
|
8319
8321
|
|
|
8320
|
-
function ownKeys$
|
|
8321
|
-
function _objectSpread$
|
|
8322
|
+
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; }
|
|
8323
|
+
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$1(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; }
|
|
8322
8324
|
var Input$2 = function Input(props) {
|
|
8323
|
-
return jsx(StyledInput$1, _objectSpread$
|
|
8325
|
+
return jsx(StyledInput$1, _objectSpread$1k({}, props));
|
|
8324
8326
|
};
|
|
8325
8327
|
|
|
8326
8328
|
var Container$1 = styled.div({
|
|
@@ -8404,8 +8406,8 @@ var InfoModal$1 = function InfoModal(_ref) {
|
|
|
8404
8406
|
var styles$h = {"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"};
|
|
8405
8407
|
|
|
8406
8408
|
var _excluded$w = ["children", "title", "params", "result", "valid", "buttons", "headerContent", "footerContent", "className", "buttonsNameMap", "needMargin", "withDivider", "focusable"];
|
|
8407
|
-
function ownKeys$
|
|
8408
|
-
function _objectSpread$
|
|
8409
|
+
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; }
|
|
8410
|
+
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$1(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; }
|
|
8409
8411
|
var Dialog = function Dialog(props) {
|
|
8410
8412
|
var children = props.children,
|
|
8411
8413
|
title = props.title,
|
|
@@ -8460,7 +8462,7 @@ var Dialog = function Dialog(props) {
|
|
|
8460
8462
|
event.stopPropagation();
|
|
8461
8463
|
}
|
|
8462
8464
|
};
|
|
8463
|
-
return jsxs("div", _objectSpread$
|
|
8465
|
+
return jsxs("div", _objectSpread$1j(_objectSpread$1j({
|
|
8464
8466
|
ref: dialogRef,
|
|
8465
8467
|
role: "dialog",
|
|
8466
8468
|
onSubmit: function onSubmit(event) {
|
|
@@ -11034,8 +11036,8 @@ var errors = {
|
|
|
11034
11036
|
codes: codes_1
|
|
11035
11037
|
};
|
|
11036
11038
|
|
|
11037
|
-
function ownKeys$
|
|
11038
|
-
function _objectSpread$
|
|
11039
|
+
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; }
|
|
11040
|
+
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(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; }
|
|
11039
11041
|
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; }
|
|
11040
11042
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
11041
11043
|
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); } }
|
|
@@ -11463,7 +11465,7 @@ var AssertionError = /*#__PURE__*/function (_Error, _inspect$custom) {
|
|
|
11463
11465
|
// the minimum depth. Otherwise those values would be too verbose compared
|
|
11464
11466
|
// to the actual error message which contains a combined view of these two
|
|
11465
11467
|
// input values.
|
|
11466
|
-
return inspect(this, _objectSpread$
|
|
11468
|
+
return inspect(this, _objectSpread$1i(_objectSpread$1i({}, ctx), {}, {
|
|
11467
11469
|
customInspect: false,
|
|
11468
11470
|
depth: 0
|
|
11469
11471
|
}));
|
|
@@ -13355,8 +13357,8 @@ function usePortalStyle(_ref) {
|
|
|
13355
13357
|
return [portalStyle];
|
|
13356
13358
|
}
|
|
13357
13359
|
|
|
13358
|
-
function ownKeys$
|
|
13359
|
-
function _objectSpread$
|
|
13360
|
+
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; }
|
|
13361
|
+
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$1(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; }
|
|
13360
13362
|
var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
13361
13363
|
var id = props.id,
|
|
13362
13364
|
options = props.options,
|
|
@@ -13431,7 +13433,7 @@ var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
|
13431
13433
|
ref: ref,
|
|
13432
13434
|
className: classes$N.root,
|
|
13433
13435
|
"data-testid": "".concat(id, "-drop-down-button"),
|
|
13434
|
-
children: [jsx(ActionButton, _objectSpread$
|
|
13436
|
+
children: [jsx(ActionButton, _objectSpread$1h(_objectSpread$1h({}, actionButtonProps), {}, {
|
|
13435
13437
|
className: className,
|
|
13436
13438
|
name: iconName,
|
|
13437
13439
|
action: configWithNonViewOnlyActionsDisabled[currentId],
|
|
@@ -13540,8 +13542,8 @@ var TemplatesList = function TemplatesList(props) {
|
|
|
13540
13542
|
var classes$M = {"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"};
|
|
13541
13543
|
|
|
13542
13544
|
var _excluded$v = ["className"];
|
|
13543
|
-
function ownKeys$
|
|
13544
|
-
function _objectSpread$
|
|
13545
|
+
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; }
|
|
13546
|
+
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$1(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; }
|
|
13545
13547
|
var Group$1 = function Group(_ref) {
|
|
13546
13548
|
var children = _ref.children,
|
|
13547
13549
|
className = _ref.className;
|
|
@@ -13557,22 +13559,22 @@ var BottomToolbar = function BottomToolbar(props) {
|
|
|
13557
13559
|
"data-testid": "bottom-toolbar",
|
|
13558
13560
|
className: clsx(classes$M.root, className),
|
|
13559
13561
|
children: jsxs(Group$1, {
|
|
13560
|
-
children: [jsx(TemplatesList, _objectSpread$
|
|
13562
|
+
children: [jsx(TemplatesList, _objectSpread$1g({}, rest)), jsx(ToolbarGroupItem, _objectSpread$1g({
|
|
13561
13563
|
id: "template-lib"
|
|
13562
13564
|
}, rest))]
|
|
13563
13565
|
})
|
|
13564
13566
|
});
|
|
13565
13567
|
};
|
|
13566
13568
|
|
|
13567
|
-
function ownKeys$
|
|
13568
|
-
function _objectSpread$
|
|
13569
|
+
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; }
|
|
13570
|
+
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$1(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; }
|
|
13569
13571
|
function openDialog(dispatch, dialogName, props) {
|
|
13570
13572
|
return new Promise(function (resolve, reject) {
|
|
13571
13573
|
dispatch({
|
|
13572
13574
|
type: 'MODAL_OPEN',
|
|
13573
13575
|
data: {
|
|
13574
13576
|
name: dialogName,
|
|
13575
|
-
prop: _objectSpread$
|
|
13577
|
+
prop: _objectSpread$1f(_objectSpread$1f({}, props), {}, {
|
|
13576
13578
|
onResult: resolve,
|
|
13577
13579
|
onCancel: reject
|
|
13578
13580
|
})
|
|
@@ -13591,14 +13593,14 @@ function modalReducer() {
|
|
|
13591
13593
|
return null;
|
|
13592
13594
|
}
|
|
13593
13595
|
var formState = formReducer(state.form, action);
|
|
13594
|
-
return _objectSpread$
|
|
13596
|
+
return _objectSpread$1f(_objectSpread$1f({}, state), {}, {
|
|
13595
13597
|
form: formState
|
|
13596
13598
|
});
|
|
13597
13599
|
}
|
|
13598
13600
|
switch (type) {
|
|
13599
13601
|
case 'MODAL_CLOSE':
|
|
13600
13602
|
if (state !== null && state !== void 0 && state.parentModal) {
|
|
13601
|
-
state.parentModal.prop = _objectSpread$
|
|
13603
|
+
state.parentModal.prop = _objectSpread$1f(_objectSpread$1f(_objectSpread$1f({}, state.parentModal.prop), state.parentModal.form.result), {}, {
|
|
13602
13604
|
isRestoredModal: true
|
|
13603
13605
|
});
|
|
13604
13606
|
return state.parentModal;
|
|
@@ -13616,8 +13618,8 @@ function modalReducer() {
|
|
|
13616
13618
|
}
|
|
13617
13619
|
}
|
|
13618
13620
|
|
|
13619
|
-
function ownKeys$
|
|
13620
|
-
function _objectSpread$
|
|
13621
|
+
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; }
|
|
13622
|
+
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$1(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; }
|
|
13621
13623
|
function selectTmpl(tmpl) {
|
|
13622
13624
|
return {
|
|
13623
13625
|
type: 'TMPL_SELECT',
|
|
@@ -13725,7 +13727,7 @@ function saveUserTmpl(struct) {
|
|
|
13725
13727
|
var name = _ref.name,
|
|
13726
13728
|
attach = _ref.attach;
|
|
13727
13729
|
tmpl.struct.name = name.trim();
|
|
13728
|
-
tmpl.props = _objectSpread$
|
|
13730
|
+
tmpl.props = _objectSpread$1e(_objectSpread$1e({}, attach), {}, {
|
|
13729
13731
|
group: 'User Templates'
|
|
13730
13732
|
});
|
|
13731
13733
|
var lib = getState().templates.lib.concat(tmpl);
|
|
@@ -13765,7 +13767,7 @@ function templatesReducer() {
|
|
|
13765
13767
|
if (tmplActions.includes(action.type)) return Object.assign({}, state, action.data);
|
|
13766
13768
|
if (attachActions.includes(action.type)) {
|
|
13767
13769
|
var attach = Object.assign({}, state.attach, action.data);
|
|
13768
|
-
return _objectSpread$
|
|
13770
|
+
return _objectSpread$1e(_objectSpread$1e({}, state), {}, {
|
|
13769
13771
|
attach: attach
|
|
13770
13772
|
});
|
|
13771
13773
|
}
|
|
@@ -13774,7 +13776,7 @@ function templatesReducer() {
|
|
|
13774
13776
|
var lib = currentState.lib.filter(function (value) {
|
|
13775
13777
|
return value !== action.data.tmpl;
|
|
13776
13778
|
});
|
|
13777
|
-
return _objectSpread$
|
|
13779
|
+
return _objectSpread$1e(_objectSpread$1e({}, currentState), {}, {
|
|
13778
13780
|
lib: lib
|
|
13779
13781
|
});
|
|
13780
13782
|
}
|
|
@@ -13836,8 +13838,8 @@ function abbreviationLookupReducer() {
|
|
|
13836
13838
|
}
|
|
13837
13839
|
}
|
|
13838
13840
|
|
|
13839
|
-
function ownKeys$
|
|
13840
|
-
function _objectSpread$
|
|
13841
|
+
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; }
|
|
13842
|
+
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$1(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; }
|
|
13841
13843
|
var initialState$3 = {
|
|
13842
13844
|
cursorPosition: {
|
|
13843
13845
|
x: 0,
|
|
@@ -13862,7 +13864,7 @@ function commonReducer() {
|
|
|
13862
13864
|
switch (action.type) {
|
|
13863
13865
|
case COMMON_ACTIONS.COMMON_UPDATE_CURSOR_POSITION:
|
|
13864
13866
|
{
|
|
13865
|
-
return _objectSpread$
|
|
13867
|
+
return _objectSpread$1d(_objectSpread$1d({}, state), {}, {
|
|
13866
13868
|
cursorPosition: {
|
|
13867
13869
|
x: action.data.x,
|
|
13868
13870
|
y: action.data.y
|
|
@@ -13875,8 +13877,8 @@ function commonReducer() {
|
|
|
13875
13877
|
}
|
|
13876
13878
|
|
|
13877
13879
|
var _excluded$u = ["type", "action"];
|
|
13878
|
-
function ownKeys$
|
|
13879
|
-
function _objectSpread$
|
|
13880
|
+
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; }
|
|
13881
|
+
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$1(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; }
|
|
13880
13882
|
function execute(activeTool, _ref) {
|
|
13881
13883
|
var action = _ref.action,
|
|
13882
13884
|
editor = _ref.editor,
|
|
@@ -13934,7 +13936,7 @@ function actionStateReducer () {
|
|
|
13934
13936
|
}
|
|
13935
13937
|
case 'ACTION':
|
|
13936
13938
|
{
|
|
13937
|
-
activeTool = execute(state && state.activeTool, _objectSpread$
|
|
13939
|
+
activeTool = execute(state && state.activeTool, _objectSpread$1c(_objectSpread$1c({}, params), {}, {
|
|
13938
13940
|
action: action
|
|
13939
13941
|
}));
|
|
13940
13942
|
if (activeTool.tool === 'select') {
|
|
@@ -14230,8 +14232,8 @@ function setFunctionalGroupsTooltip(_ref) {
|
|
|
14230
14232
|
showTooltip(editor, infoPanelData);
|
|
14231
14233
|
}
|
|
14232
14234
|
|
|
14233
|
-
function ownKeys$
|
|
14234
|
-
function _objectSpread$
|
|
14235
|
+
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; }
|
|
14236
|
+
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$1(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; }
|
|
14235
14237
|
var initialState$2 = {
|
|
14236
14238
|
lib: [],
|
|
14237
14239
|
functionalGroupInfo: null,
|
|
@@ -14244,9 +14246,9 @@ var functionalGroupsReducer = function functionalGroupsReducer() {
|
|
|
14244
14246
|
payload = _ref.payload;
|
|
14245
14247
|
switch (type) {
|
|
14246
14248
|
case 'FG_INIT':
|
|
14247
|
-
return _objectSpread$
|
|
14249
|
+
return _objectSpread$1b(_objectSpread$1b({}, state), payload);
|
|
14248
14250
|
case 'FG_HIGHLIGHT':
|
|
14249
|
-
return _objectSpread$
|
|
14251
|
+
return _objectSpread$1b(_objectSpread$1b({}, state), {}, {
|
|
14250
14252
|
functionalGroupInfo: payload
|
|
14251
14253
|
});
|
|
14252
14254
|
default:
|
|
@@ -14304,8 +14306,8 @@ function initFGTemplates() {
|
|
|
14304
14306
|
|
|
14305
14307
|
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 0 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$$$$\nTRIS\n -INDIGO-03312512502D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 16.0940 -10.7437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9600 -10.2437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8260 -10.7437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9600 -9.2437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9600 -11.2437 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2280 -10.2437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.6921 -10.2437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8260 -8.7437 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 2 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 3 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 TRIS\nM SDI 1 4 0.0000 0.0000 0.0000 0.0000\nM SDI 1 4 0.0000 0.0000 0.0000 0.0000\nM END\n> <name>\nTRIS\n\n> <abbreviation>\nTRIS\n\n> <group>\nSalts and Solvents\n\n$$$$\nTRIS HCl\n Ketcher 3312513372D 1 1.00000 0.00000 0\n\n 9 7 0 0 0 0 0 0 0 0999 V2000\n 15.7719 -6.6396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6379 -6.1396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5040 -6.6396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6379 -5.1396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6379 -7.1396 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9059 -6.1396 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3700 -6.1396 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5040 -4.6396 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6716 -7.9479 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 1 0 0 0\n 2 5 1 0 0 0\n 1 6 1 0 0 0\n 3 7 1 0 0 0\n 4 8 1 0 0 0\nM CHG 2 5 1 9 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 9 1 2 3 4 5 6 7 8 9\nM SMT 1 TRIS HCl\nM END\n\n> <name>\nTRIS HCl\n\n> <abbreviation>\nTRIS HCl\n\n> <group>\nSalts and Solvents\n\n$$$$\nSodium-chloride\n Ketcher 3312513392D 1 1.00000 0.00000 0\n\n 2 0 0 0 0 0 0 0 0 0999 V2000\n 16.4963 -6.3500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 15.6713 -6.3500 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\nM CHG 2 1 -1 2 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 NaCl\nM END\n\n> <name>\nSodium-chloride\n\n> <abbreviation>\nNaCl\n\n> <group>\nSalts and Solvents\n\n$$$$\nSodium-acetate\n Ketcher 3312513462D 1 1.00000 0.00000 0\n\n 5 3 0 0 0 0 0 0 0 0999 V2000\n 15.0102 -10.7437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8763 -10.2437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7423 -10.7437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8763 -9.2437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5182 -10.7687 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 2 0 0 0\nM CHG 2 3 -1 5 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 CH3COONa\nM END\n\n> <name>\nSodium-acetate\n\n> <abbreviation>\nCH3COONa\n\n> <group>\nSalts and Solvents\n\n$$$$\nPotassium-chloride\n Ketcher 3312513542D 1 1.00000 0.00000 0\n\n 2 0 0 0 0 0 0 0 0 0999 V2000\n 16.2390 -13.2275 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4140 -13.2275 0.0000 K 0 0 0 0 0 0 0 0 0 0 0 0\nM CHG 2 1 -1 2 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 KCl\nM END\n\n> <name>\nPotassium-chloride\n\n> <abbreviation>\nKCl\n\n> <group>\nSalts and Solvents\n\n$$$$\nMonopotassium phosphate\n Ketcher 3312513582D 1 1.00000 0.00000 0\n\n 6 4 0 0 0 0 0 0 0 0999 V2000\n 15.0432 -14.6312 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9093 -15.1312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0432 -13.6312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1772 -15.1312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0432 -15.6312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6098 -15.1562 0.0000 K 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 2 0 0 0\n 1 4 1 0 0 0\n 1 5 1 0 0 0\nM CHG 2 2 -1 6 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 KH2PO4\nM END\n\n> <name>\nMonopotassium phosphate\n\n> <abbreviation>\nKH2PO4\n\n> <group>\nSalts and Solvents\n\n$$$$\nLithium-chloride\n Ketcher 3312514 52D 1 1.00000 0.00000 0\n\n 2 0 0 0 0 0 0 0 0 0999 V2000\n 16.4828 -15.7375 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 15.6578 -15.7375 0.0000 Li 0 0 0 0 0 0 0 0 0 0 0 0\nM CHG 2 1 -1 2 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 LiCl\nM END\n\n> <name>\nLithium-chloride\n\n> <abbreviation>\nLiCl\n\n> <group>\nSalts and Solvents\n\n$$$$\nGuanidine HCl\n Ketcher 3312514 62D 1 1.00000 0.00000 0\n\n 5 3 0 0 0 0 0 0 0 0999 V2000\n 14.8573 -16.3937 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7233 -15.8937 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5893 -16.3937 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7233 -14.8937 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8653 -16.3937 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 2 0 0 0\nM CHG 2 3 1 5 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 GuHCl\nM END\n\n> <name>\nGuanidine HCl\n\n> <abbreviation>\nGuHCl\n\n> <group>\nSalts and Solvents\n\n$$$$\nDisodium phosphate\n Ketcher 3312514 72D 1 1.00000 0.00000 0\n\n 7 4 0 0 0 0 0 0 0 0999 V2000\n 15.7195 -15.6812 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5856 -16.1812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7195 -14.6812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8535 -16.1812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7195 -16.6812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2860 -16.2062 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1860 -16.1812 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 2 0 0 0\n 1 4 1 0 0 0\n 1 5 1 0 0 0\nM CHG 4 2 -1 4 -1 6 1 7 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 Na2HPO4\nM END\n\n> <name>\nDisodium phosphate\n\n> <abbreviation>\nNa2HPO4\n\n> <group>\nSalts and Solvents\n\n$$$$\nDisodium EDTA\n Ketcher 3312514 92D 1 1.00000 0.00000 0\n\n 22 19 0 0 0 0 0 0 0 0999 V2000\n 11.8472 -15.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7132 -15.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5792 -15.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7132 -14.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4453 -15.4313 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -15.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4453 -14.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -13.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -12.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -14.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -15.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0433 -15.9313 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.9094 -15.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0433 -16.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -17.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -18.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -16.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7754 -15.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.6414 -15.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7754 -16.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5052 -16.9313 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 20.4552 -15.4313 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 2 0 0 0\n 3 5 1 0 0 0\n 5 6 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\n 6 11 1 0 0 0\n 11 12 1 0 0 0\n 12 13 1 0 0 0\n 12 14 1 0 0 0\n 14 15 1 0 0 0\n 15 16 2 0 0 0\n 15 17 1 0 0 0\n 13 18 1 0 0 0\n 18 19 1 0 0 0\n 18 20 2 0 0 0\nM CHG 4 17 -1 19 -1 21 1 22 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15\nM SAL 1 7 16 17 18 19 20 21 22\nM SMT 1 Disodium EDTA\nM END\n\n> <name>\nDisodium EDTA\n\n> <abbreviation>\nDisodium EDTA\n\n> <group>\nSalts and Solvents\n\n$$$$\nAmmonium-sulfate\n Ketcher 3312514102D 1 1.00000 0.00000 0\n\n 7 4 0 0 0 0 0 0 0 0999 V2000\n 15.8979 -15.6813 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7639 -16.1813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8979 -14.6813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0319 -16.1813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8979 -16.6813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7644 -16.2063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.4894 -16.2063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 2 0 0 0\n 1 4 1 0 0 0\n 1 5 2 0 0 0\nM CHG 4 2 -1 4 -1 6 1 7 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 (NH4)2SO4\nM END\n\n> <name>\nAmmonium-sulfate\n\n> <abbreviation>\n(NH4)2SO4\n\n> <group>\nSalts and Solvents\n\n$$$$";
|
|
14306
14308
|
|
|
14307
|
-
function ownKeys$
|
|
14308
|
-
function _objectSpread$
|
|
14309
|
+
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; }
|
|
14310
|
+
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$1(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; }
|
|
14309
14311
|
var initialState$1 = {
|
|
14310
14312
|
lib: [],
|
|
14311
14313
|
mode: MODES.FG
|
|
@@ -14317,7 +14319,7 @@ var saltsAndSolventsReducer = function saltsAndSolventsReducer() {
|
|
|
14317
14319
|
payload = _ref.payload;
|
|
14318
14320
|
switch (type) {
|
|
14319
14321
|
case 'SALTS_AND_SOLVENTS_INIT':
|
|
14320
|
-
return _objectSpread$
|
|
14322
|
+
return _objectSpread$1a(_objectSpread$1a({}, state), payload);
|
|
14321
14323
|
default:
|
|
14322
14324
|
return state;
|
|
14323
14325
|
}
|
|
@@ -14366,8 +14368,8 @@ function initSaltsAndSolventsTemplates() {
|
|
|
14366
14368
|
}();
|
|
14367
14369
|
}
|
|
14368
14370
|
|
|
14369
|
-
function ownKeys$
|
|
14370
|
-
function _objectSpread$
|
|
14371
|
+
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; }
|
|
14372
|
+
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$1(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; }
|
|
14371
14373
|
var initial = {
|
|
14372
14374
|
freqAtoms: [],
|
|
14373
14375
|
currentAtom: 0,
|
|
@@ -14387,7 +14389,7 @@ function updateVisibleTools(visibleTool, activeTool) {
|
|
|
14387
14389
|
if (key === 'shape' && menuHeight > 900) return res;
|
|
14388
14390
|
if (!key.match(regExp) || menuHeight > 700) res[key] = visibleTool[key];
|
|
14389
14391
|
return res;
|
|
14390
|
-
}, _objectSpread$
|
|
14392
|
+
}, _objectSpread$19({}, activeTool));
|
|
14391
14393
|
}
|
|
14392
14394
|
function initResize() {
|
|
14393
14395
|
return function (dispatch, getState) {
|
|
@@ -14411,41 +14413,41 @@ function toolbarReducer () {
|
|
|
14411
14413
|
case 'ACTION':
|
|
14412
14414
|
{
|
|
14413
14415
|
var visibleTool = toolInMenu(action.action);
|
|
14414
|
-
return visibleTool ? _objectSpread$
|
|
14416
|
+
return visibleTool ? _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
14415
14417
|
opened: null,
|
|
14416
|
-
visibleTools: _objectSpread$
|
|
14417
|
-
}) : _objectSpread$
|
|
14418
|
+
visibleTools: _objectSpread$19(_objectSpread$19({}, state.visibleTools), visibleTool)
|
|
14419
|
+
}) : _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
14418
14420
|
opened: null
|
|
14419
14421
|
});
|
|
14420
14422
|
}
|
|
14421
14423
|
case 'ADD_ATOMS':
|
|
14422
14424
|
{
|
|
14423
14425
|
var newState = addFreqAtom(data, state.freqAtoms, state.currentAtom);
|
|
14424
|
-
return _objectSpread$
|
|
14426
|
+
return _objectSpread$19(_objectSpread$19({}, state), newState);
|
|
14425
14427
|
}
|
|
14426
14428
|
case 'CLEAR_VISIBLE':
|
|
14427
14429
|
{
|
|
14428
14430
|
var activeTool = toolInMenu(action.data);
|
|
14429
14431
|
var correctTools = updateVisibleTools(state.visibleTools, activeTool);
|
|
14430
|
-
return _objectSpread$
|
|
14432
|
+
return _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
14431
14433
|
opened: null,
|
|
14432
|
-
visibleTools: _objectSpread$
|
|
14434
|
+
visibleTools: _objectSpread$19({}, correctTools)
|
|
14433
14435
|
});
|
|
14434
14436
|
}
|
|
14435
14437
|
case 'OPENED':
|
|
14436
14438
|
{
|
|
14437
|
-
return data.isSelected && state.opened ? _objectSpread$
|
|
14439
|
+
return data.isSelected && state.opened ? _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
14438
14440
|
opened: null
|
|
14439
|
-
}) : _objectSpread$
|
|
14441
|
+
}) : _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
14440
14442
|
opened: data.menuName
|
|
14441
14443
|
});
|
|
14442
14444
|
}
|
|
14443
14445
|
case 'UPDATE':
|
|
14444
|
-
return _objectSpread$
|
|
14446
|
+
return _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
14445
14447
|
opened: null
|
|
14446
14448
|
});
|
|
14447
14449
|
case 'MODAL_OPEN':
|
|
14448
|
-
return _objectSpread$
|
|
14450
|
+
return _objectSpread$19(_objectSpread$19({}, state), {}, {
|
|
14449
14451
|
opened: null
|
|
14450
14452
|
});
|
|
14451
14453
|
default:
|
|
@@ -14488,8 +14490,8 @@ function hiddenAncestor(el, base) {
|
|
|
14488
14490
|
return findEl;
|
|
14489
14491
|
}
|
|
14490
14492
|
|
|
14491
|
-
function ownKeys$
|
|
14492
|
-
function _objectSpread$
|
|
14493
|
+
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; }
|
|
14494
|
+
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$1(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; }
|
|
14493
14495
|
var initialState = {
|
|
14494
14496
|
visible: false,
|
|
14495
14497
|
rotateHandlePosition: {
|
|
@@ -14511,7 +14513,7 @@ var floatingToolsReducer = function floatingToolsReducer() {
|
|
|
14511
14513
|
payload = _ref.payload;
|
|
14512
14514
|
switch (type) {
|
|
14513
14515
|
case 'UPDATE_FLOATING_TOOLS':
|
|
14514
|
-
return _objectSpread$
|
|
14516
|
+
return _objectSpread$18(_objectSpread$18({}, state), payload);
|
|
14515
14517
|
default:
|
|
14516
14518
|
return state;
|
|
14517
14519
|
}
|
|
@@ -14519,8 +14521,8 @@ var floatingToolsReducer = function floatingToolsReducer() {
|
|
|
14519
14521
|
|
|
14520
14522
|
var _excluded$t = ["type"],
|
|
14521
14523
|
_excluded2$5 = ["buttons", "customButtons"];
|
|
14522
|
-
function ownKeys$
|
|
14523
|
-
function _objectSpread$
|
|
14524
|
+
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; }
|
|
14525
|
+
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$1(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; }
|
|
14524
14526
|
var SET_SERVER = 'SET_SERVER';
|
|
14525
14527
|
var shared = combineReducers({
|
|
14526
14528
|
common: commonReducer,
|
|
@@ -14554,17 +14556,17 @@ function getRootReducer(setEditor) {
|
|
|
14554
14556
|
{
|
|
14555
14557
|
action.type;
|
|
14556
14558
|
var data = _objectWithoutProperties(action, _excluded$t);
|
|
14557
|
-
if (data) state = _objectSpread$
|
|
14559
|
+
if (data) state = _objectSpread$17(_objectSpread$17({}, state), data);
|
|
14558
14560
|
}
|
|
14559
14561
|
case SET_SERVER:
|
|
14560
14562
|
{
|
|
14561
|
-
state = _objectSpread$
|
|
14563
|
+
state = _objectSpread$17(_objectSpread$17({}, state), {}, {
|
|
14562
14564
|
server: action.server || state.server
|
|
14563
14565
|
});
|
|
14564
14566
|
}
|
|
14565
14567
|
}
|
|
14566
|
-
var sh = shared(state, _objectSpread$
|
|
14567
|
-
var finalState = sh === state.shared ? state : _objectSpread$
|
|
14568
|
+
var sh = shared(state, _objectSpread$17(_objectSpread$17({}, action), pick(['editor', 'server', 'options'], state)));
|
|
14569
|
+
var finalState = sh === state.shared ? state : _objectSpread$17(_objectSpread$17({}, state), sh);
|
|
14568
14570
|
global.currentState = finalState;
|
|
14569
14571
|
return finalState;
|
|
14570
14572
|
};
|
|
@@ -14661,8 +14663,8 @@ function useSettingsContext() {
|
|
|
14661
14663
|
return React__default.useContext(settingsContext);
|
|
14662
14664
|
}
|
|
14663
14665
|
|
|
14664
|
-
function ownKeys$
|
|
14665
|
-
function _objectSpread$
|
|
14666
|
+
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; }
|
|
14667
|
+
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$1(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; }
|
|
14666
14668
|
var throttleMilliseconds = 100;
|
|
14667
14669
|
function useThrottleResizeObserver() {
|
|
14668
14670
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -14676,11 +14678,11 @@ function useThrottleResizeObserver() {
|
|
|
14676
14678
|
var onResize = useMemo(function () {
|
|
14677
14679
|
return throttle$1(setSize, throttleMilliseconds);
|
|
14678
14680
|
}, []);
|
|
14679
|
-
var _useResizeObserver = useResizeObserver(_objectSpread$
|
|
14681
|
+
var _useResizeObserver = useResizeObserver(_objectSpread$16({
|
|
14680
14682
|
onResize: onResize
|
|
14681
14683
|
}, options)),
|
|
14682
14684
|
ref = _useResizeObserver.ref;
|
|
14683
|
-
return _objectSpread$
|
|
14685
|
+
return _objectSpread$16({
|
|
14684
14686
|
ref: ref
|
|
14685
14687
|
}, size);
|
|
14686
14688
|
}
|
|
@@ -14714,7 +14716,6 @@ var useInterval = function useInterval(callback, delay) {
|
|
|
14714
14716
|
var useSubscriptionOnEvents = function useSubscriptionOnEvents() {
|
|
14715
14717
|
var dispatch = useDispatch();
|
|
14716
14718
|
var _useAppContext = useAppContext(),
|
|
14717
|
-
getKetcherInstance = _useAppContext.getKetcherInstance,
|
|
14718
14719
|
ketcherId = _useAppContext.ketcherId;
|
|
14719
14720
|
var loadingHandler = function loadingHandler() {
|
|
14720
14721
|
dispatch(indigoVerification(true));
|
|
@@ -14734,10 +14735,10 @@ var useSubscriptionOnEvents = function useSubscriptionOnEvents() {
|
|
|
14734
14735
|
};
|
|
14735
14736
|
useEffect(function () {
|
|
14736
14737
|
var subscribeOnInit = function subscribeOnInit() {
|
|
14737
|
-
subscribe(
|
|
14738
|
+
subscribe(ketcherProvider.getKetcher(ketcherId));
|
|
14738
14739
|
};
|
|
14739
14740
|
var unsubscribeOnUnMount = function unsubscribeOnUnMount() {
|
|
14740
|
-
unsubscribe(
|
|
14741
|
+
unsubscribe(ketcherProvider.getKetcher(ketcherId));
|
|
14741
14742
|
};
|
|
14742
14743
|
var initEventName = ketcherInitEventName(ketcherId);
|
|
14743
14744
|
window.addEventListener(initEventName, subscribeOnInit);
|
|
@@ -14812,13 +14813,13 @@ var mediaSizes$2 = {
|
|
|
14812
14813
|
};
|
|
14813
14814
|
|
|
14814
14815
|
var _excluded$s = ["height"];
|
|
14815
|
-
function ownKeys$
|
|
14816
|
-
function _objectSpread$
|
|
14816
|
+
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; }
|
|
14817
|
+
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$1(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; }
|
|
14817
14818
|
var Bond$1 = function Bond(props) {
|
|
14818
14819
|
var height = props.height,
|
|
14819
14820
|
rest = _objectWithoutProperties(props, _excluded$s);
|
|
14820
14821
|
if (height && height <= mediaSizes$2.bondCollapsableHeight) {
|
|
14821
|
-
return jsx(ToolbarMultiToolItem, _objectSpread$
|
|
14822
|
+
return jsx(ToolbarMultiToolItem, _objectSpread$15({
|
|
14822
14823
|
id: "bonds",
|
|
14823
14824
|
options: groupOptions,
|
|
14824
14825
|
variant: "grouped",
|
|
@@ -14826,35 +14827,35 @@ var Bond$1 = function Bond(props) {
|
|
|
14826
14827
|
}, rest));
|
|
14827
14828
|
}
|
|
14828
14829
|
return jsxs(Fragment, {
|
|
14829
|
-
children: [jsx(ToolbarMultiToolItem, _objectSpread$
|
|
14830
|
+
children: [jsx(ToolbarMultiToolItem, _objectSpread$15({
|
|
14830
14831
|
id: "bond-common",
|
|
14831
14832
|
options: bondCommon
|
|
14832
|
-
}, rest)), jsx(ToolbarMultiToolItem, _objectSpread$
|
|
14833
|
+
}, rest)), jsx(ToolbarMultiToolItem, _objectSpread$15({
|
|
14833
14834
|
id: "bond-stereo",
|
|
14834
14835
|
options: bondStereo
|
|
14835
|
-
}, rest)), jsx(ToolbarMultiToolItem, _objectSpread$
|
|
14836
|
+
}, rest)), jsx(ToolbarMultiToolItem, _objectSpread$15({
|
|
14836
14837
|
id: "bond-query",
|
|
14837
14838
|
options: bondQuery
|
|
14838
|
-
}, rest)), jsx(ToolbarMultiToolItem, _objectSpread$
|
|
14839
|
+
}, rest)), jsx(ToolbarMultiToolItem, _objectSpread$15({
|
|
14839
14840
|
id: "bond-special",
|
|
14840
14841
|
options: bondSpecial
|
|
14841
14842
|
}, rest))]
|
|
14842
14843
|
});
|
|
14843
14844
|
};
|
|
14844
14845
|
|
|
14845
|
-
function ownKeys$
|
|
14846
|
-
function _objectSpread$
|
|
14846
|
+
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; }
|
|
14847
|
+
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$1(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; }
|
|
14847
14848
|
var RGroup$1 = function RGroup(props) {
|
|
14848
|
-
return jsx(ToolbarGroupItem, _objectSpread$
|
|
14849
|
+
return jsx(ToolbarGroupItem, _objectSpread$14({
|
|
14849
14850
|
id: "rgroup",
|
|
14850
14851
|
options: rGroupOptions
|
|
14851
14852
|
}, props));
|
|
14852
14853
|
};
|
|
14853
14854
|
|
|
14854
|
-
function ownKeys$
|
|
14855
|
-
function _objectSpread$
|
|
14855
|
+
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; }
|
|
14856
|
+
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$1(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; }
|
|
14856
14857
|
var Shape = function Shape(props) {
|
|
14857
|
-
return jsx(ToolbarGroupItem, _objectSpread$
|
|
14858
|
+
return jsx(ToolbarGroupItem, _objectSpread$13({
|
|
14858
14859
|
id: "shapes",
|
|
14859
14860
|
options: shapeOptions
|
|
14860
14861
|
}, props));
|
|
@@ -14863,8 +14864,8 @@ var Shape = function Shape(props) {
|
|
|
14863
14864
|
var classes$K = {"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"};
|
|
14864
14865
|
|
|
14865
14866
|
var _excluded$r = ["className"];
|
|
14866
|
-
function ownKeys$
|
|
14867
|
-
function _objectSpread$
|
|
14867
|
+
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; }
|
|
14868
|
+
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$1(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; }
|
|
14868
14869
|
var LeftToolbar = function LeftToolbar(props) {
|
|
14869
14870
|
var _scrollRef$current;
|
|
14870
14871
|
var className = props.className,
|
|
@@ -14890,7 +14891,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
14890
14891
|
var id = _ref.id,
|
|
14891
14892
|
options = _ref.options,
|
|
14892
14893
|
dataTestId = _ref.dataTestId;
|
|
14893
|
-
return ToolbarGroupItem(_objectSpread$
|
|
14894
|
+
return ToolbarGroupItem(_objectSpread$12({
|
|
14894
14895
|
id: id,
|
|
14895
14896
|
options: options,
|
|
14896
14897
|
dataTestId: dataTestId
|
|
@@ -14927,16 +14928,16 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
14927
14928
|
children: visibleItems.map(function (item) {
|
|
14928
14929
|
switch (item.id) {
|
|
14929
14930
|
case 'bond-common':
|
|
14930
|
-
return createElement(Bond$1, _objectSpread$
|
|
14931
|
+
return createElement(Bond$1, _objectSpread$12(_objectSpread$12({}, rest), {}, {
|
|
14931
14932
|
height: height,
|
|
14932
14933
|
key: item.id
|
|
14933
14934
|
}));
|
|
14934
14935
|
case 'rgroup':
|
|
14935
|
-
return createElement(RGroup$1, _objectSpread$
|
|
14936
|
+
return createElement(RGroup$1, _objectSpread$12(_objectSpread$12({}, rest), {}, {
|
|
14936
14937
|
key: item.id
|
|
14937
14938
|
}));
|
|
14938
14939
|
case 'shapes':
|
|
14939
|
-
return createElement(Shape, _objectSpread$
|
|
14940
|
+
return createElement(Shape, _objectSpread$12(_objectSpread$12({}, rest), {}, {
|
|
14940
14941
|
key: item.id
|
|
14941
14942
|
}));
|
|
14942
14943
|
case 'bonds':
|
|
@@ -15066,14 +15067,14 @@ var LeftToolbarContainer = connect(mapStateToProps$k, mapDispatchToProps$k)(Left
|
|
|
15066
15067
|
var classes$J = {"button-common-styles":"Atom-module_button-common-styles__j3EUJ","scrollbar":"Atom-module_scrollbar__iO-Ni","atom":"Atom-module_atom__g2RUu"};
|
|
15067
15068
|
|
|
15068
15069
|
var _excluded$q = ["el", "shortcut", "selected"];
|
|
15069
|
-
function ownKeys$
|
|
15070
|
-
function _objectSpread$
|
|
15070
|
+
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; }
|
|
15071
|
+
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$1(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; }
|
|
15071
15072
|
function Atom$1(_ref) {
|
|
15072
15073
|
var el = _ref.el,
|
|
15073
15074
|
shortcut = _ref.shortcut,
|
|
15074
15075
|
selected = _ref.selected,
|
|
15075
15076
|
props = _objectWithoutProperties(_ref, _excluded$q);
|
|
15076
|
-
return jsx("button", _objectSpread$
|
|
15077
|
+
return jsx("button", _objectSpread$11(_objectSpread$11({
|
|
15077
15078
|
title: shortcut ? "".concat(el.title, " (").concat(shortcut, ")") : el.title,
|
|
15078
15079
|
className: clsx(classes$J.atom, {
|
|
15079
15080
|
selected: selected
|
|
@@ -15138,8 +15139,8 @@ var HorizontalDivider = function HorizontalDivider() {
|
|
|
15138
15139
|
};
|
|
15139
15140
|
|
|
15140
15141
|
var _excluded$p = ["className"];
|
|
15141
|
-
function ownKeys
|
|
15142
|
-
function _objectSpread
|
|
15142
|
+
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; }
|
|
15143
|
+
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$1(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; }
|
|
15143
15144
|
var Group = function Group(_ref) {
|
|
15144
15145
|
var children = _ref.children,
|
|
15145
15146
|
className = _ref.className;
|
|
@@ -15210,7 +15211,7 @@ var RightToolbar = function RightToolbar(props) {
|
|
|
15210
15211
|
status: status,
|
|
15211
15212
|
active: active,
|
|
15212
15213
|
onAction: onAction
|
|
15213
|
-
}), jsx(ToolbarGroupItem, _objectSpread
|
|
15214
|
+
}), jsx(ToolbarGroupItem, _objectSpread$10({
|
|
15214
15215
|
id: "period-table"
|
|
15215
15216
|
}, rest))]
|
|
15216
15217
|
})
|
|
@@ -15220,11 +15221,11 @@ var RightToolbar = function RightToolbar(props) {
|
|
|
15220
15221
|
className: classes$I.groupItem,
|
|
15221
15222
|
children: jsxs("div", {
|
|
15222
15223
|
ref: sizeRef,
|
|
15223
|
-
children: [jsx(ToolbarGroupItem, _objectSpread
|
|
15224
|
+
children: [jsx(ToolbarGroupItem, _objectSpread$10({
|
|
15224
15225
|
id: "any-atom"
|
|
15225
15226
|
}, rest)), jsx("div", {
|
|
15226
15227
|
className: classes$I.button,
|
|
15227
|
-
children: jsx(ToolbarGroupItem, _objectSpread
|
|
15228
|
+
children: jsx(ToolbarGroupItem, _objectSpread$10({
|
|
15228
15229
|
id: "extended-table"
|
|
15229
15230
|
}, rest))
|
|
15230
15231
|
})]
|
|
@@ -15867,7 +15868,11 @@ var TopToolbar = function TopToolbar(_ref) {
|
|
|
15867
15868
|
resizeRef = _useResizeObserver.ref,
|
|
15868
15869
|
_useResizeObserver$wi = _useResizeObserver.width,
|
|
15869
15870
|
width = _useResizeObserver$wi === void 0 ? 50 : _useResizeObserver$wi;
|
|
15870
|
-
var
|
|
15871
|
+
var _useAppContext = useAppContext(),
|
|
15872
|
+
ketcherId = _useAppContext.ketcherId;
|
|
15873
|
+
var ketcher = useMemo(function () {
|
|
15874
|
+
return ketcherProvider.getKetcher(ketcherId);
|
|
15875
|
+
}, [ketcherId]);
|
|
15871
15876
|
var onCustomAction = useCallback(function (name) {
|
|
15872
15877
|
return ketcher.sendCustomAction(name);
|
|
15873
15878
|
}, [ketcher]);
|
|
@@ -16169,8 +16174,8 @@ var selectAbbreviationLookupValue = function selectAbbreviationLookupValue(state
|
|
|
16169
16174
|
return (_state$abbreviationLo = state.abbreviationLookup.lookupValue) !== null && _state$abbreviationLo !== void 0 ? _state$abbreviationLo : '';
|
|
16170
16175
|
};
|
|
16171
16176
|
|
|
16172
|
-
function ownKeys
|
|
16173
|
-
function _objectSpread
|
|
16177
|
+
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; }
|
|
16178
|
+
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$1(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; }
|
|
16174
16179
|
var destinationVectorMapping = {
|
|
16175
16180
|
ArrowUp: new Vec2(0, -1),
|
|
16176
16181
|
ArrowDown: new Vec2(0, 1),
|
|
@@ -16195,7 +16200,7 @@ function moveSelectedItems(editor, key, isShiftPressed) {
|
|
|
16195
16200
|
if (isClose) {
|
|
16196
16201
|
var moveStep = isShiftPressed ? getFasterStep(destinationVectorInCanvas) : destinationVectorInCanvas;
|
|
16197
16202
|
editor.render.setViewBox(function (prev) {
|
|
16198
|
-
return _objectSpread
|
|
16203
|
+
return _objectSpread$$(_objectSpread$$({}, prev), {}, {
|
|
16199
16204
|
minX: prev.minX + moveStep.x,
|
|
16200
16205
|
minY: prev.minY + moveStep.y
|
|
16201
16206
|
});
|
|
@@ -17113,8 +17118,8 @@ function filterNotPartOfSuperatomWithoutLabel(itemsToFilter, struct) {
|
|
|
17113
17118
|
function _createForOfIteratorHelper$e(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$e(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; } } }; }
|
|
17114
17119
|
function _unsupportedIterableToArray$e(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$e(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$e(o, minLen); }
|
|
17115
17120
|
function _arrayLikeToArray$e(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; }
|
|
17116
|
-
function ownKeys$
|
|
17117
|
-
function _objectSpread$
|
|
17121
|
+
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; }
|
|
17122
|
+
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$1(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; }
|
|
17118
17123
|
var searchMaps = ['atoms', 'bonds', 'sgroups', 'functionalGroups', 'sgroupData'];
|
|
17119
17124
|
var SGroupTool = function () {
|
|
17120
17125
|
function SGroupTool(editor) {
|
|
@@ -17133,7 +17138,7 @@ var SGroupTool = function () {
|
|
|
17133
17138
|
atoms: selection.atoms,
|
|
17134
17139
|
bonds: selection.bonds
|
|
17135
17140
|
}, molecule);
|
|
17136
|
-
selection = _objectSpread$
|
|
17141
|
+
selection = _objectSpread$_(_objectSpread$_({}, selection), {}, {
|
|
17137
17142
|
atoms: filteredAtomsAndBonds.atoms,
|
|
17138
17143
|
bonds: filteredAtomsAndBonds.bonds
|
|
17139
17144
|
});
|
|
@@ -17489,7 +17494,7 @@ var SGroupTool = function () {
|
|
|
17489
17494
|
atoms: selection.atoms,
|
|
17490
17495
|
bonds: selection.bonds
|
|
17491
17496
|
}, molecule);
|
|
17492
|
-
selection = _objectSpread$
|
|
17497
|
+
selection = _objectSpread$_(_objectSpread$_({}, selection), {}, {
|
|
17493
17498
|
atoms: filteredAtomsAndBonds.atoms,
|
|
17494
17499
|
bonds: filteredAtomsAndBonds.bonds
|
|
17495
17500
|
});
|
|
@@ -18189,8 +18194,8 @@ var createCopyOfSelected = function createCopyOfSelected(editor, point) {
|
|
|
18189
18194
|
function _createForOfIteratorHelper$c(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$c(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; } } }; }
|
|
18190
18195
|
function _unsupportedIterableToArray$c(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$c(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$c(o, minLen); }
|
|
18191
18196
|
function _arrayLikeToArray$c(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; }
|
|
18192
|
-
function ownKeys$
|
|
18193
|
-
function _objectSpread$
|
|
18197
|
+
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; }
|
|
18198
|
+
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$1(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; }
|
|
18194
18199
|
function _classPrivateFieldInitSpec$1(obj, privateMap, value) { _checkPrivateRedeclaration$1(obj, privateMap); privateMap.set(obj, value); }
|
|
18195
18200
|
function _checkPrivateRedeclaration$1(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
18196
18201
|
var Direction;
|
|
@@ -18238,7 +18243,7 @@ var SelectTool = function () {
|
|
|
18238
18243
|
var molecule = ctab.molecule;
|
|
18239
18244
|
var map = getMapsForClosestItem(_classPrivateFieldGet(this, _lassoHelper).fragment || event.altKey);
|
|
18240
18245
|
var ci = this.editor.findItem(event, map, null);
|
|
18241
|
-
var selected = _objectSpread$
|
|
18246
|
+
var selected = _objectSpread$Z(_objectSpread$Z({}, (ci === null || ci === void 0 ? void 0 : ci.map) === 'atoms' && {
|
|
18242
18247
|
atoms: [ci.id]
|
|
18243
18248
|
}), (ci === null || ci === void 0 ? void 0 : ci.map) === 'bonds' && {
|
|
18244
18249
|
bonds: [ci.id]
|
|
@@ -18525,7 +18530,7 @@ var SelectTool = function () {
|
|
|
18525
18530
|
} else if (ci.map === 'texts') {
|
|
18526
18531
|
editor.selection(closestToSel(ci));
|
|
18527
18532
|
var text = molecule.texts.get(ci.id);
|
|
18528
|
-
var dialog = editor.event.elementEdit.dispatch(_objectSpread$
|
|
18533
|
+
var dialog = editor.event.elementEdit.dispatch(_objectSpread$Z(_objectSpread$Z({}, text), {}, {
|
|
18529
18534
|
type: 'text'
|
|
18530
18535
|
}));
|
|
18531
18536
|
dialog.then(function (_ref) {
|
|
@@ -18631,28 +18636,28 @@ var SelectTool = function () {
|
|
|
18631
18636
|
var render = this.editor.render;
|
|
18632
18637
|
if (closeEdges.includes(Direction.RIGHT)) {
|
|
18633
18638
|
render.setViewBox(function (prev) {
|
|
18634
|
-
return _objectSpread$
|
|
18639
|
+
return _objectSpread$Z(_objectSpread$Z({}, prev), {}, {
|
|
18635
18640
|
minX: prev.minX + MOVE_STEP
|
|
18636
18641
|
});
|
|
18637
18642
|
});
|
|
18638
18643
|
}
|
|
18639
18644
|
if (closeEdges.includes(Direction.LEFT)) {
|
|
18640
18645
|
render.setViewBox(function (prev) {
|
|
18641
|
-
return _objectSpread$
|
|
18646
|
+
return _objectSpread$Z(_objectSpread$Z({}, prev), {}, {
|
|
18642
18647
|
minX: prev.minX - MOVE_STEP
|
|
18643
18648
|
});
|
|
18644
18649
|
});
|
|
18645
18650
|
}
|
|
18646
18651
|
if (closeEdges.includes(Direction.DOWN)) {
|
|
18647
18652
|
render.setViewBox(function (prev) {
|
|
18648
|
-
return _objectSpread$
|
|
18653
|
+
return _objectSpread$Z(_objectSpread$Z({}, prev), {}, {
|
|
18649
18654
|
minY: prev.minY + MOVE_STEP
|
|
18650
18655
|
});
|
|
18651
18656
|
});
|
|
18652
18657
|
}
|
|
18653
18658
|
if (closeEdges.includes(Direction.TOP)) {
|
|
18654
18659
|
render.setViewBox(function (prev) {
|
|
18655
|
-
return _objectSpread$
|
|
18660
|
+
return _objectSpread$Z(_objectSpread$Z({}, prev), {}, {
|
|
18656
18661
|
minY: prev.minY - MOVE_STEP
|
|
18657
18662
|
});
|
|
18658
18663
|
});
|
|
@@ -18862,8 +18867,8 @@ var TemplatePreview = function () {
|
|
|
18862
18867
|
function _createForOfIteratorHelper$b(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$b(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; } } }; }
|
|
18863
18868
|
function _unsupportedIterableToArray$b(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$b(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$b(o, minLen); }
|
|
18864
18869
|
function _arrayLikeToArray$b(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; }
|
|
18865
|
-
function ownKeys$
|
|
18866
|
-
function _objectSpread$
|
|
18870
|
+
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; }
|
|
18871
|
+
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$1(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; }
|
|
18867
18872
|
function getBondFlipSign(struct, bond) {
|
|
18868
18873
|
var _struct$atoms$get, _struct$halfBonds$get;
|
|
18869
18874
|
var xy0 = new Vec2();
|
|
@@ -19026,7 +19031,7 @@ var TemplateTool = function () {
|
|
|
19026
19031
|
this.event = event;
|
|
19027
19032
|
(_this$templatePreview = this.templatePreview) === null || _this$templatePreview === void 0 || _this$templatePreview.hidePreview();
|
|
19028
19033
|
if (this.functionalGroups.size) {
|
|
19029
|
-
this.targetGroupsIds = getGroupIdsFromItemArrays(this.struct, _objectSpread$
|
|
19034
|
+
this.targetGroupsIds = getGroupIdsFromItemArrays(this.struct, _objectSpread$Y(_objectSpread$Y({}, ((_this$closestItem2 = this.closestItem) === null || _this$closestItem2 === void 0 ? void 0 : _this$closestItem2.map) === 'atoms' && {
|
|
19030
19035
|
atoms: [this.closestItem.id]
|
|
19031
19036
|
}), ((_this$closestItem3 = this.closestItem) === null || _this$closestItem3 === void 0 ? void 0 : _this$closestItem3.map) === 'bonds' && {
|
|
19032
19037
|
bonds: [this.closestItem.id]
|
|
@@ -19375,8 +19380,8 @@ function getTargetAtomId(struct, ci) {
|
|
|
19375
19380
|
}
|
|
19376
19381
|
}
|
|
19377
19382
|
|
|
19378
|
-
function ownKeys$
|
|
19379
|
-
function _objectSpread$
|
|
19383
|
+
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; }
|
|
19384
|
+
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$1(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; }
|
|
19380
19385
|
function handleHotkeyOverItem(props) {
|
|
19381
19386
|
if (props.newAction.tool === 'eraser') {
|
|
19382
19387
|
handleEraser(props);
|
|
@@ -19600,7 +19605,7 @@ function handleAtomTool(_ref10) {
|
|
|
19600
19605
|
var hoveredItemId = _ref10.hoveredItemId,
|
|
19601
19606
|
newAction = _ref10.newAction,
|
|
19602
19607
|
editor = _ref10.editor;
|
|
19603
|
-
var atomProps = _objectSpread$
|
|
19608
|
+
var atomProps = _objectSpread$X({}, newAction.opts);
|
|
19604
19609
|
var updatedAtoms = fromAtomsAttrs(editor.render.ctab, hoveredItemId, atomProps, true);
|
|
19605
19610
|
editor.update(updatedAtoms);
|
|
19606
19611
|
}
|
|
@@ -19608,7 +19613,7 @@ function handleSgroupsTool(_ref11) {
|
|
|
19608
19613
|
var hoveredItemId = _ref11.hoveredItemId,
|
|
19609
19614
|
newAction = _ref11.newAction,
|
|
19610
19615
|
editor = _ref11.editor;
|
|
19611
|
-
var atomProps = _objectSpread$
|
|
19616
|
+
var atomProps = _objectSpread$X({}, newAction.opts);
|
|
19612
19617
|
var action = new Action();
|
|
19613
19618
|
var ctab = editor.render.ctab;
|
|
19614
19619
|
var sGroup = ctab.molecule.sgroups.get(hoveredItemId);
|
|
@@ -19885,7 +19890,7 @@ function checkGroupOnTool(group, actionTool) {
|
|
|
19885
19890
|
return index;
|
|
19886
19891
|
}
|
|
19887
19892
|
var rxnTextPlain = /\$RXN\n+\s+0\s+0\s+0\n*/;
|
|
19888
|
-
function initClipboard(dispatch) {
|
|
19893
|
+
function initClipboard(dispatch, getState) {
|
|
19889
19894
|
var formats = Object.keys(formatProperties).map(function (format) {
|
|
19890
19895
|
return formatProperties[format].mime;
|
|
19891
19896
|
});
|
|
@@ -19898,11 +19903,11 @@ function initClipboard(dispatch) {
|
|
|
19898
19903
|
return {
|
|
19899
19904
|
formats: formats,
|
|
19900
19905
|
focused: function focused() {
|
|
19901
|
-
var state =
|
|
19906
|
+
var state = getState();
|
|
19902
19907
|
return !state.modal;
|
|
19903
19908
|
},
|
|
19904
19909
|
onLegacyCut: function onLegacyCut() {
|
|
19905
|
-
var state =
|
|
19910
|
+
var state = getState();
|
|
19906
19911
|
var editor = state.editor;
|
|
19907
19912
|
var data = legacyClipData(editor);
|
|
19908
19913
|
if (data) debAction({
|
|
@@ -19913,38 +19918,38 @@ function initClipboard(dispatch) {
|
|
|
19913
19918
|
},
|
|
19914
19919
|
onCut: function onCut() {
|
|
19915
19920
|
return _asyncToGenerator( _regeneratorRuntime.mark(function _callee2() {
|
|
19916
|
-
var ketcherInstance, result;
|
|
19921
|
+
var state, ketcherInstance, result;
|
|
19917
19922
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
19918
19923
|
while (1) switch (_context2.prev = _context2.next) {
|
|
19919
19924
|
case 0:
|
|
19920
|
-
|
|
19921
|
-
|
|
19925
|
+
state = getState();
|
|
19926
|
+
ketcherInstance = ketcherProvider.getKetcher(state.editor.ketcherId);
|
|
19927
|
+
_context2.next = 4;
|
|
19922
19928
|
return runAsyncAction( _asyncToGenerator( _regeneratorRuntime.mark(function _callee() {
|
|
19923
|
-
var
|
|
19929
|
+
var editor, data;
|
|
19924
19930
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
19925
19931
|
while (1) switch (_context.prev = _context.next) {
|
|
19926
19932
|
case 0:
|
|
19927
|
-
|
|
19928
|
-
|
|
19929
|
-
_context.next = 4;
|
|
19933
|
+
editor = getState().editor;
|
|
19934
|
+
_context.next = 3;
|
|
19930
19935
|
return clipData(editor);
|
|
19931
|
-
case
|
|
19936
|
+
case 3:
|
|
19932
19937
|
data = _context.sent;
|
|
19933
19938
|
if (data) debAction({
|
|
19934
19939
|
tool: 'eraser',
|
|
19935
19940
|
opts: 1
|
|
19936
19941
|
});else editor.selection(null);
|
|
19937
19942
|
return _context.abrupt("return", data);
|
|
19938
|
-
case
|
|
19943
|
+
case 6:
|
|
19939
19944
|
case "end":
|
|
19940
19945
|
return _context.stop();
|
|
19941
19946
|
}
|
|
19942
19947
|
}, _callee);
|
|
19943
19948
|
})), ketcherInstance.eventBus);
|
|
19944
|
-
case
|
|
19949
|
+
case 4:
|
|
19945
19950
|
result = _context2.sent;
|
|
19946
19951
|
return _context2.abrupt("return", result);
|
|
19947
|
-
case
|
|
19952
|
+
case 6:
|
|
19948
19953
|
case "end":
|
|
19949
19954
|
return _context2.stop();
|
|
19950
19955
|
}
|
|
@@ -19953,35 +19958,35 @@ function initClipboard(dispatch) {
|
|
|
19953
19958
|
},
|
|
19954
19959
|
onCopy: function onCopy() {
|
|
19955
19960
|
return _asyncToGenerator( _regeneratorRuntime.mark(function _callee4() {
|
|
19956
|
-
var ketcherInstance, result;
|
|
19961
|
+
var state, ketcherInstance, result;
|
|
19957
19962
|
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
19958
19963
|
while (1) switch (_context4.prev = _context4.next) {
|
|
19959
19964
|
case 0:
|
|
19960
|
-
|
|
19961
|
-
|
|
19965
|
+
state = getState();
|
|
19966
|
+
ketcherInstance = ketcherProvider.getKetcher(state.editor.ketcherId);
|
|
19967
|
+
_context4.next = 4;
|
|
19962
19968
|
return runAsyncAction( _asyncToGenerator( _regeneratorRuntime.mark(function _callee3() {
|
|
19963
|
-
var
|
|
19969
|
+
var editor, data;
|
|
19964
19970
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
19965
19971
|
while (1) switch (_context3.prev = _context3.next) {
|
|
19966
19972
|
case 0:
|
|
19967
|
-
|
|
19968
|
-
|
|
19969
|
-
_context3.next = 4;
|
|
19973
|
+
editor = getState().editor;
|
|
19974
|
+
_context3.next = 3;
|
|
19970
19975
|
return clipData(editor);
|
|
19971
|
-
case
|
|
19976
|
+
case 3:
|
|
19972
19977
|
data = _context3.sent;
|
|
19973
19978
|
editor.selection(null);
|
|
19974
19979
|
return _context3.abrupt("return", data);
|
|
19975
|
-
case
|
|
19980
|
+
case 6:
|
|
19976
19981
|
case "end":
|
|
19977
19982
|
return _context3.stop();
|
|
19978
19983
|
}
|
|
19979
19984
|
}, _callee3);
|
|
19980
19985
|
})), ketcherInstance.eventBus);
|
|
19981
|
-
case
|
|
19986
|
+
case 4:
|
|
19982
19987
|
result = _context4.sent;
|
|
19983
19988
|
return _context4.abrupt("return", result);
|
|
19984
|
-
case
|
|
19989
|
+
case 6:
|
|
19985
19990
|
case "end":
|
|
19986
19991
|
return _context4.stop();
|
|
19987
19992
|
}
|
|
@@ -19990,12 +19995,13 @@ function initClipboard(dispatch) {
|
|
|
19990
19995
|
},
|
|
19991
19996
|
onPaste: function onPaste(data, isSmarts) {
|
|
19992
19997
|
return _asyncToGenerator( _regeneratorRuntime.mark(function _callee6() {
|
|
19993
|
-
var ketcherInstance, result;
|
|
19998
|
+
var state, ketcherInstance, result;
|
|
19994
19999
|
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
19995
20000
|
while (1) switch (_context6.prev = _context6.next) {
|
|
19996
20001
|
case 0:
|
|
19997
|
-
|
|
19998
|
-
|
|
20002
|
+
state = getState();
|
|
20003
|
+
ketcherInstance = ketcherProvider.getKetcher(state.editor.ketcherId);
|
|
20004
|
+
_context6.next = 4;
|
|
19999
20005
|
return runAsyncAction( _asyncToGenerator( _regeneratorRuntime.mark(function _callee5() {
|
|
20000
20006
|
var structStr;
|
|
20001
20007
|
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
@@ -20025,10 +20031,10 @@ function initClipboard(dispatch) {
|
|
|
20025
20031
|
}
|
|
20026
20032
|
}, _callee5);
|
|
20027
20033
|
})), ketcherInstance.eventBus);
|
|
20028
|
-
case
|
|
20034
|
+
case 4:
|
|
20029
20035
|
result = _context6.sent;
|
|
20030
20036
|
return _context6.abrupt("return", result);
|
|
20031
|
-
case
|
|
20037
|
+
case 6:
|
|
20032
20038
|
case "end":
|
|
20033
20039
|
return _context6.stop();
|
|
20034
20040
|
}
|
|
@@ -20088,9 +20094,9 @@ function _clipData() {
|
|
|
20088
20094
|
_context7.prev = 5;
|
|
20089
20095
|
serializer = new KetSerializer();
|
|
20090
20096
|
ket = serializer.serialize(struct);
|
|
20091
|
-
ketcherInstance = ketcherProvider.getKetcher();
|
|
20097
|
+
ketcherInstance = ketcherProvider.getKetcher(editor.ketcherId);
|
|
20092
20098
|
_context7.next = 11;
|
|
20093
|
-
return getStructure(SupportedFormat.molAuto, ketcherInstance.formatterFactory, struct);
|
|
20099
|
+
return getStructure(editor.ketcherId, SupportedFormat.molAuto, ketcherInstance.formatterFactory, struct);
|
|
20094
20100
|
case 11:
|
|
20095
20101
|
data = _context7.sent;
|
|
20096
20102
|
res[ChemicalMimeType.KET] = ket;
|
|
@@ -20190,8 +20196,8 @@ var LoadingCircles = function LoadingCircles() {
|
|
|
20190
20196
|
});
|
|
20191
20197
|
};
|
|
20192
20198
|
|
|
20193
|
-
function ownKeys$
|
|
20194
|
-
function _objectSpread$
|
|
20199
|
+
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; }
|
|
20200
|
+
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$1(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; }
|
|
20195
20201
|
function _createForOfIteratorHelper$a(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$a(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; } } }; }
|
|
20196
20202
|
function _unsupportedIterableToArray$a(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$a(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$a(o, minLen); }
|
|
20197
20203
|
function _arrayLikeToArray$a(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; }
|
|
@@ -20583,7 +20589,7 @@ function findClosestItem(restruct, pos, maps, skip, options) {
|
|
|
20583
20589
|
var minDist = res ? res.dist : null;
|
|
20584
20590
|
var item = findMaps[mp](restruct, pos, skip, minDist, options);
|
|
20585
20591
|
if (item !== null) {
|
|
20586
|
-
var enrichedItem = _objectSpread$
|
|
20592
|
+
var enrichedItem = _objectSpread$W({
|
|
20587
20593
|
map: mp
|
|
20588
20594
|
}, item);
|
|
20589
20595
|
if (mp === 'sgroupData') {
|
|
@@ -21950,8 +21956,8 @@ var EraserTool = function () {
|
|
|
21950
21956
|
return EraserTool;
|
|
21951
21957
|
}();
|
|
21952
21958
|
|
|
21953
|
-
function ownKeys$
|
|
21954
|
-
function _objectSpread$
|
|
21959
|
+
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; }
|
|
21960
|
+
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$1(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; }
|
|
21955
21961
|
var HandTool = function () {
|
|
21956
21962
|
function HandTool(editor) {
|
|
21957
21963
|
_classCallCheck$2(this, HandTool);
|
|
@@ -21996,7 +22002,7 @@ var HandTool = function () {
|
|
|
21996
22002
|
var diff = Vec2.diff(this.endPos, this.begPos).scaled(1 / rnd.options.zoom);
|
|
21997
22003
|
this.begPos = this.endPos;
|
|
21998
22004
|
rnd.setViewBox(function (prev) {
|
|
21999
|
-
return _objectSpread$
|
|
22005
|
+
return _objectSpread$V(_objectSpread$V({}, prev), {}, {
|
|
22000
22006
|
minX: prev.minX - diff.x,
|
|
22001
22007
|
minY: prev.minY - diff.y
|
|
22002
22008
|
});
|
|
@@ -22039,8 +22045,8 @@ var HandTool = function () {
|
|
|
22039
22045
|
return HandTool;
|
|
22040
22046
|
}();
|
|
22041
22047
|
|
|
22042
|
-
function ownKeys$
|
|
22043
|
-
function _objectSpread$
|
|
22048
|
+
function ownKeys$U(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; }
|
|
22049
|
+
function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22044
22050
|
var isMovePreviewCalculationInProgress = false;
|
|
22045
22051
|
var debouncedSetAndHoverMergeItems = debounce$1(function (editor, pasteItems, pasteToolInstance) {
|
|
22046
22052
|
var needResetTool = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
@@ -22173,7 +22179,7 @@ var PasteTool = function () {
|
|
|
22173
22179
|
}, {
|
|
22174
22180
|
key: "mouseup",
|
|
22175
22181
|
value: function mouseup() {
|
|
22176
|
-
var idsOfItemsMerged = this.mergeItems && _objectSpread$
|
|
22182
|
+
var idsOfItemsMerged = this.mergeItems && _objectSpread$U(_objectSpread$U({}, this.mergeItems.atoms && {
|
|
22177
22183
|
atoms: Array.from(this.mergeItems.atoms.values())
|
|
22178
22184
|
}), this.mergeItems.bonds && {
|
|
22179
22185
|
bonds: Array.from(this.mergeItems.bonds.values())
|
|
@@ -22200,6 +22206,7 @@ var PasteTool = function () {
|
|
|
22200
22206
|
if (!this.isSingleContractedGroup || !this.mergeItems) {
|
|
22201
22207
|
dropAndMerge(this.editor, this.mergeItems, action);
|
|
22202
22208
|
}
|
|
22209
|
+
this.editor.tool('select');
|
|
22203
22210
|
}
|
|
22204
22211
|
}
|
|
22205
22212
|
}, {
|
|
@@ -22470,8 +22477,8 @@ var RGroupFragmentTool = function () {
|
|
|
22470
22477
|
return RGroupFragmentTool;
|
|
22471
22478
|
}();
|
|
22472
22479
|
|
|
22473
|
-
function ownKeys$
|
|
22474
|
-
function _objectSpread$
|
|
22480
|
+
function ownKeys$T(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; }
|
|
22481
|
+
function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22475
22482
|
var ReactionArrowAddTool = function () {
|
|
22476
22483
|
function ReactionArrowAddTool(editor, mode) {
|
|
22477
22484
|
_classCallCheck$2(this, ReactionArrowAddTool);
|
|
@@ -22506,7 +22513,7 @@ var ReactionArrowAddTool = function () {
|
|
|
22506
22513
|
var diff = current.sub(this.dragCtx.p0);
|
|
22507
22514
|
if (!this.dragCtx.action) {
|
|
22508
22515
|
var action = fromArrowAddition(this.reStruct, [this.dragCtx.p0, this.dragCtx.p0], this.mode);
|
|
22509
|
-
this.dragCtx = _objectSpread$
|
|
22516
|
+
this.dragCtx = _objectSpread$T(_objectSpread$T({}, this.dragCtx), {}, {
|
|
22510
22517
|
itemId: action.operations[0].data.id,
|
|
22511
22518
|
action: action
|
|
22512
22519
|
});
|
|
@@ -22550,7 +22557,7 @@ var ReactionArrowAddTool = function () {
|
|
|
22550
22557
|
p1 = _item$pos[1];
|
|
22551
22558
|
p1 = this.getArrowWithMinimalLengthEnd(p0, p1);
|
|
22552
22559
|
this.editor.update(fromArrowDeletion(this.reStruct, dragContext.itemId), true);
|
|
22553
|
-
return _objectSpread$
|
|
22560
|
+
return _objectSpread$T(_objectSpread$T({}, dragContext), {}, {
|
|
22554
22561
|
action: fromArrowAddition(this.reStruct, [p0, p1], this.mode)
|
|
22555
22562
|
});
|
|
22556
22563
|
}
|
|
@@ -22929,8 +22936,8 @@ function normalizeAngle(angle) {
|
|
|
22929
22936
|
return angleWithinFullCircle;
|
|
22930
22937
|
}
|
|
22931
22938
|
|
|
22932
|
-
function ownKeys$
|
|
22933
|
-
function _objectSpread$
|
|
22939
|
+
function ownKeys$S(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; }
|
|
22940
|
+
function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22934
22941
|
var SNAP_ANGLES_RELATIVE_TO_FIXED_BOND = [Math.PI / 2, -Math.PI / 2, 2 * Math.PI / 3, -(2 * Math.PI) / 3, Math.PI];
|
|
22935
22942
|
var MAX_SNAP_DELTA = Math.PI / 18;
|
|
22936
22943
|
var ANGLE_INDICATOR_VISIBLE_DELTA = Math.PI / 9;
|
|
@@ -23007,7 +23014,7 @@ var RotateTool = function () {
|
|
|
23007
23014
|
get: function get() {
|
|
23008
23015
|
var _this$snapInfo;
|
|
23009
23016
|
if ((_this$snapInfo = this.snapInfo) !== null && _this$snapInfo !== void 0 && _this$snapInfo.snapAngleDrawingProps) {
|
|
23010
|
-
return _objectSpread$
|
|
23017
|
+
return _objectSpread$S({
|
|
23011
23018
|
snapMode: this.snapInfo.snapMode
|
|
23012
23019
|
}, this.snapInfo.snapAngleDrawingProps);
|
|
23013
23020
|
}
|
|
@@ -24545,8 +24552,8 @@ var RotateController = function () {
|
|
|
24545
24552
|
return RotateController;
|
|
24546
24553
|
}();
|
|
24547
24554
|
|
|
24548
|
-
function ownKeys$
|
|
24549
|
-
function _objectSpread$
|
|
24555
|
+
function ownKeys$R(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; }
|
|
24556
|
+
function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24550
24557
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
24551
24558
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
24552
24559
|
var SCALE = provideEditorSettings().microModeScale;
|
|
@@ -24578,7 +24585,7 @@ function selectStereoFlagsIfNecessary(atoms, explicitlySelectedAtoms) {
|
|
|
24578
24585
|
}
|
|
24579
24586
|
var _origin = new WeakMap();
|
|
24580
24587
|
var Editor$3 = function () {
|
|
24581
|
-
function Editor(clientArea, options, serverSettings) {
|
|
24588
|
+
function Editor(ketcherId, clientArea, options, serverSettings, prevEditor) {
|
|
24582
24589
|
_classCallCheck$2(this, Editor);
|
|
24583
24590
|
_classPrivateFieldInitSpec(this, _origin, {
|
|
24584
24591
|
writable: true,
|
|
@@ -24587,7 +24594,8 @@ var Editor$3 = function () {
|
|
|
24587
24594
|
_defineProperty$1(this, "serverSettings", {});
|
|
24588
24595
|
this.render = new Render(clientArea, Object.assign({
|
|
24589
24596
|
microModeScale: SCALE
|
|
24590
|
-
}, options), options.reuseRestructIfExist !== false);
|
|
24597
|
+
}, options), prevEditor === null || prevEditor === void 0 ? void 0 : prevEditor.render, options.reuseRestructIfExist !== false);
|
|
24598
|
+
this.ketcherId = ketcherId;
|
|
24591
24599
|
this._selection = null;
|
|
24592
24600
|
this._tool = null;
|
|
24593
24601
|
this.historyStack = [];
|
|
@@ -24730,7 +24738,7 @@ var Editor$3 = function () {
|
|
|
24730
24738
|
key: "setOptions",
|
|
24731
24739
|
value: function setOptions(opts) {
|
|
24732
24740
|
var options = JSON.parse(opts);
|
|
24733
|
-
this.event.apiSettings.dispatch(_objectSpread$
|
|
24741
|
+
this.event.apiSettings.dispatch(_objectSpread$R({}, options));
|
|
24734
24742
|
var wasViewOnlyEnabled = !!this.render.options.viewOnlyMode;
|
|
24735
24743
|
var result = this.render.updateOptions(opts);
|
|
24736
24744
|
this.updateToolAfterOptionsChange(wasViewOnlyEnabled);
|
|
@@ -24768,7 +24776,7 @@ var Editor$3 = function () {
|
|
|
24768
24776
|
if (!wasViewOnlyEnabled && isViewOnlyEnabled === true || wasViewOnlyEnabled && isViewOnlyEnabled === false) {
|
|
24769
24777
|
this.tool('select');
|
|
24770
24778
|
this.event.change.dispatch('force');
|
|
24771
|
-
ketcherProvider.getKetcher().changeEvent.dispatch('force');
|
|
24779
|
+
ketcherProvider.getKetcher(this.ketcherId).changeEvent.dispatch('force');
|
|
24772
24780
|
}
|
|
24773
24781
|
}
|
|
24774
24782
|
}, {
|
|
@@ -24802,7 +24810,7 @@ var Editor$3 = function () {
|
|
|
24802
24810
|
var structBbox = struct.getCoordBoundingBox();
|
|
24803
24811
|
var newScrollCoordinates = Coordinates.modelToCanvas(isFitMinZoom ? new Vec2(structBbox.min.x + (structBbox.max.x - structBbox.min.x) / 2, structBbox.min.y + (structBbox.max.y - structBbox.min.y) / 2) : new Vec2(structBbox.min.x, structBbox.min.y)).sub(new Vec2(this.render.viewBox.width / 2, this.render.viewBox.height / 2));
|
|
24804
24812
|
this.render.setViewBox(function (viewBox) {
|
|
24805
|
-
return _objectSpread$
|
|
24813
|
+
return _objectSpread$R(_objectSpread$R({}, viewBox), {}, {
|
|
24806
24814
|
minX: newScrollCoordinates.x,
|
|
24807
24815
|
minY: newScrollCoordinates.y
|
|
24808
24816
|
});
|
|
@@ -24925,7 +24933,7 @@ var Editor$3 = function () {
|
|
|
24925
24933
|
}
|
|
24926
24934
|
this.historyPtr = this.historyStack.length;
|
|
24927
24935
|
this.event.change.dispatch(action);
|
|
24928
|
-
ketcherProvider.getKetcher().changeEvent.dispatch(action);
|
|
24936
|
+
ketcherProvider.getKetcher(this.ketcherId).changeEvent.dispatch(action);
|
|
24929
24937
|
}
|
|
24930
24938
|
this.render.update(false, null);
|
|
24931
24939
|
}
|
|
@@ -24942,7 +24950,7 @@ var Editor$3 = function () {
|
|
|
24942
24950
|
key: "undo",
|
|
24943
24951
|
value: function undo() {
|
|
24944
24952
|
KetcherLogger.log('Editor.undo(), start, ', this.historyPtr, this.historyStack);
|
|
24945
|
-
var ketcherChangeEvent = ketcherProvider.getKetcher().changeEvent;
|
|
24953
|
+
var ketcherChangeEvent = ketcherProvider.getKetcher(this.ketcherId).changeEvent;
|
|
24946
24954
|
if (this.historyPtr === 0) {
|
|
24947
24955
|
throw new Error('Undo stack is empty');
|
|
24948
24956
|
}
|
|
@@ -24968,7 +24976,7 @@ var Editor$3 = function () {
|
|
|
24968
24976
|
key: "redo",
|
|
24969
24977
|
value: function redo() {
|
|
24970
24978
|
KetcherLogger.log('Editor.redo(), start, ', this.historyPtr, this.historyStack);
|
|
24971
|
-
var ketcherChangeEvent = ketcherProvider.getKetcher().changeEvent;
|
|
24979
|
+
var ketcherChangeEvent = ketcherProvider.getKetcher(this.ketcherId).changeEvent;
|
|
24972
24980
|
if (this.historyPtr === this.historyStack.length) {
|
|
24973
24981
|
throw new Error('Redo stack is empty');
|
|
24974
24982
|
}
|
|
@@ -25013,7 +25021,7 @@ var Editor$3 = function () {
|
|
|
25013
25021
|
return customOnChangeHandler(action, handler);
|
|
25014
25022
|
};
|
|
25015
25023
|
subscriber.handler = subscribeFuncWrapper;
|
|
25016
|
-
ketcherProvider.getKetcher().changeEvent.add(subscribeFuncWrapper);
|
|
25024
|
+
ketcherProvider.getKetcher(this.ketcherId).changeEvent.add(subscribeFuncWrapper);
|
|
25017
25025
|
break;
|
|
25018
25026
|
}
|
|
25019
25027
|
default:
|
|
@@ -25272,7 +25280,7 @@ var ContextMenuTriggerType;
|
|
|
25272
25280
|
|
|
25273
25281
|
var useAtomEdit = function useAtomEdit() {
|
|
25274
25282
|
var _useAppContext = useAppContext(),
|
|
25275
|
-
|
|
25283
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25276
25284
|
var handler = useCallback( function () {
|
|
25277
25285
|
var _ref2 = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
25278
25286
|
var props, editor, molecule, atomIds, atoms, newAtom;
|
|
@@ -25280,7 +25288,7 @@ var useAtomEdit = function useAtomEdit() {
|
|
|
25280
25288
|
while (1) switch (_context.prev = _context.next) {
|
|
25281
25289
|
case 0:
|
|
25282
25290
|
props = _ref.props;
|
|
25283
|
-
editor =
|
|
25291
|
+
editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25284
25292
|
molecule = editor.render.ctab;
|
|
25285
25293
|
atomIds = (props === null || props === void 0 ? void 0 : props.atomIds) || [];
|
|
25286
25294
|
atoms = mapAtomIdsToAtoms(atomIds, molecule);
|
|
@@ -25299,7 +25307,7 @@ var useAtomEdit = function useAtomEdit() {
|
|
|
25299
25307
|
return function (_x) {
|
|
25300
25308
|
return _ref2.apply(this, arguments);
|
|
25301
25309
|
};
|
|
25302
|
-
}(), [
|
|
25310
|
+
}(), [ketcherId]);
|
|
25303
25311
|
var disabled = useCallback(function (_ref3) {
|
|
25304
25312
|
var props = _ref3.props;
|
|
25305
25313
|
var atomIds = props === null || props === void 0 ? void 0 : props.atomIds;
|
|
@@ -25335,7 +25343,7 @@ function onlyHasProperty(checkedObject, key) {
|
|
|
25335
25343
|
|
|
25336
25344
|
var useAtomStereo = function useAtomStereo() {
|
|
25337
25345
|
var _useAppContext = useAppContext(),
|
|
25338
|
-
|
|
25346
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25339
25347
|
var stereoAtomIdsRef = useRef();
|
|
25340
25348
|
var handler = useCallback( function () {
|
|
25341
25349
|
var _ref2 = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
@@ -25350,7 +25358,7 @@ var useAtomStereo = function useAtomStereo() {
|
|
|
25350
25358
|
}
|
|
25351
25359
|
return _context.abrupt("return");
|
|
25352
25360
|
case 3:
|
|
25353
|
-
editor =
|
|
25361
|
+
editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25354
25362
|
_context.prev = 4;
|
|
25355
25363
|
_context.next = 7;
|
|
25356
25364
|
return EnhancedStereoTool.changeAtomsStereoAction(editor, stereoAtomIdsRef.current);
|
|
@@ -25372,23 +25380,23 @@ var useAtomStereo = function useAtomStereo() {
|
|
|
25372
25380
|
return function (_x) {
|
|
25373
25381
|
return _ref2.apply(this, arguments);
|
|
25374
25382
|
};
|
|
25375
|
-
}(), [
|
|
25383
|
+
}(), [ketcherId]);
|
|
25376
25384
|
var disabled = useCallback(function (_ref3) {
|
|
25377
25385
|
var props = _ref3.props;
|
|
25378
|
-
var editor =
|
|
25386
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25379
25387
|
var stereoAtomIds = findStereoAtoms(editor.struct(), props === null || props === void 0 ? void 0 : props.atomIds);
|
|
25380
25388
|
stereoAtomIdsRef.current = stereoAtomIds;
|
|
25381
25389
|
if (Array.isArray(stereoAtomIds) && stereoAtomIds.length !== 0) {
|
|
25382
25390
|
return false;
|
|
25383
25391
|
}
|
|
25384
25392
|
return true;
|
|
25385
|
-
}, [
|
|
25393
|
+
}, [ketcherId]);
|
|
25386
25394
|
return [handler, disabled];
|
|
25387
25395
|
};
|
|
25388
25396
|
|
|
25389
25397
|
var useDelete$1 = function useDelete() {
|
|
25390
25398
|
var _useAppContext = useAppContext(),
|
|
25391
|
-
|
|
25399
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25392
25400
|
var handler = useCallback( function () {
|
|
25393
25401
|
var _ref2 = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
25394
25402
|
var props, editor, molecule, itemsToDelete, action;
|
|
@@ -25396,7 +25404,7 @@ var useDelete$1 = function useDelete() {
|
|
|
25396
25404
|
while (1) switch (_context.prev = _context.next) {
|
|
25397
25405
|
case 0:
|
|
25398
25406
|
props = _ref.props;
|
|
25399
|
-
editor =
|
|
25407
|
+
editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25400
25408
|
molecule = editor.render.ctab;
|
|
25401
25409
|
itemsToDelete = editor.selection() || {
|
|
25402
25410
|
bonds: props === null || props === void 0 ? void 0 : props.bondIds,
|
|
@@ -25415,7 +25423,7 @@ var useDelete$1 = function useDelete() {
|
|
|
25415
25423
|
return function (_x) {
|
|
25416
25424
|
return _ref2.apply(this, arguments);
|
|
25417
25425
|
};
|
|
25418
|
-
}(), [
|
|
25426
|
+
}(), [ketcherId]);
|
|
25419
25427
|
return handler;
|
|
25420
25428
|
};
|
|
25421
25429
|
|
|
@@ -25464,7 +25472,7 @@ function ButtonGroup(_ref) {
|
|
|
25464
25472
|
|
|
25465
25473
|
var useAddAttachmentPoint = function useAddAttachmentPoint() {
|
|
25466
25474
|
var _useAppContext = useAppContext(),
|
|
25467
|
-
|
|
25475
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25468
25476
|
var handler = useCallback( function () {
|
|
25469
25477
|
var _ref2 = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
25470
25478
|
var _props$atomIds;
|
|
@@ -25473,7 +25481,7 @@ var useAddAttachmentPoint = function useAddAttachmentPoint() {
|
|
|
25473
25481
|
while (1) switch (_context.prev = _context.next) {
|
|
25474
25482
|
case 0:
|
|
25475
25483
|
props = _ref.props;
|
|
25476
|
-
editor =
|
|
25484
|
+
editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25477
25485
|
restruct = editor.render.ctab;
|
|
25478
25486
|
struct = editor.struct();
|
|
25479
25487
|
atomId = props === null || props === void 0 || (_props$atomIds = props.atomIds) === null || _props$atomIds === void 0 ? void 0 : _props$atomIds[0];
|
|
@@ -25549,13 +25557,13 @@ var useAddAttachmentPoint = function useAddAttachmentPoint() {
|
|
|
25549
25557
|
return function (_x) {
|
|
25550
25558
|
return _ref2.apply(this, arguments);
|
|
25551
25559
|
};
|
|
25552
|
-
}(), [
|
|
25560
|
+
}(), [ketcherId]);
|
|
25553
25561
|
return [handler];
|
|
25554
25562
|
};
|
|
25555
25563
|
|
|
25556
25564
|
var useRemoveAttachmentPoint = function useRemoveAttachmentPoint() {
|
|
25557
25565
|
var _useAppContext = useAppContext(),
|
|
25558
|
-
|
|
25566
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25559
25567
|
var handler = useCallback( function () {
|
|
25560
25568
|
var _ref2 = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
25561
25569
|
var _props$atomIds;
|
|
@@ -25564,7 +25572,7 @@ var useRemoveAttachmentPoint = function useRemoveAttachmentPoint() {
|
|
|
25564
25572
|
while (1) switch (_context.prev = _context.next) {
|
|
25565
25573
|
case 0:
|
|
25566
25574
|
props = _ref.props;
|
|
25567
|
-
editor =
|
|
25575
|
+
editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25568
25576
|
restruct = editor.render.ctab;
|
|
25569
25577
|
struct = editor.struct();
|
|
25570
25578
|
atomId = props === null || props === void 0 || (_props$atomIds = props.atomIds) === null || _props$atomIds === void 0 ? void 0 : _props$atomIds[0];
|
|
@@ -25596,7 +25604,7 @@ var useRemoveAttachmentPoint = function useRemoveAttachmentPoint() {
|
|
|
25596
25604
|
return function (_x) {
|
|
25597
25605
|
return _ref2.apply(this, arguments);
|
|
25598
25606
|
};
|
|
25599
|
-
}(), [
|
|
25607
|
+
}(), [ketcherId]);
|
|
25600
25608
|
return [handler];
|
|
25601
25609
|
};
|
|
25602
25610
|
|
|
@@ -25673,8 +25681,8 @@ var HighlightMenu = function HighlightMenu(_ref) {
|
|
|
25673
25681
|
function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(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; } } }; }
|
|
25674
25682
|
function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(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$1(o, minLen); }
|
|
25675
25683
|
function _arrayLikeToArray$1(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; }
|
|
25676
|
-
function ownKeys$
|
|
25677
|
-
function _objectSpread$
|
|
25684
|
+
function ownKeys$Q(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; }
|
|
25685
|
+
function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25678
25686
|
var _atom$properties = atom.properties,
|
|
25679
25687
|
ringBondCount = _atom$properties.ringBondCount,
|
|
25680
25688
|
hCount = _atom$properties.hCount,
|
|
@@ -25757,8 +25765,9 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
25757
25765
|
stereoDisabled = _useAtomStereo2[1];
|
|
25758
25766
|
var handleDelete = useDelete$1();
|
|
25759
25767
|
var _useAppContext = useAppContext(),
|
|
25760
|
-
|
|
25761
|
-
var
|
|
25768
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25769
|
+
var ketcher = ketcherProvider.getKetcher(ketcherId);
|
|
25770
|
+
var editor = ketcher.editor;
|
|
25762
25771
|
var struct = editor.struct();
|
|
25763
25772
|
var getPropertyValue = function getPropertyValue(key) {
|
|
25764
25773
|
var _props$propsFromTrigg;
|
|
@@ -25782,7 +25791,7 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
25782
25791
|
atoms: atomIds,
|
|
25783
25792
|
editor: editor,
|
|
25784
25793
|
changeAtomPromise: Promise.resolve(properties.includes(key) ? {
|
|
25785
|
-
queryProperties: _objectSpread$
|
|
25794
|
+
queryProperties: _objectSpread$Q(_objectSpread$Q({}, getPropertyValue('queryProperties')), {}, _defineProperty$1({}, key, value))
|
|
25786
25795
|
} : _defineProperty$1({}, key, value))
|
|
25787
25796
|
});
|
|
25788
25797
|
}
|
|
@@ -25835,21 +25844,21 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
25835
25844
|
return jsxs(Fragment, {
|
|
25836
25845
|
children: [jsx(HighlightMenu, {
|
|
25837
25846
|
onHighlight: highlightAtomWithColor
|
|
25838
|
-
}), jsx(Item, _objectSpread$
|
|
25847
|
+
}), jsx(Item, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25839
25848
|
onClick: handleDelete,
|
|
25840
25849
|
children: "Delete"
|
|
25841
25850
|
}))]
|
|
25842
25851
|
});
|
|
25843
25852
|
}
|
|
25844
25853
|
return jsxs(Fragment, {
|
|
25845
|
-
children: [jsx(Item, _objectSpread$
|
|
25854
|
+
children: [jsx(Item, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25846
25855
|
onClick: handleEdit,
|
|
25847
25856
|
children: (_props$propsFromTrigg7 = props.propsFromTrigger) !== null && _props$propsFromTrigg7 !== void 0 && _props$propsFromTrigg7.extraItemsSelected ? 'Edit selected atoms...' : 'Edit...'
|
|
25848
|
-
})), jsx(Item, _objectSpread$
|
|
25857
|
+
})), jsx(Item, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25849
25858
|
disabled: stereoDisabled,
|
|
25850
25859
|
onClick: handleStereo,
|
|
25851
25860
|
children: "Enhanced stereochemistry..."
|
|
25852
|
-
})), jsx(Submenu, _objectSpread$
|
|
25861
|
+
})), jsx(Submenu, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25853
25862
|
label: "Query properties",
|
|
25854
25863
|
style: {
|
|
25855
25864
|
overflow: 'visible'
|
|
@@ -25858,7 +25867,7 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
25858
25867
|
var title = _ref2.title,
|
|
25859
25868
|
buttons = _ref2.buttons,
|
|
25860
25869
|
key = _ref2.key;
|
|
25861
|
-
return createElement(Submenu, _objectSpread$
|
|
25870
|
+
return createElement(Submenu, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25862
25871
|
label: title,
|
|
25863
25872
|
key: key,
|
|
25864
25873
|
className: styles$f.sameGroup
|
|
@@ -25870,16 +25879,16 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
25870
25879
|
}
|
|
25871
25880
|
}));
|
|
25872
25881
|
})
|
|
25873
|
-
})), onlyOneAtomSelected && !atomInSgroupWithLabel && !maxAttachmentPointsAmount && !isAtomSuperatomLeavingGroup && jsx(Item, _objectSpread$
|
|
25882
|
+
})), onlyOneAtomSelected && !atomInSgroupWithLabel && !maxAttachmentPointsAmount && !isAtomSuperatomLeavingGroup && jsx(Item, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25874
25883
|
onClick: handleAddAttachmentPoint,
|
|
25875
25884
|
disabled: isAddAttachmentPointDisabled,
|
|
25876
25885
|
children: "Add attachment point"
|
|
25877
25886
|
})), jsx(HighlightMenu, {
|
|
25878
25887
|
onHighlight: highlightAtomWithColor
|
|
25879
|
-
}), isAtomSuperatomAttachmentPoint && atomFreeAttachmentPoints.length > 0 && jsx(Item, _objectSpread$
|
|
25888
|
+
}), isAtomSuperatomAttachmentPoint && atomFreeAttachmentPoints.length > 0 && jsx(Item, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25880
25889
|
onClick: handleRemoveAttachmentPoint,
|
|
25881
25890
|
children: "Remove attachment point"
|
|
25882
|
-
})), jsx(Item, _objectSpread$
|
|
25891
|
+
})), jsx(Item, _objectSpread$Q(_objectSpread$Q({}, props), {}, {
|
|
25883
25892
|
onClick: handleDelete,
|
|
25884
25893
|
children: "Delete"
|
|
25885
25894
|
}))]
|
|
@@ -25888,7 +25897,7 @@ var AtomMenuItems = function AtomMenuItems(props) {
|
|
|
25888
25897
|
|
|
25889
25898
|
var useBondEdit = function useBondEdit() {
|
|
25890
25899
|
var _useAppContext = useAppContext(),
|
|
25891
|
-
|
|
25900
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25892
25901
|
var handler = useCallback( function () {
|
|
25893
25902
|
var _ref2 = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
25894
25903
|
var props, editor, bondIds, molecule, bonds, changeBondPromise;
|
|
@@ -25896,7 +25905,7 @@ var useBondEdit = function useBondEdit() {
|
|
|
25896
25905
|
while (1) switch (_context.prev = _context.next) {
|
|
25897
25906
|
case 0:
|
|
25898
25907
|
props = _ref.props;
|
|
25899
|
-
editor =
|
|
25908
|
+
editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25900
25909
|
bondIds = (props === null || props === void 0 ? void 0 : props.bondIds) || [];
|
|
25901
25910
|
molecule = editor.render.ctab;
|
|
25902
25911
|
_context.prev = 4;
|
|
@@ -25925,7 +25934,7 @@ var useBondEdit = function useBondEdit() {
|
|
|
25925
25934
|
return function (_x) {
|
|
25926
25935
|
return _ref2.apply(this, arguments);
|
|
25927
25936
|
};
|
|
25928
|
-
}(), [
|
|
25937
|
+
}(), [ketcherId]);
|
|
25929
25938
|
var disabled = useCallback(function (_ref3) {
|
|
25930
25939
|
var props = _ref3.props;
|
|
25931
25940
|
var selectedBondIds = props === null || props === void 0 ? void 0 : props.bondIds;
|
|
@@ -25939,10 +25948,10 @@ var useBondEdit = function useBondEdit() {
|
|
|
25939
25948
|
|
|
25940
25949
|
var useBondSGroupAttach = function useBondSGroupAttach() {
|
|
25941
25950
|
var _useAppContext = useAppContext(),
|
|
25942
|
-
|
|
25951
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25943
25952
|
var handler = useCallback(function (_ref) {
|
|
25944
25953
|
var props = _ref.props;
|
|
25945
|
-
var editor =
|
|
25954
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25946
25955
|
var struct = editor.render.ctab;
|
|
25947
25956
|
var bondId = props.bondIds[0];
|
|
25948
25957
|
var bond = struct.bonds.get(bondId);
|
|
@@ -25952,11 +25961,11 @@ var useBondSGroupAttach = function useBondSGroupAttach() {
|
|
|
25952
25961
|
};
|
|
25953
25962
|
editor.selection(selection);
|
|
25954
25963
|
SGroupTool.sgroupDialog(editor, null);
|
|
25955
|
-
}, [
|
|
25964
|
+
}, [ketcherId]);
|
|
25956
25965
|
var hidden = useCallback(function (_ref2) {
|
|
25957
25966
|
var _struct$sgroups$get;
|
|
25958
25967
|
var props = _ref2.props;
|
|
25959
|
-
var editor =
|
|
25968
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25960
25969
|
var struct = editor.render.ctab;
|
|
25961
25970
|
var bondIds = props.bondIds;
|
|
25962
25971
|
if (bondIds.length > 1) {
|
|
@@ -25971,22 +25980,22 @@ var useBondSGroupAttach = function useBondSGroupAttach() {
|
|
|
25971
25980
|
return false;
|
|
25972
25981
|
}
|
|
25973
25982
|
return attachedSGroups.size > 0;
|
|
25974
|
-
}, [
|
|
25983
|
+
}, [ketcherId]);
|
|
25975
25984
|
return [handler, hidden];
|
|
25976
25985
|
};
|
|
25977
25986
|
|
|
25978
25987
|
var useBondSGroupEdit = function useBondSGroupEdit() {
|
|
25979
25988
|
var _useAppContext = useAppContext(),
|
|
25980
|
-
|
|
25989
|
+
ketcherId = _useAppContext.ketcherId;
|
|
25981
25990
|
var sGroupsRef = useRef(new Pile());
|
|
25982
25991
|
var handler = useCallback(function () {
|
|
25983
|
-
var editor =
|
|
25992
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25984
25993
|
var sGroups = Array.from(sGroupsRef.current);
|
|
25985
25994
|
SGroupTool.sgroupDialog(editor, sGroups[0]);
|
|
25986
|
-
}, [
|
|
25995
|
+
}, [ketcherId]);
|
|
25987
25996
|
var disabled = useCallback(function (_ref) {
|
|
25988
25997
|
var props = _ref.props;
|
|
25989
|
-
var editor =
|
|
25998
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
25990
25999
|
var struct = editor.render.ctab;
|
|
25991
26000
|
var bondIds = props.bondIds;
|
|
25992
26001
|
if (bondIds.length > 1) {
|
|
@@ -25995,10 +26004,10 @@ var useBondSGroupEdit = function useBondSGroupEdit() {
|
|
|
25995
26004
|
var bond = struct.bonds.get(bondIds[0]);
|
|
25996
26005
|
sGroupsRef.current = bond.b.getAttachedSGroups(struct.molecule);
|
|
25997
26006
|
return sGroupsRef.current.size > 1;
|
|
25998
|
-
}, [
|
|
26007
|
+
}, [ketcherId]);
|
|
25999
26008
|
var hidden = useCallback(function () {
|
|
26000
26009
|
var _struct$sgroups$get;
|
|
26001
|
-
var editor =
|
|
26010
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26002
26011
|
var struct = editor.render.ctab;
|
|
26003
26012
|
var _sGroupsRef$current = _slicedToArray$1(sGroupsRef.current, 1),
|
|
26004
26013
|
sgGroupId = _sGroupsRef$current[0];
|
|
@@ -26007,18 +26016,18 @@ var useBondSGroupEdit = function useBondSGroupEdit() {
|
|
|
26007
26016
|
return true;
|
|
26008
26017
|
}
|
|
26009
26018
|
return sGroupsRef.current.size === 0;
|
|
26010
|
-
}, [
|
|
26019
|
+
}, [ketcherId]);
|
|
26011
26020
|
return [handler, disabled, hidden];
|
|
26012
26021
|
};
|
|
26013
26022
|
|
|
26014
26023
|
var useBondTypeChange = function useBondTypeChange() {
|
|
26015
26024
|
var _useAppContext = useAppContext(),
|
|
26016
|
-
|
|
26025
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26017
26026
|
var handler = useCallback(function (_ref) {
|
|
26018
26027
|
var _molecule$bonds$get;
|
|
26019
26028
|
var id = _ref.id,
|
|
26020
26029
|
props = _ref.props;
|
|
26021
|
-
var editor =
|
|
26030
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26022
26031
|
var molecule = editor.render.ctab;
|
|
26023
26032
|
var bondIds = (props === null || props === void 0 ? void 0 : props.bondIds) || [];
|
|
26024
26033
|
var bondProps = tools[id].action.opts;
|
|
@@ -26029,11 +26038,11 @@ var useBondTypeChange = function useBondTypeChange() {
|
|
|
26029
26038
|
bondProps.reactingCenterStatus = 0;
|
|
26030
26039
|
}
|
|
26031
26040
|
editor.update(fromBondsAttrs(molecule, bondIds, bondProps));
|
|
26032
|
-
}, [
|
|
26041
|
+
}, [ketcherId]);
|
|
26033
26042
|
var disabled = useCallback(function (_ref2) {
|
|
26034
26043
|
var props = _ref2.props;
|
|
26035
26044
|
var selectedBondIds = props === null || props === void 0 ? void 0 : props.bondIds;
|
|
26036
|
-
var editor =
|
|
26045
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26037
26046
|
if (Array.isArray(selectedBondIds) && selectedBondIds.length !== 0) {
|
|
26038
26047
|
if (editor.struct().isBondFromMacromolecule(selectedBondIds[0])) {
|
|
26039
26048
|
return true;
|
|
@@ -26047,10 +26056,10 @@ var useBondTypeChange = function useBondTypeChange() {
|
|
|
26047
26056
|
|
|
26048
26057
|
var useChangeBondDirection = function useChangeBondDirection(props) {
|
|
26049
26058
|
var _useAppContext = useAppContext(),
|
|
26050
|
-
|
|
26059
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26051
26060
|
var changeDirection = function changeDirection() {
|
|
26052
|
-
var
|
|
26053
|
-
var editor = (
|
|
26061
|
+
var _ketcherProvider$getK, _props$propsFromTrigg;
|
|
26062
|
+
var editor = (_ketcherProvider$getK = ketcherProvider.getKetcher(ketcherId)) === null || _ketcherProvider$getK === void 0 ? void 0 : _ketcherProvider$getK.editor;
|
|
26054
26063
|
var bondIds = ((_props$propsFromTrigg = props.propsFromTrigger) === null || _props$propsFromTrigg === void 0 ? void 0 : _props$propsFromTrigg.bondIds) || [];
|
|
26055
26064
|
var bondId = bondIds[0];
|
|
26056
26065
|
var molecule = editor === null || editor === void 0 ? void 0 : editor.render.ctab.molecule;
|
|
@@ -26066,13 +26075,13 @@ var useChangeBondDirection = function useChangeBondDirection(props) {
|
|
|
26066
26075
|
};
|
|
26067
26076
|
};
|
|
26068
26077
|
|
|
26069
|
-
function ownKeys$
|
|
26070
|
-
function _objectSpread$
|
|
26078
|
+
function ownKeys$P(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; }
|
|
26079
|
+
function _objectSpread$P(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$P(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26071
26080
|
var nonQueryBondNames = getNonQueryBondNames(tools);
|
|
26072
26081
|
var BondMenuItems = function BondMenuItems(props) {
|
|
26073
26082
|
var _props$propsFromTrigg3;
|
|
26074
26083
|
var _useAppContext = useAppContext(),
|
|
26075
|
-
|
|
26084
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26076
26085
|
var _useState = useState(null),
|
|
26077
26086
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
26078
26087
|
bondData = _useState2[0],
|
|
@@ -26100,10 +26109,10 @@ var BondMenuItems = function BondMenuItems(props) {
|
|
|
26100
26109
|
});
|
|
26101
26110
|
var _useChangeBondDirecti = useChangeBondDirection(props),
|
|
26102
26111
|
changeDirection = _useChangeBondDirecti.changeDirection;
|
|
26103
|
-
var editor =
|
|
26112
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26104
26113
|
useEffect(function () {
|
|
26105
|
-
var
|
|
26106
|
-
var editor = (
|
|
26114
|
+
var _ketcherProvider$getK, _props$propsFromTrigg;
|
|
26115
|
+
var editor = (_ketcherProvider$getK = ketcherProvider.getKetcher(ketcherId)) === null || _ketcherProvider$getK === void 0 ? void 0 : _ketcherProvider$getK.editor;
|
|
26107
26116
|
var bondIds = ((_props$propsFromTrigg = props.propsFromTrigger) === null || _props$propsFromTrigg === void 0 ? void 0 : _props$propsFromTrigg.bondIds) || [];
|
|
26108
26117
|
if (bondIds.length > 0 && editor) {
|
|
26109
26118
|
var bond = editor.render.ctab.molecule.bonds.get(bondIds[0]);
|
|
@@ -26116,7 +26125,7 @@ var BondMenuItems = function BondMenuItems(props) {
|
|
|
26116
26125
|
setBondData(null);
|
|
26117
26126
|
}
|
|
26118
26127
|
}
|
|
26119
|
-
}, [props.propsFromTrigger,
|
|
26128
|
+
}, [props.propsFromTrigger, ketcherId]);
|
|
26120
26129
|
var highlightBondWithColor = function highlightBondWithColor(color) {
|
|
26121
26130
|
var _props$propsFromTrigg2;
|
|
26122
26131
|
var bondIds = ((_props$propsFromTrigg2 = props.propsFromTrigger) === null || _props$propsFromTrigg2 === void 0 ? void 0 : _props$propsFromTrigg2.bondIds) || [];
|
|
@@ -26129,14 +26138,14 @@ var BondMenuItems = function BondMenuItems(props) {
|
|
|
26129
26138
|
};
|
|
26130
26139
|
var shouldShowChangeDirection = bondData && (bondData.type === 9 && bondData.stereo === 0 || bondData.type === 1 && bondData.stereo === 1 || bondData.type === 1 && bondData.stereo === 6 || bondData.type === 1 && bondData.stereo === 4);
|
|
26131
26140
|
return jsxs(Fragment, {
|
|
26132
|
-
children: [jsx(Item, _objectSpread$
|
|
26141
|
+
children: [jsx(Item, _objectSpread$P(_objectSpread$P({}, props), {}, {
|
|
26133
26142
|
onClick: handleEdit,
|
|
26134
26143
|
disabled: isDisabled,
|
|
26135
26144
|
children: (_props$propsFromTrigg3 = props.propsFromTrigger) !== null && _props$propsFromTrigg3 !== void 0 && _props$propsFromTrigg3.extraItemsSelected ? 'Edit selected bonds...' : 'Edit...'
|
|
26136
26145
|
})), bondNamesWithoutEmptyValue.map(function (name, i) {
|
|
26137
26146
|
var iconName = getIconName(name);
|
|
26138
26147
|
var classNames = styles$f.sameGroup + (i === bondNamesWithoutEmptyValue.length - 1 ? styles$f.devider : '');
|
|
26139
|
-
return createElement(Item, _objectSpread$
|
|
26148
|
+
return createElement(Item, _objectSpread$P(_objectSpread$P({
|
|
26140
26149
|
className: classNames
|
|
26141
26150
|
}, props), {}, {
|
|
26142
26151
|
id: name,
|
|
@@ -26149,7 +26158,7 @@ var BondMenuItems = function BondMenuItems(props) {
|
|
|
26149
26158
|
}), jsx("span", {
|
|
26150
26159
|
children: formatTitle(tools[name].title)
|
|
26151
26160
|
}));
|
|
26152
|
-
}), jsx(Submenu, _objectSpread$
|
|
26161
|
+
}), jsx(Submenu, _objectSpread$P(_objectSpread$P({}, props), {}, {
|
|
26153
26162
|
label: "Query bonds",
|
|
26154
26163
|
className: styles$f.subMenu,
|
|
26155
26164
|
children: queryBondNames.map(function (name) {
|
|
@@ -26167,21 +26176,21 @@ var BondMenuItems = function BondMenuItems(props) {
|
|
|
26167
26176
|
})]
|
|
26168
26177
|
}, name);
|
|
26169
26178
|
})
|
|
26170
|
-
})), shouldShowChangeDirection && jsx(Item, _objectSpread$
|
|
26179
|
+
})), shouldShowChangeDirection && jsx(Item, _objectSpread$P(_objectSpread$P({}, props), {}, {
|
|
26171
26180
|
onClick: changeDirection,
|
|
26172
26181
|
children: "Change direction"
|
|
26173
|
-
})), jsx(Item, _objectSpread$
|
|
26182
|
+
})), jsx(Item, _objectSpread$P(_objectSpread$P({}, props), {}, {
|
|
26174
26183
|
hidden: sGroupAttachHidden,
|
|
26175
26184
|
onClick: handleSGroupAttach,
|
|
26176
26185
|
children: "Attach S-Group..."
|
|
26177
26186
|
})), jsx(HighlightMenu, {
|
|
26178
26187
|
onHighlight: highlightBondWithColor
|
|
26179
|
-
}), jsx(Item, _objectSpread$
|
|
26188
|
+
}), jsx(Item, _objectSpread$P(_objectSpread$P({}, props), {}, {
|
|
26180
26189
|
hidden: sGroupEditHidden,
|
|
26181
26190
|
disabled: sGroupEditDisabled,
|
|
26182
26191
|
onClick: handleSGroupEdit,
|
|
26183
26192
|
children: "Edit S-Group..."
|
|
26184
|
-
})), jsx(Item, _objectSpread$
|
|
26193
|
+
})), jsx(Item, _objectSpread$P(_objectSpread$P({}, props), {}, {
|
|
26185
26194
|
onClick: handleDelete,
|
|
26186
26195
|
children: "Delete"
|
|
26187
26196
|
}))]
|
|
@@ -26190,11 +26199,11 @@ var BondMenuItems = function BondMenuItems(props) {
|
|
|
26190
26199
|
|
|
26191
26200
|
var useFunctionalGroupEoc = function useFunctionalGroupEoc() {
|
|
26192
26201
|
var _useAppContext = useAppContext(),
|
|
26193
|
-
|
|
26202
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26194
26203
|
var dispatch = useDispatch();
|
|
26195
26204
|
var handler = useCallback(function (_ref, toExpand) {
|
|
26196
26205
|
var props = _ref.props;
|
|
26197
|
-
var editor =
|
|
26206
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26198
26207
|
var molecule = editor.render.ctab;
|
|
26199
26208
|
var selectedFunctionalGroups = props === null || props === void 0 ? void 0 : props.functionalGroups;
|
|
26200
26209
|
var action = new Action();
|
|
@@ -26209,7 +26218,7 @@ var useFunctionalGroupEoc = function useFunctionalGroupEoc() {
|
|
|
26209
26218
|
group: null,
|
|
26210
26219
|
id: null
|
|
26211
26220
|
});
|
|
26212
|
-
}, [dispatch,
|
|
26221
|
+
}, [dispatch, ketcherId]);
|
|
26213
26222
|
var hidden = useCallback(function (_ref2, toExpand) {
|
|
26214
26223
|
var _props$functionalGrou;
|
|
26215
26224
|
var props = _ref2.props;
|
|
@@ -26222,11 +26231,11 @@ var useFunctionalGroupEoc = function useFunctionalGroupEoc() {
|
|
|
26222
26231
|
|
|
26223
26232
|
var useFunctionalGroupRemove = function useFunctionalGroupRemove() {
|
|
26224
26233
|
var _useAppContext = useAppContext(),
|
|
26225
|
-
|
|
26234
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26226
26235
|
var dispatch = useDispatch();
|
|
26227
26236
|
var handler = useCallback(function (_ref) {
|
|
26228
26237
|
var props = _ref.props;
|
|
26229
|
-
var editor =
|
|
26238
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26230
26239
|
var selectedFunctionalGroups = props === null || props === void 0 ? void 0 : props.functionalGroups;
|
|
26231
26240
|
var action = new Action();
|
|
26232
26241
|
selectedFunctionalGroups === null || selectedFunctionalGroups === void 0 || selectedFunctionalGroups.forEach(function (functionalGroup) {
|
|
@@ -26237,12 +26246,12 @@ var useFunctionalGroupRemove = function useFunctionalGroupRemove() {
|
|
|
26237
26246
|
group: null,
|
|
26238
26247
|
id: null
|
|
26239
26248
|
});
|
|
26240
|
-
}, [dispatch,
|
|
26249
|
+
}, [dispatch, ketcherId]);
|
|
26241
26250
|
return handler;
|
|
26242
26251
|
};
|
|
26243
26252
|
|
|
26244
|
-
function ownKeys$
|
|
26245
|
-
function _objectSpread$
|
|
26253
|
+
function ownKeys$O(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; }
|
|
26254
|
+
function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26246
26255
|
var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
26247
26256
|
var _useFunctionalGroupEo = useFunctionalGroupEoc(),
|
|
26248
26257
|
_useFunctionalGroupEo2 = _slicedToArray$1(_useFunctionalGroupEo, 2),
|
|
@@ -26250,7 +26259,7 @@ var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
|
26250
26259
|
ExpandOrContractHidden = _useFunctionalGroupEo2[1];
|
|
26251
26260
|
var handleRemove = useFunctionalGroupRemove();
|
|
26252
26261
|
return jsxs(Fragment, {
|
|
26253
|
-
children: [jsx(Item, _objectSpread$
|
|
26262
|
+
children: [jsx(Item, _objectSpread$O(_objectSpread$O({}, props), {}, {
|
|
26254
26263
|
hidden: function hidden(params) {
|
|
26255
26264
|
return ExpandOrContractHidden(params, true);
|
|
26256
26265
|
},
|
|
@@ -26258,7 +26267,7 @@ var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
|
26258
26267
|
return handleExpandOrContract(params, true);
|
|
26259
26268
|
},
|
|
26260
26269
|
children: "Expand Abbreviation"
|
|
26261
|
-
})), jsx(Item, _objectSpread$
|
|
26270
|
+
})), jsx(Item, _objectSpread$O(_objectSpread$O({}, props), {}, {
|
|
26262
26271
|
hidden: function hidden(params) {
|
|
26263
26272
|
return ExpandOrContractHidden(params, false);
|
|
26264
26273
|
},
|
|
@@ -26266,20 +26275,20 @@ var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
|
26266
26275
|
return handleExpandOrContract(params, false);
|
|
26267
26276
|
},
|
|
26268
26277
|
children: "Contract Abbreviation"
|
|
26269
|
-
})), jsx(Item, _objectSpread$
|
|
26278
|
+
})), jsx(Item, _objectSpread$O(_objectSpread$O({}, props), {}, {
|
|
26270
26279
|
onClick: handleRemove,
|
|
26271
26280
|
children: "Remove Abbreviation"
|
|
26272
26281
|
}))]
|
|
26273
26282
|
});
|
|
26274
26283
|
};
|
|
26275
26284
|
|
|
26276
|
-
function ownKeys$
|
|
26277
|
-
function _objectSpread$
|
|
26285
|
+
function ownKeys$N(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; }
|
|
26286
|
+
function _objectSpread$N(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$N(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26278
26287
|
var bondNames = getBondNames(tools);
|
|
26279
26288
|
var SelectionMenuItems = function SelectionMenuItems(props) {
|
|
26280
26289
|
var _useAppContext = useAppContext(),
|
|
26281
|
-
|
|
26282
|
-
var editor =
|
|
26290
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26291
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26283
26292
|
var _useBondEdit = useBondEdit(),
|
|
26284
26293
|
_useBondEdit2 = _slicedToArray$1(_useBondEdit, 2),
|
|
26285
26294
|
handleBondEdit = _useBondEdit2[0],
|
|
@@ -26310,15 +26319,15 @@ var SelectionMenuItems = function SelectionMenuItems(props) {
|
|
|
26310
26319
|
});
|
|
26311
26320
|
};
|
|
26312
26321
|
return jsxs(Fragment, {
|
|
26313
|
-
children: [jsx(Item, _objectSpread$
|
|
26322
|
+
children: [jsx(Item, _objectSpread$N(_objectSpread$N({}, props), {}, {
|
|
26314
26323
|
disabled: bondEditDisabled,
|
|
26315
26324
|
onClick: handleBondEdit,
|
|
26316
26325
|
children: "Edit selected bonds..."
|
|
26317
|
-
})), jsx(Item, _objectSpread$
|
|
26326
|
+
})), jsx(Item, _objectSpread$N(_objectSpread$N({}, props), {}, {
|
|
26318
26327
|
disabled: atomEditDisabled,
|
|
26319
26328
|
onClick: handleAtomEdit,
|
|
26320
26329
|
children: "Edit selected atoms..."
|
|
26321
|
-
})), jsx(Submenu, _objectSpread$
|
|
26330
|
+
})), jsx(Submenu, _objectSpread$N(_objectSpread$N({}, props), {}, {
|
|
26322
26331
|
label: "Bond type",
|
|
26323
26332
|
disabled: bondTypeChangeDisabled,
|
|
26324
26333
|
className: styles$f.subMenu,
|
|
@@ -26335,13 +26344,13 @@ var SelectionMenuItems = function SelectionMenuItems(props) {
|
|
|
26335
26344
|
})]
|
|
26336
26345
|
}, name);
|
|
26337
26346
|
})
|
|
26338
|
-
})), jsx(Item, _objectSpread$
|
|
26347
|
+
})), jsx(Item, _objectSpread$N(_objectSpread$N({}, props), {}, {
|
|
26339
26348
|
disabled: atomStereoDisabled,
|
|
26340
26349
|
onClick: handleAtomStereo,
|
|
26341
26350
|
children: "Enhanced stereochemistry..."
|
|
26342
26351
|
})), jsx(HighlightMenu, {
|
|
26343
26352
|
onHighlight: highlightBondWithColor
|
|
26344
|
-
}), jsx(Item, _objectSpread$
|
|
26353
|
+
}), jsx(Item, _objectSpread$N(_objectSpread$N({}, props), {}, {
|
|
26345
26354
|
onClick: handleDelete,
|
|
26346
26355
|
children: "Delete"
|
|
26347
26356
|
}))]
|
|
@@ -26350,7 +26359,7 @@ var SelectionMenuItems = function SelectionMenuItems(props) {
|
|
|
26350
26359
|
|
|
26351
26360
|
var useDelete = function useDelete() {
|
|
26352
26361
|
var _useAppContext = useAppContext(),
|
|
26353
|
-
|
|
26362
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26354
26363
|
var handler = useCallback( function () {
|
|
26355
26364
|
var _ref2 = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
26356
26365
|
var props, editor, restruct, pointsToDelete, action;
|
|
@@ -26358,7 +26367,7 @@ var useDelete = function useDelete() {
|
|
|
26358
26367
|
while (1) switch (_context.prev = _context.next) {
|
|
26359
26368
|
case 0:
|
|
26360
26369
|
props = _ref.props;
|
|
26361
|
-
editor =
|
|
26370
|
+
editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26362
26371
|
restruct = editor.render.ctab;
|
|
26363
26372
|
pointsToDelete = (props === null || props === void 0 ? void 0 : props.rgroupAttachmentPoints) || [];
|
|
26364
26373
|
action = pointsToDelete.reduce(function (previousAction, currentPoint) {
|
|
@@ -26376,7 +26385,7 @@ var useDelete = function useDelete() {
|
|
|
26376
26385
|
return function (_x) {
|
|
26377
26386
|
return _ref2.apply(this, arguments);
|
|
26378
26387
|
};
|
|
26379
|
-
}(), [
|
|
26388
|
+
}(), [ketcherId]);
|
|
26380
26389
|
return handler;
|
|
26381
26390
|
};
|
|
26382
26391
|
|
|
@@ -26396,25 +26405,25 @@ var getAtomIdByProps = function getAtomIdByProps(props, ketcher) {
|
|
|
26396
26405
|
};
|
|
26397
26406
|
var useRGroupAttachmentPointEdit = function useRGroupAttachmentPointEdit() {
|
|
26398
26407
|
var _useAppContext = useAppContext(),
|
|
26399
|
-
|
|
26408
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26400
26409
|
var handler = useCallback(function (_ref) {
|
|
26401
26410
|
var props = _ref.props;
|
|
26402
|
-
var ketcher =
|
|
26411
|
+
var ketcher = ketcherProvider.getKetcher(ketcherId);
|
|
26403
26412
|
var restruct = ketcher.editor.render.ctab;
|
|
26404
26413
|
var atomId = getAtomIdByProps(props, ketcher);
|
|
26405
26414
|
var atom = restruct.molecule.atoms.get(atomId);
|
|
26406
26415
|
assert_1(atom != null);
|
|
26407
26416
|
editRGroupAttachmentPoint(ketcher.editor, atom, atomId);
|
|
26408
|
-
}, [
|
|
26417
|
+
}, [ketcherId]);
|
|
26409
26418
|
var disabled = useCallback(function (_ref2) {
|
|
26410
26419
|
var props = _ref2.props;
|
|
26411
|
-
var ketcher =
|
|
26420
|
+
var ketcher = ketcherProvider.getKetcher(ketcherId);
|
|
26412
26421
|
var restruct = ketcher.editor.render.ctab;
|
|
26413
26422
|
var atomId = getAtomIdByProps(props, ketcher);
|
|
26414
26423
|
var atom = restruct.molecule.atoms.get(atomId);
|
|
26415
26424
|
assert_1(atom != null);
|
|
26416
26425
|
return atom.isRGroupAttachmentPointEditDisabled;
|
|
26417
|
-
}, [
|
|
26426
|
+
}, [ketcherId]);
|
|
26418
26427
|
var hidden = useCallback(function (_ref3) {
|
|
26419
26428
|
var _props$atomIds2;
|
|
26420
26429
|
var props = _ref3.props;
|
|
@@ -26424,18 +26433,18 @@ var useRGroupAttachmentPointEdit = function useRGroupAttachmentPointEdit() {
|
|
|
26424
26433
|
return [handler, disabled, hidden];
|
|
26425
26434
|
};
|
|
26426
26435
|
|
|
26427
|
-
function ownKeys$
|
|
26428
|
-
function _objectSpread$
|
|
26436
|
+
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; }
|
|
26437
|
+
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$1(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; }
|
|
26429
26438
|
var RGroupAttachmentPointMenuItems = function RGroupAttachmentPointMenuItems(props) {
|
|
26430
26439
|
var _useAppContext = useAppContext(),
|
|
26431
|
-
|
|
26440
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26432
26441
|
var handleRemove = useDelete();
|
|
26433
26442
|
var _useRGroupAttachmentP = useRGroupAttachmentPointEdit(),
|
|
26434
26443
|
_useRGroupAttachmentP2 = _slicedToArray$1(_useRGroupAttachmentP, 3),
|
|
26435
26444
|
handleEditRGroupAttachmentPoint = _useRGroupAttachmentP2[0],
|
|
26436
26445
|
rgroupAttachmentPointDisabled = _useRGroupAttachmentP2[1],
|
|
26437
26446
|
rgroupAttachmentPointHidden = _useRGroupAttachmentP2[2];
|
|
26438
|
-
var editor =
|
|
26447
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26439
26448
|
var highlight = function highlight(color) {
|
|
26440
26449
|
var _props$propsFromTrigg;
|
|
26441
26450
|
var rgroupAttachmentPoints = ((_props$propsFromTrigg = props.propsFromTrigger) === null || _props$propsFromTrigg === void 0 ? void 0 : _props$propsFromTrigg.rgroupAttachmentPoints) || [];
|
|
@@ -26447,14 +26456,14 @@ var RGroupAttachmentPointMenuItems = function RGroupAttachmentPointMenuItems(pro
|
|
|
26447
26456
|
});
|
|
26448
26457
|
};
|
|
26449
26458
|
return jsxs(Fragment, {
|
|
26450
|
-
children: [jsx(Item, _objectSpread$
|
|
26459
|
+
children: [jsx(Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
|
|
26451
26460
|
disabled: rgroupAttachmentPointDisabled,
|
|
26452
26461
|
hidden: rgroupAttachmentPointHidden,
|
|
26453
26462
|
onClick: handleEditRGroupAttachmentPoint,
|
|
26454
26463
|
children: "Edit..."
|
|
26455
26464
|
})), jsx(HighlightMenu, {
|
|
26456
26465
|
onHighlight: highlight
|
|
26457
|
-
}), jsx(Item, _objectSpread$
|
|
26466
|
+
}), jsx(Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
|
|
26458
26467
|
onClick: handleRemove,
|
|
26459
26468
|
children: "Remove"
|
|
26460
26469
|
}))]
|
|
@@ -26469,19 +26478,19 @@ function updateEditor(editor, action) {
|
|
|
26469
26478
|
}
|
|
26470
26479
|
var useMultitailArrowTailsAdd = function useMultitailArrowTailsAdd() {
|
|
26471
26480
|
var _useAppContext = useAppContext(),
|
|
26472
|
-
|
|
26481
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26473
26482
|
var addTail = useCallback(function (_ref) {
|
|
26474
26483
|
var props = _ref.props;
|
|
26475
|
-
var editor =
|
|
26484
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26476
26485
|
var operation = fromMultitailArrowTailAdd(editor.render.ctab, props === null || props === void 0 ? void 0 : props.itemId);
|
|
26477
26486
|
updateEditor(editor, operation);
|
|
26478
|
-
}, [
|
|
26487
|
+
}, [ketcherId]);
|
|
26479
26488
|
var isAddTailDisabled = useCallback(function (_ref2) {
|
|
26480
26489
|
var props = _ref2.props;
|
|
26481
|
-
var editor =
|
|
26490
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26482
26491
|
var multitailArrow = editor.render.ctab.molecule.multitailArrows.get(props === null || props === void 0 ? void 0 : props.itemId);
|
|
26483
26492
|
return !!multitailArrow && !MultitailArrow.canAddTail(multitailArrow.getTailsMaxDistance().distance);
|
|
26484
|
-
}, [
|
|
26493
|
+
}, [ketcherId]);
|
|
26485
26494
|
return {
|
|
26486
26495
|
addTail: addTail,
|
|
26487
26496
|
isAddTailDisabled: isAddTailDisabled
|
|
@@ -26489,13 +26498,13 @@ var useMultitailArrowTailsAdd = function useMultitailArrowTailsAdd() {
|
|
|
26489
26498
|
};
|
|
26490
26499
|
var useMultitailArrowTailsRemove = function useMultitailArrowTailsRemove() {
|
|
26491
26500
|
var _useAppContext2 = useAppContext(),
|
|
26492
|
-
|
|
26501
|
+
ketcherId = _useAppContext2.ketcherId;
|
|
26493
26502
|
var removeTail = useCallback(function (_ref3) {
|
|
26494
26503
|
var props = _ref3.props;
|
|
26495
|
-
var editor =
|
|
26504
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26496
26505
|
var operation = fromMultitailArrowTailRemove(editor.render.ctab, props === null || props === void 0 ? void 0 : props.itemId, props === null || props === void 0 ? void 0 : props.tailId);
|
|
26497
26506
|
updateEditor(editor, operation);
|
|
26498
|
-
}, [
|
|
26507
|
+
}, [ketcherId]);
|
|
26499
26508
|
var removeTailHidden = useCallback(function (_ref4) {
|
|
26500
26509
|
var props = _ref4.props;
|
|
26501
26510
|
return (props === null || props === void 0 ? void 0 : props.tailId) === null;
|
|
@@ -26506,8 +26515,8 @@ var useMultitailArrowTailsRemove = function useMultitailArrowTailsRemove() {
|
|
|
26506
26515
|
};
|
|
26507
26516
|
};
|
|
26508
26517
|
|
|
26509
|
-
function ownKeys$
|
|
26510
|
-
function _objectSpread$
|
|
26518
|
+
function ownKeys$L(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; }
|
|
26519
|
+
function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26511
26520
|
function MultitailArrowMenuItems(props) {
|
|
26512
26521
|
var _useMultitailArrowTai = useMultitailArrowTailsAdd(),
|
|
26513
26522
|
addTail = _useMultitailArrowTai.addTail,
|
|
@@ -26516,11 +26525,11 @@ function MultitailArrowMenuItems(props) {
|
|
|
26516
26525
|
removeTail = _useMultitailArrowTai2.removeTail,
|
|
26517
26526
|
removeTailHidden = _useMultitailArrowTai2.removeTailHidden;
|
|
26518
26527
|
return jsxs(Fragment, {
|
|
26519
|
-
children: [jsx(Item, _objectSpread$
|
|
26528
|
+
children: [jsx(Item, _objectSpread$L(_objectSpread$L({}, props), {}, {
|
|
26520
26529
|
onClick: removeTail,
|
|
26521
26530
|
hidden: removeTailHidden,
|
|
26522
26531
|
children: "Remove tail"
|
|
26523
|
-
})), jsx(Item, _objectSpread$
|
|
26532
|
+
})), jsx(Item, _objectSpread$L(_objectSpread$L({}, props), {}, {
|
|
26524
26533
|
onClick: addTail,
|
|
26525
26534
|
disabled: isAddTailDisabled,
|
|
26526
26535
|
children: "Add new tail"
|
|
@@ -26533,10 +26542,10 @@ var canExpandMonomer = function canExpandMonomer(functionalGroup) {
|
|
|
26533
26542
|
};
|
|
26534
26543
|
var useMonomerExpansionHandlers = function useMonomerExpansionHandlers() {
|
|
26535
26544
|
var _useAppContext = useAppContext(),
|
|
26536
|
-
|
|
26545
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26537
26546
|
var action = useCallback(function (_ref, toExpand) {
|
|
26538
26547
|
var props = _ref.props;
|
|
26539
|
-
var editor =
|
|
26548
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26540
26549
|
var molecule = editor.render.ctab;
|
|
26541
26550
|
var selectedFunctionalGroups = props === null || props === void 0 ? void 0 : props.functionalGroups;
|
|
26542
26551
|
var action = new Action();
|
|
@@ -26550,7 +26559,7 @@ var useMonomerExpansionHandlers = function useMonomerExpansionHandlers() {
|
|
|
26550
26559
|
});
|
|
26551
26560
|
editor.update(action);
|
|
26552
26561
|
editor.rotateController.rerender();
|
|
26553
|
-
}, [
|
|
26562
|
+
}, [ketcherId]);
|
|
26554
26563
|
var hidden = useCallback(function (_ref2, toExpand) {
|
|
26555
26564
|
var _props$functionalGrou;
|
|
26556
26565
|
var props = _ref2.props;
|
|
@@ -26561,8 +26570,8 @@ var useMonomerExpansionHandlers = function useMonomerExpansionHandlers() {
|
|
|
26561
26570
|
return [action, hidden];
|
|
26562
26571
|
};
|
|
26563
26572
|
|
|
26564
|
-
function ownKeys$
|
|
26565
|
-
function _objectSpread$
|
|
26573
|
+
function ownKeys$K(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; }
|
|
26574
|
+
function _objectSpread$K(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$K(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26566
26575
|
var MacromoleculeMenuItems = function MacromoleculeMenuItems(props) {
|
|
26567
26576
|
var _props$propsFromTrigg, _props$propsFromTrigg2;
|
|
26568
26577
|
var _useMonomerExpansionH = useMonomerExpansionHandlers(),
|
|
@@ -26576,7 +26585,7 @@ var MacromoleculeMenuItems = function MacromoleculeMenuItems(props) {
|
|
|
26576
26585
|
var expandText = multipleMonomersSelected ? 'Expand monomers' : 'Expand monomer';
|
|
26577
26586
|
var collapseText = multipleMonomersSelected ? 'Collapse monomers' : 'Collapse monomer';
|
|
26578
26587
|
return jsxs(Fragment, {
|
|
26579
|
-
children: [jsx(Item, _objectSpread$
|
|
26588
|
+
children: [jsx(Item, _objectSpread$K(_objectSpread$K({}, props), {}, {
|
|
26580
26589
|
hidden: function hidden(params) {
|
|
26581
26590
|
return _hidden(params, true);
|
|
26582
26591
|
},
|
|
@@ -26585,7 +26594,7 @@ var MacromoleculeMenuItems = function MacromoleculeMenuItems(props) {
|
|
|
26585
26594
|
},
|
|
26586
26595
|
disabled: expandingDisabled,
|
|
26587
26596
|
children: expandText
|
|
26588
|
-
})), jsx(Item, _objectSpread$
|
|
26597
|
+
})), jsx(Item, _objectSpread$K(_objectSpread$K({}, props), {}, {
|
|
26589
26598
|
hidden: function hidden(params) {
|
|
26590
26599
|
return _hidden(params, false);
|
|
26591
26600
|
},
|
|
@@ -26597,15 +26606,15 @@ var MacromoleculeMenuItems = function MacromoleculeMenuItems(props) {
|
|
|
26597
26606
|
});
|
|
26598
26607
|
};
|
|
26599
26608
|
|
|
26600
|
-
function ownKeys$
|
|
26601
|
-
function _objectSpread$
|
|
26609
|
+
function ownKeys$J(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; }
|
|
26610
|
+
function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26602
26611
|
var props = {
|
|
26603
26612
|
animation: false,
|
|
26604
26613
|
className: styles$f.contextMenu
|
|
26605
26614
|
};
|
|
26606
26615
|
var ContextMenu = function ContextMenu() {
|
|
26607
26616
|
var _useAppContext = useAppContext(),
|
|
26608
|
-
|
|
26617
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26609
26618
|
var adjustSubmenuPosition = function adjustSubmenuPosition(submenuElement) {
|
|
26610
26619
|
var rect = submenuElement.getBoundingClientRect();
|
|
26611
26620
|
var ketcherRootElement = document.querySelector(KETCHER_ROOT_NODE_CSS_SELECTOR);
|
|
@@ -26666,7 +26675,7 @@ var ContextMenu = function ContextMenu() {
|
|
|
26666
26675
|
contextMenuElement.style.top = "".concat(top, "px");
|
|
26667
26676
|
};
|
|
26668
26677
|
var trackVisibility = useCallback(function (id, visible) {
|
|
26669
|
-
var editor =
|
|
26678
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26670
26679
|
if (visible) {
|
|
26671
26680
|
editor.hoverIcon.hide();
|
|
26672
26681
|
var contextMenuElement = document.querySelector('.contexify:last-of-type');
|
|
@@ -26683,49 +26692,49 @@ var ContextMenu = function ContextMenu() {
|
|
|
26683
26692
|
}
|
|
26684
26693
|
}
|
|
26685
26694
|
editor.contextMenu[id] = visible;
|
|
26686
|
-
}, [
|
|
26695
|
+
}, [ketcherId]);
|
|
26687
26696
|
var ketcherEditorRootElement = document.querySelector(KETCHER_ROOT_NODE_CSS_SELECTOR);
|
|
26688
26697
|
return ketcherEditorRootElement ? createPortal(jsxs(Fragment, {
|
|
26689
|
-
children: [jsx(Menu, _objectSpread$
|
|
26690
|
-
id: CONTEXT_MENU_ID.FOR_BONDS,
|
|
26698
|
+
children: [jsx(Menu, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26699
|
+
id: CONTEXT_MENU_ID.FOR_BONDS + ketcherId,
|
|
26691
26700
|
onVisibilityChange: function onVisibilityChange(visible) {
|
|
26692
|
-
return trackVisibility(CONTEXT_MENU_ID.FOR_BONDS, visible);
|
|
26701
|
+
return trackVisibility(CONTEXT_MENU_ID.FOR_BONDS + ketcherId, visible);
|
|
26693
26702
|
},
|
|
26694
26703
|
children: jsx(BondMenuItems, {})
|
|
26695
|
-
})), jsx(Menu, _objectSpread$
|
|
26696
|
-
id: CONTEXT_MENU_ID.FOR_ATOMS,
|
|
26704
|
+
})), jsx(Menu, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26705
|
+
id: CONTEXT_MENU_ID.FOR_ATOMS + ketcherId,
|
|
26697
26706
|
onVisibilityChange: function onVisibilityChange(visible) {
|
|
26698
|
-
return trackVisibility(CONTEXT_MENU_ID.FOR_ATOMS, visible);
|
|
26707
|
+
return trackVisibility(CONTEXT_MENU_ID.FOR_ATOMS + ketcherId, visible);
|
|
26699
26708
|
},
|
|
26700
26709
|
children: jsx(AtomMenuItems, {})
|
|
26701
|
-
})), jsx(Menu, _objectSpread$
|
|
26702
|
-
id: CONTEXT_MENU_ID.FOR_SELECTION,
|
|
26710
|
+
})), jsx(Menu, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26711
|
+
id: CONTEXT_MENU_ID.FOR_SELECTION + ketcherId,
|
|
26703
26712
|
onVisibilityChange: function onVisibilityChange(visible) {
|
|
26704
|
-
return trackVisibility(CONTEXT_MENU_ID.FOR_SELECTION, visible);
|
|
26713
|
+
return trackVisibility(CONTEXT_MENU_ID.FOR_SELECTION + ketcherId, visible);
|
|
26705
26714
|
},
|
|
26706
26715
|
children: jsx(SelectionMenuItems, {})
|
|
26707
|
-
})), jsx(Menu, _objectSpread$
|
|
26708
|
-
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS,
|
|
26716
|
+
})), jsx(Menu, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26717
|
+
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS + ketcherId,
|
|
26709
26718
|
onVisibilityChange: function onVisibilityChange(visible) {
|
|
26710
|
-
return trackVisibility(CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS, visible);
|
|
26719
|
+
return trackVisibility(CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS + ketcherId, visible);
|
|
26711
26720
|
},
|
|
26712
26721
|
children: jsx(FunctionalGroupMenuItems, {})
|
|
26713
|
-
})), jsx(Menu, _objectSpread$
|
|
26714
|
-
id: CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT,
|
|
26722
|
+
})), jsx(Menu, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26723
|
+
id: CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT + ketcherId,
|
|
26715
26724
|
onVisibilityChange: function onVisibilityChange(visible) {
|
|
26716
|
-
return trackVisibility(CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT, visible);
|
|
26725
|
+
return trackVisibility(CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT + ketcherId, visible);
|
|
26717
26726
|
},
|
|
26718
26727
|
children: jsx(RGroupAttachmentPointMenuItems, {})
|
|
26719
|
-
})), jsx(Menu, _objectSpread$
|
|
26720
|
-
id: CONTEXT_MENU_ID.FOR_MULTITAIL_ARROW,
|
|
26728
|
+
})), jsx(Menu, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26729
|
+
id: CONTEXT_MENU_ID.FOR_MULTITAIL_ARROW + ketcherId,
|
|
26721
26730
|
onVisibilityChange: function onVisibilityChange(visible) {
|
|
26722
|
-
return trackVisibility(CONTEXT_MENU_ID.FOR_MULTITAIL_ARROW, visible);
|
|
26731
|
+
return trackVisibility(CONTEXT_MENU_ID.FOR_MULTITAIL_ARROW + ketcherId, visible);
|
|
26723
26732
|
},
|
|
26724
26733
|
children: jsx(MultitailArrowMenuItems, {})
|
|
26725
|
-
})), jsx(Menu, _objectSpread$
|
|
26726
|
-
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE,
|
|
26734
|
+
})), jsx(Menu, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26735
|
+
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE + ketcherId,
|
|
26727
26736
|
onVisibilityChange: function onVisibilityChange(visible) {
|
|
26728
|
-
return trackVisibility(CONTEXT_MENU_ID.FOR_MACROMOLECULE, visible);
|
|
26737
|
+
return trackVisibility(CONTEXT_MENU_ID.FOR_MACROMOLECULE + ketcherId, visible);
|
|
26729
26738
|
},
|
|
26730
26739
|
children: jsx(MacromoleculeMenuItems, {})
|
|
26731
26740
|
}))]
|
|
@@ -26749,7 +26758,7 @@ var getIsItemInSelection = function getIsItemInSelection(_ref) {
|
|
|
26749
26758
|
return item.map in selection && Array.isArray(selection[item.map]) && selection[item.map].includes(item.id);
|
|
26750
26759
|
}
|
|
26751
26760
|
};
|
|
26752
|
-
function getMenuPropsForClosestItem(editor, closestItem) {
|
|
26761
|
+
function getMenuPropsForClosestItem(editor, closestItem, ketcherId) {
|
|
26753
26762
|
var struct = editor.struct();
|
|
26754
26763
|
switch (closestItem.map) {
|
|
26755
26764
|
case 'bonds':
|
|
@@ -26759,17 +26768,17 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
26759
26768
|
var isMonomer = (functionalGroup === null || functionalGroup === void 0 ? void 0 : functionalGroup.relatedSGroup) instanceof MonomerMicromolecule;
|
|
26760
26769
|
if (noFunctionalGroup) {
|
|
26761
26770
|
return {
|
|
26762
|
-
id: CONTEXT_MENU_ID.FOR_BONDS,
|
|
26771
|
+
id: CONTEXT_MENU_ID.FOR_BONDS + ketcherId,
|
|
26763
26772
|
bondIds: [closestItem.id]
|
|
26764
26773
|
};
|
|
26765
26774
|
} else if (isMonomer) {
|
|
26766
26775
|
return {
|
|
26767
|
-
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE,
|
|
26776
|
+
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE + ketcherId,
|
|
26768
26777
|
functionalGroups: [functionalGroup]
|
|
26769
26778
|
};
|
|
26770
26779
|
} else {
|
|
26771
26780
|
return {
|
|
26772
|
-
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS,
|
|
26781
|
+
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS + ketcherId,
|
|
26773
26782
|
functionalGroups: [functionalGroup]
|
|
26774
26783
|
};
|
|
26775
26784
|
}
|
|
@@ -26781,17 +26790,17 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
26781
26790
|
var _isMonomer = (_functionalGroup === null || _functionalGroup === void 0 ? void 0 : _functionalGroup.relatedSGroup) instanceof MonomerMicromolecule;
|
|
26782
26791
|
if (_noFunctionalGroup) {
|
|
26783
26792
|
return {
|
|
26784
|
-
id: CONTEXT_MENU_ID.FOR_ATOMS,
|
|
26793
|
+
id: CONTEXT_MENU_ID.FOR_ATOMS + ketcherId,
|
|
26785
26794
|
atomIds: [closestItem.id]
|
|
26786
26795
|
};
|
|
26787
26796
|
} else if (_isMonomer) {
|
|
26788
26797
|
return {
|
|
26789
|
-
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE,
|
|
26798
|
+
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE + ketcherId,
|
|
26790
26799
|
functionalGroups: [_functionalGroup]
|
|
26791
26800
|
};
|
|
26792
26801
|
} else {
|
|
26793
26802
|
return {
|
|
26794
|
-
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS,
|
|
26803
|
+
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS + ketcherId,
|
|
26795
26804
|
functionalGroups: [_functionalGroup]
|
|
26796
26805
|
};
|
|
26797
26806
|
}
|
|
@@ -26802,7 +26811,7 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
26802
26811
|
var sGroup = struct.sgroups.get(closestItem.id);
|
|
26803
26812
|
var _functionalGroup2 = FunctionalGroup.findFunctionalGroupBySGroup(struct.functionalGroups, sGroup);
|
|
26804
26813
|
return _functionalGroup2 ? {
|
|
26805
|
-
id: sGroup instanceof MonomerMicromolecule ? CONTEXT_MENU_ID.FOR_MACROMOLECULE : CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS,
|
|
26814
|
+
id: sGroup instanceof MonomerMicromolecule ? CONTEXT_MENU_ID.FOR_MACROMOLECULE + ketcherId : CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS + ketcherId,
|
|
26806
26815
|
functionalGroups: [_functionalGroup2]
|
|
26807
26816
|
} : null;
|
|
26808
26817
|
}
|
|
@@ -26811,7 +26820,7 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
26811
26820
|
var _struct$rgroupAttachm;
|
|
26812
26821
|
var atomId = (_struct$rgroupAttachm = struct.rgroupAttachmentPoints.get(closestItem.id)) === null || _struct$rgroupAttachm === void 0 ? void 0 : _struct$rgroupAttachm.atomId;
|
|
26813
26822
|
return {
|
|
26814
|
-
id: CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT,
|
|
26823
|
+
id: CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT + ketcherId,
|
|
26815
26824
|
rgroupAttachmentPoints: [closestItem.id],
|
|
26816
26825
|
atomIds: typeof atomId === 'number' ? [atomId] : undefined
|
|
26817
26826
|
};
|
|
@@ -26822,7 +26831,7 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
26822
26831
|
var closestItemTyped = closestItem;
|
|
26823
26832
|
var tailId = closestItemTyped === null || closestItemTyped === void 0 || (_closestItemTyped$ref = closestItemTyped.ref) === null || _closestItemTyped$ref === void 0 ? void 0 : _closestItemTyped$ref.tailId;
|
|
26824
26833
|
return {
|
|
26825
|
-
id: CONTEXT_MENU_ID.FOR_MULTITAIL_ARROW,
|
|
26834
|
+
id: CONTEXT_MENU_ID.FOR_MULTITAIL_ARROW + ketcherId,
|
|
26826
26835
|
itemId: closestItem.id,
|
|
26827
26836
|
tailId: typeof tailId === 'number' ? tailId : null
|
|
26828
26837
|
};
|
|
@@ -26832,7 +26841,7 @@ function getMenuPropsForClosestItem(editor, closestItem) {
|
|
|
26832
26841
|
}
|
|
26833
26842
|
}
|
|
26834
26843
|
var IGNORED_MAPS_LIST = ['enhancedFlags'];
|
|
26835
|
-
function getMenuPropsForSelection(selection, selectedFunctionalGroups) {
|
|
26844
|
+
function getMenuPropsForSelection(selection, selectedFunctionalGroups, ketcherId) {
|
|
26836
26845
|
if (!selection) {
|
|
26837
26846
|
return null;
|
|
26838
26847
|
}
|
|
@@ -26845,35 +26854,35 @@ function getMenuPropsForSelection(selection, selectedFunctionalGroups) {
|
|
|
26845
26854
|
return fg.relatedSGroup instanceof MonomerMicromolecule;
|
|
26846
26855
|
})) {
|
|
26847
26856
|
return {
|
|
26848
|
-
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE,
|
|
26857
|
+
id: CONTEXT_MENU_ID.FOR_MACROMOLECULE + ketcherId,
|
|
26849
26858
|
functionalGroups: functionalGroups
|
|
26850
26859
|
};
|
|
26851
26860
|
}
|
|
26852
26861
|
return {
|
|
26853
|
-
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS,
|
|
26862
|
+
id: CONTEXT_MENU_ID.FOR_FUNCTIONAL_GROUPS + ketcherId,
|
|
26854
26863
|
functionalGroups: functionalGroups
|
|
26855
26864
|
};
|
|
26856
26865
|
} else if (bonds && !atoms && !rgroupAttachmentPoints) {
|
|
26857
26866
|
return {
|
|
26858
|
-
id: CONTEXT_MENU_ID.FOR_BONDS,
|
|
26867
|
+
id: CONTEXT_MENU_ID.FOR_BONDS + ketcherId,
|
|
26859
26868
|
bondIds: bonds,
|
|
26860
26869
|
extraItemsSelected: !onlyHasProperty(selection, 'bonds', IGNORED_MAPS_LIST)
|
|
26861
26870
|
};
|
|
26862
26871
|
} else if (atoms && !bonds && !rgroupAttachmentPoints) {
|
|
26863
26872
|
return {
|
|
26864
|
-
id: CONTEXT_MENU_ID.FOR_ATOMS,
|
|
26873
|
+
id: CONTEXT_MENU_ID.FOR_ATOMS + ketcherId,
|
|
26865
26874
|
atomIds: atoms,
|
|
26866
26875
|
extraItemsSelected: !onlyHasProperty(selection, 'atoms', IGNORED_MAPS_LIST)
|
|
26867
26876
|
};
|
|
26868
26877
|
} else if (rgroupAttachmentPoints && !bonds && !atoms) {
|
|
26869
26878
|
return {
|
|
26870
|
-
id: CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT,
|
|
26879
|
+
id: CONTEXT_MENU_ID.FOR_R_GROUP_ATTACHMENT_POINT + ketcherId,
|
|
26871
26880
|
rgroupAttachmentPoints: rgroupAttachmentPoints,
|
|
26872
26881
|
extraItemsSelected: !onlyHasProperty(selection, 'rgroupAttachmentPoints', IGNORED_MAPS_LIST)
|
|
26873
26882
|
};
|
|
26874
26883
|
} else {
|
|
26875
26884
|
return {
|
|
26876
|
-
id: CONTEXT_MENU_ID.FOR_SELECTION,
|
|
26885
|
+
id: CONTEXT_MENU_ID.FOR_SELECTION + ketcherId,
|
|
26877
26886
|
bondIds: bonds,
|
|
26878
26887
|
atomIds: atoms,
|
|
26879
26888
|
rgroupAttachmentPoints: rgroupAttachmentPoints
|
|
@@ -26881,15 +26890,17 @@ function getMenuPropsForSelection(selection, selectedFunctionalGroups) {
|
|
|
26881
26890
|
}
|
|
26882
26891
|
}
|
|
26883
26892
|
|
|
26893
|
+
function ownKeys$I(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; }
|
|
26894
|
+
function _objectSpread$I(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$I(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26884
26895
|
var ContextMenuTrigger = function ContextMenuTrigger(_ref) {
|
|
26885
26896
|
var children = _ref.children;
|
|
26886
26897
|
var _useAppContext = useAppContext(),
|
|
26887
|
-
|
|
26898
|
+
ketcherId = _useAppContext.ketcherId;
|
|
26888
26899
|
var _useContextMenu = useContextMenu(),
|
|
26889
26900
|
show = _useContextMenu.show;
|
|
26890
26901
|
var getSelectedGroupsInfo = useCallback(function () {
|
|
26891
26902
|
var _editor$selection;
|
|
26892
|
-
var editor =
|
|
26903
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
26893
26904
|
var struct = editor.struct();
|
|
26894
26905
|
var selectedAtomIds = (_editor$selection = editor.selection()) === null || _editor$selection === void 0 ? void 0 : _editor$selection.atoms;
|
|
26895
26906
|
var selectedFunctionalGroups = new Map();
|
|
@@ -26906,10 +26917,11 @@ var ContextMenuTrigger = function ContextMenuTrigger(_ref) {
|
|
|
26906
26917
|
selectedFunctionalGroups: selectedFunctionalGroups,
|
|
26907
26918
|
selectedSGroupsIds: selectedSGroupsIds
|
|
26908
26919
|
};
|
|
26909
|
-
}, [
|
|
26920
|
+
}, [ketcherId]);
|
|
26910
26921
|
var handleDisplay = useCallback(function (event) {
|
|
26911
26922
|
event.preventDefault();
|
|
26912
|
-
var
|
|
26923
|
+
var ketcher = ketcherProvider.getKetcher(ketcherId);
|
|
26924
|
+
var editor = ketcher.editor;
|
|
26913
26925
|
if (editor.render.options.viewOnlyMode) {
|
|
26914
26926
|
return;
|
|
26915
26927
|
}
|
|
@@ -26959,21 +26971,23 @@ var ContextMenuTrigger = function ContextMenuTrigger(_ref) {
|
|
|
26959
26971
|
}
|
|
26960
26972
|
case ContextMenuTriggerType.ClosestItem:
|
|
26961
26973
|
{
|
|
26962
|
-
showProps = getMenuPropsForClosestItem(editor, closestItem);
|
|
26974
|
+
showProps = getMenuPropsForClosestItem(editor, closestItem, ketcherId);
|
|
26963
26975
|
break;
|
|
26964
26976
|
}
|
|
26965
26977
|
case ContextMenuTriggerType.Selection:
|
|
26966
26978
|
{
|
|
26967
|
-
showProps = getMenuPropsForSelection(selection, selectedFunctionalGroups);
|
|
26979
|
+
showProps = getMenuPropsForSelection(selection, selectedFunctionalGroups, ketcherId);
|
|
26968
26980
|
break;
|
|
26969
26981
|
}
|
|
26970
26982
|
}
|
|
26971
26983
|
showProps && show({
|
|
26972
26984
|
id: showProps.id,
|
|
26973
26985
|
event: event,
|
|
26974
|
-
props: showProps
|
|
26986
|
+
props: _objectSpread$I(_objectSpread$I({}, showProps), {}, {
|
|
26987
|
+
ketcherId: ketcherId
|
|
26988
|
+
})
|
|
26975
26989
|
});
|
|
26976
|
-
}, [
|
|
26990
|
+
}, [getSelectedGroupsInfo, show, ketcherId]);
|
|
26977
26991
|
return jsx("div", {
|
|
26978
26992
|
style: {
|
|
26979
26993
|
height: '100%'
|
|
@@ -27320,7 +27334,7 @@ var InfoTooltip$1 = connect(function (store) {
|
|
|
27320
27334
|
};
|
|
27321
27335
|
})(InfoTooltip);
|
|
27322
27336
|
|
|
27323
|
-
var _excluded$o = ["Tag", "className", "
|
|
27337
|
+
var _excluded$o = ["Tag", "className", "ketcherId", "struct", "indigoVerification", "tool", "toolOpts", "options", "onInit", "onSelectionChange", "onElementEdit", "onEnhancedStereoEdit", "onQuickEdit", "onBondEdit", "onZoomIn", "onZoomOut", "onZoomChanged", "onRgroupEdit", "onSgroupEdit", "onRemoveFG", "onMessage", "onAromatizeStruct", "onDearomatizeStruct", "onAttachEdit", "onCipChange", "onConfirm", "onShowInfo", "onApiSettings", "showAttachmentPoints", "onUpdateFloatingTools", "onShowMacromoleculesErrorMessage", "serverSettings"];
|
|
27324
27338
|
function ownKeys$G(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; }
|
|
27325
27339
|
function _objectSpread$G(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$G(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27326
27340
|
function _callSuper$9(t, o, e) { return o = _getPrototypeOf$2(o), _possibleConstructorReturn$2(t, _isNativeReflectConstruct$9() ? Reflect.construct(o, e || [], _getPrototypeOf$2(t).constructor) : o.apply(t, e)); }
|
|
@@ -27441,8 +27455,10 @@ var StructEditor = function (_Component) {
|
|
|
27441
27455
|
key: "componentDidMount",
|
|
27442
27456
|
value: function componentDidMount() {
|
|
27443
27457
|
var _this4 = this;
|
|
27444
|
-
|
|
27445
|
-
var ketcher = ketcherProvider.getKetcher();
|
|
27458
|
+
var prevKetcher = this.props.prevKetcherId ? ketcherProvider.getKetcher(this.props.prevKetcherId) : undefined;
|
|
27459
|
+
var ketcher = ketcherProvider.getKetcher(this.props.ketcherId);
|
|
27460
|
+
this.editor = new Editor$3(this.props.ketcherId, this.editorRef.current, _objectSpread$G({}, this.props.options), _objectSpread$G({}, this.props.serverSettings), prevKetcher === null || prevKetcher === void 0 ? void 0 : prevKetcher.editor);
|
|
27461
|
+
ketcher.addEditor(this.editor);
|
|
27446
27462
|
if (ketcher !== null && ketcher !== void 0 && ketcher.editor.macromoleculeConvertionError) {
|
|
27447
27463
|
this.props.onShowMacromoleculesErrorMessage(ketcher.editor.macromoleculeConvertionError);
|
|
27448
27464
|
ketcher.editor.clearMacromoleculeConvertionError();
|
|
@@ -27539,9 +27555,10 @@ var StructEditor = function (_Component) {
|
|
|
27539
27555
|
var _this$props = this.props,
|
|
27540
27556
|
_this$props$Tag = _this$props.Tag,
|
|
27541
27557
|
Tag = _this$props$Tag === void 0 ? 'div' : _this$props$Tag,
|
|
27542
|
-
className = _this$props.className
|
|
27543
|
-
|
|
27558
|
+
className = _this$props.className;
|
|
27559
|
+
_this$props.ketcherId;
|
|
27544
27560
|
_this$props.struct;
|
|
27561
|
+
var indigoVerification = _this$props.indigoVerification;
|
|
27545
27562
|
_this$props.tool;
|
|
27546
27563
|
_this$props.toolOpts;
|
|
27547
27564
|
_this$props.options;
|
|
@@ -28505,10 +28522,9 @@ function CustomQueryField(props) {
|
|
|
28505
28522
|
className: clsx(_defineProperty$1(_defineProperty$1({}, classes$A.dataError, dataError), classes$A.inputWrapper, true)),
|
|
28506
28523
|
children: jsx(Input$1, _objectSpread$E(_objectSpread$E({
|
|
28507
28524
|
type: "textarea",
|
|
28508
|
-
"data-testid": "
|
|
28525
|
+
"data-testid": "custom-query-value",
|
|
28509
28526
|
name: name,
|
|
28510
|
-
schema: desc
|
|
28511
|
-
"data-testId": "custom-query-value"
|
|
28527
|
+
schema: desc
|
|
28512
28528
|
}, fieldOpts), rest))
|
|
28513
28529
|
}), dataError && anchorEl && jsx(ErrorPopover, {
|
|
28514
28530
|
anchorEl: anchorEl,
|
|
@@ -28942,7 +28958,7 @@ var SaveButton$1 = function SaveButton(props) {
|
|
|
28942
28958
|
disabled = props.disabled,
|
|
28943
28959
|
testId = props.testId;
|
|
28944
28960
|
var _useAppContext = useAppContext(),
|
|
28945
|
-
|
|
28961
|
+
ketcherId = _useAppContext.ketcherId;
|
|
28946
28962
|
var saveFile = function saveFile() {
|
|
28947
28963
|
if (data) {
|
|
28948
28964
|
try {
|
|
@@ -28957,7 +28973,7 @@ var SaveButton$1 = function SaveButton(props) {
|
|
|
28957
28973
|
}
|
|
28958
28974
|
};
|
|
28959
28975
|
var saveImage = function saveImage() {
|
|
28960
|
-
var ketcherInstance =
|
|
28976
|
+
var ketcherInstance = ketcherProvider.getKetcher(ketcherId);
|
|
28961
28977
|
if (options !== null && options !== void 0 && options.outputFormat) {
|
|
28962
28978
|
ketcherInstance.generateImage(data, options).then(function (blob) {
|
|
28963
28979
|
saveAs(blob, "".concat(filename, ".").concat(options.outputFormat));
|
|
@@ -29999,7 +30015,11 @@ function RecognizeDialog(prop) {
|
|
|
29999
30015
|
fragment: fragment
|
|
30000
30016
|
} : null;
|
|
30001
30017
|
};
|
|
30002
|
-
var
|
|
30018
|
+
var _useAppContext = useAppContext(),
|
|
30019
|
+
ketcherId = _useAppContext.ketcherId;
|
|
30020
|
+
var ketcher = useMemo(function () {
|
|
30021
|
+
return ketcherProvider.getKetcher(ketcherId);
|
|
30022
|
+
}, [ketcherId]);
|
|
30003
30023
|
useEffect(function () {
|
|
30004
30024
|
onRecognize(file, version);
|
|
30005
30025
|
}, [file, version]);
|
|
@@ -30213,7 +30233,11 @@ var MiewDialog = function MiewDialog(_ref) {
|
|
|
30213
30233
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
30214
30234
|
isInitialized = _useState2[0],
|
|
30215
30235
|
setIsIsInitialized = _useState2[1];
|
|
30216
|
-
var
|
|
30236
|
+
var _useAppContext = useAppContext(),
|
|
30237
|
+
ketcherId = _useAppContext.ketcherId;
|
|
30238
|
+
var ketcher = useMemo(function () {
|
|
30239
|
+
return ketcherProvider.getKetcher(ketcherId);
|
|
30240
|
+
}, [ketcherId]);
|
|
30217
30241
|
var isDisabled = useMemo(function () {
|
|
30218
30242
|
return !isInitialized || (ketcher === null || ketcher === void 0 ? void 0 : ketcher.editor.render.options.viewOnlyMode) === true;
|
|
30219
30243
|
}, [ketcher, isInitialized]);
|
|
@@ -31383,7 +31407,11 @@ var Open = function Open(props) {
|
|
|
31383
31407
|
_useState12 = _slicedToArray$1(_useState11, 2),
|
|
31384
31408
|
isLoading = _useState12[0],
|
|
31385
31409
|
setIsLoading = _useState12[1];
|
|
31386
|
-
var
|
|
31410
|
+
var _useAppContext = useAppContext(),
|
|
31411
|
+
ketcherId = _useAppContext.ketcherId;
|
|
31412
|
+
var ketcher = useMemo(function () {
|
|
31413
|
+
return ketcherProvider.getKetcher(ketcherId);
|
|
31414
|
+
}, [ketcherId]);
|
|
31387
31415
|
useEffect(function () {
|
|
31388
31416
|
if (server) {
|
|
31389
31417
|
fileOpener(server).then(function (chosenOpener) {
|
|
@@ -33061,8 +33089,8 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
33061
33089
|
function _arrayLikeToArray(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; }
|
|
33062
33090
|
var RemoveFG = function RemoveFG(props) {
|
|
33063
33091
|
var _useAppContext = useAppContext(),
|
|
33064
|
-
|
|
33065
|
-
var editor =
|
|
33092
|
+
ketcherId = _useAppContext.ketcherId;
|
|
33093
|
+
var editor = ketcherProvider.getKetcher(ketcherId).editor;
|
|
33066
33094
|
var fgIds = props.fgIds;
|
|
33067
33095
|
var remove = function remove() {
|
|
33068
33096
|
if (fgIds.length > 0) {
|
|
@@ -33388,9 +33416,17 @@ var Attach = function (_Component) {
|
|
|
33388
33416
|
_this.tmpl = initTmpl(props.tmpl);
|
|
33389
33417
|
onInit(_this.tmpl.struct.name, _this.tmpl.props);
|
|
33390
33418
|
_this.onResult = _this.onResult.bind(_assertThisInitialized$2(_this));
|
|
33419
|
+
var ketcher = ketcherProvider.getKetcher(props.ketcherId);
|
|
33420
|
+
_this.oldKetcherEditor = ketcher.editor;
|
|
33391
33421
|
return _this;
|
|
33392
33422
|
}
|
|
33393
33423
|
_createClass$2(Attach, [{
|
|
33424
|
+
key: "componentWillUnmount",
|
|
33425
|
+
value: function componentWillUnmount() {
|
|
33426
|
+
var ketcher = ketcherProvider.getKetcher(this.props.ketcherId);
|
|
33427
|
+
ketcher.addEditor(this.oldKetcherEditor);
|
|
33428
|
+
}
|
|
33429
|
+
}, {
|
|
33394
33430
|
key: "onResult",
|
|
33395
33431
|
value: function onResult() {
|
|
33396
33432
|
var _this$props = this.props,
|
|
@@ -33458,6 +33494,7 @@ var Attach = function (_Component) {
|
|
|
33458
33494
|
children: [jsx(Editor$2, {
|
|
33459
33495
|
children: jsx(StructEditor, {
|
|
33460
33496
|
className: "structEditor",
|
|
33497
|
+
ketcherId: this.props.ketcherId,
|
|
33461
33498
|
struct: struct,
|
|
33462
33499
|
onAttachEdit: onAttachEdit,
|
|
33463
33500
|
tool: "attach",
|
|
@@ -34491,7 +34528,7 @@ var mapDispatchToProps$2 = function mapDispatchToProps(dispatch) {
|
|
|
34491
34528
|
}
|
|
34492
34529
|
};
|
|
34493
34530
|
};
|
|
34494
|
-
var mergeProps = function mergeProps(stateProps, dispatchProps) {
|
|
34531
|
+
var mergeProps = function mergeProps(stateProps, dispatchProps, ownProps) {
|
|
34495
34532
|
var prop = stateProps.modal && stateProps.modal.prop;
|
|
34496
34533
|
var initProps = prop ? omit(['onResult', 'onCancel'], prop) : {};
|
|
34497
34534
|
return _objectSpread$5(_objectSpread$5({
|
|
@@ -34505,7 +34542,7 @@ var mergeProps = function mergeProps(stateProps, dispatchProps) {
|
|
|
34505
34542
|
if (prop && prop.onCancel) prop.onCancel();
|
|
34506
34543
|
dispatchProps.onCancel();
|
|
34507
34544
|
}
|
|
34508
|
-
});
|
|
34545
|
+
}, ownProps);
|
|
34509
34546
|
};
|
|
34510
34547
|
var ModalContainer = connect(mapStateToProps, mapDispatchToProps$2, mergeProps)(Modal);
|
|
34511
34548
|
|
|
@@ -34542,18 +34579,38 @@ function initEditor(dispatch, getState) {
|
|
|
34542
34579
|
};
|
|
34543
34580
|
var resetToSelect = function resetToSelect() {
|
|
34544
34581
|
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
34545
|
-
return function (
|
|
34546
|
-
var
|
|
34547
|
-
|
|
34548
|
-
|
|
34549
|
-
|
|
34550
|
-
|
|
34551
|
-
|
|
34552
|
-
|
|
34553
|
-
|
|
34554
|
-
|
|
34555
|
-
|
|
34556
|
-
|
|
34582
|
+
return function () {
|
|
34583
|
+
var _ref = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(dispatch) {
|
|
34584
|
+
var _state$actionState;
|
|
34585
|
+
var state, activeTool, selectMode, resetOption;
|
|
34586
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
34587
|
+
while (1) switch (_context.prev = _context.next) {
|
|
34588
|
+
case 0:
|
|
34589
|
+
state = getState();
|
|
34590
|
+
activeTool = (_state$actionState = state.actionState) === null || _state$actionState === void 0 ? void 0 : _state$actionState.activeTool.tool;
|
|
34591
|
+
if (!(!activeTool || activeTool === 'select' && !force)) {
|
|
34592
|
+
_context.next = 4;
|
|
34593
|
+
break;
|
|
34594
|
+
}
|
|
34595
|
+
return _context.abrupt("return");
|
|
34596
|
+
case 4:
|
|
34597
|
+
selectMode = state.toolbar.visibleTools.select;
|
|
34598
|
+
resetOption = state.options.settings.resetToSelect;
|
|
34599
|
+
if (resetOption === true || resetOption === activeTool || force === true)
|
|
34600
|
+
dispatch({
|
|
34601
|
+
type: 'ACTION',
|
|
34602
|
+
action: configWithNonViewOnlyActionsDisabled[selectMode].action
|
|
34603
|
+
});else updateAction();
|
|
34604
|
+
case 7:
|
|
34605
|
+
case "end":
|
|
34606
|
+
return _context.stop();
|
|
34607
|
+
}
|
|
34608
|
+
}, _callee);
|
|
34609
|
+
}));
|
|
34610
|
+
return function (_x) {
|
|
34611
|
+
return _ref.apply(this, arguments);
|
|
34612
|
+
};
|
|
34613
|
+
}();
|
|
34557
34614
|
};
|
|
34558
34615
|
return {
|
|
34559
34616
|
onInit: function onInit(editor) {
|
|
@@ -34600,10 +34657,10 @@ function initEditor(dispatch, getState) {
|
|
|
34600
34657
|
var params = {
|
|
34601
34658
|
type: 'atom',
|
|
34602
34659
|
values: elem.values,
|
|
34603
|
-
disabledIds: Array.from(rgroups.entries()).reduce(function (acc,
|
|
34604
|
-
var
|
|
34605
|
-
rgid =
|
|
34606
|
-
rg =
|
|
34660
|
+
disabledIds: Array.from(rgroups.entries()).reduce(function (acc, _ref2) {
|
|
34661
|
+
var _ref3 = _slicedToArray$1(_ref2, 2),
|
|
34662
|
+
rgid = _ref3[0],
|
|
34663
|
+
rg = _ref3[1];
|
|
34607
34664
|
if (rg.frags.has(elem.fragId)) acc.push(rgid);
|
|
34608
34665
|
return acc;
|
|
34609
34666
|
}, [])
|
|
@@ -34621,8 +34678,8 @@ function initEditor(dispatch, getState) {
|
|
|
34621
34678
|
}
|
|
34622
34679
|
return dlg.then(toElement);
|
|
34623
34680
|
},
|
|
34624
|
-
onEnhancedStereoEdit: function onEnhancedStereoEdit(
|
|
34625
|
-
var init = _extends$3q({}, (_objectDestructuringEmpty(
|
|
34681
|
+
onEnhancedStereoEdit: function onEnhancedStereoEdit(_ref4) {
|
|
34682
|
+
var init = _extends$3q({}, (_objectDestructuringEmpty(_ref4), _ref4));
|
|
34626
34683
|
return sleep(0).then(function () {
|
|
34627
34684
|
init = fromStereoLabel(init.stereoLabel);
|
|
34628
34685
|
return openDialog(dispatch, 'enhancedStereo', {
|
|
@@ -35060,6 +35117,9 @@ var App = function App(props) {
|
|
|
35060
35117
|
var dispatch = useDispatch();
|
|
35061
35118
|
var checkServer = props.checkServer;
|
|
35062
35119
|
useSubscriptionOnEvents();
|
|
35120
|
+
var _useAppContext = useAppContext(),
|
|
35121
|
+
ketcherId = _useAppContext.ketcherId,
|
|
35122
|
+
prevKetcherId = _useAppContext.prevKetcherId;
|
|
35063
35123
|
useEffect(function () {
|
|
35064
35124
|
checkServer();
|
|
35065
35125
|
dispatch(initFGTemplates());
|
|
@@ -35068,6 +35128,7 @@ var App = function App(props) {
|
|
|
35068
35128
|
dispatch(initLib([]));
|
|
35069
35129
|
dispatch(initSaltsAndSolvents([]));
|
|
35070
35130
|
dispatch(initFGroups([]));
|
|
35131
|
+
ketcherProvider.removeKetcherInstance(ketcherId);
|
|
35071
35132
|
};
|
|
35072
35133
|
}, []);
|
|
35073
35134
|
var Editor = Editor$1;
|
|
@@ -35076,6 +35137,8 @@ var App = function App(props) {
|
|
|
35076
35137
|
children: jsxs("div", {
|
|
35077
35138
|
className: classes$1.app,
|
|
35078
35139
|
children: [jsx(AppHiddenContainer, {}), jsx(Editor, {
|
|
35140
|
+
prevKetcherId: prevKetcherId,
|
|
35141
|
+
ketcherId: ketcherId,
|
|
35079
35142
|
className: classes$1.canvas
|
|
35080
35143
|
}), jsx(TopToolbarContainer, {
|
|
35081
35144
|
className: classes$1.top,
|
|
@@ -35086,7 +35149,9 @@ var App = function App(props) {
|
|
|
35086
35149
|
className: classes$1.bottom
|
|
35087
35150
|
}), jsx(RightToolbarContainer, {
|
|
35088
35151
|
className: classes$1.right
|
|
35089
|
-
}), jsx(AppClipArea, {}), jsx(ModalContainer, {
|
|
35152
|
+
}), jsx(AppClipArea, {}), jsx(ModalContainer, {
|
|
35153
|
+
ketcherId: ketcherId
|
|
35154
|
+
}), jsx(AbbreviationLookupContainer, {})]
|
|
35090
35155
|
})
|
|
35091
35156
|
});
|
|
35092
35157
|
};
|
|
@@ -35136,19 +35201,12 @@ function handleRightClick(getState) {
|
|
|
35136
35201
|
}
|
|
35137
35202
|
}
|
|
35138
35203
|
|
|
35139
|
-
function initApp(element, appRoot, staticResourcesUrl, options, server, resolve, togglerComponent) {
|
|
35140
|
-
var ketcherRef = null;
|
|
35141
|
-
var setKetcher = function setKetcher(ketcher) {
|
|
35142
|
-
ketcherRef = ketcher;
|
|
35143
|
-
};
|
|
35144
|
-
var ketcherId = uniqueId();
|
|
35204
|
+
function initApp(prevKetcherId, ketcherId, element, appRoot, staticResourcesUrl, options, server, resolve, togglerComponent) {
|
|
35145
35205
|
var getServerSetter;
|
|
35146
35206
|
var setEditor = function setEditor(editor) {
|
|
35147
35207
|
var setServer = getServerSetter();
|
|
35148
35208
|
resolve({
|
|
35149
35209
|
editor: editor,
|
|
35150
|
-
setKetcher: setKetcher,
|
|
35151
|
-
ketcherId: ketcherId,
|
|
35152
35210
|
setServer: setServer
|
|
35153
35211
|
});
|
|
35154
35212
|
};
|
|
@@ -35173,10 +35231,8 @@ function initApp(element, appRoot, staticResourcesUrl, options, server, resolve,
|
|
|
35173
35231
|
},
|
|
35174
35232
|
children: jsx(appContext.Provider, {
|
|
35175
35233
|
value: {
|
|
35176
|
-
|
|
35177
|
-
|
|
35178
|
-
},
|
|
35179
|
-
ketcherId: ketcherId
|
|
35234
|
+
ketcherId: ketcherId,
|
|
35235
|
+
prevKetcherId: prevKetcherId
|
|
35180
35236
|
},
|
|
35181
35237
|
children: jsx(AppContainer, {
|
|
35182
35238
|
togglerComponent: togglerComponent
|
|
@@ -35214,35 +35270,23 @@ var KetcherBuilder = function () {
|
|
|
35214
35270
|
function KetcherBuilder() {
|
|
35215
35271
|
_classCallCheck$2(this, KetcherBuilder);
|
|
35216
35272
|
this.structService = null;
|
|
35217
|
-
this.editor = null;
|
|
35218
35273
|
this.serviceMode = null;
|
|
35219
35274
|
this.formatterFactory = null;
|
|
35220
35275
|
}
|
|
35221
35276
|
_createClass$2(KetcherBuilder, [{
|
|
35222
35277
|
key: "appendApiAsync",
|
|
35223
|
-
value: function () {
|
|
35224
|
-
|
|
35225
|
-
|
|
35226
|
-
|
|
35227
|
-
|
|
35228
|
-
this.structService = createApi(structServiceProvider, DefaultStructServiceOptions);
|
|
35229
|
-
case 1:
|
|
35230
|
-
case "end":
|
|
35231
|
-
return _context.stop();
|
|
35232
|
-
}
|
|
35233
|
-
}, _callee, this);
|
|
35234
|
-
}));
|
|
35235
|
-
function appendApiAsync(_x) {
|
|
35236
|
-
return _appendApiAsync.apply(this, arguments);
|
|
35237
|
-
}
|
|
35238
|
-
return appendApiAsync;
|
|
35239
|
-
}()
|
|
35278
|
+
value: function appendApiAsync(structServiceProvider) {
|
|
35279
|
+
this.structService = createApi(structServiceProvider, DefaultStructServiceOptions);
|
|
35280
|
+
this.formatterFactory = new FormatterFactory(this.structService);
|
|
35281
|
+
return this.structService;
|
|
35282
|
+
}
|
|
35240
35283
|
}, {
|
|
35241
35284
|
key: "reinitializeApi",
|
|
35242
|
-
value: function reinitializeApi(structServiceProvider, setStructServiceToStore) {
|
|
35285
|
+
value: function reinitializeApi(ketcherId, structServiceProvider, setStructServiceToStore) {
|
|
35243
35286
|
var _this = this;
|
|
35244
35287
|
var oldStructService = this.structService;
|
|
35245
35288
|
this.structService = createApi(structServiceProvider, DefaultStructServiceOptions);
|
|
35289
|
+
this.structService.addKetcherId(ketcherId);
|
|
35246
35290
|
window.addEventListener(STRUCT_SERVICE_INITIALIZED_EVENT, function () {
|
|
35247
35291
|
var _oldStructService$des;
|
|
35248
35292
|
oldStructService === null || oldStructService === void 0 || (_oldStructService$des = oldStructService.destroy) === null || _oldStructService$des === void 0 || _oldStructService$des.call(oldStructService);
|
|
@@ -35250,7 +35294,7 @@ var KetcherBuilder = function () {
|
|
|
35250
35294
|
KetcherLogger.warn('Structure service is not reinitialized');
|
|
35251
35295
|
return;
|
|
35252
35296
|
}
|
|
35253
|
-
var ketcher = ketcherProvider.getKetcher();
|
|
35297
|
+
var ketcher = ketcherProvider.getKetcher(ketcherId);
|
|
35254
35298
|
ketcher.reinitializeIndigo(_this.structService);
|
|
35255
35299
|
IndigoProvider.setIndigo(_this.structService);
|
|
35256
35300
|
setStructServiceToStore(_this.structService);
|
|
@@ -35267,47 +35311,41 @@ var KetcherBuilder = function () {
|
|
|
35267
35311
|
}, {
|
|
35268
35312
|
key: "appendUiAsync",
|
|
35269
35313
|
value: function () {
|
|
35270
|
-
var _appendUiAsync = _asyncToGenerator( _regeneratorRuntime.mark(function
|
|
35271
|
-
var structService, cleanup, _yield$Promise, editor,
|
|
35272
|
-
return _regeneratorRuntime.wrap(function
|
|
35273
|
-
while (1) switch (
|
|
35314
|
+
var _appendUiAsync = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(prevKetcherId, ketcherId, element, appRoot, staticResourcesUrl, errorHandler, buttons, togglerComponent, customButtons) {
|
|
35315
|
+
var structService, cleanup, _yield$Promise, editor, setServer;
|
|
35316
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
35317
|
+
while (1) switch (_context.prev = _context.next) {
|
|
35274
35318
|
case 0:
|
|
35275
35319
|
structService = this.structService;
|
|
35276
35320
|
cleanup = null;
|
|
35277
|
-
|
|
35321
|
+
_context.next = 4;
|
|
35278
35322
|
return new Promise(function (resolve) {
|
|
35279
|
-
cleanup = initApp(element, appRoot, staticResourcesUrl, {
|
|
35323
|
+
cleanup = initApp(prevKetcherId, ketcherId, element, appRoot, staticResourcesUrl, {
|
|
35280
35324
|
buttons: buttons || {},
|
|
35281
35325
|
errorHandler: errorHandler || null,
|
|
35282
|
-
version: "3.5.0-rc.
|
|
35283
|
-
buildDate: "2025-06-
|
|
35326
|
+
version: "3.5.0-rc.4" ,
|
|
35327
|
+
buildDate: "2025-06-18T16:34:40" ,
|
|
35284
35328
|
buildNumber: '',
|
|
35285
35329
|
customButtons: customButtons || []
|
|
35286
35330
|
}, structService, resolve, togglerComponent);
|
|
35287
35331
|
});
|
|
35288
35332
|
case 4:
|
|
35289
|
-
_yield$Promise =
|
|
35333
|
+
_yield$Promise = _context.sent;
|
|
35290
35334
|
editor = _yield$Promise.editor;
|
|
35291
|
-
setKetcher = _yield$Promise.setKetcher;
|
|
35292
|
-
ketcherId = _yield$Promise.ketcherId;
|
|
35293
35335
|
setServer = _yield$Promise.setServer;
|
|
35294
|
-
|
|
35295
|
-
this.editor.errorHandler = errorHandler && typeof errorHandler === 'function' ? errorHandler :
|
|
35336
|
+
editor.errorHandler = errorHandler && typeof errorHandler === 'function' ? errorHandler :
|
|
35296
35337
|
function () {};
|
|
35297
|
-
|
|
35298
|
-
return _context2.abrupt("return", {
|
|
35299
|
-
setKetcher: setKetcher,
|
|
35300
|
-
ketcherId: ketcherId,
|
|
35338
|
+
return _context.abrupt("return", {
|
|
35301
35339
|
cleanup: cleanup,
|
|
35302
35340
|
setServer: setServer
|
|
35303
35341
|
});
|
|
35304
|
-
case
|
|
35342
|
+
case 9:
|
|
35305
35343
|
case "end":
|
|
35306
|
-
return
|
|
35344
|
+
return _context.stop();
|
|
35307
35345
|
}
|
|
35308
|
-
},
|
|
35346
|
+
}, _callee, this);
|
|
35309
35347
|
}));
|
|
35310
|
-
function appendUiAsync(_x2, _x3, _x4, _x5, _x6, _x7, _x8) {
|
|
35348
|
+
function appendUiAsync(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8, _x9) {
|
|
35311
35349
|
return _appendUiAsync.apply(this, arguments);
|
|
35312
35350
|
}
|
|
35313
35351
|
return appendUiAsync;
|
|
@@ -35324,11 +35362,11 @@ var KetcherBuilder = function () {
|
|
|
35324
35362
|
if (!this.formatterFactory) {
|
|
35325
35363
|
throw new Error('You should append StructureServiceFactory before building');
|
|
35326
35364
|
}
|
|
35327
|
-
var ketcher = new Ketcher(this.
|
|
35365
|
+
var ketcher = new Ketcher(this.structService, this.formatterFactory);
|
|
35328
35366
|
ketcher[this.serviceMode] = true;
|
|
35329
35367
|
var userInput = document.location.search;
|
|
35330
35368
|
if (userInput === '__proto__' || userInput === 'constructor' || userInput === 'prototype') {
|
|
35331
|
-
return;
|
|
35369
|
+
return ketcher;
|
|
35332
35370
|
}
|
|
35333
35371
|
var params = new URLSearchParams(document.location.search);
|
|
35334
35372
|
var initialMol = params.get('moll');
|
|
@@ -35336,7 +35374,7 @@ var KetcherBuilder = function () {
|
|
|
35336
35374
|
ketcher.setMolecule(initialMol);
|
|
35337
35375
|
}
|
|
35338
35376
|
IndigoProvider.setIndigo(this.structService);
|
|
35339
|
-
ketcherProvider.
|
|
35377
|
+
ketcherProvider.addKetcherInstance(ketcher);
|
|
35340
35378
|
return ketcher;
|
|
35341
35379
|
}
|
|
35342
35380
|
}]);
|
|
@@ -35348,36 +35386,29 @@ function buildKetcherAsync(_x) {
|
|
|
35348
35386
|
}
|
|
35349
35387
|
function _buildKetcherAsync() {
|
|
35350
35388
|
_buildKetcherAsync = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(_ref) {
|
|
35351
|
-
var element, appRoot, staticResourcesUrl, structServiceProvider, buttons, errorHandler, togglerComponent, customButtons, builder, _yield$builder$append,
|
|
35389
|
+
var element, appRoot, staticResourcesUrl, structServiceProvider, buttons, errorHandler, togglerComponent, customButtons, prevKetcherId, builder, structService, ketcher, _yield$builder$append, cleanup, setServer;
|
|
35352
35390
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
35353
35391
|
while (1) switch (_context.prev = _context.next) {
|
|
35354
35392
|
case 0:
|
|
35355
|
-
element = _ref.element, appRoot = _ref.appRoot, staticResourcesUrl = _ref.staticResourcesUrl, structServiceProvider = _ref.structServiceProvider, buttons = _ref.buttons, errorHandler = _ref.errorHandler, togglerComponent = _ref.togglerComponent, customButtons = _ref.customButtons;
|
|
35393
|
+
element = _ref.element, appRoot = _ref.appRoot, staticResourcesUrl = _ref.staticResourcesUrl, structServiceProvider = _ref.structServiceProvider, buttons = _ref.buttons, errorHandler = _ref.errorHandler, togglerComponent = _ref.togglerComponent, customButtons = _ref.customButtons, prevKetcherId = _ref.ketcherId;
|
|
35356
35394
|
builder = new KetcherBuilder();
|
|
35357
|
-
|
|
35358
|
-
return builder.appendApiAsync(structServiceProvider);
|
|
35359
|
-
case 4:
|
|
35395
|
+
structService = builder.appendApiAsync(structServiceProvider);
|
|
35360
35396
|
builder.appendServiceMode(structServiceProvider.mode);
|
|
35361
|
-
|
|
35362
|
-
|
|
35363
|
-
|
|
35397
|
+
ketcher = builder.build();
|
|
35398
|
+
structService.addKetcherId(ketcher.id);
|
|
35399
|
+
_context.next = 8;
|
|
35400
|
+
return builder.appendUiAsync(prevKetcherId, ketcher.id, element, appRoot, staticResourcesUrl, errorHandler, buttons, togglerComponent, customButtons);
|
|
35401
|
+
case 8:
|
|
35364
35402
|
_yield$builder$append = _context.sent;
|
|
35365
|
-
setKetcher = _yield$builder$append.setKetcher;
|
|
35366
|
-
ketcherId = _yield$builder$append.ketcherId;
|
|
35367
35403
|
cleanup = _yield$builder$append.cleanup;
|
|
35368
35404
|
setServer = _yield$builder$append.setServer;
|
|
35369
|
-
ketcher = builder.build();
|
|
35370
|
-
if (ketcher) {
|
|
35371
|
-
setKetcher(ketcher);
|
|
35372
|
-
}
|
|
35373
35405
|
return _context.abrupt("return", {
|
|
35374
35406
|
ketcher: ketcher,
|
|
35375
|
-
ketcherId: ketcherId,
|
|
35376
35407
|
cleanup: cleanup,
|
|
35377
35408
|
builder: builder,
|
|
35378
35409
|
setServer: setServer
|
|
35379
35410
|
});
|
|
35380
|
-
case
|
|
35411
|
+
case 12:
|
|
35381
35412
|
case "end":
|
|
35382
35413
|
return _context.stop();
|
|
35383
35414
|
}
|
|
@@ -35409,31 +35440,48 @@ function MicromoleculesEditor(props) {
|
|
|
35409
35440
|
width = _useResizeObserver.width;
|
|
35410
35441
|
useEffect(function () {
|
|
35411
35442
|
var _ketcherBuilderRef$cu;
|
|
35412
|
-
|
|
35443
|
+
if (!props.ketcherId) {
|
|
35444
|
+
return;
|
|
35445
|
+
}
|
|
35446
|
+
(_ketcherBuilderRef$cu = ketcherBuilderRef.current) === null || _ketcherBuilderRef$cu === void 0 || _ketcherBuilderRef$cu.reinitializeApi(props.ketcherId, props.structServiceProvider, setServerRef.current);
|
|
35413
35447
|
}, [structServiceProvider]);
|
|
35414
|
-
var initKetcher = function
|
|
35415
|
-
var
|
|
35416
|
-
|
|
35417
|
-
|
|
35418
|
-
|
|
35419
|
-
|
|
35448
|
+
var initKetcher = function () {
|
|
35449
|
+
var _ref = _asyncToGenerator( _regeneratorRuntime.mark(function _callee() {
|
|
35450
|
+
var _initPromiseRef$curre;
|
|
35451
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
35452
|
+
while (1) switch (_context.prev = _context.next) {
|
|
35453
|
+
case 0:
|
|
35454
|
+
appRootRef.current = createRoot(rootElRef.current);
|
|
35455
|
+
initPromiseRef.current = buildKetcherAsync(_objectSpread$1(_objectSpread$1({}, props), {}, {
|
|
35456
|
+
element: rootElRef.current,
|
|
35457
|
+
appRoot: appRootRef.current
|
|
35458
|
+
}));
|
|
35459
|
+
(_initPromiseRef$curre = initPromiseRef.current) === null || _initPromiseRef$curre === void 0 || _initPromiseRef$curre.then(function (_ref2) {
|
|
35460
|
+
var _props$onSetKetcherId;
|
|
35461
|
+
var ketcher = _ref2.ketcher,
|
|
35462
|
+
cleanup = _ref2.cleanup,
|
|
35463
|
+
builder = _ref2.builder,
|
|
35464
|
+
setServer = _ref2.setServer;
|
|
35465
|
+
cleanupRef.current = cleanup;
|
|
35466
|
+
ketcherBuilderRef.current = builder;
|
|
35467
|
+
setServerRef.current = setServer;
|
|
35468
|
+
(_props$onSetKetcherId = props.onSetKetcherId) === null || _props$onSetKetcherId === void 0 || _props$onSetKetcherId.call(props, ketcher.id);
|
|
35469
|
+
if (typeof props.onInit === 'function' && ketcher) {
|
|
35470
|
+
props.onInit(ketcher);
|
|
35471
|
+
var ketcherInitEvent = new Event(ketcherInitEventName(ketcher.id));
|
|
35472
|
+
window.dispatchEvent(ketcherInitEvent);
|
|
35473
|
+
}
|
|
35474
|
+
});
|
|
35475
|
+
case 3:
|
|
35476
|
+
case "end":
|
|
35477
|
+
return _context.stop();
|
|
35478
|
+
}
|
|
35479
|
+
}, _callee);
|
|
35420
35480
|
}));
|
|
35421
|
-
|
|
35422
|
-
|
|
35423
|
-
|
|
35424
|
-
|
|
35425
|
-
builder = _ref.builder,
|
|
35426
|
-
setServer = _ref.setServer;
|
|
35427
|
-
cleanupRef.current = cleanup;
|
|
35428
|
-
ketcherBuilderRef.current = builder;
|
|
35429
|
-
setServerRef.current = setServer;
|
|
35430
|
-
if (typeof props.onInit === 'function' && ketcher) {
|
|
35431
|
-
props.onInit(ketcher);
|
|
35432
|
-
var ketcherInitEvent = new Event(ketcherInitEventName(ketcherId));
|
|
35433
|
-
window.dispatchEvent(ketcherInitEvent);
|
|
35434
|
-
}
|
|
35435
|
-
});
|
|
35436
|
-
};
|
|
35481
|
+
return function initKetcher() {
|
|
35482
|
+
return _ref.apply(this, arguments);
|
|
35483
|
+
};
|
|
35484
|
+
}();
|
|
35437
35485
|
useEffect(function () {
|
|
35438
35486
|
if (initPromiseRef.current === null) {
|
|
35439
35487
|
initKetcher();
|
|
@@ -35570,9 +35618,8 @@ var ModeControl = function ModeControl(_ref3) {
|
|
|
35570
35618
|
|
|
35571
35619
|
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; }
|
|
35572
35620
|
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$1(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; }
|
|
35573
|
-
var MacromoleculesEditorComponent = lazy(
|
|
35574
|
-
|
|
35575
|
-
return import('./index.modern-87cd317d.js');
|
|
35621
|
+
var MacromoleculesEditorComponent = lazy(function () {
|
|
35622
|
+
return import('./index.modern-723c68e1.js');
|
|
35576
35623
|
});
|
|
35577
35624
|
var Editor = function Editor(props) {
|
|
35578
35625
|
var _useState = useState(false),
|
|
@@ -35587,6 +35634,10 @@ var Editor = function Editor(props) {
|
|
|
35587
35634
|
_useState6 = _slicedToArray$1(_useState5, 2),
|
|
35588
35635
|
macromoleculesEditor = _useState6[0],
|
|
35589
35636
|
setMacromoleculesEditor = _useState6[1];
|
|
35637
|
+
var _useState7 = useState(''),
|
|
35638
|
+
_useState8 = _slicedToArray$1(_useState7, 2),
|
|
35639
|
+
ketcherId = _useState8[0],
|
|
35640
|
+
setKetcherId = _useState8[1];
|
|
35590
35641
|
var togglePolymerEditor = function togglePolymerEditor(toggleValue) {
|
|
35591
35642
|
setShowPolymerEditor(toggleValue);
|
|
35592
35643
|
window.isPolymerEditorTurnedOn = toggleValue;
|
|
@@ -35629,8 +35680,9 @@ var Editor = function Editor(props) {
|
|
|
35629
35680
|
className: styles.switchingLoader,
|
|
35630
35681
|
children: jsx(LoadingCircles, {})
|
|
35631
35682
|
}),
|
|
35632
|
-
children: jsx(MacromoleculesEditorComponent, {
|
|
35683
|
+
children: ketcherId && jsx(MacromoleculesEditorComponent, {
|
|
35633
35684
|
togglerComponent: togglerComponent,
|
|
35685
|
+
ketcherId: ketcherId,
|
|
35634
35686
|
isMacromoleculesEditorTurnedOn: showPolymerEditor,
|
|
35635
35687
|
onInit: onInitMacromoleculesEditor
|
|
35636
35688
|
})
|
|
@@ -35641,6 +35693,8 @@ var Editor = function Editor(props) {
|
|
|
35641
35693
|
display: showPolymerEditor ? 'none' : undefined
|
|
35642
35694
|
},
|
|
35643
35695
|
children: jsx(MicromoleculesEditor, _objectSpread(_objectSpread({}, props), {}, {
|
|
35696
|
+
ketcherId: ketcherId,
|
|
35697
|
+
onSetKetcherId: setKetcherId,
|
|
35644
35698
|
togglerComponent: togglerComponent,
|
|
35645
35699
|
onInit: onInitMoleculesEditor
|
|
35646
35700
|
}))
|