+
{this.props.msg.represent()}:
+
this.expandDiv()}/>
+
this.expandDiv()}
+ >{this.props.msg.signals.size} signal{this.props.msg.signals.size > 1 ? 's' : ''}
+
+ {this.state.sigs}
+
+
+ )
+ }else{
+ return(<>>)
+ }
+ }
+
+ expandDiv(){
+ this.setState({expanded: !this.state.expanded})
+ }
+
+ search(criteria: string): boolean{
+ // search by base 10
+ let match_10: boolean = this.props.msg.id == parseInt(criteria, 10);
+ // search by base 16
+ let match_hex: boolean = this.props.msg.id == parseInt(criteria, 16);
+ // search by name
+ let match_name: boolean = this.props.msg.name.includes(criteria);
+ return (match_10 || match_hex || match_name);
+ }
+
+}
+
+export default MessageComp;
diff --git a/client/out/.keep b/client/src/dbcParts/Signal.css
similarity index 100%
rename from client/out/.keep
rename to client/src/dbcParts/Signal.css
diff --git a/client/src/dbcParts/Signal.tsx b/client/src/dbcParts/Signal.tsx
new file mode 100644
index 0000000..5ac46e5
--- /dev/null
+++ b/client/src/dbcParts/Signal.tsx
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2022 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ *
.
+ */
+import React from 'react';
+import './Signal.css';
+import {Signal, Message} from 'dbclib';
+import { ProposedFeatures } from 'vscode-languageclient';
+
+interface Props{
+ sig: Signal
+};
+interface State{
+}
+
+export default class SignalComp extends React.Component{
+ constructor(props: Props){
+ super(props);
+ }
+
+ render(): React.ReactNode {
+ return(
+
+
{this.props.sig.name} {this.props.sig.unit == "" ? "" : `(${this.props.sig.unit})`}
+
+ )
+ }
+}
diff --git a/client/src/index.css b/client/src/index.css
new file mode 100644
index 0000000..164715b
--- /dev/null
+++ b/client/src/index.css
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2022 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+ */
+body {
+ margin: 0;
+ padding: 0;
+ font-family: sans-serif;
+}
diff --git a/client/src/index.tsx b/client/src/index.tsx
new file mode 100644
index 0000000..53fbef4
--- /dev/null
+++ b/client/src/index.tsx
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2022 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+ */
+import * as React from 'react';
+import * as ReactDOM from 'react-dom';
+import App from './App';
+import './index.css';
+
+ReactDOM.render(
+ ,
+ document.getElementById('root')
+);
diff --git a/client/src/loading.svg b/client/src/loading.svg
new file mode 100644
index 0000000..03bf45f
--- /dev/null
+++ b/client/src/loading.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/client/src/logo.svg b/client/src/logo.svg
new file mode 100644
index 0000000..6b60c10
--- /dev/null
+++ b/client/src/logo.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/client/src/react-app-env.d.ts b/client/src/react-app-env.d.ts
new file mode 100644
index 0000000..6431bc5
--- /dev/null
+++ b/client/src/react-app-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/client/tsconfig.extension.json b/client/tsconfig.extension.json
new file mode 100644
index 0000000..6ddab9b
--- /dev/null
+++ b/client/tsconfig.extension.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "es6",
+ "outDir": "build",
+ "lib": [
+ "es6",
+ "dom"
+ ],
+ "sourceMap": true,
+ "rootDir": ".",
+ "strict": true,
+ "typeRoots": ["node_modules/@types"]
+ },
+ "include": [
+ "ext-src"
+ ],
+ "exclude": [
+ "node_modules",
+ ".vscode-test"
+ ]
+}
diff --git a/client/tsconfig.json b/client/tsconfig.json
index c526fc9..24fdfc5 100644
--- a/client/tsconfig.json
+++ b/client/tsconfig.json
@@ -1,12 +1,28 @@
{
- "compilerOptions": {
- "module": "commonjs",
- "target": "es2019",
- "lib": ["ES2019"],
- "outDir": "out",
- "rootDir": "src",
- "sourceMap": true
- },
- "include": ["src"],
- "exclude": ["node_modules", ".vscode-test"]
+ "compilerOptions": {
+ "target": "es5",
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react",
+ "noFallthroughCasesInSwitch": true,
+ "downlevelIteration": true,
+ "typeRoots": ["node_modules/@types"]
+ },
+ "include": [
+ "src"
+ ]
}
diff --git a/client/webpack.config.js b/client/webpack.config.js
new file mode 100644
index 0000000..88689dc
--- /dev/null
+++ b/client/webpack.config.js
@@ -0,0 +1,48 @@
+
+
+//@ts-check
+
+'use strict';
+
+const path = require('path');
+
+/**@type {import('webpack').Configuration}*/
+const config = {
+ target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/
+
+ entry: './build/ext-src/extension.js', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/
+ output: {
+ // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/
+ path: path.resolve(__dirname, 'build/ext-src'),
+ filename: 'serverPack.js',
+ libraryTarget: 'commonjs2'
+ },
+ devtool: 'source-map',
+ externals: {
+ vscode: 'commonjs vscode' // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/
+ },
+ resolve: {
+ // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader
+ extensions: ['.ts', '.js']
+ },
+ module: {
+ rules: [
+ {
+ exclude: /node_modules/,
+ // use: [
+ // {
+ // loader: 'ts-loader',
+ // options:
+ // {
+ // configFile:"tsconfig.json"
+ // }
+ // }
+ // ]
+ }
+ ]
+ },
+ optimization: {
+ minimize: false
+ },
+};
+module.exports = config;
diff --git a/dbcLib/build/serverPack.js b/dbcLib/build/serverPack.js
new file mode 100644
index 0000000..99a831c
--- /dev/null
+++ b/dbcLib/build/serverPack.js
@@ -0,0 +1,3199 @@
+/******/ (() => { // webpackBootstrap
+/******/ var __webpack_modules__ = ({
+
+/***/ 271:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AttributeDef = exports.Attribute = void 0;
+class Attribute {
+ constructor(name, objectType, value) {
+ this.name = name;
+ this.type = objectType;
+ this.value = value;
+ this.clsType = "attribute";
+ }
+}
+exports.Attribute = Attribute;
+class AttributeDef {
+ constructor(name, objType, valType) {
+ this.name = name;
+ this.objType = objType;
+ this.valType = valType;
+ this.clsType = "attributeDef";
+ }
+}
+exports.AttributeDef = AttributeDef;
+
+
+/***/ }),
+
+/***/ 761:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Database = void 0;
+;
+class Database {
+ constructor() {
+ this.messages = new Map();
+ this.valTables = new Map();
+ this.version = "";
+ this.symbols = [];
+ this.parseErrors = [];
+ this.bitTiming = {
+ baudRate: -1,
+ register_1: -1,
+ register_2: -1
+ };
+ this.nodes = new Map();
+ this.environmentVariables = new Map();
+ this.signalTypes = new Map();
+ this.comment = "";
+ this.attrDefs = new Map();
+ this.attributes = new Map();
+ this.fileName = "";
+ this.type = "database";
+ }
+}
+exports.Database = Database;
+Database.identifier = "Database";
+
+
+/***/ }),
+
+/***/ 7:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Node = void 0;
+class Node {
+ constructor(name) {
+ this.name = name;
+ this.comment = "";
+ this.attributes = new Map();
+ this.clsType = "node";
+ }
+}
+exports.Node = Node;
+
+
+/***/ }),
+
+/***/ 237:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.DBCError = void 0;
+var conditionType;
+(function (conditionType) {
+ conditionType[conditionType["noCondition"] = 0] = "noCondition";
+ conditionType[conditionType["mapHas"] = 1] = "mapHas";
+})(conditionType || (conditionType = {}));
+class DBCError {
+ constructor(whence, what, type, // 0: warning, 1: error
+ token = "") {
+ this.whence = whence;
+ this.what = what;
+ this.type = type;
+ this.token = token;
+ this.hasCondition = false;
+ this.condition = conditionType.noCondition;
+ this.mapVal = null;
+ this.key = null;
+ }
+ evalCondition() {
+ // returns false if error needs to be added
+ if (!this.hasCondition)
+ return false;
+ switch (this.condition) {
+ case conditionType.noCondition:
+ return false;
+ case conditionType.mapHas:
+ return this.evalMapCondition();
+ default:
+ break;
+ }
+ }
+ addMapCondition(mapVal, key) {
+ this.mapVal = mapVal;
+ this.key = key;
+ this.condition = conditionType.mapHas;
+ this.hasCondition = true;
+ }
+ evalMapCondition() {
+ if (this.mapVal === null || this.key === null)
+ // no condition set. unconditional error, so always add
+ return false;
+ else if (this.mapVal === undefined)
+ // map doest exist so there's no way the key is in it.
+ return false;
+ else {
+ // console.log("checking map condition", this.mapVal, this.key, this.mapVal.has(this.key));
+ if (this.mapVal.has(this.key))
+ return true;
+ else
+ return false;
+ }
+ }
+ isMapCondition() {
+ return this.condition == conditionType.mapHas;
+ }
+}
+exports.DBCError = DBCError;
+
+
+/***/ }),
+
+/***/ 276:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.EnvironmentVariable = void 0;
+class EnvironmentVariable {
+ constructor() {
+ this.name = "";
+ this.type = 2;
+ this.min = -1;
+ this.max = 0;
+ this.unit = "";
+ this.initialVal = 0;
+ this.id = 0;
+ this.transmitters = [];
+ this.valueDescriptions = new Map();
+ this.dataSize = 0; // used when ENVVAR_DATA is present
+ this.comment = "";
+ this.attributes = new Map();
+ this.clsType = "environmentVariable";
+ }
+}
+exports.EnvironmentVariable = EnvironmentVariable;
+
+
+/***/ }),
+
+/***/ 780:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Message = void 0;
+class Message {
+ constructor(endLineNum, Id, Name, Size, Transmitter, Signals) {
+ this.id = Id;
+ this.name = Name;
+ this.size = Size;
+ this.transmitter = Transmitter;
+ this.signals = Signals;
+ this.comment = "";
+ this.transmitters = [];
+ this.signalGroups = new Map();
+ this.attributes = new Map();
+ this.endNum = endLineNum;
+ this.clsType = "message";
+ }
+ get lineNum() {
+ return this.endNum - this.signals.size;
+ }
+ represent() {
+ var hex = this.id.toString(16).padStart(3, "000").toUpperCase();
+ var dec = this.id.toString(10).padStart(4, "0000");
+ return `0x${hex} (${dec}) ${this.name}`;
+ }
+}
+exports.Message = Message;
+
+
+/***/ }),
+
+/***/ 730:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SignalGroup = exports.SignalType = exports.Signal = void 0;
+class Signal {
+ constructor(lineNo, Name, Start, Size, Order, Type, Factor, Offset, Min, Max, Unit, Receivers) {
+ this.name = Name;
+ this.startBit = Start;
+ this.bitSize = Size;
+ this.byteOrder = Order;
+ this.valueType = Type;
+ this.factor = Factor;
+ this.offset = Offset;
+ this.minimum = Min;
+ this.maximum = Max;
+ this.unit = Unit;
+ this.receivers = Receivers;
+ this.valTable = null;
+ this.comment = "";
+ this.attributes = new Map();
+ this.lineNum = lineNo;
+ this.clsType = "signal";
+ }
+}
+exports.Signal = Signal;
+class SignalType {
+ constructor(name, size, byteOrder, valueType, factor, offset, min, max, unit, defaultVal, valTable) {
+ this.name = name;
+ this.size = size;
+ this.byteOrder = byteOrder;
+ this.valueType = valueType;
+ this.factor = factor;
+ this.offset = offset;
+ this.minimum = min;
+ this.maximum = max;
+ this.unit = unit;
+ this.default = defaultVal;
+ this.valTable = valTable;
+ this.clsType = "signalType";
+ }
+}
+exports.SignalType = SignalType;
+class SignalGroup {
+ constructor() {
+ this.messageId = 0;
+ this.name = "";
+ this.repetitions = 0;
+ this.signals = [];
+ this.clsType = "signalGroup";
+ }
+}
+exports.SignalGroup = SignalGroup;
+
+
+/***/ }),
+
+/***/ 112:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ValueType = exports.ValTable = void 0;
+class ValTable {
+ constructor(name) {
+ this.name = name;
+ this.descriptions = new Map();
+ this.clsType = "valTable";
+ }
+}
+exports.ValTable = ValTable;
+class ValueType {
+ constructor(type) {
+ this.type = type;
+ this.min = 0;
+ this.max = 0;
+ this.enumVals = [];
+ }
+}
+exports.ValueType = ValueType;
+
+
+/***/ }),
+
+/***/ 164:
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+
+/**
+ * Copyright (C) 2022 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.decodeDb = exports.encodeDb = exports.extensionCodec = void 0;
+const msgpack_1 = __webpack_require__(676);
+const db_1 = __webpack_require__(761);
+const message_1 = __webpack_require__(780);
+const dbcNode_1 = __webpack_require__(7);
+const valtable_1 = __webpack_require__(112);
+const attributes_1 = __webpack_require__(271);
+const ev_1 = __webpack_require__(276);
+const signal_1 = __webpack_require__(730);
+const b64 = __webpack_require__(575);
+// DBCError elided
+exports.extensionCodec = new msgpack_1.ExtensionCodec();
+// Attribute
+exports.extensionCodec.register({
+ type: 2,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "attribute") {
+ let object = input;
+ var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });
+ var type = msgpack_1.encode(object.type, { extensionCodec: exports.extensionCodec });
+ var value = msgpack_1.encode(object.value, { extensionCodec: exports.extensionCodec });
+ return msgpack_1.encode([name, type, value], { extensionCodec: exports.extensionCodec });
+ }
+ else {
+ return null;
+ }
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ return new attributes_1.Attribute(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }));
+ }
+});
+// AttributeDef
+exports.extensionCodec.register({
+ type: 3,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "attributeDef") {
+ let object = input;
+ var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });
+ var type = msgpack_1.encode(object.objType, { extensionCodec: exports.extensionCodec });
+ var value = msgpack_1.encode(object.valType, { extensionCodec: exports.extensionCodec });
+ return msgpack_1.encode([name, type, value], { extensionCodec: exports.extensionCodec });
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ return new attributes_1.AttributeDef(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }));
+ }
+});
+// Node
+exports.extensionCodec.register({
+ type: 4,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "node") {
+ let object = input;
+ var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });
+ var comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });
+ var attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });
+ return msgpack_1.encode([name, comment, attributes], { extensionCodec: exports.extensionCodec });
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new dbcNode_1.Node(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }));
+ ret.comment = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });
+ ret.attributes = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+// Environment Variable
+exports.extensionCodec.register({
+ type: 5,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "environmentVariable") {
+ let object = input;
+ var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });
+ var type = msgpack_1.encode(object.type, { extensionCodec: exports.extensionCodec });
+ var min = msgpack_1.encode(object.min, { extensionCodec: exports.extensionCodec });
+ var max = msgpack_1.encode(object.max, { extensionCodec: exports.extensionCodec });
+ var unit = msgpack_1.encode(object.unit, { extensionCodec: exports.extensionCodec });
+ var initialVal = msgpack_1.encode(object.initialVal, { extensionCodec: exports.extensionCodec });
+ var id = msgpack_1.encode(object.id, { extensionCodec: exports.extensionCodec });
+ var transmitters = msgpack_1.encode(object.transmitters, { extensionCodec: exports.extensionCodec });
+ var valueDescriptions = msgpack_1.encode(object.valueDescriptions, { extensionCodec: exports.extensionCodec });
+ var dataSize = msgpack_1.encode(object.dataSize, { extensionCodec: exports.extensionCodec });
+ var comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });
+ var attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });
+ return (msgpack_1.encode([name, type, min, max, unit, initialVal, id, transmitters, valueDescriptions, dataSize, comment, attributes]));
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new ev_1.EnvironmentVariable();
+ ret.name = msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec });
+ ret.type = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });
+ ret.min = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });
+ ret.max = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });
+ ret.unit = msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec });
+ ret.initialVal = msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec });
+ ret.id = msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec });
+ ret.transmitters = msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec });
+ ret.dataSize = msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec });
+ ret.comment = msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec });
+ ret.attributes = msgpack_1.decode(array[10], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+// message
+exports.extensionCodec.register({
+ type: 6,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "message") {
+ let object = input;
+ const id = msgpack_1.encode(object.id, { extensionCodec: exports.extensionCodec });
+ const name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });
+ const size = msgpack_1.encode(object.size, { extensionCodec: exports.extensionCodec });
+ const transmitter = msgpack_1.encode(object.transmitter, { extensionCodec: exports.extensionCodec });
+ const transmitters = msgpack_1.encode(object.transmitters, { extensionCodec: exports.extensionCodec });
+ const signals = msgpack_1.encode(object.signals, { extensionCodec: exports.extensionCodec });
+ const comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });
+ const signalGroups = msgpack_1.encode(object.signalGroups, { extensionCodec: exports.extensionCodec });
+ const attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });
+ return msgpack_1.encode([id, name, size, transmitter, transmitters, signals, comment, signalGroups, attributes], { extensionCodec: exports.extensionCodec });
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new message_1.Message(0, // endLineNum
+ msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), // id
+ msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), // name
+ msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }), // size
+ msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec }), // transmitter
+ msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec }) // signals
+ );
+ ret.transmitters = msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec });
+ ret.comment = msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec });
+ ret.signalGroups = msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec });
+ ret.attributes = msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+// signal
+exports.extensionCodec.register({
+ type: 7,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "signal") {
+ let object = input;
+ const name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });
+ const startBit = msgpack_1.encode(object.startBit, { extensionCodec: exports.extensionCodec });
+ const bitSize = msgpack_1.encode(object.bitSize, { extensionCodec: exports.extensionCodec });
+ const byteOrder = msgpack_1.encode(object.byteOrder, { extensionCodec: exports.extensionCodec });
+ const valueType = msgpack_1.encode(object.valueType, { extensionCodec: exports.extensionCodec });
+ const factor = msgpack_1.encode(object.factor, { extensionCodec: exports.extensionCodec });
+ const offset = msgpack_1.encode(object.offset, { extensionCodec: exports.extensionCodec });
+ const minimum = msgpack_1.encode(object.minimum, { extensionCodec: exports.extensionCodec });
+ const maximum = msgpack_1.encode(object.maximum, { extensionCodec: exports.extensionCodec });
+ const unit = msgpack_1.encode(object.unit, { extensionCodec: exports.extensionCodec });
+ const receivers = msgpack_1.encode(object.receivers, { extensionCodec: exports.extensionCodec });
+ const valTable = msgpack_1.encode(object.valTable, { extensionCodec: exports.extensionCodec });
+ const comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });
+ const attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });
+ const lineNum = msgpack_1.encode(object.lineNum, { extensionCodec: exports.extensionCodec });
+ return msgpack_1.encode([
+ name,
+ startBit,
+ bitSize,
+ byteOrder,
+ valueType,
+ factor,
+ offset,
+ minimum,
+ maximum,
+ unit,
+ receivers,
+ valTable,
+ comment,
+ attributes,
+ lineNum
+ ]);
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new signal_1.Signal(msgpack_1.decode(array[14], { extensionCodec: exports.extensionCodec }), // lineNum
+ msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), // name
+ msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), // start
+ msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }), // size
+ msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec }), // byte order
+ msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec }), // valtype
+ msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec }), // factor
+ msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec }), // offset
+ msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec }), // min
+ msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec }), // max
+ msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec }), // unit
+ msgpack_1.decode(array[10], { extensionCodec: exports.extensionCodec }) // receivers
+ );
+ ret.valTable = msgpack_1.decode(array[11], { extensionCodec: exports.extensionCodec });
+ ret.comment = msgpack_1.decode(array[12], { extensionCodec: exports.extensionCodec });
+ ret.attributes = msgpack_1.decode(array[13], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+// signalType
+exports.extensionCodec.register({
+ type: 8,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "signalType") {
+ let object = input;
+ const name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });
+ const size = msgpack_1.encode(object.size, { extensionCodec: exports.extensionCodec });
+ const byteOrder = msgpack_1.encode(object.byteOrder, { extensionCodec: exports.extensionCodec });
+ const valueType = msgpack_1.encode(object.valueType, { extensionCodec: exports.extensionCodec });
+ const factor = msgpack_1.encode(object.factor, { extensionCodec: exports.extensionCodec });
+ const offset = msgpack_1.encode(object.offset, { extensionCodec: exports.extensionCodec });
+ const minimum = msgpack_1.encode(object.minimum, { extensionCodec: exports.extensionCodec });
+ const maximum = msgpack_1.encode(object.maximum, { extensionCodec: exports.extensionCodec });
+ const unit = msgpack_1.encode(object.unit, { extensionCodec: exports.extensionCodec });
+ const defaultVal = msgpack_1.encode(object.default, { extensionCodec: exports.extensionCodec });
+ const valTable = msgpack_1.encode(object.valTable, { extensionCodec: exports.extensionCodec });
+ return msgpack_1.encode([
+ name,
+ size,
+ byteOrder,
+ valueType,
+ factor,
+ offset,
+ minimum,
+ maximum,
+ unit,
+ defaultVal,
+ valTable
+ ]);
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new signal_1.SignalType(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), // name
+ msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), // size
+ msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }), // byte order
+ msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec }), // valtype
+ msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec }), // factor
+ msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec }), // offset
+ msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec }), // min
+ msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec }), // max
+ msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec }), // unit
+ msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec }), // defaultVal
+ msgpack_1.decode(array[10], { extensionCodec: exports.extensionCodec }) // valTable
+ );
+ return ret;
+ }
+});
+// SignalGroup
+exports.extensionCodec.register({
+ type: 9,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "signalGroup") {
+ let object = input;
+ return msgpack_1.encode([
+ msgpack_1.encode(object.messageId, { extensionCodec: exports.extensionCodec }),
+ msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec }),
+ msgpack_1.encode(object.repetitions, { extensionCodec: exports.extensionCodec }),
+ msgpack_1.encode(object.signals, { extensionCodec: exports.extensionCodec })
+ ]);
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new signal_1.SignalGroup();
+ ret.messageId = msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec });
+ ret.name = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });
+ ret.repetitions = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });
+ ret.signals = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+// ValTable
+exports.extensionCodec.register({
+ type: 10,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "valTable") {
+ let object = input;
+ return msgpack_1.encode([
+ msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec }),
+ msgpack_1.encode(object.descriptions, { extensionCodec: exports.extensionCodec })
+ ]);
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new valtable_1.ValTable(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }));
+ ret.descriptions = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+// ValueType
+exports.extensionCodec.register({
+ type: 11,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.clsType) == "valueType") {
+ let object = input;
+ return msgpack_1.encode([
+ msgpack_1.encode(object.type, { extensionCodec: exports.extensionCodec }),
+ msgpack_1.encode(object.min, { extensionCodec: exports.extensionCodec }),
+ msgpack_1.encode(object.max, { extensionCodec: exports.extensionCodec }),
+ msgpack_1.encode(object.enumVals, { extensionCodec: exports.extensionCodec })
+ ]);
+ }
+ else
+ return null;
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new valtable_1.ValueType(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }));
+ ret.min = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });
+ ret.max = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });
+ ret.enumVals = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+// Database
+exports.extensionCodec.register({
+ type: 1,
+ encode: (input) => {
+ if ((input === null || input === void 0 ? void 0 : input.type) == "database") {
+ let object = input;
+ var msgs = msgpack_1.encode(object.messages, { extensionCodec: exports.extensionCodec });
+ var valTables = msgpack_1.encode(object.valTables, { extensionCodec: exports.extensionCodec });
+ var nodes = msgpack_1.encode(object.nodes, { extensionCodec: exports.extensionCodec });
+ var environmentVariables = msgpack_1.encode(object.environmentVariables, { extensionCodec: exports.extensionCodec });
+ var signalTypes = msgpack_1.encode(object.signalTypes, { extensionCodec: exports.extensionCodec });
+ var attrDefs = msgpack_1.encode(object.attrDefs, { extensionCodec: exports.extensionCodec });
+ var attrs = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });
+ var version = msgpack_1.encode(object.version, { extensionCodec: exports.extensionCodec });
+ var comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });
+ var filename = msgpack_1.encode(object.fileName, { extensionCodec: exports.extensionCodec });
+ return msgpack_1.encode([version, filename, comment, msgs, valTables, nodes, environmentVariables, signalTypes, attrDefs, attrs], { extensionCodec: exports.extensionCodec });
+ }
+ else {
+ return null;
+ }
+ },
+ decode: (data) => {
+ const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ var ret = new db_1.Database();
+ ret.version = msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec });
+ ret.fileName = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });
+ ret.comment = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });
+ ret.messages = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });
+ ret.valTables = msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec });
+ ret.nodes = msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec });
+ ret.environmentVariables = msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec });
+ ret.signalTypes = msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec });
+ ret.attrDefs = msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec });
+ ret.attributes = msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec });
+ return ret;
+ }
+});
+exports.extensionCodec.register({
+ type: 0,
+ encode: (object) => {
+ // 1.
+ // 7. encode the ret array
+ // 8. return ret
+ if (object instanceof Map) {
+ let ret = [];
+ object.forEach((value, key) => {
+ let tmp = [];
+ tmp.push(msgpack_1.encode(key, { extensionCodec: exports.extensionCodec }));
+ tmp.push(msgpack_1.encode(value, { extensionCodec: exports.extensionCodec }));
+ ret.push(msgpack_1.encode(tmp, { extensionCodec: exports.extensionCodec }));
+ });
+ return msgpack_1.encode(ret, { extensionCodec: exports.extensionCodec });
+ }
+ else {
+ return null;
+ }
+ },
+ decode: (data) => {
+ let decdBigArray = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });
+ let ret = new Map();
+ decdBigArray.forEach((value) => {
+ let tmp = msgpack_1.decode(value, { extensionCodec: exports.extensionCodec });
+ ret.set(msgpack_1.decode(tmp[0], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(tmp[1], { extensionCodec: exports.extensionCodec }));
+ });
+ return ret;
+ },
+});
+function encodeDb(db) {
+ db.parseErrors = [];
+ var encoded = msgpack_1.encode(db, { extensionCodec: exports.extensionCodec });
+ if (encoded.byteLength * 8 / 6 > 0x1fffffe7) {
+ // cannot create string longer than 512Mb
+ console.error("String too large!");
+ return "OVERLOADED STRING";
+ }
+ var encoded64 = b64.Base64.fromUint8Array(encoded);
+ return encoded64;
+}
+exports.encodeDb = encodeDb;
+function decodeDb(data) {
+ if (data == "OVERLOADED STRING") {
+ let ret = new db_1.Database();
+ ret.version = "Too large for parsing.";
+ return ret;
+ }
+ var u8array = b64.Base64.toUint8Array(data);
+ var decoded = msgpack_1.decode(u8array, { extensionCodec: exports.extensionCodec });
+ return decoded;
+}
+exports.decodeDb = decodeDb;
+
+
+/***/ }),
+
+/***/ 575:
+/***/ (function(module) {
+
+
+
+//
+// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!
+//
+;(function(global, factory) {
+ true
+ ? module.exports = factory()
+ : 0;
+}((typeof self !== 'undefined' ? self
+ : typeof window !== 'undefined' ? window
+ : typeof global !== 'undefined' ? global
+ : this
+), function() {
+ 'use strict';
+
+/**
+ * base64.ts
+ *
+ * Licensed under the BSD 3-Clause License.
+ * http://opensource.org/licenses/BSD-3-Clause
+ *
+ * References:
+ * http://en.wikipedia.org/wiki/Base64
+ *
+ * @author Dan Kogai (https://github.com/dankogai)
+ */
+const version = '3.6.1';
+/**
+ * @deprecated use lowercase `version`.
+ */
+const VERSION = version;
+const _hasatob = typeof atob === 'function';
+const _hasbtoa = typeof btoa === 'function';
+const _hasBuffer = typeof Buffer === 'function';
+const _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;
+const _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;
+const b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+const b64chs = [...b64ch];
+const b64tab = ((a) => {
+ let tab = {};
+ a.forEach((c, i) => tab[c] = i);
+ return tab;
+})(b64chs);
+const b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
+const _fromCC = String.fromCharCode.bind(String);
+const _U8Afrom = typeof Uint8Array.from === 'function'
+ ? Uint8Array.from.bind(Uint8Array)
+ : (it, fn = (x) => x) => new Uint8Array(Array.prototype.slice.call(it, 0).map(fn));
+const _mkUriSafe = (src) => src
+ .replace(/[+\/]/g, (m0) => m0 == '+' ? '-' : '_')
+ .replace(/=+$/m, '');
+const _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\+\/]/g, '');
+/**
+ * polyfill version of `btoa`
+ */
+const btoaPolyfill = (bin) => {
+ // console.log('polyfilled');
+ let u32, c0, c1, c2, asc = '';
+ const pad = bin.length % 3;
+ for (let i = 0; i < bin.length;) {
+ if ((c0 = bin.charCodeAt(i++)) > 255 ||
+ (c1 = bin.charCodeAt(i++)) > 255 ||
+ (c2 = bin.charCodeAt(i++)) > 255)
+ throw new TypeError('invalid character found');
+ u32 = (c0 << 16) | (c1 << 8) | c2;
+ asc += b64chs[u32 >> 18 & 63]
+ + b64chs[u32 >> 12 & 63]
+ + b64chs[u32 >> 6 & 63]
+ + b64chs[u32 & 63];
+ }
+ return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc;
+};
+/**
+ * does what `window.btoa` of web browsers do.
+ * @param {String} bin binary string
+ * @returns {string} Base64-encoded string
+ */
+const _btoa = _hasbtoa ? (bin) => btoa(bin)
+ : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')
+ : btoaPolyfill;
+const _fromUint8Array = _hasBuffer
+ ? (u8a) => Buffer.from(u8a).toString('base64')
+ : (u8a) => {
+ // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326
+ const maxargs = 0x1000;
+ let strs = [];
+ for (let i = 0, l = u8a.length; i < l; i += maxargs) {
+ strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));
+ }
+ return _btoa(strs.join(''));
+ };
+/**
+ * converts a Uint8Array to a Base64 string.
+ * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5
+ * @returns {string} Base64 string
+ */
+const fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);
+// This trick is found broken https://github.com/dankogai/js-base64/issues/130
+// const utob = (src: string) => unescape(encodeURIComponent(src));
+// reverting good old fationed regexp
+const cb_utob = (c) => {
+ if (c.length < 2) {
+ var cc = c.charCodeAt(0);
+ return cc < 0x80 ? c
+ : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))
+ + _fromCC(0x80 | (cc & 0x3f)))
+ : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))
+ + _fromCC(0x80 | ((cc >>> 6) & 0x3f))
+ + _fromCC(0x80 | (cc & 0x3f)));
+ }
+ else {
+ var cc = 0x10000
+ + (c.charCodeAt(0) - 0xD800) * 0x400
+ + (c.charCodeAt(1) - 0xDC00);
+ return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))
+ + _fromCC(0x80 | ((cc >>> 12) & 0x3f))
+ + _fromCC(0x80 | ((cc >>> 6) & 0x3f))
+ + _fromCC(0x80 | (cc & 0x3f)));
+ }
+};
+const re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
+/**
+ * @deprecated should have been internal use only.
+ * @param {string} src UTF-8 string
+ * @returns {string} UTF-16 string
+ */
+const utob = (u) => u.replace(re_utob, cb_utob);
+//
+const _encode = _hasBuffer
+ ? (s) => Buffer.from(s, 'utf8').toString('base64')
+ : _TE
+ ? (s) => _fromUint8Array(_TE.encode(s))
+ : (s) => _btoa(utob(s));
+/**
+ * converts a UTF-8-encoded string to a Base64 string.
+ * @param {boolean} [urlsafe] if `true` make the result URL-safe
+ * @returns {string} Base64 string
+ */
+const encode = (src, urlsafe = false) => urlsafe
+ ? _mkUriSafe(_encode(src))
+ : _encode(src);
+/**
+ * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.
+ * @returns {string} Base64 string
+ */
+const encodeURI = (src) => encode(src, true);
+// This trick is found broken https://github.com/dankogai/js-base64/issues/130
+// const btou = (src: string) => decodeURIComponent(escape(src));
+// reverting good old fationed regexp
+const re_btou = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g;
+const cb_btou = (cccc) => {
+ switch (cccc.length) {
+ case 4:
+ var cp = ((0x07 & cccc.charCodeAt(0)) << 18)
+ | ((0x3f & cccc.charCodeAt(1)) << 12)
+ | ((0x3f & cccc.charCodeAt(2)) << 6)
+ | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;
+ return (_fromCC((offset >>> 10) + 0xD800)
+ + _fromCC((offset & 0x3FF) + 0xDC00));
+ case 3:
+ return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)
+ | ((0x3f & cccc.charCodeAt(1)) << 6)
+ | (0x3f & cccc.charCodeAt(2)));
+ default:
+ return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)
+ | (0x3f & cccc.charCodeAt(1)));
+ }
+};
+/**
+ * @deprecated should have been internal use only.
+ * @param {string} src UTF-16 string
+ * @returns {string} UTF-8 string
+ */
+const btou = (b) => b.replace(re_btou, cb_btou);
+/**
+ * polyfill version of `atob`
+ */
+const atobPolyfill = (asc) => {
+ // console.log('polyfilled');
+ asc = asc.replace(/\s+/g, '');
+ if (!b64re.test(asc))
+ throw new TypeError('malformed base64.');
+ asc += '=='.slice(2 - (asc.length & 3));
+ let u24, bin = '', r1, r2;
+ for (let i = 0; i < asc.length;) {
+ u24 = b64tab[asc.charAt(i++)] << 18
+ | b64tab[asc.charAt(i++)] << 12
+ | (r1 = b64tab[asc.charAt(i++)]) << 6
+ | (r2 = b64tab[asc.charAt(i++)]);
+ bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)
+ : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)
+ : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);
+ }
+ return bin;
+};
+/**
+ * does what `window.atob` of web browsers do.
+ * @param {String} asc Base64-encoded string
+ * @returns {string} binary string
+ */
+const _atob = _hasatob ? (asc) => atob(_tidyB64(asc))
+ : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')
+ : atobPolyfill;
+//
+const _toUint8Array = _hasBuffer
+ ? (a) => _U8Afrom(Buffer.from(a, 'base64'))
+ : (a) => _U8Afrom(_atob(a), c => c.charCodeAt(0));
+/**
+ * converts a Base64 string to a Uint8Array.
+ */
+const toUint8Array = (a) => _toUint8Array(_unURI(a));
+//
+const _decode = _hasBuffer
+ ? (a) => Buffer.from(a, 'base64').toString('utf8')
+ : _TD
+ ? (a) => _TD.decode(_toUint8Array(a))
+ : (a) => btou(_atob(a));
+const _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));
+/**
+ * converts a Base64 string to a UTF-8 string.
+ * @param {String} src Base64 string. Both normal and URL-safe are supported
+ * @returns {string} UTF-8 string
+ */
+const decode = (src) => _decode(_unURI(src));
+/**
+ * check if a value is a valid Base64 string
+ * @param {String} src a value to check
+ */
+const isValid = (src) => {
+ if (typeof src !== 'string')
+ return false;
+ const s = src.replace(/\s+/g, '').replace(/=+$/, '');
+ return !/[^\s0-9a-zA-Z\+/]/.test(s) || !/[^\s0-9a-zA-Z\-_]/.test(s);
+};
+//
+const _noEnum = (v) => {
+ return {
+ value: v, enumerable: false, writable: true, configurable: true
+ };
+};
+/**
+ * extend String.prototype with relevant methods
+ */
+const extendString = function () {
+ const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));
+ _add('fromBase64', function () { return decode(this); });
+ _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });
+ _add('toBase64URI', function () { return encode(this, true); });
+ _add('toBase64URL', function () { return encode(this, true); });
+ _add('toUint8Array', function () { return toUint8Array(this); });
+};
+/**
+ * extend Uint8Array.prototype with relevant methods
+ */
+const extendUint8Array = function () {
+ const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));
+ _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });
+ _add('toBase64URI', function () { return fromUint8Array(this, true); });
+ _add('toBase64URL', function () { return fromUint8Array(this, true); });
+};
+/**
+ * extend Builtin prototypes with relevant methods
+ */
+const extendBuiltins = () => {
+ extendString();
+ extendUint8Array();
+};
+const gBase64 = {
+ version: version,
+ VERSION: VERSION,
+ atob: _atob,
+ atobPolyfill: atobPolyfill,
+ btoa: _btoa,
+ btoaPolyfill: btoaPolyfill,
+ fromBase64: decode,
+ toBase64: encode,
+ encode: encode,
+ encodeURI: encodeURI,
+ encodeURL: encodeURI,
+ utob: utob,
+ btou: btou,
+ decode: decode,
+ isValid: isValid,
+ fromUint8Array: fromUint8Array,
+ toUint8Array: toUint8Array,
+ extendString: extendString,
+ extendUint8Array: extendUint8Array,
+ extendBuiltins: extendBuiltins,
+};
+
+ //
+ // export Base64 to the namespace
+ //
+ // ES5 is yet to have Object.assign() that may make transpilers unhappy.
+ // gBase64.Base64 = Object.assign({}, gBase64);
+ gBase64.Base64 = {};
+ Object.keys(gBase64).forEach(k => gBase64.Base64[k] = gBase64[k]);
+ return gBase64;
+}));
+
+
+
+
+/***/ }),
+
+/***/ 676:
+/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, {
+ "DataViewIndexOutOfBoundsError": () => (/* reexport */ DataViewIndexOutOfBoundsError),
+ "DecodeError": () => (/* reexport */ DecodeError),
+ "Decoder": () => (/* reexport */ Decoder),
+ "EXT_TIMESTAMP": () => (/* reexport */ EXT_TIMESTAMP),
+ "Encoder": () => (/* reexport */ Encoder),
+ "ExtData": () => (/* reexport */ ExtData),
+ "ExtensionCodec": () => (/* reexport */ ExtensionCodec),
+ "decode": () => (/* reexport */ decode),
+ "decodeArrayStream": () => (/* reexport */ decodeArrayStream),
+ "decodeAsync": () => (/* reexport */ decodeAsync),
+ "decodeMulti": () => (/* reexport */ decodeMulti),
+ "decodeMultiStream": () => (/* reexport */ decodeMultiStream),
+ "decodeStream": () => (/* reexport */ decodeStream),
+ "decodeTimestampExtension": () => (/* reexport */ decodeTimestampExtension),
+ "decodeTimestampToTimeSpec": () => (/* reexport */ decodeTimestampToTimeSpec),
+ "encode": () => (/* reexport */ encode),
+ "encodeDateToTimeSpec": () => (/* reexport */ encodeDateToTimeSpec),
+ "encodeTimeSpecToTimestamp": () => (/* reexport */ encodeTimeSpecToTimestamp),
+ "encodeTimestampExtension": () => (/* reexport */ encodeTimestampExtension)
+});
+
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs
+// Integer Utility
+var UINT32_MAX = 4294967295;
+// DataView extension to handle int64 / uint64,
+// where the actual range is 53-bits integer (a.k.a. safe integer)
+function setUint64(view, offset, value) {
+ var high = value / 4294967296;
+ var low = value; // high bits are truncated by DataView
+ view.setUint32(offset, high);
+ view.setUint32(offset + 4, low);
+}
+function setInt64(view, offset, value) {
+ var high = Math.floor(value / 4294967296);
+ var low = value; // high bits are truncated by DataView
+ view.setUint32(offset, high);
+ view.setUint32(offset + 4, low);
+}
+function getInt64(view, offset) {
+ var high = view.getInt32(offset);
+ var low = view.getUint32(offset + 4);
+ return high * 4294967296 + low;
+}
+function getUint64(view, offset) {
+ var high = view.getUint32(offset);
+ var low = view.getUint32(offset + 4);
+ return high * 4294967296 + low;
+}
+//# sourceMappingURL=int.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs
+
+var TEXT_ENCODING_AVAILABLE = (typeof process === "undefined" || process.env["TEXT_ENCODING"] !== "never") &&
+ typeof TextEncoder !== "undefined" &&
+ typeof TextDecoder !== "undefined";
+function utf8Count(str) {
+ var strLength = str.length;
+ var byteLength = 0;
+ var pos = 0;
+ while (pos < strLength) {
+ var value = str.charCodeAt(pos++);
+ if ((value & 0xffffff80) === 0) {
+ // 1-byte
+ byteLength++;
+ continue;
+ }
+ else if ((value & 0xfffff800) === 0) {
+ // 2-bytes
+ byteLength += 2;
+ }
+ else {
+ // handle surrogate pair
+ if (value >= 0xd800 && value <= 0xdbff) {
+ // high surrogate
+ if (pos < strLength) {
+ var extra = str.charCodeAt(pos);
+ if ((extra & 0xfc00) === 0xdc00) {
+ ++pos;
+ value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;
+ }
+ }
+ }
+ if ((value & 0xffff0000) === 0) {
+ // 3-byte
+ byteLength += 3;
+ }
+ else {
+ // 4-byte
+ byteLength += 4;
+ }
+ }
+ }
+ return byteLength;
+}
+function utf8EncodeJs(str, output, outputOffset) {
+ var strLength = str.length;
+ var offset = outputOffset;
+ var pos = 0;
+ while (pos < strLength) {
+ var value = str.charCodeAt(pos++);
+ if ((value & 0xffffff80) === 0) {
+ // 1-byte
+ output[offset++] = value;
+ continue;
+ }
+ else if ((value & 0xfffff800) === 0) {
+ // 2-bytes
+ output[offset++] = ((value >> 6) & 0x1f) | 0xc0;
+ }
+ else {
+ // handle surrogate pair
+ if (value >= 0xd800 && value <= 0xdbff) {
+ // high surrogate
+ if (pos < strLength) {
+ var extra = str.charCodeAt(pos);
+ if ((extra & 0xfc00) === 0xdc00) {
+ ++pos;
+ value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;
+ }
+ }
+ }
+ if ((value & 0xffff0000) === 0) {
+ // 3-byte
+ output[offset++] = ((value >> 12) & 0x0f) | 0xe0;
+ output[offset++] = ((value >> 6) & 0x3f) | 0x80;
+ }
+ else {
+ // 4-byte
+ output[offset++] = ((value >> 18) & 0x07) | 0xf0;
+ output[offset++] = ((value >> 12) & 0x3f) | 0x80;
+ output[offset++] = ((value >> 6) & 0x3f) | 0x80;
+ }
+ }
+ output[offset++] = (value & 0x3f) | 0x80;
+ }
+}
+var sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;
+var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE
+ ? UINT32_MAX
+ : typeof process !== "undefined" && process.env["TEXT_ENCODING"] !== "force"
+ ? 200
+ : 0;
+function utf8EncodeTEencode(str, output, outputOffset) {
+ output.set(sharedTextEncoder.encode(str), outputOffset);
+}
+function utf8EncodeTEencodeInto(str, output, outputOffset) {
+ sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));
+}
+var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;
+var CHUNK_SIZE = 4096;
+function utf8DecodeJs(bytes, inputOffset, byteLength) {
+ var offset = inputOffset;
+ var end = offset + byteLength;
+ var units = [];
+ var result = "";
+ while (offset < end) {
+ var byte1 = bytes[offset++];
+ if ((byte1 & 0x80) === 0) {
+ // 1 byte
+ units.push(byte1);
+ }
+ else if ((byte1 & 0xe0) === 0xc0) {
+ // 2 bytes
+ var byte2 = bytes[offset++] & 0x3f;
+ units.push(((byte1 & 0x1f) << 6) | byte2);
+ }
+ else if ((byte1 & 0xf0) === 0xe0) {
+ // 3 bytes
+ var byte2 = bytes[offset++] & 0x3f;
+ var byte3 = bytes[offset++] & 0x3f;
+ units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);
+ }
+ else if ((byte1 & 0xf8) === 0xf0) {
+ // 4 bytes
+ var byte2 = bytes[offset++] & 0x3f;
+ var byte3 = bytes[offset++] & 0x3f;
+ var byte4 = bytes[offset++] & 0x3f;
+ var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
+ if (unit > 0xffff) {
+ unit -= 0x10000;
+ units.push(((unit >>> 10) & 0x3ff) | 0xd800);
+ unit = 0xdc00 | (unit & 0x3ff);
+ }
+ units.push(unit);
+ }
+ else {
+ units.push(byte1);
+ }
+ if (units.length >= CHUNK_SIZE) {
+ result += String.fromCharCode.apply(String, units);
+ units.length = 0;
+ }
+ }
+ if (units.length > 0) {
+ result += String.fromCharCode.apply(String, units);
+ }
+ return result;
+}
+var sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;
+var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE
+ ? UINT32_MAX
+ : typeof process !== "undefined" && process.env["TEXT_DECODER"] !== "force"
+ ? 200
+ : 0;
+function utf8DecodeTD(bytes, inputOffset, byteLength) {
+ var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);
+ return sharedTextDecoder.decode(stringBytes);
+}
+//# sourceMappingURL=utf8.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs
+/**
+ * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.
+ */
+var ExtData = /** @class */ (function () {
+ function ExtData(type, data) {
+ this.type = type;
+ this.data = data;
+ }
+ return ExtData;
+}());
+
+//# sourceMappingURL=ExtData.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs
+var __extends = (undefined && undefined.__extends) || (function () {
+ var extendStatics = function (d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+ };
+ return function (d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+var DecodeError = /** @class */ (function (_super) {
+ __extends(DecodeError, _super);
+ function DecodeError(message) {
+ var _this = _super.call(this, message) || this;
+ // fix the prototype chain in a cross-platform way
+ var proto = Object.create(DecodeError.prototype);
+ Object.setPrototypeOf(_this, proto);
+ Object.defineProperty(_this, "name", {
+ configurable: true,
+ enumerable: false,
+ value: DecodeError.name,
+ });
+ return _this;
+ }
+ return DecodeError;
+}(Error));
+
+//# sourceMappingURL=DecodeError.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs
+// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type
+
+
+var EXT_TIMESTAMP = -1;
+var TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int
+var TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int
+function encodeTimeSpecToTimestamp(_a) {
+ var sec = _a.sec, nsec = _a.nsec;
+ if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {
+ // Here sec >= 0 && nsec >= 0
+ if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {
+ // timestamp 32 = { sec32 (unsigned) }
+ var rv = new Uint8Array(4);
+ var view = new DataView(rv.buffer);
+ view.setUint32(0, sec);
+ return rv;
+ }
+ else {
+ // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }
+ var secHigh = sec / 0x100000000;
+ var secLow = sec & 0xffffffff;
+ var rv = new Uint8Array(8);
+ var view = new DataView(rv.buffer);
+ // nsec30 | secHigh2
+ view.setUint32(0, (nsec << 2) | (secHigh & 0x3));
+ // secLow32
+ view.setUint32(4, secLow);
+ return rv;
+ }
+ }
+ else {
+ // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }
+ var rv = new Uint8Array(12);
+ var view = new DataView(rv.buffer);
+ view.setUint32(0, nsec);
+ setInt64(view, 4, sec);
+ return rv;
+ }
+}
+function encodeDateToTimeSpec(date) {
+ var msec = date.getTime();
+ var sec = Math.floor(msec / 1e3);
+ var nsec = (msec - sec * 1e3) * 1e6;
+ // Normalizes { sec, nsec } to ensure nsec is unsigned.
+ var nsecInSec = Math.floor(nsec / 1e9);
+ return {
+ sec: sec + nsecInSec,
+ nsec: nsec - nsecInSec * 1e9,
+ };
+}
+function encodeTimestampExtension(object) {
+ if (object instanceof Date) {
+ var timeSpec = encodeDateToTimeSpec(object);
+ return encodeTimeSpecToTimestamp(timeSpec);
+ }
+ else {
+ return null;
+ }
+}
+function decodeTimestampToTimeSpec(data) {
+ var view = new DataView(data.buffer, data.byteOffset, data.byteLength);
+ // data may be 32, 64, or 96 bits
+ switch (data.byteLength) {
+ case 4: {
+ // timestamp 32 = { sec32 }
+ var sec = view.getUint32(0);
+ var nsec = 0;
+ return { sec: sec, nsec: nsec };
+ }
+ case 8: {
+ // timestamp 64 = { nsec30, sec34 }
+ var nsec30AndSecHigh2 = view.getUint32(0);
+ var secLow32 = view.getUint32(4);
+ var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;
+ var nsec = nsec30AndSecHigh2 >>> 2;
+ return { sec: sec, nsec: nsec };
+ }
+ case 12: {
+ // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }
+ var sec = getInt64(view, 4);
+ var nsec = view.getUint32(0);
+ return { sec: sec, nsec: nsec };
+ }
+ default:
+ throw new DecodeError("Unrecognized data size for timestamp (expected 4, 8, or 12): " + data.length);
+ }
+}
+function decodeTimestampExtension(data) {
+ var timeSpec = decodeTimestampToTimeSpec(data);
+ return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);
+}
+var timestampExtension = {
+ type: EXT_TIMESTAMP,
+ encode: encodeTimestampExtension,
+ decode: decodeTimestampExtension,
+};
+//# sourceMappingURL=timestamp.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs
+// ExtensionCodec to handle MessagePack extensions
+
+
+var ExtensionCodec = /** @class */ (function () {
+ function ExtensionCodec() {
+ // built-in extensions
+ this.builtInEncoders = [];
+ this.builtInDecoders = [];
+ // custom extensions
+ this.encoders = [];
+ this.decoders = [];
+ this.register(timestampExtension);
+ }
+ ExtensionCodec.prototype.register = function (_a) {
+ var type = _a.type, encode = _a.encode, decode = _a.decode;
+ if (type >= 0) {
+ // custom extensions
+ this.encoders[type] = encode;
+ this.decoders[type] = decode;
+ }
+ else {
+ // built-in extensions
+ var index = 1 + type;
+ this.builtInEncoders[index] = encode;
+ this.builtInDecoders[index] = decode;
+ }
+ };
+ ExtensionCodec.prototype.tryToEncode = function (object, context) {
+ // built-in extensions
+ for (var i = 0; i < this.builtInEncoders.length; i++) {
+ var encodeExt = this.builtInEncoders[i];
+ if (encodeExt != null) {
+ var data = encodeExt(object, context);
+ if (data != null) {
+ var type = -1 - i;
+ return new ExtData(type, data);
+ }
+ }
+ }
+ // custom extensions
+ for (var i = 0; i < this.encoders.length; i++) {
+ var encodeExt = this.encoders[i];
+ if (encodeExt != null) {
+ var data = encodeExt(object, context);
+ if (data != null) {
+ var type = i;
+ return new ExtData(type, data);
+ }
+ }
+ }
+ if (object instanceof ExtData) {
+ // to keep ExtData as is
+ return object;
+ }
+ return null;
+ };
+ ExtensionCodec.prototype.decode = function (data, type, context) {
+ var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];
+ if (decodeExt) {
+ return decodeExt(data, type, context);
+ }
+ else {
+ // decode() does not fail, returns ExtData instead.
+ return new ExtData(type, data);
+ }
+ };
+ ExtensionCodec.defaultCodec = new ExtensionCodec();
+ return ExtensionCodec;
+}());
+
+//# sourceMappingURL=ExtensionCodec.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs
+function ensureUint8Array(buffer) {
+ if (buffer instanceof Uint8Array) {
+ return buffer;
+ }
+ else if (ArrayBuffer.isView(buffer)) {
+ return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+ }
+ else if (buffer instanceof ArrayBuffer) {
+ return new Uint8Array(buffer);
+ }
+ else {
+ // ArrayLike
+ return Uint8Array.from(buffer);
+ }
+}
+function createDataView(buffer) {
+ if (buffer instanceof ArrayBuffer) {
+ return new DataView(buffer);
+ }
+ var bufferView = ensureUint8Array(buffer);
+ return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);
+}
+//# sourceMappingURL=typedArrays.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs
+
+
+
+
+var DEFAULT_MAX_DEPTH = 100;
+var DEFAULT_INITIAL_BUFFER_SIZE = 2048;
+var Encoder = /** @class */ (function () {
+ function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {
+ if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }
+ if (context === void 0) { context = undefined; }
+ if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; }
+ if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; }
+ if (sortKeys === void 0) { sortKeys = false; }
+ if (forceFloat32 === void 0) { forceFloat32 = false; }
+ if (ignoreUndefined === void 0) { ignoreUndefined = false; }
+ if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; }
+ this.extensionCodec = extensionCodec;
+ this.context = context;
+ this.maxDepth = maxDepth;
+ this.initialBufferSize = initialBufferSize;
+ this.sortKeys = sortKeys;
+ this.forceFloat32 = forceFloat32;
+ this.ignoreUndefined = ignoreUndefined;
+ this.forceIntegerToFloat = forceIntegerToFloat;
+ this.pos = 0;
+ this.view = new DataView(new ArrayBuffer(this.initialBufferSize));
+ this.bytes = new Uint8Array(this.view.buffer);
+ }
+ Encoder.prototype.getUint8Array = function () {
+ return this.bytes.subarray(0, this.pos);
+ };
+ Encoder.prototype.reinitializeState = function () {
+ this.pos = 0;
+ };
+ Encoder.prototype.encode = function (object) {
+ this.reinitializeState();
+ this.doEncode(object, 1);
+ return this.getUint8Array();
+ };
+ Encoder.prototype.doEncode = function (object, depth) {
+ if (depth > this.maxDepth) {
+ throw new Error("Too deep objects in depth " + depth);
+ }
+ if (object == null) {
+ this.encodeNil();
+ }
+ else if (typeof object === "boolean") {
+ this.encodeBoolean(object);
+ }
+ else if (typeof object === "number") {
+ this.encodeNumber(object);
+ }
+ else if (typeof object === "string") {
+ this.encodeString(object);
+ }
+ else {
+ this.encodeObject(object, depth);
+ }
+ };
+ Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) {
+ var requiredSize = this.pos + sizeToWrite;
+ if (this.view.byteLength < requiredSize) {
+ this.resizeBuffer(requiredSize * 2);
+ }
+ };
+ Encoder.prototype.resizeBuffer = function (newSize) {
+ var newBuffer = new ArrayBuffer(newSize);
+ var newBytes = new Uint8Array(newBuffer);
+ var newView = new DataView(newBuffer);
+ newBytes.set(this.bytes);
+ this.view = newView;
+ this.bytes = newBytes;
+ };
+ Encoder.prototype.encodeNil = function () {
+ this.writeU8(0xc0);
+ };
+ Encoder.prototype.encodeBoolean = function (object) {
+ if (object === false) {
+ this.writeU8(0xc2);
+ }
+ else {
+ this.writeU8(0xc3);
+ }
+ };
+ Encoder.prototype.encodeNumber = function (object) {
+ if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {
+ if (object >= 0) {
+ if (object < 0x80) {
+ // positive fixint
+ this.writeU8(object);
+ }
+ else if (object < 0x100) {
+ // uint 8
+ this.writeU8(0xcc);
+ this.writeU8(object);
+ }
+ else if (object < 0x10000) {
+ // uint 16
+ this.writeU8(0xcd);
+ this.writeU16(object);
+ }
+ else if (object < 0x100000000) {
+ // uint 32
+ this.writeU8(0xce);
+ this.writeU32(object);
+ }
+ else {
+ // uint 64
+ this.writeU8(0xcf);
+ this.writeU64(object);
+ }
+ }
+ else {
+ if (object >= -0x20) {
+ // negative fixint
+ this.writeU8(0xe0 | (object + 0x20));
+ }
+ else if (object >= -0x80) {
+ // int 8
+ this.writeU8(0xd0);
+ this.writeI8(object);
+ }
+ else if (object >= -0x8000) {
+ // int 16
+ this.writeU8(0xd1);
+ this.writeI16(object);
+ }
+ else if (object >= -0x80000000) {
+ // int 32
+ this.writeU8(0xd2);
+ this.writeI32(object);
+ }
+ else {
+ // int 64
+ this.writeU8(0xd3);
+ this.writeI64(object);
+ }
+ }
+ }
+ else {
+ // non-integer numbers
+ if (this.forceFloat32) {
+ // float 32
+ this.writeU8(0xca);
+ this.writeF32(object);
+ }
+ else {
+ // float 64
+ this.writeU8(0xcb);
+ this.writeF64(object);
+ }
+ }
+ };
+ Encoder.prototype.writeStringHeader = function (byteLength) {
+ if (byteLength < 32) {
+ // fixstr
+ this.writeU8(0xa0 + byteLength);
+ }
+ else if (byteLength < 0x100) {
+ // str 8
+ this.writeU8(0xd9);
+ this.writeU8(byteLength);
+ }
+ else if (byteLength < 0x10000) {
+ // str 16
+ this.writeU8(0xda);
+ this.writeU16(byteLength);
+ }
+ else if (byteLength < 0x100000000) {
+ // str 32
+ this.writeU8(0xdb);
+ this.writeU32(byteLength);
+ }
+ else {
+ throw new Error("Too long string: " + byteLength + " bytes in UTF-8");
+ }
+ };
+ Encoder.prototype.encodeString = function (object) {
+ var maxHeaderSize = 1 + 4;
+ var strLength = object.length;
+ if (strLength > TEXT_ENCODER_THRESHOLD) {
+ var byteLength = utf8Count(object);
+ this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);
+ this.writeStringHeader(byteLength);
+ utf8EncodeTE(object, this.bytes, this.pos);
+ this.pos += byteLength;
+ }
+ else {
+ var byteLength = utf8Count(object);
+ this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);
+ this.writeStringHeader(byteLength);
+ utf8EncodeJs(object, this.bytes, this.pos);
+ this.pos += byteLength;
+ }
+ };
+ Encoder.prototype.encodeObject = function (object, depth) {
+ // try to encode objects with custom codec first of non-primitives
+ var ext = this.extensionCodec.tryToEncode(object, this.context);
+ if (ext != null) {
+ this.encodeExtension(ext);
+ }
+ else if (Array.isArray(object)) {
+ this.encodeArray(object, depth);
+ }
+ else if (ArrayBuffer.isView(object)) {
+ this.encodeBinary(object);
+ }
+ else if (typeof object === "object") {
+ this.encodeMap(object, depth);
+ }
+ else {
+ // symbol, function and other special object come here unless extensionCodec handles them.
+ throw new Error("Unrecognized object: " + Object.prototype.toString.apply(object));
+ }
+ };
+ Encoder.prototype.encodeBinary = function (object) {
+ var size = object.byteLength;
+ if (size < 0x100) {
+ // bin 8
+ this.writeU8(0xc4);
+ this.writeU8(size);
+ }
+ else if (size < 0x10000) {
+ // bin 16
+ this.writeU8(0xc5);
+ this.writeU16(size);
+ }
+ else if (size < 0x100000000) {
+ // bin 32
+ this.writeU8(0xc6);
+ this.writeU32(size);
+ }
+ else {
+ throw new Error("Too large binary: " + size);
+ }
+ var bytes = ensureUint8Array(object);
+ this.writeU8a(bytes);
+ };
+ Encoder.prototype.encodeArray = function (object, depth) {
+ var size = object.length;
+ if (size < 16) {
+ // fixarray
+ this.writeU8(0x90 + size);
+ }
+ else if (size < 0x10000) {
+ // array 16
+ this.writeU8(0xdc);
+ this.writeU16(size);
+ }
+ else if (size < 0x100000000) {
+ // array 32
+ this.writeU8(0xdd);
+ this.writeU32(size);
+ }
+ else {
+ throw new Error("Too large array: " + size);
+ }
+ for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {
+ var item = object_1[_i];
+ this.doEncode(item, depth + 1);
+ }
+ };
+ Encoder.prototype.countWithoutUndefined = function (object, keys) {
+ var count = 0;
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
+ var key = keys_1[_i];
+ if (object[key] !== undefined) {
+ count++;
+ }
+ }
+ return count;
+ };
+ Encoder.prototype.encodeMap = function (object, depth) {
+ var keys = Object.keys(object);
+ if (this.sortKeys) {
+ keys.sort();
+ }
+ var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;
+ if (size < 16) {
+ // fixmap
+ this.writeU8(0x80 + size);
+ }
+ else if (size < 0x10000) {
+ // map 16
+ this.writeU8(0xde);
+ this.writeU16(size);
+ }
+ else if (size < 0x100000000) {
+ // map 32
+ this.writeU8(0xdf);
+ this.writeU32(size);
+ }
+ else {
+ throw new Error("Too large map object: " + size);
+ }
+ for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
+ var key = keys_2[_i];
+ var value = object[key];
+ if (!(this.ignoreUndefined && value === undefined)) {
+ this.encodeString(key);
+ this.doEncode(value, depth + 1);
+ }
+ }
+ };
+ Encoder.prototype.encodeExtension = function (ext) {
+ var size = ext.data.length;
+ if (size === 1) {
+ // fixext 1
+ this.writeU8(0xd4);
+ }
+ else if (size === 2) {
+ // fixext 2
+ this.writeU8(0xd5);
+ }
+ else if (size === 4) {
+ // fixext 4
+ this.writeU8(0xd6);
+ }
+ else if (size === 8) {
+ // fixext 8
+ this.writeU8(0xd7);
+ }
+ else if (size === 16) {
+ // fixext 16
+ this.writeU8(0xd8);
+ }
+ else if (size < 0x100) {
+ // ext 8
+ this.writeU8(0xc7);
+ this.writeU8(size);
+ }
+ else if (size < 0x10000) {
+ // ext 16
+ this.writeU8(0xc8);
+ this.writeU16(size);
+ }
+ else if (size < 0x100000000) {
+ // ext 32
+ this.writeU8(0xc9);
+ this.writeU32(size);
+ }
+ else {
+ throw new Error("Too large extension object: " + size);
+ }
+ this.writeI8(ext.type);
+ this.writeU8a(ext.data);
+ };
+ Encoder.prototype.writeU8 = function (value) {
+ this.ensureBufferSizeToWrite(1);
+ this.view.setUint8(this.pos, value);
+ this.pos++;
+ };
+ Encoder.prototype.writeU8a = function (values) {
+ var size = values.length;
+ this.ensureBufferSizeToWrite(size);
+ this.bytes.set(values, this.pos);
+ this.pos += size;
+ };
+ Encoder.prototype.writeI8 = function (value) {
+ this.ensureBufferSizeToWrite(1);
+ this.view.setInt8(this.pos, value);
+ this.pos++;
+ };
+ Encoder.prototype.writeU16 = function (value) {
+ this.ensureBufferSizeToWrite(2);
+ this.view.setUint16(this.pos, value);
+ this.pos += 2;
+ };
+ Encoder.prototype.writeI16 = function (value) {
+ this.ensureBufferSizeToWrite(2);
+ this.view.setInt16(this.pos, value);
+ this.pos += 2;
+ };
+ Encoder.prototype.writeU32 = function (value) {
+ this.ensureBufferSizeToWrite(4);
+ this.view.setUint32(this.pos, value);
+ this.pos += 4;
+ };
+ Encoder.prototype.writeI32 = function (value) {
+ this.ensureBufferSizeToWrite(4);
+ this.view.setInt32(this.pos, value);
+ this.pos += 4;
+ };
+ Encoder.prototype.writeF32 = function (value) {
+ this.ensureBufferSizeToWrite(4);
+ this.view.setFloat32(this.pos, value);
+ this.pos += 4;
+ };
+ Encoder.prototype.writeF64 = function (value) {
+ this.ensureBufferSizeToWrite(8);
+ this.view.setFloat64(this.pos, value);
+ this.pos += 8;
+ };
+ Encoder.prototype.writeU64 = function (value) {
+ this.ensureBufferSizeToWrite(8);
+ setUint64(this.view, this.pos, value);
+ this.pos += 8;
+ };
+ Encoder.prototype.writeI64 = function (value) {
+ this.ensureBufferSizeToWrite(8);
+ setInt64(this.view, this.pos, value);
+ this.pos += 8;
+ };
+ return Encoder;
+}());
+
+//# sourceMappingURL=Encoder.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/encode.mjs
+
+var defaultEncodeOptions = {};
+/**
+ * It encodes `value` in the MessagePack format and
+ * returns a byte buffer.
+ *
+ * The returned buffer is a slice of a larger `ArrayBuffer`, so you have to use its `#byteOffset` and `#byteLength` in order to convert it to another typed arrays including NodeJS `Buffer`.
+ */
+function encode(value, options) {
+ if (options === void 0) { options = defaultEncodeOptions; }
+ var encoder = new Encoder(options.extensionCodec, options.context, options.maxDepth, options.initialBufferSize, options.sortKeys, options.forceFloat32, options.ignoreUndefined, options.forceIntegerToFloat);
+ return encoder.encode(value);
+}
+//# sourceMappingURL=encode.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs
+function prettyByte(byte) {
+ return (byte < 0 ? "-" : "") + "0x" + Math.abs(byte).toString(16).padStart(2, "0");
+}
+//# sourceMappingURL=prettyByte.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs
+
+var DEFAULT_MAX_KEY_LENGTH = 16;
+var DEFAULT_MAX_LENGTH_PER_KEY = 16;
+var CachedKeyDecoder = /** @class */ (function () {
+ function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) {
+ if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; }
+ if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; }
+ this.maxKeyLength = maxKeyLength;
+ this.maxLengthPerKey = maxLengthPerKey;
+ this.hit = 0;
+ this.miss = 0;
+ // avoid `new Array(N)`, which makes a sparse array,
+ // because a sparse array is typically slower than a non-sparse array.
+ this.caches = [];
+ for (var i = 0; i < this.maxKeyLength; i++) {
+ this.caches.push([]);
+ }
+ }
+ CachedKeyDecoder.prototype.canBeCached = function (byteLength) {
+ return byteLength > 0 && byteLength <= this.maxKeyLength;
+ };
+ CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) {
+ var records = this.caches[byteLength - 1];
+ FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {
+ var record = records_1[_i];
+ var recordBytes = record.bytes;
+ for (var j = 0; j < byteLength; j++) {
+ if (recordBytes[j] !== bytes[inputOffset + j]) {
+ continue FIND_CHUNK;
+ }
+ }
+ return record.str;
+ }
+ return null;
+ };
+ CachedKeyDecoder.prototype.store = function (bytes, value) {
+ var records = this.caches[bytes.length - 1];
+ var record = { bytes: bytes, str: value };
+ if (records.length >= this.maxLengthPerKey) {
+ // `records` are full!
+ // Set `record` to an arbitrary position.
+ records[(Math.random() * records.length) | 0] = record;
+ }
+ else {
+ records.push(record);
+ }
+ };
+ CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) {
+ var cachedValue = this.find(bytes, inputOffset, byteLength);
+ if (cachedValue != null) {
+ this.hit++;
+ return cachedValue;
+ }
+ this.miss++;
+ var str = utf8DecodeJs(bytes, inputOffset, byteLength);
+ // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.
+ var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);
+ this.store(slicedCopyOfBytes, str);
+ return str;
+ };
+ return CachedKeyDecoder;
+}());
+
+//# sourceMappingURL=CachedKeyDecoder.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs
+var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+ function verb(n) { return function (v) { return step([n, v]); }; }
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0: case 1: t = op; break;
+ case 4: _.label++; return { value: op[1], done: false };
+ case 5: _.label++; y = op[1]; op = [0]; continue;
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+ if (t[2]) _.ops.pop();
+ _.trys.pop(); continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+ }
+};
+var __asyncValues = (undefined && undefined.__asyncValues) || function (o) {
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+ var m = o[Symbol.asyncIterator], i;
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+};
+var __await = (undefined && undefined.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
+var __asyncGenerator = (undefined && undefined.__asyncGenerator) || function (thisArg, _arguments, generator) {
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+ function fulfill(value) { resume("next", value); }
+ function reject(value) { resume("throw", value); }
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+
+
+
+
+
+
+
+var isValidMapKeyType = function (key) {
+ var keyType = typeof key;
+ return keyType === "string" || keyType === "number";
+};
+var HEAD_BYTE_REQUIRED = -1;
+var EMPTY_VIEW = new DataView(new ArrayBuffer(0));
+var EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);
+// IE11: Hack to support IE11.
+// IE11: Drop this hack and just use RangeError when IE11 is obsolete.
+var DataViewIndexOutOfBoundsError = (function () {
+ try {
+ // IE11: The spec says it should throw RangeError,
+ // IE11: but in IE11 it throws TypeError.
+ EMPTY_VIEW.getInt8(0);
+ }
+ catch (e) {
+ return e.constructor;
+ }
+ throw new Error("never reached");
+})();
+var MORE_DATA = new DataViewIndexOutOfBoundsError("Insufficient data");
+var sharedCachedKeyDecoder = new CachedKeyDecoder();
+var Decoder = /** @class */ (function () {
+ function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) {
+ if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }
+ if (context === void 0) { context = undefined; }
+ if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; }
+ if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; }
+ if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; }
+ if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; }
+ if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; }
+ if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; }
+ this.extensionCodec = extensionCodec;
+ this.context = context;
+ this.maxStrLength = maxStrLength;
+ this.maxBinLength = maxBinLength;
+ this.maxArrayLength = maxArrayLength;
+ this.maxMapLength = maxMapLength;
+ this.maxExtLength = maxExtLength;
+ this.keyDecoder = keyDecoder;
+ this.totalPos = 0;
+ this.pos = 0;
+ this.view = EMPTY_VIEW;
+ this.bytes = EMPTY_BYTES;
+ this.headByte = HEAD_BYTE_REQUIRED;
+ this.stack = [];
+ }
+ Decoder.prototype.reinitializeState = function () {
+ this.totalPos = 0;
+ this.headByte = HEAD_BYTE_REQUIRED;
+ this.stack.length = 0;
+ // view, bytes, and pos will be re-initialized in setBuffer()
+ };
+ Decoder.prototype.setBuffer = function (buffer) {
+ this.bytes = ensureUint8Array(buffer);
+ this.view = createDataView(this.bytes);
+ this.pos = 0;
+ };
+ Decoder.prototype.appendBuffer = function (buffer) {
+ if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) {
+ this.setBuffer(buffer);
+ }
+ else {
+ var remainingData = this.bytes.subarray(this.pos);
+ var newData = ensureUint8Array(buffer);
+ // concat remainingData + newData
+ var newBuffer = new Uint8Array(remainingData.length + newData.length);
+ newBuffer.set(remainingData);
+ newBuffer.set(newData, remainingData.length);
+ this.setBuffer(newBuffer);
+ }
+ };
+ Decoder.prototype.hasRemaining = function (size) {
+ return this.view.byteLength - this.pos >= size;
+ };
+ Decoder.prototype.createExtraByteError = function (posToShow) {
+ var _a = this, view = _a.view, pos = _a.pos;
+ return new RangeError("Extra " + (view.byteLength - pos) + " of " + view.byteLength + " byte(s) found at buffer[" + posToShow + "]");
+ };
+ /**
+ * @throws {DecodeError}
+ * @throws {RangeError}
+ */
+ Decoder.prototype.decode = function (buffer) {
+ this.reinitializeState();
+ this.setBuffer(buffer);
+ var object = this.doDecodeSync();
+ if (this.hasRemaining(1)) {
+ throw this.createExtraByteError(this.pos);
+ }
+ return object;
+ };
+ Decoder.prototype.decodeMulti = function (buffer) {
+ return __generator(this, function (_a) {
+ switch (_a.label) {
+ case 0:
+ this.reinitializeState();
+ this.setBuffer(buffer);
+ _a.label = 1;
+ case 1:
+ if (!this.hasRemaining(1)) return [3 /*break*/, 3];
+ return [4 /*yield*/, this.doDecodeSync()];
+ case 2:
+ _a.sent();
+ return [3 /*break*/, 1];
+ case 3: return [2 /*return*/];
+ }
+ });
+ };
+ Decoder.prototype.decodeAsync = function (stream) {
+ var stream_1, stream_1_1;
+ var e_1, _a;
+ return __awaiter(this, void 0, void 0, function () {
+ var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos;
+ return __generator(this, function (_c) {
+ switch (_c.label) {
+ case 0:
+ decoded = false;
+ _c.label = 1;
+ case 1:
+ _c.trys.push([1, 6, 7, 12]);
+ stream_1 = __asyncValues(stream);
+ _c.label = 2;
+ case 2: return [4 /*yield*/, stream_1.next()];
+ case 3:
+ if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5];
+ buffer = stream_1_1.value;
+ if (decoded) {
+ throw this.createExtraByteError(this.totalPos);
+ }
+ this.appendBuffer(buffer);
+ try {
+ object = this.doDecodeSync();
+ decoded = true;
+ }
+ catch (e) {
+ if (!(e instanceof DataViewIndexOutOfBoundsError)) {
+ throw e; // rethrow
+ }
+ // fallthrough
+ }
+ this.totalPos += this.pos;
+ _c.label = 4;
+ case 4: return [3 /*break*/, 2];
+ case 5: return [3 /*break*/, 12];
+ case 6:
+ e_1_1 = _c.sent();
+ e_1 = { error: e_1_1 };
+ return [3 /*break*/, 12];
+ case 7:
+ _c.trys.push([7, , 10, 11]);
+ if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9];
+ return [4 /*yield*/, _a.call(stream_1)];
+ case 8:
+ _c.sent();
+ _c.label = 9;
+ case 9: return [3 /*break*/, 11];
+ case 10:
+ if (e_1) throw e_1.error;
+ return [7 /*endfinally*/];
+ case 11: return [7 /*endfinally*/];
+ case 12:
+ if (decoded) {
+ if (this.hasRemaining(1)) {
+ throw this.createExtraByteError(this.totalPos);
+ }
+ return [2 /*return*/, object];
+ }
+ _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos;
+ throw new RangeError("Insufficient data in parsing " + prettyByte(headByte) + " at " + totalPos + " (" + pos + " in the current buffer)");
+ }
+ });
+ });
+ };
+ Decoder.prototype.decodeArrayStream = function (stream) {
+ return this.decodeMultiAsync(stream, true);
+ };
+ Decoder.prototype.decodeStream = function (stream) {
+ return this.decodeMultiAsync(stream, false);
+ };
+ Decoder.prototype.decodeMultiAsync = function (stream, isArray) {
+ return __asyncGenerator(this, arguments, function decodeMultiAsync_1() {
+ var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1;
+ var e_3, _a;
+ return __generator(this, function (_b) {
+ switch (_b.label) {
+ case 0:
+ isArrayHeaderRequired = isArray;
+ arrayItemsLeft = -1;
+ _b.label = 1;
+ case 1:
+ _b.trys.push([1, 13, 14, 19]);
+ stream_2 = __asyncValues(stream);
+ _b.label = 2;
+ case 2: return [4 /*yield*/, __await(stream_2.next())];
+ case 3:
+ if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12];
+ buffer = stream_2_1.value;
+ if (isArray && arrayItemsLeft === 0) {
+ throw this.createExtraByteError(this.totalPos);
+ }
+ this.appendBuffer(buffer);
+ if (isArrayHeaderRequired) {
+ arrayItemsLeft = this.readArraySize();
+ isArrayHeaderRequired = false;
+ this.complete();
+ }
+ _b.label = 4;
+ case 4:
+ _b.trys.push([4, 9, , 10]);
+ _b.label = 5;
+ case 5:
+ if (false) {}
+ return [4 /*yield*/, __await(this.doDecodeSync())];
+ case 6: return [4 /*yield*/, _b.sent()];
+ case 7:
+ _b.sent();
+ if (--arrayItemsLeft === 0) {
+ return [3 /*break*/, 8];
+ }
+ return [3 /*break*/, 5];
+ case 8: return [3 /*break*/, 10];
+ case 9:
+ e_2 = _b.sent();
+ if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) {
+ throw e_2; // rethrow
+ }
+ return [3 /*break*/, 10];
+ case 10:
+ this.totalPos += this.pos;
+ _b.label = 11;
+ case 11: return [3 /*break*/, 2];
+ case 12: return [3 /*break*/, 19];
+ case 13:
+ e_3_1 = _b.sent();
+ e_3 = { error: e_3_1 };
+ return [3 /*break*/, 19];
+ case 14:
+ _b.trys.push([14, , 17, 18]);
+ if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16];
+ return [4 /*yield*/, __await(_a.call(stream_2))];
+ case 15:
+ _b.sent();
+ _b.label = 16;
+ case 16: return [3 /*break*/, 18];
+ case 17:
+ if (e_3) throw e_3.error;
+ return [7 /*endfinally*/];
+ case 18: return [7 /*endfinally*/];
+ case 19: return [2 /*return*/];
+ }
+ });
+ });
+ };
+ Decoder.prototype.doDecodeSync = function () {
+ DECODE: while (true) {
+ var headByte = this.readHeadByte();
+ var object = void 0;
+ if (headByte >= 0xe0) {
+ // negative fixint (111x xxxx) 0xe0 - 0xff
+ object = headByte - 0x100;
+ }
+ else if (headByte < 0xc0) {
+ if (headByte < 0x80) {
+ // positive fixint (0xxx xxxx) 0x00 - 0x7f
+ object = headByte;
+ }
+ else if (headByte < 0x90) {
+ // fixmap (1000 xxxx) 0x80 - 0x8f
+ var size = headByte - 0x80;
+ if (size !== 0) {
+ this.pushMapState(size);
+ this.complete();
+ continue DECODE;
+ }
+ else {
+ object = {};
+ }
+ }
+ else if (headByte < 0xa0) {
+ // fixarray (1001 xxxx) 0x90 - 0x9f
+ var size = headByte - 0x90;
+ if (size !== 0) {
+ this.pushArrayState(size);
+ this.complete();
+ continue DECODE;
+ }
+ else {
+ object = [];
+ }
+ }
+ else {
+ // fixstr (101x xxxx) 0xa0 - 0xbf
+ var byteLength = headByte - 0xa0;
+ object = this.decodeUtf8String(byteLength, 0);
+ }
+ }
+ else if (headByte === 0xc0) {
+ // nil
+ object = null;
+ }
+ else if (headByte === 0xc2) {
+ // false
+ object = false;
+ }
+ else if (headByte === 0xc3) {
+ // true
+ object = true;
+ }
+ else if (headByte === 0xca) {
+ // float 32
+ object = this.readF32();
+ }
+ else if (headByte === 0xcb) {
+ // float 64
+ object = this.readF64();
+ }
+ else if (headByte === 0xcc) {
+ // uint 8
+ object = this.readU8();
+ }
+ else if (headByte === 0xcd) {
+ // uint 16
+ object = this.readU16();
+ }
+ else if (headByte === 0xce) {
+ // uint 32
+ object = this.readU32();
+ }
+ else if (headByte === 0xcf) {
+ // uint 64
+ object = this.readU64();
+ }
+ else if (headByte === 0xd0) {
+ // int 8
+ object = this.readI8();
+ }
+ else if (headByte === 0xd1) {
+ // int 16
+ object = this.readI16();
+ }
+ else if (headByte === 0xd2) {
+ // int 32
+ object = this.readI32();
+ }
+ else if (headByte === 0xd3) {
+ // int 64
+ object = this.readI64();
+ }
+ else if (headByte === 0xd9) {
+ // str 8
+ var byteLength = this.lookU8();
+ object = this.decodeUtf8String(byteLength, 1);
+ }
+ else if (headByte === 0xda) {
+ // str 16
+ var byteLength = this.lookU16();
+ object = this.decodeUtf8String(byteLength, 2);
+ }
+ else if (headByte === 0xdb) {
+ // str 32
+ var byteLength = this.lookU32();
+ object = this.decodeUtf8String(byteLength, 4);
+ }
+ else if (headByte === 0xdc) {
+ // array 16
+ var size = this.readU16();
+ if (size !== 0) {
+ this.pushArrayState(size);
+ this.complete();
+ continue DECODE;
+ }
+ else {
+ object = [];
+ }
+ }
+ else if (headByte === 0xdd) {
+ // array 32
+ var size = this.readU32();
+ if (size !== 0) {
+ this.pushArrayState(size);
+ this.complete();
+ continue DECODE;
+ }
+ else {
+ object = [];
+ }
+ }
+ else if (headByte === 0xde) {
+ // map 16
+ var size = this.readU16();
+ if (size !== 0) {
+ this.pushMapState(size);
+ this.complete();
+ continue DECODE;
+ }
+ else {
+ object = {};
+ }
+ }
+ else if (headByte === 0xdf) {
+ // map 32
+ var size = this.readU32();
+ if (size !== 0) {
+ this.pushMapState(size);
+ this.complete();
+ continue DECODE;
+ }
+ else {
+ object = {};
+ }
+ }
+ else if (headByte === 0xc4) {
+ // bin 8
+ var size = this.lookU8();
+ object = this.decodeBinary(size, 1);
+ }
+ else if (headByte === 0xc5) {
+ // bin 16
+ var size = this.lookU16();
+ object = this.decodeBinary(size, 2);
+ }
+ else if (headByte === 0xc6) {
+ // bin 32
+ var size = this.lookU32();
+ object = this.decodeBinary(size, 4);
+ }
+ else if (headByte === 0xd4) {
+ // fixext 1
+ object = this.decodeExtension(1, 0);
+ }
+ else if (headByte === 0xd5) {
+ // fixext 2
+ object = this.decodeExtension(2, 0);
+ }
+ else if (headByte === 0xd6) {
+ // fixext 4
+ object = this.decodeExtension(4, 0);
+ }
+ else if (headByte === 0xd7) {
+ // fixext 8
+ object = this.decodeExtension(8, 0);
+ }
+ else if (headByte === 0xd8) {
+ // fixext 16
+ object = this.decodeExtension(16, 0);
+ }
+ else if (headByte === 0xc7) {
+ // ext 8
+ var size = this.lookU8();
+ object = this.decodeExtension(size, 1);
+ }
+ else if (headByte === 0xc8) {
+ // ext 16
+ var size = this.lookU16();
+ object = this.decodeExtension(size, 2);
+ }
+ else if (headByte === 0xc9) {
+ // ext 32
+ var size = this.lookU32();
+ object = this.decodeExtension(size, 4);
+ }
+ else {
+ throw new DecodeError("Unrecognized type byte: " + prettyByte(headByte));
+ }
+ this.complete();
+ var stack = this.stack;
+ while (stack.length > 0) {
+ // arrays and maps
+ var state = stack[stack.length - 1];
+ if (state.type === 0 /* ARRAY */) {
+ state.array[state.position] = object;
+ state.position++;
+ if (state.position === state.size) {
+ stack.pop();
+ object = state.array;
+ }
+ else {
+ continue DECODE;
+ }
+ }
+ else if (state.type === 1 /* MAP_KEY */) {
+ if (!isValidMapKeyType(object)) {
+ throw new DecodeError("The type of key must be string or number but " + typeof object);
+ }
+ if (object === "__proto__") {
+ throw new DecodeError("The key __proto__ is not allowed");
+ }
+ state.key = object;
+ state.type = 2 /* MAP_VALUE */;
+ continue DECODE;
+ }
+ else {
+ // it must be `state.type === State.MAP_VALUE` here
+ state.map[state.key] = object;
+ state.readCount++;
+ if (state.readCount === state.size) {
+ stack.pop();
+ object = state.map;
+ }
+ else {
+ state.key = null;
+ state.type = 1 /* MAP_KEY */;
+ continue DECODE;
+ }
+ }
+ }
+ return object;
+ }
+ };
+ Decoder.prototype.readHeadByte = function () {
+ if (this.headByte === HEAD_BYTE_REQUIRED) {
+ this.headByte = this.readU8();
+ // console.log("headByte", prettyByte(this.headByte));
+ }
+ return this.headByte;
+ };
+ Decoder.prototype.complete = function () {
+ this.headByte = HEAD_BYTE_REQUIRED;
+ };
+ Decoder.prototype.readArraySize = function () {
+ var headByte = this.readHeadByte();
+ switch (headByte) {
+ case 0xdc:
+ return this.readU16();
+ case 0xdd:
+ return this.readU32();
+ default: {
+ if (headByte < 0xa0) {
+ return headByte - 0x90;
+ }
+ else {
+ throw new DecodeError("Unrecognized array type byte: " + prettyByte(headByte));
+ }
+ }
+ }
+ };
+ Decoder.prototype.pushMapState = function (size) {
+ if (size > this.maxMapLength) {
+ throw new DecodeError("Max length exceeded: map length (" + size + ") > maxMapLengthLength (" + this.maxMapLength + ")");
+ }
+ this.stack.push({
+ type: 1 /* MAP_KEY */,
+ size: size,
+ key: null,
+ readCount: 0,
+ map: {},
+ });
+ };
+ Decoder.prototype.pushArrayState = function (size) {
+ if (size > this.maxArrayLength) {
+ throw new DecodeError("Max length exceeded: array length (" + size + ") > maxArrayLength (" + this.maxArrayLength + ")");
+ }
+ this.stack.push({
+ type: 0 /* ARRAY */,
+ size: size,
+ array: new Array(size),
+ position: 0,
+ });
+ };
+ Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) {
+ var _a;
+ if (byteLength > this.maxStrLength) {
+ throw new DecodeError("Max length exceeded: UTF-8 byte length (" + byteLength + ") > maxStrLength (" + this.maxStrLength + ")");
+ }
+ if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {
+ throw MORE_DATA;
+ }
+ var offset = this.pos + headerOffset;
+ var object;
+ if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {
+ object = this.keyDecoder.decode(this.bytes, offset, byteLength);
+ }
+ else if (byteLength > TEXT_DECODER_THRESHOLD) {
+ object = utf8DecodeTD(this.bytes, offset, byteLength);
+ }
+ else {
+ object = utf8DecodeJs(this.bytes, offset, byteLength);
+ }
+ this.pos += headerOffset + byteLength;
+ return object;
+ };
+ Decoder.prototype.stateIsMapKey = function () {
+ if (this.stack.length > 0) {
+ var state = this.stack[this.stack.length - 1];
+ return state.type === 1 /* MAP_KEY */;
+ }
+ return false;
+ };
+ Decoder.prototype.decodeBinary = function (byteLength, headOffset) {
+ if (byteLength > this.maxBinLength) {
+ throw new DecodeError("Max length exceeded: bin length (" + byteLength + ") > maxBinLength (" + this.maxBinLength + ")");
+ }
+ if (!this.hasRemaining(byteLength + headOffset)) {
+ throw MORE_DATA;
+ }
+ var offset = this.pos + headOffset;
+ var object = this.bytes.subarray(offset, offset + byteLength);
+ this.pos += headOffset + byteLength;
+ return object;
+ };
+ Decoder.prototype.decodeExtension = function (size, headOffset) {
+ if (size > this.maxExtLength) {
+ throw new DecodeError("Max length exceeded: ext length (" + size + ") > maxExtLength (" + this.maxExtLength + ")");
+ }
+ var extType = this.view.getInt8(this.pos + headOffset);
+ var data = this.decodeBinary(size, headOffset + 1 /* extType */);
+ return this.extensionCodec.decode(data, extType, this.context);
+ };
+ Decoder.prototype.lookU8 = function () {
+ return this.view.getUint8(this.pos);
+ };
+ Decoder.prototype.lookU16 = function () {
+ return this.view.getUint16(this.pos);
+ };
+ Decoder.prototype.lookU32 = function () {
+ return this.view.getUint32(this.pos);
+ };
+ Decoder.prototype.readU8 = function () {
+ var value = this.view.getUint8(this.pos);
+ this.pos++;
+ return value;
+ };
+ Decoder.prototype.readI8 = function () {
+ var value = this.view.getInt8(this.pos);
+ this.pos++;
+ return value;
+ };
+ Decoder.prototype.readU16 = function () {
+ var value = this.view.getUint16(this.pos);
+ this.pos += 2;
+ return value;
+ };
+ Decoder.prototype.readI16 = function () {
+ var value = this.view.getInt16(this.pos);
+ this.pos += 2;
+ return value;
+ };
+ Decoder.prototype.readU32 = function () {
+ var value = this.view.getUint32(this.pos);
+ this.pos += 4;
+ return value;
+ };
+ Decoder.prototype.readI32 = function () {
+ var value = this.view.getInt32(this.pos);
+ this.pos += 4;
+ return value;
+ };
+ Decoder.prototype.readU64 = function () {
+ var value = getUint64(this.view, this.pos);
+ this.pos += 8;
+ return value;
+ };
+ Decoder.prototype.readI64 = function () {
+ var value = getInt64(this.view, this.pos);
+ this.pos += 8;
+ return value;
+ };
+ Decoder.prototype.readF32 = function () {
+ var value = this.view.getFloat32(this.pos);
+ this.pos += 4;
+ return value;
+ };
+ Decoder.prototype.readF64 = function () {
+ var value = this.view.getFloat64(this.pos);
+ this.pos += 8;
+ return value;
+ };
+ return Decoder;
+}());
+
+//# sourceMappingURL=Decoder.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/decode.mjs
+
+var defaultDecodeOptions = {};
+/**
+ * It decodes a single MessagePack object in a buffer.
+ *
+ * This is a synchronous decoding function.
+ * See other variants for asynchronous decoding: {@link decodeAsync()}, {@link decodeStream()}, or {@link decodeArrayStream()}.
+ */
+function decode(buffer, options) {
+ if (options === void 0) { options = defaultDecodeOptions; }
+ var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);
+ return decoder.decode(buffer);
+}
+/**
+ * It decodes multiple MessagePack objects in a buffer.
+ * This is corresponding to {@link decodeMultiStream()}.
+ */
+function decodeMulti(buffer, options) {
+ if (options === void 0) { options = defaultDecodeOptions; }
+ var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);
+ return decoder.decodeMulti(buffer);
+}
+//# sourceMappingURL=decode.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/utils/stream.mjs
+// utility for whatwg streams
+var stream_generator = (undefined && undefined.__generator) || function (thisArg, body) {
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+ function verb(n) { return function (v) { return step([n, v]); }; }
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0: case 1: t = op; break;
+ case 4: _.label++; return { value: op[1], done: false };
+ case 5: _.label++; y = op[1]; op = [0]; continue;
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+ if (t[2]) _.ops.pop();
+ _.trys.pop(); continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+ }
+};
+var stream_await = (undefined && undefined.__await) || function (v) { return this instanceof stream_await ? (this.v = v, this) : new stream_await(v); }
+var stream_asyncGenerator = (undefined && undefined.__asyncGenerator) || function (thisArg, _arguments, generator) {
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+ function step(r) { r.value instanceof stream_await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+ function fulfill(value) { resume("next", value); }
+ function reject(value) { resume("throw", value); }
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+};
+function isAsyncIterable(object) {
+ return object[Symbol.asyncIterator] != null;
+}
+function assertNonNull(value) {
+ if (value == null) {
+ throw new Error("Assertion Failure: value must not be null nor undefined");
+ }
+}
+function asyncIterableFromStream(stream) {
+ return stream_asyncGenerator(this, arguments, function asyncIterableFromStream_1() {
+ var reader, _a, done, value;
+ return stream_generator(this, function (_b) {
+ switch (_b.label) {
+ case 0:
+ reader = stream.getReader();
+ _b.label = 1;
+ case 1:
+ _b.trys.push([1, , 9, 10]);
+ _b.label = 2;
+ case 2:
+ if (false) {}
+ return [4 /*yield*/, stream_await(reader.read())];
+ case 3:
+ _a = _b.sent(), done = _a.done, value = _a.value;
+ if (!done) return [3 /*break*/, 5];
+ return [4 /*yield*/, stream_await(void 0)];
+ case 4: return [2 /*return*/, _b.sent()];
+ case 5:
+ assertNonNull(value);
+ return [4 /*yield*/, stream_await(value)];
+ case 6: return [4 /*yield*/, _b.sent()];
+ case 7:
+ _b.sent();
+ return [3 /*break*/, 2];
+ case 8: return [3 /*break*/, 10];
+ case 9:
+ reader.releaseLock();
+ return [7 /*endfinally*/];
+ case 10: return [2 /*return*/];
+ }
+ });
+ });
+}
+function ensureAsyncIterable(streamLike) {
+ if (isAsyncIterable(streamLike)) {
+ return streamLike;
+ }
+ else {
+ return asyncIterableFromStream(streamLike);
+ }
+}
+//# sourceMappingURL=stream.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/decodeAsync.mjs
+var decodeAsync_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var decodeAsync_generator = (undefined && undefined.__generator) || function (thisArg, body) {
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+ function verb(n) { return function (v) { return step([n, v]); }; }
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0: case 1: t = op; break;
+ case 4: _.label++; return { value: op[1], done: false };
+ case 5: _.label++; y = op[1]; op = [0]; continue;
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+ if (t[2]) _.ops.pop();
+ _.trys.pop(); continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+ }
+};
+
+
+
+function decodeAsync(streamLike, options) {
+ if (options === void 0) { options = defaultDecodeOptions; }
+ return decodeAsync_awaiter(this, void 0, void 0, function () {
+ var stream, decoder;
+ return decodeAsync_generator(this, function (_a) {
+ stream = ensureAsyncIterable(streamLike);
+ decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);
+ return [2 /*return*/, decoder.decodeAsync(stream)];
+ });
+ });
+}
+function decodeArrayStream(streamLike, options) {
+ if (options === void 0) { options = defaultDecodeOptions; }
+ var stream = ensureAsyncIterable(streamLike);
+ var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);
+ return decoder.decodeArrayStream(stream);
+}
+function decodeMultiStream(streamLike, options) {
+ if (options === void 0) { options = defaultDecodeOptions; }
+ var stream = ensureAsyncIterable(streamLike);
+ var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);
+ return decoder.decodeStream(stream);
+}
+/**
+ * @deprecated Use {@link decodeMultiStream()} instead.
+ */
+function decodeStream(streamLike, options) {
+ if (options === void 0) { options = defaultDecodeOptions; }
+ return decodeMultiStream(streamLike, options);
+}
+//# sourceMappingURL=decodeAsync.mjs.map
+;// CONCATENATED MODULE: ./node_modules/@msgpack/msgpack/dist.es5+esm/index.mjs
+// Main Functions:
+
+
+
+
+
+
+
+
+
+
+
+// Utilitiies for Extension Types:
+
+
+
+
+
+
+//# sourceMappingURL=index.mjs.map
+
+/***/ })
+
+/******/ });
+/************************************************************************/
+/******/ // The module cache
+/******/ var __webpack_module_cache__ = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/ // Check if module is in cache
+/******/ var cachedModule = __webpack_module_cache__[moduleId];
+/******/ if (cachedModule !== undefined) {
+/******/ return cachedModule.exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = __webpack_module_cache__[moduleId] = {
+/******/ // no module.id needed
+/******/ // no module.loaded needed
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/define property getters */
+/******/ (() => {
+/******/ // define getter functions for harmony exports
+/******/ __webpack_require__.d = (exports, definition) => {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/ })();
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ (() => {
+/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
+/******/ })();
+/******/
+/******/ /* webpack/runtime/make namespace object */
+/******/ (() => {
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = (exports) => {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/ })();
+/******/
+/************************************************************************/
+var __webpack_exports__ = {};
+// This entry need to be wrapped in an IIFE because it need to be in strict mode.
+(() => {
+"use strict";
+var exports = __webpack_exports__;
+
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ValueType = exports.ValTable = exports.SignalGroup = exports.SignalType = exports.Signal = exports.Node = exports.Message = exports.EnvironmentVariable = exports.Database = exports.DBCError = exports.AttributeDef = exports.Attribute = exports.decodeDb = exports.encodeDb = exports.extensionCodec = void 0;
+var mapTools_1 = __webpack_require__(164);
+Object.defineProperty(exports, "extensionCodec", ({ enumerable: true, get: function () { return mapTools_1.extensionCodec; } }));
+Object.defineProperty(exports, "encodeDb", ({ enumerable: true, get: function () { return mapTools_1.encodeDb; } }));
+Object.defineProperty(exports, "decodeDb", ({ enumerable: true, get: function () { return mapTools_1.decodeDb; } }));
+var attributes_1 = __webpack_require__(271);
+Object.defineProperty(exports, "Attribute", ({ enumerable: true, get: function () { return attributes_1.Attribute; } }));
+Object.defineProperty(exports, "AttributeDef", ({ enumerable: true, get: function () { return attributes_1.AttributeDef; } }));
+var errors_1 = __webpack_require__(237);
+Object.defineProperty(exports, "DBCError", ({ enumerable: true, get: function () { return errors_1.DBCError; } }));
+var db_1 = __webpack_require__(761);
+Object.defineProperty(exports, "Database", ({ enumerable: true, get: function () { return db_1.Database; } }));
+var ev_1 = __webpack_require__(276);
+Object.defineProperty(exports, "EnvironmentVariable", ({ enumerable: true, get: function () { return ev_1.EnvironmentVariable; } }));
+var message_1 = __webpack_require__(780);
+Object.defineProperty(exports, "Message", ({ enumerable: true, get: function () { return message_1.Message; } }));
+var dbcNode_1 = __webpack_require__(7);
+Object.defineProperty(exports, "Node", ({ enumerable: true, get: function () { return dbcNode_1.Node; } }));
+var signal_1 = __webpack_require__(730);
+Object.defineProperty(exports, "Signal", ({ enumerable: true, get: function () { return signal_1.Signal; } }));
+Object.defineProperty(exports, "SignalType", ({ enumerable: true, get: function () { return signal_1.SignalType; } }));
+Object.defineProperty(exports, "SignalGroup", ({ enumerable: true, get: function () { return signal_1.SignalGroup; } }));
+var valtable_1 = __webpack_require__(112);
+Object.defineProperty(exports, "ValTable", ({ enumerable: true, get: function () { return valtable_1.ValTable; } }));
+Object.defineProperty(exports, "ValueType", ({ enumerable: true, get: function () { return valtable_1.ValueType; } }));
+
+})();
+
+module.exports = __webpack_exports__;
+/******/ })()
+;
+//# sourceMappingURL=serverPack.js.map
\ No newline at end of file
diff --git a/dbcLib/build/serverPack.js.map b/dbcLib/build/serverPack.js.map
new file mode 100644
index 0000000..29167e0
--- /dev/null
+++ b/dbcLib/build/serverPack.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"serverPack.js","mappings":";;;;;;;AAAa;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,oBAAoB,GAAG,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;;;;;;;;ACnCP;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;;;;;;;;AC1Ca;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;;;;;;;;AC1BC;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gBAAgB;AAChB;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;;;;;;;;ACzEH;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,2BAA2B;;;;;;;;;ACnCd;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,KAAK,GAAG,IAAI,IAAI,UAAU;AAC9C;AACA;AACA,eAAe;;;;;;;;;ACzCF;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,mBAAmB,GAAG,kBAAkB,GAAG,cAAc;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;;;;;;;;ACjEN;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB,GAAG,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;;;;;;;;AClCJ;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gBAAgB,GAAG,gBAAgB,GAAG,sBAAsB;AAC5D,kBAAkB,mBAAO,CAAC,GAAkB;AAC5C,aAAa,mBAAO,CAAC,GAAU;AAC/B,kBAAkB,mBAAO,CAAC,GAAe;AACzC,kBAAkB,mBAAO,CAAC,CAAe;AACzC,mBAAmB,mBAAO,CAAC,GAAgB;AAC3C,qBAAqB,mBAAO,CAAC,GAAkB;AAC/C,aAAa,mBAAO,CAAC,GAAU;AAC/B,iBAAiB,mBAAO,CAAC,GAAc;AACvC,YAAY,mBAAO,CAAC,GAAW;AAC/B;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,wCAAwC;AAC/F,uDAAuD,wCAAwC;AAC/F,yDAAyD,wCAAwC;AACjG,2DAA2D,wCAAwC;AACnG;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF,uEAAuE,wCAAwC,gCAAgC,wCAAwC,gCAAgC,wCAAwC;AAC/P;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,wCAAwC;AAC/F,0DAA0D,wCAAwC;AAClG,2DAA2D,wCAAwC;AACnG,2DAA2D,wCAAwC;AACnG;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF,0EAA0E,wCAAwC,gCAAgC,wCAAwC,gCAAgC,wCAAwC;AAClQ;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,wCAAwC;AAC/F,6DAA6D,wCAAwC;AACrG,mEAAmE,wCAAwC;AAC3G,mEAAmE,wCAAwC;AAC3G;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF,kEAAkE,wCAAwC;AAC1G,mDAAmD,wCAAwC;AAC3F,sDAAsD,wCAAwC;AAC9F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,wCAAwC;AAC/F,uDAAuD,wCAAwC;AAC/F,qDAAqD,wCAAwC;AAC7F,qDAAqD,wCAAwC;AAC7F,uDAAuD,wCAAwC;AAC/F,mEAAmE,wCAAwC;AAC3G,mDAAmD,wCAAwC;AAC3F,uEAAuE,wCAAwC;AAC/G,iFAAiF,wCAAwC;AACzH,+DAA+D,wCAAwC;AACvG,6DAA6D,wCAAwC;AACrG,mEAAmE,wCAAwC;AAC3G;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF;AACA,gDAAgD,wCAAwC;AACxF,gDAAgD,wCAAwC;AACxF,+CAA+C,wCAAwC;AACvF,+CAA+C,wCAAwC;AACvF,gDAAgD,wCAAwC;AACxF,sDAAsD,wCAAwC;AAC9F,8CAA8C,wCAAwC;AACtF,wDAAwD,wCAAwC;AAChG,oDAAoD,wCAAwC;AAC5F,mDAAmD,wCAAwC;AAC3F,uDAAuD,wCAAwC;AAC/F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,wCAAwC;AAC7F,yDAAyD,wCAAwC;AACjG,yDAAyD,wCAAwC;AACjG,uEAAuE,wCAAwC;AAC/G,yEAAyE,wCAAwC;AACjH,+DAA+D,wCAAwC;AACvG,+DAA+D,wCAAwC;AACvG,yEAAyE,wCAAwC;AACjH,qEAAqE,wCAAwC;AAC7G,+HAA+H,wCAAwC;AACvK;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF;AACA,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E;AACA,wDAAwD,wCAAwC;AAChG,mDAAmD,wCAAwC;AAC3F,wDAAwD,wCAAwC;AAChG,sDAAsD,wCAAwC;AAC9F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,wCAAwC;AACjG,iEAAiE,wCAAwC;AACzG,+DAA+D,wCAAwC;AACvG,mEAAmE,wCAAwC;AAC3G,mEAAmE,wCAAwC;AAC3G,6DAA6D,wCAAwC;AACrG,6DAA6D,wCAAwC;AACrG,+DAA+D,wCAAwC;AACvG,+DAA+D,wCAAwC;AACvG,yDAAyD,wCAAwC;AACjG,mEAAmE,wCAAwC;AAC3G,iEAAiE,wCAAwC;AACzG,+DAA+D,wCAAwC;AACvG,qEAAqE,wCAAwC;AAC7G,+DAA+D,wCAAwC;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF,oEAAoE,wCAAwC;AAC5G,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,sCAAsC,wCAAwC;AAC9E;AACA,qDAAqD,wCAAwC;AAC7F,oDAAoD,wCAAwC;AAC5F,uDAAuD,wCAAwC;AAC/F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,wCAAwC;AACjG,yDAAyD,wCAAwC;AACjG,mEAAmE,wCAAwC;AAC3G,mEAAmE,wCAAwC;AAC3G,6DAA6D,wCAAwC;AACrG,6DAA6D,wCAAwC;AACrG,+DAA+D,wCAAwC;AACvG,+DAA+D,wCAAwC;AACvG,yDAAyD,wCAAwC;AACjG,kEAAkE,wCAAwC;AAC1G,iEAAiE,wCAAwC;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF,uEAAuE,wCAAwC;AAC/G,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,qCAAqC,wCAAwC;AAC7E,sCAAsC,wCAAwC;AAC9E;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,wCAAwC;AAC7F,gDAAgD,wCAAwC;AACxF,uDAAuD,wCAAwC;AAC/F,mDAAmD,wCAAwC;AAC3F;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF;AACA,qDAAqD,wCAAwC;AAC7F,gDAAgD,wCAAwC;AACxF,uDAAuD,wCAAwC;AAC/F,mDAAmD,wCAAwC;AAC3F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,wCAAwC;AACxF,wDAAwD,wCAAwC;AAChG;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF,uEAAuE,wCAAwC;AAC/G,wDAAwD,wCAAwC;AAChG;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,wCAAwC;AACxF,+CAA+C,wCAAwC;AACvF,+CAA+C,wCAAwC;AACvF,oDAAoD,wCAAwC;AAC5F;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF,wEAAwE,wCAAwC;AAChH,+CAA+C,wCAAwC;AACvF,+CAA+C,wCAAwC;AACvF,oDAAoD,wCAAwC;AAC5F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wCAAwC;AACnG,iEAAiE,wCAAwC;AACzG,yDAAyD,wCAAwC;AACjG,uFAAuF,wCAAwC;AAC/H,qEAAqE,wCAAwC;AAC7G,+DAA+D,wCAAwC;AACvG,8DAA8D,wCAAwC;AACtG,6DAA6D,wCAAwC;AACrG,6DAA6D,wCAAwC;AACrG,+DAA+D,wCAAwC;AACvG,gJAAgJ,wCAAwC;AACxL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,wCAAwC;AACvF;AACA,mDAAmD,wCAAwC;AAC3F,oDAAoD,wCAAwC;AAC5F,mDAAmD,wCAAwC;AAC3F,oDAAoD,wCAAwC;AAC5F,qDAAqD,wCAAwC;AAC7F,iDAAiD,wCAAwC;AACzF,gEAAgE,wCAAwC;AACxG,uDAAuD,wCAAwC;AAC/F,oDAAoD,wCAAwC;AAC5F,sDAAsD,wCAAwC;AAC9F;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,wCAAwC;AACzF,mDAAmD,wCAAwC;AAC3F,iDAAiD,wCAAwC;AACzF,aAAa;AACb,2CAA2C,wCAAwC;AACnF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oDAAoD,wCAAwC;AAC5F;AACA;AACA,gDAAgD,wCAAwC;AACxF,+CAA+C,wCAAwC,8BAA8B,wCAAwC;AAC7J,SAAS;AACT;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA,yCAAyC,wCAAwC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,wCAAwC;AACtF;AACA;AACA,gBAAgB;;;;;;;;;;AC7bhB;AACA;AACA;AACA,CAAC;AACD,IAAI,KAA4D;AAChE;AACA,UAAU,CAeE;AACZ,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iCAAiC,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,+DAA+D,EAAE,wBAAwB,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,sBAAsB;AAC3D,0CAA0C,+BAA+B;AACzE,sCAAsC,4BAA4B;AAClE,sCAAsC,4BAA4B;AAClE,uCAAuC,4BAA4B;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uCAAuC;AACjF,sCAAsC,oCAAoC;AAC1E,sCAAsC,oCAAoC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1TD;AACO;AACP;AACA;AACO;AACP;AACA,qBAAqB;AACrB;AACA;AACA;AACO;AACP;AACA,qBAAqB;AACrB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;AC1BuC;AACvC;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,MAAM,UAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,MAAM,UAAU;AAChB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;;AC7JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACkB;AACnB;;ACXA,iBAAiB,SAAI,IAAI,SAAI;AAC7B;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACsB;AACvB;;AChCA;AACgD;AACK;AAC9C;AACP,2CAA2C;AAC3C,2CAA2C;AACpC;AACP;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,QAAQ,QAAQ;AAChB;AACA;AACA;AACO;AACP;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,gCAAgC;AAChC,sBAAsB,QAAQ;AAC9B;AACA,qBAAqB;AACrB;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;AChGA;AACwC;AACa;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA,CAAC;AACyB;AAC1B;;ACtEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBiG;AAC3C;AACA;AACK;AACpD;AACA;AACP;AACA;AACA,yCAAyC,iBAAiB,2BAA2B;AACrF,kCAAkC;AAClC,mCAAmC;AACnC,4CAA4C;AAC5C,mCAAmC;AACnC,uCAAuC;AACvC,0CAA0C;AAC1C,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C,6BAA6B,SAAS;AACtC;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA,QAAQ,QAAQ;AAChB;AACA;AACA;AACA,CAAC;AACkB;AACnB;;ACtZwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,8BAA8B;AAC9B,sBAAsB,OAAO;AAC7B;AACA;AACA;;ACbO;AACP;AACA;AACA;;ACHgD;AAChD;AACA;AACA;AACA;AACA,uCAAuC;AACvC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,uBAAuB;AACjF;AACA;AACA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC2B;AAC5B;;AC/DA,iBAAiB,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,mBAAmB,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,qBAAqB,SAAI,IAAI,SAAI;AACjC;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA,eAAe,SAAI,IAAI,SAAI,4BAA4B;AACvD,wBAAwB,SAAI,IAAI,SAAI;AACpC;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACoD;AACE;AACY;AACoB;AACX;AACjB;AACV;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA,yCAAyC,iBAAiB,2BAA2B;AACrF,kCAAkC;AAClC,uCAAuC,eAAe,UAAU;AAChE,uCAAuC,eAAe,UAAU;AAChE,yCAAyC,iBAAiB,UAAU;AACpE,uCAAuC,eAAe,UAAU;AAChE,uCAAuC,eAAe,UAAU;AAChE,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,UAAU;AACzF;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,KAAK,EAAE,EAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,WAAW,8BAA8B,UAAU;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,WAAW;AAC7C;AACA;AACA,kCAAkC,WAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW,oCAAoC,UAAU;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,SAAS;AACT;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sBAAsB;AACpD,qBAAqB,YAAY;AACjC;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACkB;AACnB;;AC7tBwC;AACjC;AACP;AACA;AACA;AACA;AACA,kDAAkD,oBAAoB,GAAG,qBAAqB,MAAM,0BAA0B;AAC9H;AACO;AACP,8BAA8B;AAC9B,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACO;AACP,8BAA8B;AAC9B,sBAAsB,OAAO;AAC7B;AACA;AACA;;ACtBA;AACA,IAAI,gBAAW,IAAI,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,IAAI,YAAO,IAAI,SAAI,IAAI,SAAI,4BAA4B,uBAAuB,YAAO,4BAA4B,YAAO;AACxH,IAAI,qBAAgB,IAAI,SAAI,IAAI,SAAI;AACpC;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB,mBAAmB,YAAO;AACjD,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,WAAW,qBAAgB;AAC3B;AACA,eAAe,gBAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,KAAK,EAAE,EAAwB;AACvD,yCAAyC,YAAO;AAChD;AACA;AACA;AACA,yCAAyC,YAAO;AAChD;AACA;AACA;AACA,yCAAyC,YAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA,IAAI,mBAAS,IAAI,SAAI,IAAI,SAAI;AAC7B,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA,IAAI,qBAAW,IAAI,SAAI,IAAI,SAAI;AAC/B,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACwC;AACiB;AACL;AAC7C;AACP,8BAA8B,UAAU,oBAAoB;AAC5D,WAAW,mBAAS;AACpB;AACA,eAAe,qBAAW;AAC1B,qBAAqB,mBAAmB;AACxC,0BAA0B,OAAO;AACjC;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP,8BAA8B,UAAU,oBAAoB;AAC5D,iBAAiB,mBAAmB;AACpC,sBAAsB,OAAO;AAC7B;AACA;AACO;AACP,8BAA8B,UAAU,oBAAoB;AAC5D,iBAAiB,mBAAmB;AACpC,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA,oBAAoB,2BAA2B;AAC/C;AACO;AACP,8BAA8B,UAAU,oBAAoB;AAC5D;AACA;AACA;;ACrEA;AACsC;AACpB;AACiC;AACpB;AACqE;AACzB;AACJ;AACvB;AACe;AACvB;AACrB;AACnB;AACsD;AAC5B;AACc;AACrB;AAC8J;AACvB;AAC1J;;;;;;UCnBA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;ACNa;AACb;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,cAAc,GAAG,YAAY,GAAG,eAAe,GAAG,2BAA2B,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,sBAAsB;AAC/S,iBAAiB,mBAAO,CAAC,GAAY;AACrC,kDAAiD,EAAE,qCAAqC,qCAAqC,EAAC;AAC9H,4CAA2C,EAAE,qCAAqC,+BAA+B,EAAC;AAClH,4CAA2C,EAAE,qCAAqC,+BAA+B,EAAC;AAClH,mBAAmB,mBAAO,CAAC,GAAkB;AAC7C,6CAA4C,EAAE,qCAAqC,kCAAkC,EAAC;AACtH,gDAA+C,EAAE,qCAAqC,qCAAqC,EAAC;AAC5H,eAAe,mBAAO,CAAC,GAAc;AACrC,4CAA2C,EAAE,qCAAqC,6BAA6B,EAAC;AAChH,WAAW,mBAAO,CAAC,GAAU;AAC7B,4CAA2C,EAAE,qCAAqC,yBAAyB,EAAC;AAC5G,WAAW,mBAAO,CAAC,GAAU;AAC7B,uDAAsD,EAAE,qCAAqC,oCAAoC,EAAC;AAClI,gBAAgB,mBAAO,CAAC,GAAe;AACvC,2CAA0C,EAAE,qCAAqC,6BAA6B,EAAC;AAC/G,gBAAgB,mBAAO,CAAC,CAAe;AACvC,wCAAuC,EAAE,qCAAqC,0BAA0B,EAAC;AACzG,eAAe,mBAAO,CAAC,GAAc;AACrC,0CAAyC,EAAE,qCAAqC,2BAA2B,EAAC;AAC5G,8CAA6C,EAAE,qCAAqC,+BAA+B,EAAC;AACpH,+CAA8C,EAAE,qCAAqC,gCAAgC,EAAC;AACtH,iBAAiB,mBAAO,CAAC,GAAgB;AACzC,4CAA2C,EAAE,qCAAqC,+BAA+B,EAAC;AAClH,6CAA4C,EAAE,qCAAqC,gCAAgC,EAAC","sources":["webpack://dbclib/./dist/dbc/attributes.js","webpack://dbclib/./dist/dbc/db.js","webpack://dbclib/./dist/dbc/dbcNode.js","webpack://dbclib/./dist/dbc/errors.js","webpack://dbclib/./dist/dbc/ev.js","webpack://dbclib/./dist/dbc/message.js","webpack://dbclib/./dist/dbc/signal.js","webpack://dbclib/./dist/dbc/valtable.js","webpack://dbclib/./dist/mapTools.js","webpack://dbclib/./node_modules/js-base64/base64.js","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/encode.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/decode.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/utils/stream.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/decodeAsync.mjs","webpack://dbclib/./node_modules/@msgpack/msgpack/dist.es5+esm/index.mjs","webpack://dbclib/webpack/bootstrap","webpack://dbclib/webpack/runtime/define property getters","webpack://dbclib/webpack/runtime/hasOwnProperty shorthand","webpack://dbclib/webpack/runtime/make namespace object","webpack://dbclib/./dist/index.js"],"sourcesContent":["\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AttributeDef = exports.Attribute = void 0;\nclass Attribute {\n constructor(name, objectType, value) {\n this.name = name;\n this.type = objectType;\n this.value = value;\n this.clsType = \"attribute\";\n }\n}\nexports.Attribute = Attribute;\nclass AttributeDef {\n constructor(name, objType, valType) {\n this.name = name;\n this.objType = objType;\n this.valType = valType;\n this.clsType = \"attributeDef\";\n }\n}\nexports.AttributeDef = AttributeDef;\n","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Database = void 0;\n;\nclass Database {\n constructor() {\n this.messages = new Map();\n this.valTables = new Map();\n this.version = \"\";\n this.symbols = [];\n this.parseErrors = [];\n this.bitTiming = {\n baudRate: -1,\n register_1: -1,\n register_2: -1\n };\n this.nodes = new Map();\n this.environmentVariables = new Map();\n this.signalTypes = new Map();\n this.comment = \"\";\n this.attrDefs = new Map();\n this.attributes = new Map();\n this.fileName = \"\";\n this.type = \"database\";\n }\n}\nexports.Database = Database;\nDatabase.identifier = \"Database\";\n","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Node = void 0;\nclass Node {\n constructor(name) {\n this.name = name;\n this.comment = \"\";\n this.attributes = new Map();\n this.clsType = \"node\";\n }\n}\nexports.Node = Node;\n","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DBCError = void 0;\nvar conditionType;\n(function (conditionType) {\n conditionType[conditionType[\"noCondition\"] = 0] = \"noCondition\";\n conditionType[conditionType[\"mapHas\"] = 1] = \"mapHas\";\n})(conditionType || (conditionType = {}));\nclass DBCError {\n constructor(whence, what, type, // 0: warning, 1: error\n token = \"\") {\n this.whence = whence;\n this.what = what;\n this.type = type;\n this.token = token;\n this.hasCondition = false;\n this.condition = conditionType.noCondition;\n this.mapVal = null;\n this.key = null;\n }\n evalCondition() {\n // returns false if error needs to be added\n if (!this.hasCondition)\n return false;\n switch (this.condition) {\n case conditionType.noCondition:\n return false;\n case conditionType.mapHas:\n return this.evalMapCondition();\n default:\n break;\n }\n }\n addMapCondition(mapVal, key) {\n this.mapVal = mapVal;\n this.key = key;\n this.condition = conditionType.mapHas;\n this.hasCondition = true;\n }\n evalMapCondition() {\n if (this.mapVal === null || this.key === null)\n // no condition set. unconditional error, so always add\n return false;\n else if (this.mapVal === undefined)\n // map doest exist so there's no way the key is in it. \n return false;\n else {\n // console.log(\"checking map condition\", this.mapVal, this.key, this.mapVal.has(this.key));\n if (this.mapVal.has(this.key))\n return true;\n else\n return false;\n }\n }\n isMapCondition() {\n return this.condition == conditionType.mapHas;\n }\n}\nexports.DBCError = DBCError;\n","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EnvironmentVariable = void 0;\nclass EnvironmentVariable {\n constructor() {\n this.name = \"\";\n this.type = 2;\n this.min = -1;\n this.max = 0;\n this.unit = \"\";\n this.initialVal = 0;\n this.id = 0;\n this.transmitters = [];\n this.valueDescriptions = new Map();\n this.dataSize = 0; // used when ENVVAR_DATA is present\n this.comment = \"\";\n this.attributes = new Map();\n this.clsType = \"environmentVariable\";\n }\n}\nexports.EnvironmentVariable = EnvironmentVariable;\n","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Message = void 0;\nclass Message {\n constructor(endLineNum, Id, Name, Size, Transmitter, Signals) {\n this.id = Id;\n this.name = Name;\n this.size = Size;\n this.transmitter = Transmitter;\n this.signals = Signals;\n this.comment = \"\";\n this.transmitters = [];\n this.signalGroups = new Map();\n this.attributes = new Map();\n this.endNum = endLineNum;\n this.clsType = \"message\";\n }\n get lineNum() {\n return this.endNum - this.signals.size;\n }\n represent() {\n var hex = this.id.toString(16).padStart(3, \"000\").toUpperCase();\n var dec = this.id.toString(10).padStart(4, \"0000\");\n return `0x${hex} (${dec}) ${this.name}`;\n }\n}\nexports.Message = Message;\n","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignalGroup = exports.SignalType = exports.Signal = void 0;\nclass Signal {\n constructor(lineNo, Name, Start, Size, Order, Type, Factor, Offset, Min, Max, Unit, Receivers) {\n this.name = Name;\n this.startBit = Start;\n this.bitSize = Size;\n this.byteOrder = Order;\n this.valueType = Type;\n this.factor = Factor;\n this.offset = Offset;\n this.minimum = Min;\n this.maximum = Max;\n this.unit = Unit;\n this.receivers = Receivers;\n this.valTable = null;\n this.comment = \"\";\n this.attributes = new Map();\n this.lineNum = lineNo;\n this.clsType = \"signal\";\n }\n}\nexports.Signal = Signal;\nclass SignalType {\n constructor(name, size, byteOrder, valueType, factor, offset, min, max, unit, defaultVal, valTable) {\n this.name = name;\n this.size = size;\n this.byteOrder = byteOrder;\n this.valueType = valueType;\n this.factor = factor;\n this.offset = offset;\n this.minimum = min;\n this.maximum = max;\n this.unit = unit;\n this.default = defaultVal;\n this.valTable = valTable;\n this.clsType = \"signalType\";\n }\n}\nexports.SignalType = SignalType;\nclass SignalGroup {\n constructor() {\n this.messageId = 0;\n this.name = \"\";\n this.repetitions = 0;\n this.signals = [];\n this.clsType = \"signalGroup\";\n }\n}\nexports.SignalGroup = SignalGroup;\n","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValueType = exports.ValTable = void 0;\nclass ValTable {\n constructor(name) {\n this.name = name;\n this.descriptions = new Map();\n this.clsType = \"valTable\";\n }\n}\nexports.ValTable = ValTable;\nclass ValueType {\n constructor(type) {\n this.type = type;\n this.min = 0;\n this.max = 0;\n this.enumVals = [];\n }\n}\nexports.ValueType = ValueType;\n","\"use strict\";\n/**\n * Copyright (C) 2022 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeDb = exports.encodeDb = exports.extensionCodec = void 0;\nconst msgpack_1 = require(\"@msgpack/msgpack\");\nconst db_1 = require(\"./dbc/db\");\nconst message_1 = require(\"./dbc/message\");\nconst dbcNode_1 = require(\"./dbc/dbcNode\");\nconst valtable_1 = require(\"./dbc/valtable\");\nconst attributes_1 = require(\"./dbc/attributes\");\nconst ev_1 = require(\"./dbc/ev\");\nconst signal_1 = require(\"./dbc/signal\");\nconst b64 = require(\"js-base64\");\n// DBCError elided\nexports.extensionCodec = new msgpack_1.ExtensionCodec();\n// Attribute\nexports.extensionCodec.register({\n type: 2,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"attribute\") {\n let object = input;\n var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });\n var type = msgpack_1.encode(object.type, { extensionCodec: exports.extensionCodec });\n var value = msgpack_1.encode(object.value, { extensionCodec: exports.extensionCodec });\n return msgpack_1.encode([name, type, value], { extensionCodec: exports.extensionCodec });\n }\n else {\n return null;\n }\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n return new attributes_1.Attribute(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }));\n }\n});\n// AttributeDef\nexports.extensionCodec.register({\n type: 3,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"attributeDef\") {\n let object = input;\n var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });\n var type = msgpack_1.encode(object.objType, { extensionCodec: exports.extensionCodec });\n var value = msgpack_1.encode(object.valType, { extensionCodec: exports.extensionCodec });\n return msgpack_1.encode([name, type, value], { extensionCodec: exports.extensionCodec });\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n return new attributes_1.AttributeDef(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }));\n }\n});\n// Node\nexports.extensionCodec.register({\n type: 4,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"node\") {\n let object = input;\n var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });\n var comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });\n var attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });\n return msgpack_1.encode([name, comment, attributes], { extensionCodec: exports.extensionCodec });\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new dbcNode_1.Node(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }));\n ret.comment = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });\n ret.attributes = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\n// Environment Variable\nexports.extensionCodec.register({\n type: 5,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"environmentVariable\") {\n let object = input;\n var name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });\n var type = msgpack_1.encode(object.type, { extensionCodec: exports.extensionCodec });\n var min = msgpack_1.encode(object.min, { extensionCodec: exports.extensionCodec });\n var max = msgpack_1.encode(object.max, { extensionCodec: exports.extensionCodec });\n var unit = msgpack_1.encode(object.unit, { extensionCodec: exports.extensionCodec });\n var initialVal = msgpack_1.encode(object.initialVal, { extensionCodec: exports.extensionCodec });\n var id = msgpack_1.encode(object.id, { extensionCodec: exports.extensionCodec });\n var transmitters = msgpack_1.encode(object.transmitters, { extensionCodec: exports.extensionCodec });\n var valueDescriptions = msgpack_1.encode(object.valueDescriptions, { extensionCodec: exports.extensionCodec });\n var dataSize = msgpack_1.encode(object.dataSize, { extensionCodec: exports.extensionCodec });\n var comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });\n var attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });\n return (msgpack_1.encode([name, type, min, max, unit, initialVal, id, transmitters, valueDescriptions, dataSize, comment, attributes]));\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new ev_1.EnvironmentVariable();\n ret.name = msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec });\n ret.type = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });\n ret.min = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });\n ret.max = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });\n ret.unit = msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec });\n ret.initialVal = msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec });\n ret.id = msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec });\n ret.transmitters = msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec });\n ret.dataSize = msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec });\n ret.comment = msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec });\n ret.attributes = msgpack_1.decode(array[10], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\n// message\nexports.extensionCodec.register({\n type: 6,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"message\") {\n let object = input;\n const id = msgpack_1.encode(object.id, { extensionCodec: exports.extensionCodec });\n const name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });\n const size = msgpack_1.encode(object.size, { extensionCodec: exports.extensionCodec });\n const transmitter = msgpack_1.encode(object.transmitter, { extensionCodec: exports.extensionCodec });\n const transmitters = msgpack_1.encode(object.transmitters, { extensionCodec: exports.extensionCodec });\n const signals = msgpack_1.encode(object.signals, { extensionCodec: exports.extensionCodec });\n const comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });\n const signalGroups = msgpack_1.encode(object.signalGroups, { extensionCodec: exports.extensionCodec });\n const attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });\n return msgpack_1.encode([id, name, size, transmitter, transmitters, signals, comment, signalGroups, attributes], { extensionCodec: exports.extensionCodec });\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new message_1.Message(0, // endLineNum\n msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), // id\n msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), // name\n msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }), // size\n msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec }), // transmitter\n msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec }) // signals\n );\n ret.transmitters = msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec });\n ret.comment = msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec });\n ret.signalGroups = msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec });\n ret.attributes = msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\n// signal\nexports.extensionCodec.register({\n type: 7,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"signal\") {\n let object = input;\n const name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });\n const startBit = msgpack_1.encode(object.startBit, { extensionCodec: exports.extensionCodec });\n const bitSize = msgpack_1.encode(object.bitSize, { extensionCodec: exports.extensionCodec });\n const byteOrder = msgpack_1.encode(object.byteOrder, { extensionCodec: exports.extensionCodec });\n const valueType = msgpack_1.encode(object.valueType, { extensionCodec: exports.extensionCodec });\n const factor = msgpack_1.encode(object.factor, { extensionCodec: exports.extensionCodec });\n const offset = msgpack_1.encode(object.offset, { extensionCodec: exports.extensionCodec });\n const minimum = msgpack_1.encode(object.minimum, { extensionCodec: exports.extensionCodec });\n const maximum = msgpack_1.encode(object.maximum, { extensionCodec: exports.extensionCodec });\n const unit = msgpack_1.encode(object.unit, { extensionCodec: exports.extensionCodec });\n const receivers = msgpack_1.encode(object.receivers, { extensionCodec: exports.extensionCodec });\n const valTable = msgpack_1.encode(object.valTable, { extensionCodec: exports.extensionCodec });\n const comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });\n const attributes = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });\n const lineNum = msgpack_1.encode(object.lineNum, { extensionCodec: exports.extensionCodec });\n return msgpack_1.encode([\n name,\n startBit,\n bitSize,\n byteOrder,\n valueType,\n factor,\n offset,\n minimum,\n maximum,\n unit,\n receivers,\n valTable,\n comment,\n attributes,\n lineNum\n ]);\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new signal_1.Signal(msgpack_1.decode(array[14], { extensionCodec: exports.extensionCodec }), // lineNum\n msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), // name\n msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), // start\n msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }), // size\n msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec }), // byte order\n msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec }), // valtype\n msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec }), // factor\n msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec }), // offset\n msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec }), // min\n msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec }), // max\n msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec }), // unit\n msgpack_1.decode(array[10], { extensionCodec: exports.extensionCodec }) // receivers\n );\n ret.valTable = msgpack_1.decode(array[11], { extensionCodec: exports.extensionCodec });\n ret.comment = msgpack_1.decode(array[12], { extensionCodec: exports.extensionCodec });\n ret.attributes = msgpack_1.decode(array[13], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\n// signalType\nexports.extensionCodec.register({\n type: 8,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"signalType\") {\n let object = input;\n const name = msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec });\n const size = msgpack_1.encode(object.size, { extensionCodec: exports.extensionCodec });\n const byteOrder = msgpack_1.encode(object.byteOrder, { extensionCodec: exports.extensionCodec });\n const valueType = msgpack_1.encode(object.valueType, { extensionCodec: exports.extensionCodec });\n const factor = msgpack_1.encode(object.factor, { extensionCodec: exports.extensionCodec });\n const offset = msgpack_1.encode(object.offset, { extensionCodec: exports.extensionCodec });\n const minimum = msgpack_1.encode(object.minimum, { extensionCodec: exports.extensionCodec });\n const maximum = msgpack_1.encode(object.maximum, { extensionCodec: exports.extensionCodec });\n const unit = msgpack_1.encode(object.unit, { extensionCodec: exports.extensionCodec });\n const defaultVal = msgpack_1.encode(object.default, { extensionCodec: exports.extensionCodec });\n const valTable = msgpack_1.encode(object.valTable, { extensionCodec: exports.extensionCodec });\n return msgpack_1.encode([\n name,\n size,\n byteOrder,\n valueType,\n factor,\n offset,\n minimum,\n maximum,\n unit,\n defaultVal,\n valTable\n ]);\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new signal_1.SignalType(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }), // name\n msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec }), // size\n msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec }), // byte order\n msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec }), // valtype\n msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec }), // factor\n msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec }), // offset\n msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec }), // min\n msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec }), // max\n msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec }), // unit\n msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec }), // defaultVal\n msgpack_1.decode(array[10], { extensionCodec: exports.extensionCodec }) // valTable\n );\n return ret;\n }\n});\n// SignalGroup\nexports.extensionCodec.register({\n type: 9,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"signalGroup\") {\n let object = input;\n return msgpack_1.encode([\n msgpack_1.encode(object.messageId, { extensionCodec: exports.extensionCodec }),\n msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec }),\n msgpack_1.encode(object.repetitions, { extensionCodec: exports.extensionCodec }),\n msgpack_1.encode(object.signals, { extensionCodec: exports.extensionCodec })\n ]);\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new signal_1.SignalGroup();\n ret.messageId = msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec });\n ret.name = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });\n ret.repetitions = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });\n ret.signals = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\n// ValTable\nexports.extensionCodec.register({\n type: 10,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"valTable\") {\n let object = input;\n return msgpack_1.encode([\n msgpack_1.encode(object.name, { extensionCodec: exports.extensionCodec }),\n msgpack_1.encode(object.descriptions, { extensionCodec: exports.extensionCodec })\n ]);\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new valtable_1.ValTable(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }));\n ret.descriptions = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\n// ValueType\nexports.extensionCodec.register({\n type: 11,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.clsType) == \"valueType\") {\n let object = input;\n return msgpack_1.encode([\n msgpack_1.encode(object.type, { extensionCodec: exports.extensionCodec }),\n msgpack_1.encode(object.min, { extensionCodec: exports.extensionCodec }),\n msgpack_1.encode(object.max, { extensionCodec: exports.extensionCodec }),\n msgpack_1.encode(object.enumVals, { extensionCodec: exports.extensionCodec })\n ]);\n }\n else\n return null;\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new valtable_1.ValueType(msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec }));\n ret.min = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });\n ret.max = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });\n ret.enumVals = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\n// Database\nexports.extensionCodec.register({\n type: 1,\n encode: (input) => {\n if ((input === null || input === void 0 ? void 0 : input.type) == \"database\") {\n let object = input;\n var msgs = msgpack_1.encode(object.messages, { extensionCodec: exports.extensionCodec });\n var valTables = msgpack_1.encode(object.valTables, { extensionCodec: exports.extensionCodec });\n var nodes = msgpack_1.encode(object.nodes, { extensionCodec: exports.extensionCodec });\n var environmentVariables = msgpack_1.encode(object.environmentVariables, { extensionCodec: exports.extensionCodec });\n var signalTypes = msgpack_1.encode(object.signalTypes, { extensionCodec: exports.extensionCodec });\n var attrDefs = msgpack_1.encode(object.attrDefs, { extensionCodec: exports.extensionCodec });\n var attrs = msgpack_1.encode(object.attributes, { extensionCodec: exports.extensionCodec });\n var version = msgpack_1.encode(object.version, { extensionCodec: exports.extensionCodec });\n var comment = msgpack_1.encode(object.comment, { extensionCodec: exports.extensionCodec });\n var filename = msgpack_1.encode(object.fileName, { extensionCodec: exports.extensionCodec });\n return msgpack_1.encode([version, filename, comment, msgs, valTables, nodes, environmentVariables, signalTypes, attrDefs, attrs], { extensionCodec: exports.extensionCodec });\n }\n else {\n return null;\n }\n },\n decode: (data) => {\n const array = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n var ret = new db_1.Database();\n ret.version = msgpack_1.decode(array[0], { extensionCodec: exports.extensionCodec });\n ret.fileName = msgpack_1.decode(array[1], { extensionCodec: exports.extensionCodec });\n ret.comment = msgpack_1.decode(array[2], { extensionCodec: exports.extensionCodec });\n ret.messages = msgpack_1.decode(array[3], { extensionCodec: exports.extensionCodec });\n ret.valTables = msgpack_1.decode(array[4], { extensionCodec: exports.extensionCodec });\n ret.nodes = msgpack_1.decode(array[5], { extensionCodec: exports.extensionCodec });\n ret.environmentVariables = msgpack_1.decode(array[6], { extensionCodec: exports.extensionCodec });\n ret.signalTypes = msgpack_1.decode(array[7], { extensionCodec: exports.extensionCodec });\n ret.attrDefs = msgpack_1.decode(array[8], { extensionCodec: exports.extensionCodec });\n ret.attributes = msgpack_1.decode(array[9], { extensionCodec: exports.extensionCodec });\n return ret;\n }\n});\nexports.extensionCodec.register({\n type: 0,\n encode: (object) => {\n // 1. \n // 7. encode the ret array\n // 8. return ret\n if (object instanceof Map) {\n let ret = [];\n object.forEach((value, key) => {\n let tmp = [];\n tmp.push(msgpack_1.encode(key, { extensionCodec: exports.extensionCodec }));\n tmp.push(msgpack_1.encode(value, { extensionCodec: exports.extensionCodec }));\n ret.push(msgpack_1.encode(tmp, { extensionCodec: exports.extensionCodec }));\n });\n return msgpack_1.encode(ret, { extensionCodec: exports.extensionCodec });\n }\n else {\n return null;\n }\n },\n decode: (data) => {\n let decdBigArray = msgpack_1.decode(data, { extensionCodec: exports.extensionCodec });\n let ret = new Map();\n decdBigArray.forEach((value) => {\n let tmp = msgpack_1.decode(value, { extensionCodec: exports.extensionCodec });\n ret.set(msgpack_1.decode(tmp[0], { extensionCodec: exports.extensionCodec }), msgpack_1.decode(tmp[1], { extensionCodec: exports.extensionCodec }));\n });\n return ret;\n },\n});\nfunction encodeDb(db) {\n db.parseErrors = [];\n var encoded = msgpack_1.encode(db, { extensionCodec: exports.extensionCodec });\n if (encoded.byteLength * 8 / 6 > 0x1fffffe7) {\n // cannot create string longer than 512Mb\n console.error(\"String too large!\");\n return \"OVERLOADED STRING\";\n }\n var encoded64 = b64.Base64.fromUint8Array(encoded);\n return encoded64;\n}\nexports.encodeDb = encodeDb;\nfunction decodeDb(data) {\n if (data == \"OVERLOADED STRING\") {\n let ret = new db_1.Database();\n ret.version = \"Too large for parsing.\";\n return ret;\n }\n var u8array = b64.Base64.toUint8Array(data);\n var decoded = msgpack_1.decode(u8array, { extensionCodec: exports.extensionCodec });\n return decoded;\n}\nexports.decodeDb = decodeDb;\n","\n\n//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;(function(global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function() {\n // existing version for noConflict()\n const _Base64 = global.Base64;\n const gBase64 = factory();\n gBase64.noConflict = () => {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this\n), function() {\n 'use strict';\n\n/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.6.1';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasatob = typeof atob === 'function';\nconst _hasbtoa = typeof btoa === 'function';\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = [...b64ch];\nconst b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : (it, fn = (x) => x) => new Uint8Array(Array.prototype.slice.call(it, 0).map(fn));\nconst _mkUriSafe = (src) => src\n .replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_')\n .replace(/=+$/m, '');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n // console.log('polyfilled');\n let u32, c0, c1, c2, asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = _hasbtoa ? (bin) => btoa(bin)\n : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n ? (u8a) => Buffer.from(u8a).toString('base64')\n : (u8a) => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n ? (s) => Buffer.from(s, 'utf8').toString('base64')\n : _TE\n ? (s) => _fromUint8Array(_TE.encode(s))\n : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24, bin = '', r1, r2;\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = _hasatob ? (asc) => atob(_tidyB64(asc))\n : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n : (a) => _U8Afrom(_atob(a), c => c.charCodeAt(0));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n ? (a) => Buffer.from(a, 'base64').toString('utf8')\n : _TD\n ? (a) => _TD.decode(_toUint8Array(a))\n : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = (src) => {\n if (typeof src !== 'string')\n return false;\n const s = src.replace(/\\s+/g, '').replace(/=+$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins,\n};\n\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(k => gBase64.Base64[k] = gBase64[k]);\n return gBase64;\n}));\n\n\n","// Integer Utility\nexport var UINT32_MAX = 4294967295;\n// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\nexport function setUint64(view, offset, value) {\n var high = value / 4294967296;\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function setInt64(view, offset, value) {\n var high = Math.floor(value / 4294967296);\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function getInt64(view, offset) {\n var high = view.getInt32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexport function getUint64(view, offset) {\n var high = view.getUint32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\n//# sourceMappingURL=int.mjs.map","import { UINT32_MAX } from \"./int.mjs\";\nvar TEXT_ENCODING_AVAILABLE = (typeof process === \"undefined\" || process.env[\"TEXT_ENCODING\"] !== \"never\") &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nexport function utf8Count(str) {\n var strLength = str.length;\n var byteLength = 0;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexport function utf8EncodeJs(str, output, outputOffset) {\n var strLength = str.length;\n var offset = outputOffset;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nvar sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_ENCODING\"] !== \"force\"\n ? 200\n : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexport var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nvar CHUNK_SIZE = 4096;\nexport function utf8DecodeJs(bytes, inputOffset, byteLength) {\n var offset = inputOffset;\n var end = offset + byteLength;\n var units = [];\n var result = \"\";\n while (offset < end) {\n var byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n var byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n var byte4 = bytes[offset++] & 0x3f;\n var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode.apply(String, units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode.apply(String, units);\n }\n return result;\n}\nvar sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_DECODER\"] !== \"force\"\n ? 200\n : 0;\nexport function utf8DecodeTD(bytes, inputOffset, byteLength) {\n var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n return sharedTextDecoder.decode(stringBytes);\n}\n//# sourceMappingURL=utf8.mjs.map","/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nvar ExtData = /** @class */ (function () {\n function ExtData(type, data) {\n this.type = type;\n this.data = data;\n }\n return ExtData;\n}());\nexport { ExtData };\n//# sourceMappingURL=ExtData.mjs.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar DecodeError = /** @class */ (function (_super) {\n __extends(DecodeError, _super);\n function DecodeError(message) {\n var _this = _super.call(this, message) || this;\n // fix the prototype chain in a cross-platform way\n var proto = Object.create(DecodeError.prototype);\n Object.setPrototypeOf(_this, proto);\n Object.defineProperty(_this, \"name\", {\n configurable: true,\n enumerable: false,\n value: DecodeError.name,\n });\n return _this;\n }\n return DecodeError;\n}(Error));\nexport { DecodeError };\n//# sourceMappingURL=DecodeError.mjs.map","// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nimport { DecodeError } from \"./DecodeError.mjs\";\nimport { getInt64, setInt64 } from \"./utils/int.mjs\";\nexport var EXT_TIMESTAMP = -1;\nvar TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nvar TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\nexport function encodeTimeSpecToTimestamp(_a) {\n var sec = _a.sec, nsec = _a.nsec;\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n var rv = new Uint8Array(4);\n var view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n }\n else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n var secHigh = sec / 0x100000000;\n var secLow = sec & 0xffffffff;\n var rv = new Uint8Array(8);\n var view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n }\n else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var rv = new Uint8Array(12);\n var view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n setInt64(view, 4, sec);\n return rv;\n }\n}\nexport function encodeDateToTimeSpec(date) {\n var msec = date.getTime();\n var sec = Math.floor(msec / 1e3);\n var nsec = (msec - sec * 1e3) * 1e6;\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n var nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\nexport function encodeTimestampExtension(object) {\n if (object instanceof Date) {\n var timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n }\n else {\n return null;\n }\n}\nexport function decodeTimestampToTimeSpec(data) {\n var view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n var sec = view.getUint32(0);\n var nsec = 0;\n return { sec: sec, nsec: nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n var nsec30AndSecHigh2 = view.getUint32(0);\n var secLow32 = view.getUint32(4);\n var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n var nsec = nsec30AndSecHigh2 >>> 2;\n return { sec: sec, nsec: nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var sec = getInt64(view, 4);\n var nsec = view.getUint32(0);\n return { sec: sec, nsec: nsec };\n }\n default:\n throw new DecodeError(\"Unrecognized data size for timestamp (expected 4, 8, or 12): \" + data.length);\n }\n}\nexport function decodeTimestampExtension(data) {\n var timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\nexport var timestampExtension = {\n type: EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n//# sourceMappingURL=timestamp.mjs.map","// ExtensionCodec to handle MessagePack extensions\nimport { ExtData } from \"./ExtData.mjs\";\nimport { timestampExtension } from \"./timestamp.mjs\";\nvar ExtensionCodec = /** @class */ (function () {\n function ExtensionCodec() {\n // built-in extensions\n this.builtInEncoders = [];\n this.builtInDecoders = [];\n // custom extensions\n this.encoders = [];\n this.decoders = [];\n this.register(timestampExtension);\n }\n ExtensionCodec.prototype.register = function (_a) {\n var type = _a.type, encode = _a.encode, decode = _a.decode;\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n }\n else {\n // built-in extensions\n var index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n };\n ExtensionCodec.prototype.tryToEncode = function (object, context) {\n // built-in extensions\n for (var i = 0; i < this.builtInEncoders.length; i++) {\n var encodeExt = this.builtInEncoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = -1 - i;\n return new ExtData(type, data);\n }\n }\n }\n // custom extensions\n for (var i = 0; i < this.encoders.length; i++) {\n var encodeExt = this.encoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = i;\n return new ExtData(type, data);\n }\n }\n }\n if (object instanceof ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n };\n ExtensionCodec.prototype.decode = function (data, type, context) {\n var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decodeExt) {\n return decodeExt(data, type, context);\n }\n else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData(type, data);\n }\n };\n ExtensionCodec.defaultCodec = new ExtensionCodec();\n return ExtensionCodec;\n}());\nexport { ExtensionCodec };\n//# sourceMappingURL=ExtensionCodec.mjs.map","export function ensureUint8Array(buffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n }\n else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n }\n else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\nexport function createDataView(buffer) {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n var bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\n//# sourceMappingURL=typedArrays.mjs.map","import { utf8EncodeJs, utf8Count, TEXT_ENCODER_THRESHOLD, utf8EncodeTE } from \"./utils/utf8.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { setInt64, setUint64 } from \"./utils/int.mjs\";\nimport { ensureUint8Array } from \"./utils/typedArrays.mjs\";\nexport var DEFAULT_MAX_DEPTH = 100;\nexport var DEFAULT_INITIAL_BUFFER_SIZE = 2048;\nvar Encoder = /** @class */ (function () {\n function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; }\n if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; }\n if (sortKeys === void 0) { sortKeys = false; }\n if (forceFloat32 === void 0) { forceFloat32 = false; }\n if (ignoreUndefined === void 0) { ignoreUndefined = false; }\n if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxDepth = maxDepth;\n this.initialBufferSize = initialBufferSize;\n this.sortKeys = sortKeys;\n this.forceFloat32 = forceFloat32;\n this.ignoreUndefined = ignoreUndefined;\n this.forceIntegerToFloat = forceIntegerToFloat;\n this.pos = 0;\n this.view = new DataView(new ArrayBuffer(this.initialBufferSize));\n this.bytes = new Uint8Array(this.view.buffer);\n }\n Encoder.prototype.getUint8Array = function () {\n return this.bytes.subarray(0, this.pos);\n };\n Encoder.prototype.reinitializeState = function () {\n this.pos = 0;\n };\n Encoder.prototype.encode = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.getUint8Array();\n };\n Encoder.prototype.doEncode = function (object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(\"Too deep objects in depth \" + depth);\n }\n if (object == null) {\n this.encodeNil();\n }\n else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n }\n else if (typeof object === \"number\") {\n this.encodeNumber(object);\n }\n else if (typeof object === \"string\") {\n this.encodeString(object);\n }\n else {\n this.encodeObject(object, depth);\n }\n };\n Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) {\n var requiredSize = this.pos + sizeToWrite;\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n };\n Encoder.prototype.resizeBuffer = function (newSize) {\n var newBuffer = new ArrayBuffer(newSize);\n var newBytes = new Uint8Array(newBuffer);\n var newView = new DataView(newBuffer);\n newBytes.set(this.bytes);\n this.view = newView;\n this.bytes = newBytes;\n };\n Encoder.prototype.encodeNil = function () {\n this.writeU8(0xc0);\n };\n Encoder.prototype.encodeBoolean = function (object) {\n if (object === false) {\n this.writeU8(0xc2);\n }\n else {\n this.writeU8(0xc3);\n }\n };\n Encoder.prototype.encodeNumber = function (object) {\n if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n }\n else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n }\n else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n }\n else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n }\n else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n }\n else {\n if (object >= -0x20) {\n // negative fixint\n this.writeU8(0xe0 | (object + 0x20));\n }\n else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n }\n else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n }\n else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n }\n else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n }\n else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n }\n else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n };\n Encoder.prototype.writeStringHeader = function (byteLength) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n }\n else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n }\n else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n }\n else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n }\n else {\n throw new Error(\"Too long string: \" + byteLength + \" bytes in UTF-8\");\n }\n };\n Encoder.prototype.encodeString = function (object) {\n var maxHeaderSize = 1 + 4;\n var strLength = object.length;\n if (strLength > TEXT_ENCODER_THRESHOLD) {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n else {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n };\n Encoder.prototype.encodeObject = function (object, depth) {\n // try to encode objects with custom codec first of non-primitives\n var ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n }\n else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n }\n else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n }\n else if (typeof object === \"object\") {\n this.encodeMap(object, depth);\n }\n else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(\"Unrecognized object: \" + Object.prototype.toString.apply(object));\n }\n };\n Encoder.prototype.encodeBinary = function (object) {\n var size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large binary: \" + size);\n }\n var bytes = ensureUint8Array(object);\n this.writeU8a(bytes);\n };\n Encoder.prototype.encodeArray = function (object, depth) {\n var size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n }\n else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large array: \" + size);\n }\n for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {\n var item = object_1[_i];\n this.doEncode(item, depth + 1);\n }\n };\n Encoder.prototype.countWithoutUndefined = function (object, keys) {\n var count = 0;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (object[key] !== undefined) {\n count++;\n }\n }\n return count;\n };\n Encoder.prototype.encodeMap = function (object, depth) {\n var keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n }\n else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large map object: \" + size);\n }\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var value = object[key];\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.doEncode(value, depth + 1);\n }\n }\n };\n Encoder.prototype.encodeExtension = function (ext) {\n var size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n }\n else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n }\n else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n }\n else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n }\n else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n }\n else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large extension object: \" + size);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n };\n Encoder.prototype.writeU8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setUint8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU8a = function (values) {\n var size = values.length;\n this.ensureBufferSizeToWrite(size);\n this.bytes.set(values, this.pos);\n this.pos += size;\n };\n Encoder.prototype.writeI8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setInt8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeI16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeU32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeI32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeU64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setUint64(this.view, this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeI64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setInt64(this.view, this.pos, value);\n this.pos += 8;\n };\n return Encoder;\n}());\nexport { Encoder };\n//# sourceMappingURL=Encoder.mjs.map","import { Encoder } from \"./Encoder.mjs\";\nvar defaultEncodeOptions = {};\n/**\n * It encodes `value` in the MessagePack format and\n * returns a byte buffer.\n *\n * The returned buffer is a slice of a larger `ArrayBuffer`, so you have to use its `#byteOffset` and `#byteLength` in order to convert it to another typed arrays including NodeJS `Buffer`.\n */\nexport function encode(value, options) {\n if (options === void 0) { options = defaultEncodeOptions; }\n var encoder = new Encoder(options.extensionCodec, options.context, options.maxDepth, options.initialBufferSize, options.sortKeys, options.forceFloat32, options.ignoreUndefined, options.forceIntegerToFloat);\n return encoder.encode(value);\n}\n//# sourceMappingURL=encode.mjs.map","export function prettyByte(byte) {\n return (byte < 0 ? \"-\" : \"\") + \"0x\" + Math.abs(byte).toString(16).padStart(2, \"0\");\n}\n//# sourceMappingURL=prettyByte.mjs.map","import { utf8DecodeJs } from \"./utils/utf8.mjs\";\nvar DEFAULT_MAX_KEY_LENGTH = 16;\nvar DEFAULT_MAX_LENGTH_PER_KEY = 16;\nvar CachedKeyDecoder = /** @class */ (function () {\n function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) {\n if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; }\n if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; }\n this.maxKeyLength = maxKeyLength;\n this.maxLengthPerKey = maxLengthPerKey;\n this.hit = 0;\n this.miss = 0;\n // avoid `new Array(N)`, which makes a sparse array,\n // because a sparse array is typically slower than a non-sparse array.\n this.caches = [];\n for (var i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n CachedKeyDecoder.prototype.canBeCached = function (byteLength) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n };\n CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) {\n var records = this.caches[byteLength - 1];\n FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {\n var record = records_1[_i];\n var recordBytes = record.bytes;\n for (var j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.str;\n }\n return null;\n };\n CachedKeyDecoder.prototype.store = function (bytes, value) {\n var records = this.caches[bytes.length - 1];\n var record = { bytes: bytes, str: value };\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to an arbitrary position.\n records[(Math.random() * records.length) | 0] = record;\n }\n else {\n records.push(record);\n }\n };\n CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) {\n var cachedValue = this.find(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n this.hit++;\n return cachedValue;\n }\n this.miss++;\n var str = utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, str);\n return str;\n };\n return CachedKeyDecoder;\n}());\nexport { CachedKeyDecoder };\n//# sourceMappingURL=CachedKeyDecoder.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { prettyByte } from \"./utils/prettyByte.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { getInt64, getUint64, UINT32_MAX } from \"./utils/int.mjs\";\nimport { utf8DecodeJs, TEXT_DECODER_THRESHOLD, utf8DecodeTD } from \"./utils/utf8.mjs\";\nimport { createDataView, ensureUint8Array } from \"./utils/typedArrays.mjs\";\nimport { CachedKeyDecoder } from \"./CachedKeyDecoder.mjs\";\nimport { DecodeError } from \"./DecodeError.mjs\";\nvar isValidMapKeyType = function (key) {\n var keyType = typeof key;\n return keyType === \"string\" || keyType === \"number\";\n};\nvar HEAD_BYTE_REQUIRED = -1;\nvar EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nvar EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexport var DataViewIndexOutOfBoundsError = (function () {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n }\n catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\nvar MORE_DATA = new DataViewIndexOutOfBoundsError(\"Insufficient data\");\nvar sharedCachedKeyDecoder = new CachedKeyDecoder();\nvar Decoder = /** @class */ (function () {\n function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; }\n if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; }\n if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; }\n if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; }\n if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; }\n if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxStrLength = maxStrLength;\n this.maxBinLength = maxBinLength;\n this.maxArrayLength = maxArrayLength;\n this.maxMapLength = maxMapLength;\n this.maxExtLength = maxExtLength;\n this.keyDecoder = keyDecoder;\n this.totalPos = 0;\n this.pos = 0;\n this.view = EMPTY_VIEW;\n this.bytes = EMPTY_BYTES;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack = [];\n }\n Decoder.prototype.reinitializeState = function () {\n this.totalPos = 0;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack.length = 0;\n // view, bytes, and pos will be re-initialized in setBuffer()\n };\n Decoder.prototype.setBuffer = function (buffer) {\n this.bytes = ensureUint8Array(buffer);\n this.view = createDataView(this.bytes);\n this.pos = 0;\n };\n Decoder.prototype.appendBuffer = function (buffer) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) {\n this.setBuffer(buffer);\n }\n else {\n var remainingData = this.bytes.subarray(this.pos);\n var newData = ensureUint8Array(buffer);\n // concat remainingData + newData\n var newBuffer = new Uint8Array(remainingData.length + newData.length);\n newBuffer.set(remainingData);\n newBuffer.set(newData, remainingData.length);\n this.setBuffer(newBuffer);\n }\n };\n Decoder.prototype.hasRemaining = function (size) {\n return this.view.byteLength - this.pos >= size;\n };\n Decoder.prototype.createExtraByteError = function (posToShow) {\n var _a = this, view = _a.view, pos = _a.pos;\n return new RangeError(\"Extra \" + (view.byteLength - pos) + \" of \" + view.byteLength + \" byte(s) found at buffer[\" + posToShow + \"]\");\n };\n /**\n * @throws {DecodeError}\n * @throws {RangeError}\n */\n Decoder.prototype.decode = function (buffer) {\n this.reinitializeState();\n this.setBuffer(buffer);\n var object = this.doDecodeSync();\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.pos);\n }\n return object;\n };\n Decoder.prototype.decodeMulti = function (buffer) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reinitializeState();\n this.setBuffer(buffer);\n _a.label = 1;\n case 1:\n if (!this.hasRemaining(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.doDecodeSync()];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n Decoder.prototype.decodeAsync = function (stream) {\n var stream_1, stream_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n decoded = false;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 6, 7, 12]);\n stream_1 = __asyncValues(stream);\n _c.label = 2;\n case 2: return [4 /*yield*/, stream_1.next()];\n case 3:\n if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5];\n buffer = stream_1_1.value;\n if (decoded) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n try {\n object = this.doDecodeSync();\n decoded = true;\n }\n catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n _c.label = 4;\n case 4: return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 12];\n case 6:\n e_1_1 = _c.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 12];\n case 7:\n _c.trys.push([7, , 10, 11]);\n if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9];\n return [4 /*yield*/, _a.call(stream_1)];\n case 8:\n _c.sent();\n _c.label = 9;\n case 9: return [3 /*break*/, 11];\n case 10:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 11: return [7 /*endfinally*/];\n case 12:\n if (decoded) {\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.totalPos);\n }\n return [2 /*return*/, object];\n }\n _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos;\n throw new RangeError(\"Insufficient data in parsing \" + prettyByte(headByte) + \" at \" + totalPos + \" (\" + pos + \" in the current buffer)\");\n }\n });\n });\n };\n Decoder.prototype.decodeArrayStream = function (stream) {\n return this.decodeMultiAsync(stream, true);\n };\n Decoder.prototype.decodeStream = function (stream) {\n return this.decodeMultiAsync(stream, false);\n };\n Decoder.prototype.decodeMultiAsync = function (stream, isArray) {\n return __asyncGenerator(this, arguments, function decodeMultiAsync_1() {\n var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n isArrayHeaderRequired = isArray;\n arrayItemsLeft = -1;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 13, 14, 19]);\n stream_2 = __asyncValues(stream);\n _b.label = 2;\n case 2: return [4 /*yield*/, __await(stream_2.next())];\n case 3:\n if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12];\n buffer = stream_2_1.value;\n if (isArray && arrayItemsLeft === 0) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n _b.label = 4;\n case 4:\n _b.trys.push([4, 9, , 10]);\n _b.label = 5;\n case 5:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(this.doDecodeSync())];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n if (--arrayItemsLeft === 0) {\n return [3 /*break*/, 8];\n }\n return [3 /*break*/, 5];\n case 8: return [3 /*break*/, 10];\n case 9:\n e_2 = _b.sent();\n if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) {\n throw e_2; // rethrow\n }\n return [3 /*break*/, 10];\n case 10:\n this.totalPos += this.pos;\n _b.label = 11;\n case 11: return [3 /*break*/, 2];\n case 12: return [3 /*break*/, 19];\n case 13:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 19];\n case 14:\n _b.trys.push([14, , 17, 18]);\n if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16];\n return [4 /*yield*/, __await(_a.call(stream_2))];\n case 15:\n _b.sent();\n _b.label = 16;\n case 16: return [3 /*break*/, 18];\n case 17:\n if (e_3) throw e_3.error;\n return [7 /*endfinally*/];\n case 18: return [7 /*endfinally*/];\n case 19: return [2 /*return*/];\n }\n });\n });\n };\n Decoder.prototype.doDecodeSync = function () {\n DECODE: while (true) {\n var headByte = this.readHeadByte();\n var object = void 0;\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n }\n else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n }\n else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n var size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n var size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n var byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n }\n else if (headByte === 0xc0) {\n // nil\n object = null;\n }\n else if (headByte === 0xc2) {\n // false\n object = false;\n }\n else if (headByte === 0xc3) {\n // true\n object = true;\n }\n else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n }\n else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n }\n else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n }\n else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n }\n else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n }\n else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n }\n else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n }\n else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n }\n else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n }\n else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n }\n else if (headByte === 0xd9) {\n // str 8\n var byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n }\n else if (headByte === 0xda) {\n // str 16\n var byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n }\n else if (headByte === 0xdb) {\n // str 32\n var byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n }\n else if (headByte === 0xdc) {\n // array 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xdd) {\n // array 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xde) {\n // map 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xdf) {\n // map 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xc4) {\n // bin 8\n var size = this.lookU8();\n object = this.decodeBinary(size, 1);\n }\n else if (headByte === 0xc5) {\n // bin 16\n var size = this.lookU16();\n object = this.decodeBinary(size, 2);\n }\n else if (headByte === 0xc6) {\n // bin 32\n var size = this.lookU32();\n object = this.decodeBinary(size, 4);\n }\n else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n }\n else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n }\n else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n }\n else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n }\n else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n }\n else if (headByte === 0xc7) {\n // ext 8\n var size = this.lookU8();\n object = this.decodeExtension(size, 1);\n }\n else if (headByte === 0xc8) {\n // ext 16\n var size = this.lookU16();\n object = this.decodeExtension(size, 2);\n }\n else if (headByte === 0xc9) {\n // ext 32\n var size = this.lookU32();\n object = this.decodeExtension(size, 4);\n }\n else {\n throw new DecodeError(\"Unrecognized type byte: \" + prettyByte(headByte));\n }\n this.complete();\n var stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n var state = stack[stack.length - 1];\n if (state.type === 0 /* ARRAY */) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n }\n else {\n continue DECODE;\n }\n }\n else if (state.type === 1 /* MAP_KEY */) {\n if (!isValidMapKeyType(object)) {\n throw new DecodeError(\"The type of key must be string or number but \" + typeof object);\n }\n if (object === \"__proto__\") {\n throw new DecodeError(\"The key __proto__ is not allowed\");\n }\n state.key = object;\n state.type = 2 /* MAP_VALUE */;\n continue DECODE;\n }\n else {\n // it must be `state.type === State.MAP_VALUE` here\n state.map[state.key] = object;\n state.readCount++;\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n }\n else {\n state.key = null;\n state.type = 1 /* MAP_KEY */;\n continue DECODE;\n }\n }\n }\n return object;\n }\n };\n Decoder.prototype.readHeadByte = function () {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n return this.headByte;\n };\n Decoder.prototype.complete = function () {\n this.headByte = HEAD_BYTE_REQUIRED;\n };\n Decoder.prototype.readArraySize = function () {\n var headByte = this.readHeadByte();\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n }\n else {\n throw new DecodeError(\"Unrecognized array type byte: \" + prettyByte(headByte));\n }\n }\n }\n };\n Decoder.prototype.pushMapState = function (size) {\n if (size > this.maxMapLength) {\n throw new DecodeError(\"Max length exceeded: map length (\" + size + \") > maxMapLengthLength (\" + this.maxMapLength + \")\");\n }\n this.stack.push({\n type: 1 /* MAP_KEY */,\n size: size,\n key: null,\n readCount: 0,\n map: {},\n });\n };\n Decoder.prototype.pushArrayState = function (size) {\n if (size > this.maxArrayLength) {\n throw new DecodeError(\"Max length exceeded: array length (\" + size + \") > maxArrayLength (\" + this.maxArrayLength + \")\");\n }\n this.stack.push({\n type: 0 /* ARRAY */,\n size: size,\n array: new Array(size),\n position: 0,\n });\n };\n Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) {\n var _a;\n if (byteLength > this.maxStrLength) {\n throw new DecodeError(\"Max length exceeded: UTF-8 byte length (\" + byteLength + \") > maxStrLength (\" + this.maxStrLength + \")\");\n }\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n var offset = this.pos + headerOffset;\n var object;\n if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {\n object = this.keyDecoder.decode(this.bytes, offset, byteLength);\n }\n else if (byteLength > TEXT_DECODER_THRESHOLD) {\n object = utf8DecodeTD(this.bytes, offset, byteLength);\n }\n else {\n object = utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n };\n Decoder.prototype.stateIsMapKey = function () {\n if (this.stack.length > 0) {\n var state = this.stack[this.stack.length - 1];\n return state.type === 1 /* MAP_KEY */;\n }\n return false;\n };\n Decoder.prototype.decodeBinary = function (byteLength, headOffset) {\n if (byteLength > this.maxBinLength) {\n throw new DecodeError(\"Max length exceeded: bin length (\" + byteLength + \") > maxBinLength (\" + this.maxBinLength + \")\");\n }\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n var offset = this.pos + headOffset;\n var object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n };\n Decoder.prototype.decodeExtension = function (size, headOffset) {\n if (size > this.maxExtLength) {\n throw new DecodeError(\"Max length exceeded: ext length (\" + size + \") > maxExtLength (\" + this.maxExtLength + \")\");\n }\n var extType = this.view.getInt8(this.pos + headOffset);\n var data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n };\n Decoder.prototype.lookU8 = function () {\n return this.view.getUint8(this.pos);\n };\n Decoder.prototype.lookU16 = function () {\n return this.view.getUint16(this.pos);\n };\n Decoder.prototype.lookU32 = function () {\n return this.view.getUint32(this.pos);\n };\n Decoder.prototype.readU8 = function () {\n var value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readI8 = function () {\n var value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readU16 = function () {\n var value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readI16 = function () {\n var value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readU32 = function () {\n var value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readI32 = function () {\n var value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readU64 = function () {\n var value = getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readI64 = function () {\n var value = getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readF32 = function () {\n var value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readF64 = function () {\n var value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n };\n return Decoder;\n}());\nexport { Decoder };\n//# sourceMappingURL=Decoder.mjs.map","import { Decoder } from \"./Decoder.mjs\";\nexport var defaultDecodeOptions = {};\n/**\n * It decodes a single MessagePack object in a buffer.\n *\n * This is a synchronous decoding function.\n * See other variants for asynchronous decoding: {@link decodeAsync()}, {@link decodeStream()}, or {@link decodeArrayStream()}.\n */\nexport function decode(buffer, options) {\n if (options === void 0) { options = defaultDecodeOptions; }\n var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return decoder.decode(buffer);\n}\n/**\n * It decodes multiple MessagePack objects in a buffer.\n * This is corresponding to {@link decodeMultiStream()}.\n */\nexport function decodeMulti(buffer, options) {\n if (options === void 0) { options = defaultDecodeOptions; }\n var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return decoder.decodeMulti(buffer);\n}\n//# sourceMappingURL=decode.mjs.map","// utility for whatwg streams\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nexport function isAsyncIterable(object) {\n return object[Symbol.asyncIterator] != null;\n}\nfunction assertNonNull(value) {\n if (value == null) {\n throw new Error(\"Assertion Failure: value must not be null nor undefined\");\n }\n}\nexport function asyncIterableFromStream(stream) {\n return __asyncGenerator(this, arguments, function asyncIterableFromStream_1() {\n var reader, _a, done, value;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = stream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(reader.read())];\n case 3:\n _a = _b.sent(), done = _a.done, value = _a.value;\n if (!done) return [3 /*break*/, 5];\n return [4 /*yield*/, __await(void 0)];\n case 4: return [2 /*return*/, _b.sent()];\n case 5:\n assertNonNull(value);\n return [4 /*yield*/, __await(value)];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n return [3 /*break*/, 2];\n case 8: return [3 /*break*/, 10];\n case 9:\n reader.releaseLock();\n return [7 /*endfinally*/];\n case 10: return [2 /*return*/];\n }\n });\n });\n}\nexport function ensureAsyncIterable(streamLike) {\n if (isAsyncIterable(streamLike)) {\n return streamLike;\n }\n else {\n return asyncIterableFromStream(streamLike);\n }\n}\n//# sourceMappingURL=stream.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { Decoder } from \"./Decoder.mjs\";\nimport { ensureAsyncIterable } from \"./utils/stream.mjs\";\nimport { defaultDecodeOptions } from \"./decode.mjs\";\nexport function decodeAsync(streamLike, options) {\n if (options === void 0) { options = defaultDecodeOptions; }\n return __awaiter(this, void 0, void 0, function () {\n var stream, decoder;\n return __generator(this, function (_a) {\n stream = ensureAsyncIterable(streamLike);\n decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return [2 /*return*/, decoder.decodeAsync(stream)];\n });\n });\n}\nexport function decodeArrayStream(streamLike, options) {\n if (options === void 0) { options = defaultDecodeOptions; }\n var stream = ensureAsyncIterable(streamLike);\n var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return decoder.decodeArrayStream(stream);\n}\nexport function decodeMultiStream(streamLike, options) {\n if (options === void 0) { options = defaultDecodeOptions; }\n var stream = ensureAsyncIterable(streamLike);\n var decoder = new Decoder(options.extensionCodec, options.context, options.maxStrLength, options.maxBinLength, options.maxArrayLength, options.maxMapLength, options.maxExtLength);\n return decoder.decodeStream(stream);\n}\n/**\n * @deprecated Use {@link decodeMultiStream()} instead.\n */\nexport function decodeStream(streamLike, options) {\n if (options === void 0) { options = defaultDecodeOptions; }\n return decodeMultiStream(streamLike, options);\n}\n//# sourceMappingURL=decodeAsync.mjs.map","// Main Functions:\nimport { encode } from \"./encode.mjs\";\nexport { encode };\nimport { decode, decodeMulti } from \"./decode.mjs\";\nexport { decode, decodeMulti };\nimport { decodeAsync, decodeArrayStream, decodeMultiStream, decodeStream } from \"./decodeAsync.mjs\";\nexport { decodeAsync, decodeArrayStream, decodeMultiStream, decodeStream };\nimport { Decoder, DataViewIndexOutOfBoundsError } from \"./Decoder.mjs\";\nimport { DecodeError } from \"./DecodeError.mjs\";\nexport { Decoder, DecodeError, DataViewIndexOutOfBoundsError };\nimport { Encoder } from \"./Encoder.mjs\";\nexport { Encoder };\n// Utilitiies for Extension Types:\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nexport { ExtensionCodec };\nimport { ExtData } from \"./ExtData.mjs\";\nexport { ExtData };\nimport { EXT_TIMESTAMP, encodeDateToTimeSpec, encodeTimeSpecToTimestamp, decodeTimestampToTimeSpec, encodeTimestampExtension, decodeTimestampExtension, } from \"./timestamp.mjs\";\nexport { EXT_TIMESTAMP, encodeDateToTimeSpec, encodeTimeSpecToTimestamp, decodeTimestampToTimeSpec, encodeTimestampExtension, decodeTimestampExtension, };\n//# sourceMappingURL=index.mjs.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\"use strict\";\n/**\n * Copyright (C) 2021 Landon Harris\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License as\n * published by the Free Software Foundation; version 2.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see\n * .\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValueType = exports.ValTable = exports.SignalGroup = exports.SignalType = exports.Signal = exports.Node = exports.Message = exports.EnvironmentVariable = exports.Database = exports.DBCError = exports.AttributeDef = exports.Attribute = exports.decodeDb = exports.encodeDb = exports.extensionCodec = void 0;\nvar mapTools_1 = require(\"./mapTools\");\nObject.defineProperty(exports, \"extensionCodec\", { enumerable: true, get: function () { return mapTools_1.extensionCodec; } });\nObject.defineProperty(exports, \"encodeDb\", { enumerable: true, get: function () { return mapTools_1.encodeDb; } });\nObject.defineProperty(exports, \"decodeDb\", { enumerable: true, get: function () { return mapTools_1.decodeDb; } });\nvar attributes_1 = require(\"./dbc/attributes\");\nObject.defineProperty(exports, \"Attribute\", { enumerable: true, get: function () { return attributes_1.Attribute; } });\nObject.defineProperty(exports, \"AttributeDef\", { enumerable: true, get: function () { return attributes_1.AttributeDef; } });\nvar errors_1 = require(\"./dbc/errors\");\nObject.defineProperty(exports, \"DBCError\", { enumerable: true, get: function () { return errors_1.DBCError; } });\nvar db_1 = require(\"./dbc/db\");\nObject.defineProperty(exports, \"Database\", { enumerable: true, get: function () { return db_1.Database; } });\nvar ev_1 = require(\"./dbc/ev\");\nObject.defineProperty(exports, \"EnvironmentVariable\", { enumerable: true, get: function () { return ev_1.EnvironmentVariable; } });\nvar message_1 = require(\"./dbc/message\");\nObject.defineProperty(exports, \"Message\", { enumerable: true, get: function () { return message_1.Message; } });\nvar dbcNode_1 = require(\"./dbc/dbcNode\");\nObject.defineProperty(exports, \"Node\", { enumerable: true, get: function () { return dbcNode_1.Node; } });\nvar signal_1 = require(\"./dbc/signal\");\nObject.defineProperty(exports, \"Signal\", { enumerable: true, get: function () { return signal_1.Signal; } });\nObject.defineProperty(exports, \"SignalType\", { enumerable: true, get: function () { return signal_1.SignalType; } });\nObject.defineProperty(exports, \"SignalGroup\", { enumerable: true, get: function () { return signal_1.SignalGroup; } });\nvar valtable_1 = require(\"./dbc/valtable\");\nObject.defineProperty(exports, \"ValTable\", { enumerable: true, get: function () { return valtable_1.ValTable; } });\nObject.defineProperty(exports, \"ValueType\", { enumerable: true, get: function () { return valtable_1.ValueType; } });\n"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/dbcLib/package-lock.json b/dbcLib/package-lock.json
new file mode 100644
index 0000000..48a4906
--- /dev/null
+++ b/dbcLib/package-lock.json
@@ -0,0 +1,18 @@
+{
+ "name": "dbclib",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@msgpack/msgpack": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.7.0.tgz",
+ "integrity": "sha512-mlRYq9FSsOd4m+3wZWatemn3hGFZPWNJ4JQOdrir4rrMK2PyIk26idKBoUWrqF3HJJHl+5GpRU+M0wEruJwecg=="
+ },
+ "js-base64": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.1.tgz",
+ "integrity": "sha512-Frdq2+tRRGLQUIQOgsIGSCd1VePCS2fsddTG5dTCqR0JHgltXWfsxnY0gIXPoMeRmdom6Oyq+UMOFg5suduOjQ=="
+ }
+ }
+}
diff --git a/dbcLib/package.json b/dbcLib/package.json
new file mode 100644
index 0000000..78d0009
--- /dev/null
+++ b/dbcLib/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "dbclib",
+ "version": "1.0.0",
+ "description": "library of all dbc class members",
+ "main": "dist/index.js",
+ "types": "dist/index.d.ts",
+ "files": [
+ "./dist"
+ ],
+ "dependencies": {
+ "@msgpack/msgpack": "^2.7.0",
+ "js-base64": "^3.6.1"
+ }
+}
diff --git a/dbcLib/src/dbc/attributes.ts b/dbcLib/src/dbc/attributes.ts
new file mode 100644
index 0000000..aa26951
--- /dev/null
+++ b/dbcLib/src/dbc/attributes.ts
@@ -0,0 +1,45 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+import { ValueType } from "./valtable";
+
+export class Attribute{
+ public constructor(name: string,
+ objectType: number,
+ value: any){
+ this.name = name;
+ this.type = objectType;
+ this.value = value;
+ this.clsType = "attribute";
+ }
+ public name: string;
+ public type: number;
+ public value: any;
+ public clsType: string;
+}
+
+export class AttributeDef{
+ public constructor(name: string, objType: number, valType: ValueType){
+ this.name = name;
+ this.objType = objType;
+ this.valType = valType;
+ this.clsType = "attributeDef";
+ }
+ public name: string;
+ public objType: number;
+ public valType: ValueType;
+ public clsType: string;
+}
diff --git a/dbcLib/src/dbc/db.ts b/dbcLib/src/dbc/db.ts
new file mode 100644
index 0000000..187ae5f
--- /dev/null
+++ b/dbcLib/src/dbc/db.ts
@@ -0,0 +1,77 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+import { DBCError } from "./errors";
+import { AttributeDef, Attribute } from "./attributes";
+import { EnvironmentVariable } from "./ev";
+import { Message } from "./message"
+import { Node } from "./dbcNode";
+import { SignalType } from "./signal";
+import { ValTable } from "./valtable";
+
+export interface BitTiming{
+ baudRate: number,
+ register_1: number,
+ register_2: number
+};
+
+export class Database{
+ public static readonly identifier="Database";
+ public constructor(){
+ this.messages = new Map();
+ this.valTables = new Map();
+ this.version = "";
+ this.symbols = [];
+ this.parseErrors = [];
+ this.bitTiming = {
+ baudRate: -1,
+ register_1: -1,
+ register_2: -1
+ };
+ this.nodes = new Map();
+ this.environmentVariables = new Map();
+ this.signalTypes = new Map();
+ this.comment = "";
+ this.attrDefs = new Map();
+ this.attributes = new Map();
+ this.fileName = "";
+ this.type = "database";
+ }
+
+ public messagesStr: string;
+ public valTablesStr: string;
+ public nodesStr: string;
+ public environmentVariablesStr: string;
+ public signalTypesStr: string;
+ public attrDefsStr: string;
+ public attributesStr: string;
+
+ public messages: Map;
+ public version: string;
+ public symbols: string[];
+ public parseErrors: DBCError[];
+ public bitTiming: BitTiming;
+ public valTables: Map;
+ public nodes: Map;
+ public environmentVariables: Map;
+ public signalTypes: Map;
+ public comment: string;
+ public attrDefs: Map;
+ public attributes: Map;
+
+ public fileName: string;
+ public type: string;
+}
diff --git a/dbcLib/src/dbc/dbcNode.ts b/dbcLib/src/dbc/dbcNode.ts
new file mode 100644
index 0000000..78cbca6
--- /dev/null
+++ b/dbcLib/src/dbc/dbcNode.ts
@@ -0,0 +1,32 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+import { Attribute } from "./attributes";
+
+export class Node{
+ public constructor(name: string){
+ this.name = name;
+ this.comment = "";
+ this.attributes = new Map();
+ this.clsType = "node";
+ }
+
+ public name: string;
+ public comment: string;
+ public attributes: Map;
+ public clsType: string;
+}
+
diff --git a/server/src/errors.ts b/dbcLib/src/dbc/errors.ts
similarity index 76%
rename from server/src/errors.ts
rename to dbcLib/src/dbc/errors.ts
index 9f24abc..b3368dd 100644
--- a/server/src/errors.ts
+++ b/dbcLib/src/dbc/errors.ts
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
enum conditionType{
noCondition,
diff --git a/dbcLib/src/dbc/ev.ts b/dbcLib/src/dbc/ev.ts
new file mode 100644
index 0000000..fde02db
--- /dev/null
+++ b/dbcLib/src/dbc/ev.ts
@@ -0,0 +1,49 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+import { Attribute } from "./attributes";
+import { ValTable } from "./valtable";
+
+export class EnvironmentVariable{
+ public constructor(){
+ this.name = "";
+ this.type = 2;
+ this.min = -1;
+ this.max = 0;
+ this.unit = "";
+ this.initialVal = 0;
+ this.id = 0;
+ this.transmitters = [];
+ this.valueDescriptions = new Map();
+ this.dataSize = 0; // used when ENVVAR_DATA is present
+ this.comment = "";
+ this.attributes = new Map();
+ this.clsType = "environmentVariable";
+ }
+ public name: string;
+ public type: number; // 0: integer, 1: float, 2: string, 3: data(ENVVAR_DATA)
+ public min: number;
+ public max: number;
+ public unit: string;
+ public initialVal: number;
+ public id: number;
+ public transmitters: string[];
+ public valueDescriptions: Map;
+ public dataSize: number;
+ public comment: string;
+ public attributes: Map;
+ public clsType: string;
+}
diff --git a/dbcLib/src/dbc/message.ts b/dbcLib/src/dbc/message.ts
new file mode 100644
index 0000000..b54a078
--- /dev/null
+++ b/dbcLib/src/dbc/message.ts
@@ -0,0 +1,62 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+import { Attribute } from "./attributes";
+import { Signal, SignalGroup } from "./signal";
+
+export class Message{
+ public constructor(endLineNum: number,
+ Id: number,
+ Name: string,
+ Size: number,
+ Transmitter: string,
+ Signals: Map){
+ this.id = Id;
+ this.name = Name;
+ this.size = Size;
+ this.transmitter = Transmitter;
+ this.signals = Signals;
+ this.comment = "";
+ this.transmitters = [];
+ this.signalGroups = new Map();
+ this.attributes = new Map();
+ this.endNum = endLineNum;
+ this.clsType = "message";
+ }
+
+ public id: number;
+ public name: string;
+ public size: number;
+ public transmitter: string;
+ public transmitters: string[];
+ public signals: Map;
+ public comment: string;
+ public signalGroups: Map;
+ public attributes: Map;
+ public clsType: string;
+
+ private endNum: number;
+
+ get lineNum(): number{
+ return this.endNum - this.signals.size;
+ }
+
+ public represent(): string{
+ var hex = this.id.toString(16).padStart(3, "000").toUpperCase();
+ var dec = this.id.toString(10).padStart(4, "0000");
+ return `0x${hex} (${dec}) ${this.name}`;
+ }
+}
diff --git a/dbcLib/src/dbc/signal.ts b/dbcLib/src/dbc/signal.ts
new file mode 100644
index 0000000..0a33983
--- /dev/null
+++ b/dbcLib/src/dbc/signal.ts
@@ -0,0 +1,122 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+import { Attribute } from "./attributes";
+import { ValTable } from "./valtable";
+
+export class Signal {
+ public constructor(lineNo: number,
+ Name: string,
+ Start: number,
+ Size: number,
+ Order: boolean,
+ Type: boolean,
+ Factor: number,
+ Offset: number,
+ Min: number,
+ Max: number,
+ Unit: string,
+ Receivers: string[]){
+ this.name = Name;
+ this.startBit = Start;
+ this.bitSize = Size;
+ this.byteOrder = Order;
+ this.valueType = Type;
+ this.factor = Factor;
+ this.offset = Offset;
+ this.minimum = Min;
+ this.maximum = Max;
+ this.unit = Unit;
+ this.receivers = Receivers;
+ this.valTable = null;
+ this.comment = "";
+ this.attributes = new Map();
+ this.lineNum = lineNo;
+ this.clsType = "signal";
+ }
+
+ public name: string;
+ public startBit: number;
+ public bitSize: number;
+ public byteOrder: boolean; // true: little, false: big
+ public valueType: boolean; // true: signed, false: unsigned
+ public factor: number;
+ public offset: number;
+ public minimum: number;
+ public maximum: number;
+ public unit: string;
+ public receivers: string[];
+ public valTable: ValTable | null;
+ public comment: string;
+ public attributes: Map;
+ public lineNum: number;
+ public clsType: string;
+}
+
+export class SignalType{
+ public constructor(name: string,
+ size: number,
+ byteOrder: boolean,
+ valueType: boolean,
+ factor: number,
+ offset: number,
+ min: number,
+ max: number,
+ unit: string,
+ defaultVal: number,
+ valTable: string){
+ this.name = name;
+ this.size = size;
+ this.byteOrder = byteOrder;
+ this.valueType = valueType;
+ this.factor = factor;
+ this.offset = offset;
+ this.minimum = min;
+ this.maximum = max;
+ this.unit = unit;
+ this.default = defaultVal;
+ this.valTable = valTable;
+ this.clsType = "signalType";
+
+ }
+ public name: string;
+ public size: number;
+ public byteOrder: boolean; // true: little, false: big
+ public valueType: boolean; // true: signed, false: unsigned
+ public factor: number;
+ public offset: number;
+ public minimum: number;
+ public maximum: number;
+ public unit: string;
+ public default: number;
+ public valTable: string; // name of valtable
+ public clsType: string;
+}
+
+export class SignalGroup{
+ public constructor(){
+ this.messageId = 0;
+ this.name = "";
+ this.repetitions = 0;
+ this.signals = [];
+ this.clsType = "signalGroup";
+ }
+ public messageId: number;
+ public name: string;
+ public repetitions: number;
+ public signals: string[];
+ public clsType: string;
+}
diff --git a/dbcLib/src/dbc/valtable.ts b/dbcLib/src/dbc/valtable.ts
new file mode 100644
index 0000000..5858fc9
--- /dev/null
+++ b/dbcLib/src/dbc/valtable.ts
@@ -0,0 +1,39 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+export class ValTable{
+ public constructor(name: string){
+ this.name = name;
+ this.descriptions = new Map();
+ this.clsType = "valTable";
+ }
+ public name: string;
+ public descriptions: Map;
+ public clsType: string;
+}
+
+export class ValueType{
+ public constructor(type: number){
+ this.type = type;
+ this.min = 0;
+ this.max = 0;
+ this.enumVals = [];
+ }
+ public type: number;
+ public min: number;
+ public max: number;
+ public enumVals: string[];
+}
diff --git a/dbcLib/src/index.ts b/dbcLib/src/index.ts
new file mode 100644
index 0000000..29163d4
--- /dev/null
+++ b/dbcLib/src/index.ts
@@ -0,0 +1,58 @@
+/**
+ * Copyright (C) 2021 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+export {
+ extensionCodec,
+ encodeDb,
+ decodeDb
+} from './mapTools'
+
+export {
+ Attribute,
+ AttributeDef
+} from './dbc/attributes'
+
+export {
+ DBCError
+} from './dbc/errors'
+
+export {
+ BitTiming,
+ Database,
+} from './dbc/db'
+
+export {
+ EnvironmentVariable
+} from './dbc/ev'
+
+export {
+ Message
+} from './dbc/message'
+
+export {
+ Node
+} from './dbc/dbcNode'
+
+export {
+ Signal,
+ SignalType,
+ SignalGroup
+} from './dbc/signal'
+
+export {
+ ValTable,
+ ValueType
+} from './dbc/valtable'
diff --git a/dbcLib/src/mapTools.ts b/dbcLib/src/mapTools.ts
new file mode 100644
index 0000000..da2c3e5
--- /dev/null
+++ b/dbcLib/src/mapTools.ts
@@ -0,0 +1,472 @@
+/**
+ * Copyright (C) 2022 Landon Harris
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * .
+*/
+
+import { encode, decode, ExtensionCodec } from '@msgpack/msgpack'
+
+import { Database } from "./dbc/db";
+import { Message } from "./dbc/message";
+import { Node } from './dbc/dbcNode';
+import {
+ ValTable,
+ ValueType
+} from "./dbc/valtable";
+import {
+ Attribute,
+ AttributeDef
+} from "./dbc/attributes";
+import { EnvironmentVariable } from "./dbc/ev";
+import { Signal, SignalGroup, SignalType } from "./dbc/signal";
+import * as b64 from 'js-base64';
+
+
+// DBCError elided
+export var extensionCodec = new ExtensionCodec();
+
+// Attribute
+extensionCodec.register({
+ type: 2,
+ encode: (input: any): Uint8Array | null => {
+ if (input?.clsType == "attribute"){
+ let object = input as Attribute;
+ var name: Uint8Array = encode(object.name, {extensionCodec});
+ var type: Uint8Array = encode(object.type, {extensionCodec});
+ var value: Uint8Array = encode(object.value, {extensionCodec});
+ return encode([name, type, value], {extensionCodec});
+ } else {
+ return null;
+ }
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ return new Attribute(
+ decode(array[0], {extensionCodec}) as string,
+ decode(array[1], {extensionCodec}) as number,
+ decode(array[2], {extensionCodec}));
+ }
+});
+
+// AttributeDef
+extensionCodec.register({
+ type: 3,
+ encode: (input: any): Uint8Array | null => {
+
+ if (input?.clsType == "attributeDef"){
+ let object = input as AttributeDef;
+ var name: Uint8Array = encode(object.name, {extensionCodec});
+ var type: Uint8Array = encode(object.objType, {extensionCodec});
+ var value: Uint8Array = encode(object.valType, {extensionCodec});
+ return encode([name, type, value], {extensionCodec});
+ }else
+ return null;
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ return new AttributeDef(
+ decode(array[0], {extensionCodec}) as string,
+ decode(array[1], {extensionCodec}) as number,
+ decode(array[2], {extensionCodec}) as ValueType
+ );
+ }
+});
+
+// Node
+extensionCodec.register({
+ type: 4,
+ encode: (input: any): Uint8Array | null => {
+ if (input?.clsType == "node"){
+ let object = input as Node;
+ var name: Uint8Array = encode(object.name, {extensionCodec});
+ var comment: Uint8Array = encode(object.comment, {extensionCodec});
+ var attributes: Uint8Array = encode(object.attributes, {extensionCodec});
+ return encode([name, comment, attributes], {extensionCodec});
+ }else
+ return null;
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new Node(decode(array[0], {extensionCodec}) as string);
+ ret.comment = decode(array[1], {extensionCodec}) as string;
+ ret.attributes = decode(array[2], {extensionCodec}) as Map;
+ return ret;
+ }
+})
+
+// Environment Variable
+extensionCodec.register({
+ type: 5,
+ encode: (input: any): Uint8Array | null => {
+ if(input?.clsType == "environmentVariable"){
+ let object = input as EnvironmentVariable;
+ var name: Uint8Array = encode(object.name, {extensionCodec});
+ var type: Uint8Array = encode(object.type, {extensionCodec});
+ var min: Uint8Array = encode(object.min, {extensionCodec});
+ var max: Uint8Array = encode(object.max, {extensionCodec});
+ var unit: Uint8Array = encode(object.unit, {extensionCodec});
+ var initialVal: Uint8Array = encode(object.initialVal, {extensionCodec});
+ var id: Uint8Array = encode(object.id, {extensionCodec});
+ var transmitters: Uint8Array = encode(object.transmitters, {extensionCodec})
+ var valueDescriptions: Uint8Array = encode(object.valueDescriptions, {extensionCodec});
+ var dataSize: Uint8Array = encode(object.dataSize, {extensionCodec});
+ var comment: Uint8Array = encode(object.comment, {extensionCodec});
+ var attributes: Uint8Array = encode(object.attributes, {extensionCodec});
+ return(encode([name, type, min, max, unit, initialVal, id, transmitters, valueDescriptions, dataSize, comment, attributes]));
+ }else
+ return null;
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new EnvironmentVariable();
+ ret.name = decode(array[0], {extensionCodec}) as string;
+ ret.type = decode(array[1], {extensionCodec}) as number;
+ ret.min = decode(array[2], {extensionCodec}) as number;
+ ret.max = decode(array[3], {extensionCodec}) as number;
+ ret.unit = decode(array[4], {extensionCodec}) as string;
+ ret.initialVal = decode(array[5], {extensionCodec}) as number;
+ ret.id = decode(array[6], {extensionCodec}) as number;
+ ret.transmitters = decode(array[7], {extensionCodec}) as string[];
+ ret.dataSize = decode(array[8], {extensionCodec}) as number;
+ ret.comment = decode(array[9], {extensionCodec}) as string;
+ ret.attributes = decode(array[10], {extensionCodec}) as Map;
+ return ret;
+ }
+});
+
+// message
+extensionCodec.register({
+ type: 6,
+ encode: (input: any): Uint8Array | null => {
+ if(input?.clsType == "message"){
+ let object = input as Message;
+ const id: Uint8Array = encode(object.id, {extensionCodec});
+ const name: Uint8Array = encode(object.name, {extensionCodec});
+ const size: Uint8Array = encode(object.size, {extensionCodec});
+ const transmitter: Uint8Array = encode(object.transmitter, {extensionCodec});
+ const transmitters: Uint8Array = encode(object.transmitters, {extensionCodec});
+ const signals: Uint8Array = encode(object.signals, {extensionCodec});
+ const comment: Uint8Array = encode(object.comment, {extensionCodec});
+ const signalGroups: Uint8Array = encode(object.signalGroups, {extensionCodec});
+ const attributes: Uint8Array = encode(object.attributes, {extensionCodec});
+ return encode([id, name, size, transmitter, transmitters, signals, comment, signalGroups, attributes], {extensionCodec});
+ }else
+ return null
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new Message(
+ 0, // endLineNum
+ decode(array[0], {extensionCodec}) as number, // id
+ decode(array[1], {extensionCodec}) as string, // name
+ decode(array[2], {extensionCodec}) as number, // size
+ decode(array[3], {extensionCodec}) as string, // transmitter
+ decode(array[5], {extensionCodec}) as Map // signals
+ );
+ ret.transmitters = decode(array[4], {extensionCodec}) as string[];
+ ret.comment = decode(array[6], {extensionCodec}) as string;
+ ret.signalGroups = decode(array[7], {extensionCodec}) as Map;
+ ret.attributes = decode(array[8], {extensionCodec}) as Map;
+
+ return ret;
+ }
+});
+
+// signal
+extensionCodec.register({
+ type: 7,
+ encode: (input: any): Uint8Array | null =>{
+ if(input?.clsType == "signal"){
+ let object = input as Signal;
+ const name: Uint8Array = encode(object.name, {extensionCodec});
+ const startBit: Uint8Array = encode(object.startBit, {extensionCodec});
+ const bitSize: Uint8Array = encode(object.bitSize, {extensionCodec});
+ const byteOrder: Uint8Array = encode(object.byteOrder, {extensionCodec});
+ const valueType: Uint8Array = encode(object.valueType, {extensionCodec});
+ const factor: Uint8Array = encode(object.factor, {extensionCodec});
+ const offset: Uint8Array = encode(object.offset, {extensionCodec});
+ const minimum: Uint8Array = encode(object.minimum, {extensionCodec});
+ const maximum: Uint8Array = encode(object.maximum, {extensionCodec});
+ const unit: Uint8Array = encode(object.unit, {extensionCodec});
+ const receivers: Uint8Array = encode(object.receivers, {extensionCodec});
+ const valTable: Uint8Array = encode(object.valTable, {extensionCodec});
+ const comment: Uint8Array = encode(object.comment, {extensionCodec});
+ const attributes: Uint8Array = encode(object.attributes, {extensionCodec});
+ const lineNum: Uint8Array = encode(object.lineNum, {extensionCodec});
+ return encode([
+ name,
+ startBit,
+ bitSize,
+ byteOrder,
+ valueType,
+ factor,
+ offset,
+ minimum,
+ maximum,
+ unit,
+ receivers,
+ valTable,
+ comment,
+ attributes,
+ lineNum
+ ]);
+ }else
+ return null;
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new Signal(
+ decode(array[14], {extensionCodec}) as number,// lineNum
+ decode(array[0], {extensionCodec}) as string, // name
+ decode(array[1], {extensionCodec}) as number, // start
+ decode(array[2], {extensionCodec}) as number, // size
+ decode(array[3], {extensionCodec}) as boolean,// byte order
+ decode(array[4], {extensionCodec}) as boolean,// valtype
+ decode(array[5], {extensionCodec}) as number, // factor
+ decode(array[6], {extensionCodec}) as number, // offset
+ decode(array[7], {extensionCodec}) as number, // min
+ decode(array[8], {extensionCodec}) as number, // max
+ decode(array[9], {extensionCodec}) as string, // unit
+ decode(array[10], {extensionCodec}) as string[] // receivers
+ );
+ ret.valTable = decode(array[11], {extensionCodec}) as ValTable | null;
+ ret.comment = decode(array[12], {extensionCodec}) as string;
+ ret.attributes = decode(array[13], {extensionCodec}) as Map;
+ return ret;
+ }
+});
+
+// signalType
+extensionCodec.register({
+ type: 8,
+ encode: (input: any): Uint8Array =>{
+ if(input?.clsType == "signalType"){
+ let object = input as SignalType;
+ const name: Uint8Array = encode(object.name, {extensionCodec});
+ const size: Uint8Array = encode(object.size, {extensionCodec});
+ const byteOrder: Uint8Array = encode(object.byteOrder, {extensionCodec});
+ const valueType: Uint8Array = encode(object.valueType, {extensionCodec});
+ const factor: Uint8Array = encode(object.factor, {extensionCodec});
+ const offset: Uint8Array = encode(object.offset, {extensionCodec});
+ const minimum: Uint8Array = encode(object.minimum, {extensionCodec});
+ const maximum: Uint8Array = encode(object.maximum, {extensionCodec});
+ const unit: Uint8Array = encode(object.unit, {extensionCodec});
+ const defaultVal: Uint8Array = encode(object.default, {extensionCodec});
+ const valTable: Uint8Array = encode(object.valTable, {extensionCodec});
+ return encode([
+ name,
+ size,
+ byteOrder,
+ valueType,
+ factor,
+ offset,
+ minimum,
+ maximum,
+ unit,
+ defaultVal,
+ valTable
+ ]);
+ }else
+ return null;
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new SignalType(
+ decode(array[0], {extensionCodec}) as string, // name
+ decode(array[1], {extensionCodec}) as number, // size
+ decode(array[2], {extensionCodec}) as boolean,// byte order
+ decode(array[3], {extensionCodec}) as boolean,// valtype
+ decode(array[4], {extensionCodec}) as number, // factor
+ decode(array[5], {extensionCodec}) as number, // offset
+ decode(array[6], {extensionCodec}) as number, // min
+ decode(array[7], {extensionCodec}) as number, // max
+ decode(array[8], {extensionCodec}) as string, // unit
+ decode(array[9], {extensionCodec}) as number, // defaultVal
+ decode(array[10], {extensionCodec}) as string // valTable
+ );
+ return ret;
+ }
+});
+
+// SignalGroup
+extensionCodec.register({
+ type: 9,
+ encode: (input: any): Uint8Array => {
+ if(input?.clsType == "signalGroup"){
+ let object = input as SignalGroup;
+ return encode([
+ encode(object.messageId, {extensionCodec}),
+ encode(object.name, {extensionCodec}),
+ encode(object.repetitions, {extensionCodec}),
+ encode(object.signals, {extensionCodec})
+ ]);
+ }else
+ return null;
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new SignalGroup();
+
+ ret.messageId = decode(array[0], {extensionCodec}) as number;
+ ret.name = decode(array[1], {extensionCodec}) as string;
+ ret.repetitions = decode(array[2], {extensionCodec}) as number;
+ ret.signals = decode(array[3], {extensionCodec}) as string[];
+ return ret;
+ }
+});
+
+// ValTable
+extensionCodec.register({
+ type: 10,
+ encode: (input: any): Uint8Array =>{
+ if(input?.clsType == "valTable"){
+ let object = input as ValTable;
+ return encode([
+ encode(object.name, {extensionCodec}),
+ encode(object.descriptions, {extensionCodec})
+ ]);
+ }else
+ return null;
+ },
+ decode: (data: Uint8Array) =>{
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new ValTable(
+ decode(array[0], {extensionCodec}) as string
+ );
+ ret.descriptions = decode(array[1], {extensionCodec}) as Map;
+ return ret;
+ }
+
+});
+
+// ValueType
+extensionCodec.register({
+ type: 11,
+ encode: (input: any): Uint8Array => {
+ if(input?.clsType == "valueType"){
+ let object = input as ValueType;
+ return encode([
+ encode(object.type, {extensionCodec}),
+ encode(object.min, {extensionCodec}),
+ encode(object.max, {extensionCodec}),
+ encode(object.enumVals, {extensionCodec})
+ ]);
+ }else
+ return null
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new ValueType(decode(array[0], {extensionCodec}) as number);
+ ret.min = decode(array[1], {extensionCodec}) as number;
+ ret.max = decode(array[2], {extensionCodec}) as number;
+ ret.enumVals = decode(array[3], {extensionCodec}) as string[];
+ return ret;
+ }
+});
+
+// Database
+extensionCodec.register({
+ type: 1,
+ encode: (input: any): Uint8Array => {
+ if (input?.type == "database"){
+ let object = input as Database;
+ var msgs: Uint8Array = encode(object.messages, {extensionCodec});
+ var valTables: Uint8Array = encode(object.valTables, {extensionCodec});
+ var nodes: Uint8Array = encode(object.nodes, {extensionCodec});
+ var environmentVariables: Uint8Array = encode(object.environmentVariables, {extensionCodec});
+ var signalTypes: Uint8Array = encode(object.signalTypes, {extensionCodec});
+ var attrDefs: Uint8Array = encode(object.attrDefs, {extensionCodec});
+ var attrs: Uint8Array = encode(object.attributes, {extensionCodec});
+ var version: Uint8Array = encode(object.version, {extensionCodec});
+ var comment: Uint8Array = encode(object.comment, {extensionCodec});
+ var filename: Uint8Array = encode(object.fileName, {extensionCodec});
+ return encode([version, filename, comment, msgs, valTables, nodes, environmentVariables, signalTypes, attrDefs, attrs], {extensionCodec});
+ } else {
+ return null;
+ }
+ },
+ decode: (data: Uint8Array) => {
+ const array = decode(data, {extensionCodec}) as Array;
+ var ret = new Database();
+ ret.version = decode(array[0], {extensionCodec}) as string;
+ ret.fileName = decode(array[1], {extensionCodec}) as string;
+ ret.comment = decode(array[2], {extensionCodec}) as string;
+ ret.messages = decode(array[3], {extensionCodec}) as Map;
+ ret.valTables = decode(array[4], {extensionCodec}) as Map;
+ ret.nodes = decode(array[5], {extensionCodec}) as Map;
+ ret.environmentVariables = decode(array[6], {extensionCodec}) as Map;
+ ret.signalTypes = decode(array[7], {extensionCodec}) as Map;
+ ret.attrDefs = decode(array[8], {extensionCodec}) as Map;
+ ret.attributes = decode(array[9], {extensionCodec}) as Map;
+ return ret;
+ }
+});
+
+extensionCodec.register({
+ type: 0,
+ encode: (object: unknown): Uint8Array => {
+ // 1.
+ // 7. encode the ret array
+ // 8. return ret
+ if (object instanceof Map) {
+ let ret: Array = [];
+ object.forEach((value, key) => {
+ let tmp: Array = [];
+ tmp.push(encode(key, {extensionCodec}));
+ tmp.push(encode(value, {extensionCodec}));
+ ret.push(encode(tmp, {extensionCodec}));
+ });
+ return encode(ret, {extensionCodec});
+ } else {
+ return null;
+ }
+ },
+ decode: (data: Uint8Array) => {
+ let decdBigArray: Array = decode(data, {extensionCodec}) as Array;
+ let ret: Map = new Map();
+ decdBigArray.forEach((value) => {
+ let tmp: Array = decode(value, {extensionCodec}) as Array;
+ ret.set(decode(tmp[0], {extensionCodec}), decode(tmp[1], {extensionCodec}));
+ });
+ return ret;
+ },
+});
+
+
+export function encodeDb(db: Database): string{
+ db.parseErrors = [];
+ var encoded: Uint8Array = encode(db, {extensionCodec});
+ if(encoded.byteLength*8/6 > 0x1fffffe7){
+ // cannot create string longer than 512Mb
+ console.error("String too large!")
+ return "OVERLOADED STRING";
+ }
+ var encoded64 = b64.Base64.fromUint8Array(encoded);
+ return encoded64;
+}
+
+export function decodeDb(data: string): Database{
+ if(data == "OVERLOADED STRING"){
+ let ret = new Database();
+ ret.version = "Too large for parsing.";
+ return ret;
+ }
+ var u8array = b64.Base64.toUint8Array(data);
+ var decoded = decode(u8array, {extensionCodec}) as Database;
+ return decoded;
+}
diff --git a/dbcLib/tsconfig.json b/dbcLib/tsconfig.json
new file mode 100644
index 0000000..4d0be5c
--- /dev/null
+++ b/dbcLib/tsconfig.json
@@ -0,0 +1,12 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "moduleResolution": "node",
+ "target": "es2019",
+ "declaration": true,
+ "outDir": "./dist"
+ },
+ "include": [
+ "src/**/*"
+ ]
+ }
diff --git a/dbcLib/webpack.config.js b/dbcLib/webpack.config.js
new file mode 100644
index 0000000..a7219fc
--- /dev/null
+++ b/dbcLib/webpack.config.js
@@ -0,0 +1,48 @@
+
+
+//@ts-check
+
+'use strict';
+
+const path = require('path');
+
+/**@type {import('webpack').Configuration}*/
+const config = {
+ target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/
+
+ entry: './dist/index.js', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/
+ output: {
+ // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/
+ path: path.resolve(__dirname, 'build'),
+ filename: 'serverPack.js',
+ libraryTarget: 'commonjs2'
+ },
+ devtool: 'source-map',
+ externals: {
+ vscode: 'commonjs vscode' // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/
+ },
+ resolve: {
+ // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader
+ extensions: ['.ts', '.js']
+ },
+ module: {
+ rules: [
+ {
+ exclude: /node_modules/,
+ // use: [
+ // {
+ // loader: 'ts-loader',
+ // options:
+ // {
+ // configFile:"tsconfig.json"
+ // }
+ // }
+ // ]
+ }
+ ]
+ },
+ optimization: {
+ minimize: false
+ },
+};
+module.exports = config;
diff --git a/package-lock.json b/package-lock.json
index 6547746..f663d2c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,124 +1,242 @@
{
"name": "dbc",
- "version": "1.2.3",
+ "version": "2.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "dev": true
+ },
+ "@types/eslint": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
+ "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "@types/eslint-scope": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
+ "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.10.4"
+ "@types/eslint": "*",
+ "@types/estree": "*"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "@types/estree": {
+ "version": "0.0.51",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
+ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "dev": true
+ },
+ "@types/json-schema": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "17.0.35",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz",
+ "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==",
"dev": true
},
- "@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "@webassemblyjs/ast": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
+ "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
+ "@webassemblyjs/helper-numbers": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
}
},
- "@types/eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
+ "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
"dev": true
},
- "@types/json-schema": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
+ "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
"dev": true
},
- "@types/mocha": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.0.tgz",
- "integrity": "sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ==",
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
+ "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
"dev": true
},
- "@types/node": {
- "version": "12.19.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.9.tgz",
- "integrity": "sha512-yj0DOaQeUrk3nJ0bd3Y5PeDRJ6W0r+kilosLA+dzF3dola/o9hxhMSg2sFvVcA2UHS5JSOsZp4S0c1OEXc4m1Q==",
+ "@webassemblyjs/helper-numbers": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
+ "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
+ "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
"dev": true
},
- "@typescript-eslint/experimental-utils": {
- "version": "2.34.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz",
- "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==",
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
+ "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
"dev": true,
"requires": {
- "@types/json-schema": "^7.0.3",
- "@typescript-eslint/typescript-estree": "2.34.0",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^2.0.0"
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1"
}
},
- "@typescript-eslint/parser": {
- "version": "2.34.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz",
- "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==",
+ "@webassemblyjs/ieee754": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
+ "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
"dev": true,
"requires": {
- "@types/eslint-visitor-keys": "^1.0.0",
- "@typescript-eslint/experimental-utils": "2.34.0",
- "@typescript-eslint/typescript-estree": "2.34.0",
- "eslint-visitor-keys": "^1.1.0"
+ "@xtuc/ieee754": "^1.2.0"
}
},
- "@typescript-eslint/typescript-estree": {
- "version": "2.34.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz",
- "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==",
+ "@webassemblyjs/leb128": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
+ "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
"dev": true,
"requires": {
- "debug": "^4.1.1",
- "eslint-visitor-keys": "^1.1.0",
- "glob": "^7.1.6",
- "is-glob": "^4.0.1",
- "lodash": "^4.17.15",
- "semver": "^7.3.2",
- "tsutils": "^3.17.1"
+ "@xtuc/long": "4.2.2"
}
},
- "@ungap/promise-all-settled": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
- "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
+ "@webassemblyjs/utf8": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
+ "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
"dev": true
},
- "JSONSelect": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz",
- "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40="
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
+ "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/helper-wasm-section": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-opt": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "@webassemblyjs/wast-printer": "1.11.1"
+ }
},
- "JSV": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
- "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c="
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
+ "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
+ "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
+ "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
+ "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webpack-cli/configtest": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
+ "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
+ "dev": true
+ },
+ "@webpack-cli/info": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
+ "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
+ "dev": true,
+ "requires": {
+ "envinfo": "^7.7.3"
+ }
+ },
+ "@webpack-cli/serve": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
+ "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
+ "dev": true
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true
},
"acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
+ "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
"dev": true
},
- "acorn-jsx": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
- "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
+ "acorn-import-assertions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
+ "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
"dev": true
},
"ajv": {
@@ -133,58 +251,40 @@
"uri-js": "^4.2.2"
}
},
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "optional": true
- },
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
- "ansi-escapes": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
- "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
- "dev": true,
- "requires": {
- "type-fest": "^0.11.0"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
- "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
- "dev": true
- }
- }
- },
"ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
},
"ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "color-convert": "^1.9.0"
+ "color-convert": "^2.0.1"
}
},
- "anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
+ "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
"dev": true,
"requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
}
},
"argparse": {
@@ -196,22 +296,62 @@
"sprintf-js": "~1.0.2"
}
},
- "astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
- "dev": true
+ "azure-devops-node-api": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.1.tgz",
+ "integrity": "sha512-XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==",
+ "dev": true,
+ "requires": {
+ "tunnel": "0.0.6",
+ "typed-rest-client": "^1.8.4"
+ }
},
"balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
- "binary-extensions": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
- "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "dev": true
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true
+ },
+ "bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
+ "requires": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
"dev": true
},
"brace-expansion": {
@@ -233,340 +373,344 @@
"fill-range": "^7.0.1"
}
},
- "browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
+ "browserslist": {
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
+ "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001332",
+ "electron-to-chromium": "^1.4.118",
+ "escalade": "^3.1.1",
+ "node-releases": "^2.0.3",
+ "picocolors": "^1.0.0"
+ }
},
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true
},
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
}
},
- "chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "caniuse-lite": {
+ "version": "1.0.30001344",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz",
+ "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==",
"dev": true
},
- "chokidar": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
- "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.1.2",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "cjson": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz",
- "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=",
+ "cheerio": {
+ "version": "1.0.0-rc.11",
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.11.tgz",
+ "integrity": "sha512-bQwNaDIBKID5ts/DsdhxrjqFXYfLw4ste+wMKqWA8DyKcS4qwsPP4Bk8ZNaTJjvpiX/qW3BT4sU7d6Bh5i+dag==",
+ "dev": true,
"requires": {
- "jsonlint": "1.6.0"
+ "cheerio-select": "^2.1.0",
+ "dom-serializer": "^2.0.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1",
+ "htmlparser2": "^8.0.1",
+ "parse5": "^7.0.0",
+ "parse5-htmlparser2-tree-adapter": "^7.0.0",
+ "tslib": "^2.4.0"
}
},
- "cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "cheerio-select": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
+ "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
"dev": true,
"requires": {
- "restore-cursor": "^3.1.0"
+ "boolbase": "^1.0.0",
+ "css-select": "^5.1.0",
+ "css-what": "^6.1.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1"
}
},
- "cli-width": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
- "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"dev": true
},
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "chrome-trace-event": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+ "dev": true
+ },
+ "clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
"requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- },
- "dependencies": {
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- }
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
}
},
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
+ "dev": true
+ },
"color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "color-name": "1.1.3"
+ "color-name": "~1.1.4"
}
},
"color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "colors": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",
- "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q="
+ "colorette": {
+ "version": "2.0.16",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
+ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
+ "dev": true
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
"dev": true
},
"cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
}
},
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "css-select": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
+ "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
"dev": true,
"requires": {
- "ms": "2.1.2"
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
}
},
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
"dev": true
},
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "decompress-response": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+ "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^3.1.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true
},
- "diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"dev": true
},
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
+ "dev": true
+ },
+ "dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"dev": true,
"requires": {
- "esutils": "^2.0.2"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
}
},
- "ebnf-parser": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz",
- "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE="
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true
},
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.3.0"
+ }
},
- "escodegen": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
- "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=",
+ "domutils": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+ "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
+ "dev": true,
"requires": {
- "esprima": "~1.1.1",
- "estraverse": "~1.5.0",
- "esutils": "~1.0.0",
- "source-map": "~0.1.33"
- },
- "dependencies": {
- "esprima": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
- "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk="
- },
- "estraverse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
- "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E="
- },
- "esutils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
- "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA="
- }
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.1"
}
},
- "eslint": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
- "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "ajv": "^6.10.0",
- "chalk": "^2.1.0",
- "cross-spawn": "^6.0.5",
- "debug": "^4.0.1",
- "doctrine": "^3.0.0",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^1.4.3",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^6.1.2",
- "esquery": "^1.0.1",
- "esutils": "^2.0.2",
- "file-entry-cache": "^5.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.0.0",
- "globals": "^12.1.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "inquirer": "^7.0.0",
- "is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.14",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.3",
- "progress": "^2.0.0",
- "regexpp": "^2.0.1",
- "semver": "^6.1.2",
- "strip-ansi": "^5.2.0",
- "strip-json-comments": "^3.0.1",
- "table": "^5.2.3",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- },
- "dependencies": {
- "eslint-utils": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
- "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^1.1.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
+ "electron-to-chromium": {
+ "version": "1.4.141",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.141.tgz",
+ "integrity": "sha512-mfBcbqc0qc6RlxrsIgLG2wCqkiPAjEezHxGTu7p3dHHFOurH4EjS9rFZndX5axC8264rI1Pcbw8uQP39oZckeA==",
+ "dev": true
+ },
+ "emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
}
},
- "eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "enhanced-resolve": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
+ "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
"dev": true,
"requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
}
},
- "eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "entities": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz",
+ "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==",
+ "dev": true
+ },
+ "envinfo": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
+ "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
"dev": true,
"requires": {
- "eslint-visitor-keys": "^1.1.0"
+ "prr": "~1.0.1"
}
},
- "eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "es-module-lexer": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
+ "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
+ "dev": true
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
- "espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"requires": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
}
},
"esprima": {
@@ -575,23 +719,6 @@
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
- "esquery": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
- "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
- "dev": true
- }
- }
- },
"esrecurse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
@@ -602,9 +729,9 @@
},
"dependencies": {
"estraverse": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true
}
}
@@ -615,23 +742,35 @@
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true
},
- "external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"requires": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
}
},
+ "expand-template": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
+ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
+ "dev": true
+ },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -644,28 +783,19 @@
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "fastest-levenshtein": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
+ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
"dev": true
},
- "figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
- "file-entry-cache": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
- "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
"dev": true,
"requires": {
- "flat-cache": "^2.0.1"
+ "pend": "~1.2.0"
}
},
"fill-range": {
@@ -678,36 +808,19 @@
}
},
"find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
- "locate-path": "^6.0.0",
+ "locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
- "flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true
- },
- "flat-cache": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
- "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
- "dev": true,
- "requires": {
- "flatted": "^2.0.0",
- "rimraf": "2.6.3",
- "write": "1.0.3"
- }
- },
- "flatted": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
- "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
+ "fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"dev": true
},
"fs.realpath": {
@@ -716,106 +829,155 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
- "fsevents": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
- "dev": true,
- "optional": true
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "get-intrinsic": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+ "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true
+ },
+ "github-from-package": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
+ "dev": true
},
"glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
- "dev": true,
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"requires": {
- "is-glob": "^4.0.1"
+ "is-glob": "^4.0.3"
}
},
- "globals": {
- "version": "12.4.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
- "type-fest": "^0.8.1"
+ "function-bind": "^1.1.1"
}
},
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"dev": true
},
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true
},
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
"dev": true,
"requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "lru-cache": "^6.0.0"
}
},
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
- },
- "import-fresh": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
- "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
+ "htmlparser2": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
"dev": true,
"requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "entities": "^4.3.0"
}
},
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true
},
+ "import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ }
+ },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -832,113 +994,45 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "inquirer": {
- "version": "7.3.3",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
- "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-width": "^3.0.0",
- "external-editor": "^3.0.3",
- "figures": "^3.0.0",
- "lodash": "^4.17.19",
- "mute-stream": "0.0.8",
- "run-async": "^2.4.0",
- "rxjs": "^6.6.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "through": "^2.3.6"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
},
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "interpret": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
+ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
+ "dev": true
+ },
+ "is-core-module": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
+ "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
"dev": true,
"requires": {
- "binary-extensions": "^2.0.0"
+ "has": "^1.0.3"
}
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
},
"is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
},
"is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"requires": {
"is-extglob": "^2.1.1"
}
@@ -949,10 +1043,25 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
- "is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"isexe": {
@@ -961,43 +1070,34 @@
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
- "jison": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz",
- "integrity": "sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==",
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dev": true,
"requires": {
- "JSONSelect": "0.4.0",
- "cjson": "0.3.0",
- "ebnf-parser": "0.1.10",
- "escodegen": "1.3.x",
- "esprima": "1.1.x",
- "jison-lex": "0.3.x",
- "lex-parser": "~0.1.3",
- "nomnom": "1.5.2"
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
},
"dependencies": {
- "esprima": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
- "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk="
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
}
}
},
- "jison-lex": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz",
- "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=",
- "requires": {
- "lex-parser": "0.1.x",
- "nomnom": "1.5.2"
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
"js-yaml": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
@@ -1008,124 +1108,179 @@
"esprima": "^4.0.0"
}
},
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
"dev": true
},
- "jsonlint": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz",
- "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=",
+ "keytar": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz",
+ "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==",
+ "dev": true,
"requires": {
- "JSV": ">= 4.0.x",
- "nomnom": ">= 1.5.x"
+ "node-addon-api": "^4.3.0",
+ "prebuild-install": "^7.0.1"
}
},
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
+ },
+ "linkify-it": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
+ "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
+ "uc.micro": "^1.0.1"
}
},
- "lex-parser": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz",
- "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA="
+ "loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
},
"locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
- "p-locate": "^5.0.0"
+ "p-locate": "^4.1.0"
}
},
"lodash": {
- "version": "4.17.20",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
- "log-symbols": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
- "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "markdown-it": {
+ "version": "12.3.2",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
+ "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
"dev": true,
"requires": {
- "chalk": "^4.0.0"
+ "argparse": "^2.0.1",
+ "entities": "~2.1.0",
+ "linkify-it": "^3.0.1",
+ "mdurl": "^1.0.1",
+ "uc.micro": "^1.0.5"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
+ "argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "entities": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
+ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
"dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
}
}
},
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+ "dev": true
+ },
+ "memory-fs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+ "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
"dev": true,
"requires": {
- "yallist": "^4.0.0"
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.52.0"
}
},
"mimic-fn": {
@@ -1134,118 +1289,30 @@
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
+ "mimic-response": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+ "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+ "dev": true
+ },
"minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "mocha": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz",
- "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==",
- "dev": true,
- "requires": {
- "@ungap/promise-all-settled": "1.1.2",
- "ansi-colors": "4.1.1",
- "browser-stdout": "1.3.1",
- "chokidar": "3.4.3",
- "debug": "4.2.0",
- "diff": "4.0.2",
- "escape-string-regexp": "4.0.0",
- "find-up": "5.0.0",
- "glob": "7.1.6",
- "growl": "1.10.5",
- "he": "1.2.0",
- "js-yaml": "3.14.0",
- "log-symbols": "4.0.0",
- "minimatch": "3.0.4",
- "ms": "2.1.2",
- "nanoid": "3.1.12",
- "serialize-javascript": "5.0.1",
- "strip-json-comments": "3.1.1",
- "supports-color": "7.2.0",
- "which": "2.0.2",
- "wide-align": "1.1.3",
- "workerpool": "6.0.2",
- "yargs": "13.3.2",
- "yargs-parser": "13.1.2",
- "yargs-unparser": "2.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
- "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "mkdirp-classic": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
"dev": true
},
"mute-stream": {
@@ -1254,37 +1321,85 @@
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
"dev": true
},
- "nanoid": {
- "version": "3.1.12",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz",
- "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==",
+ "napi-build-utils": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
+ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
"dev": true
},
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "node-abi": {
+ "version": "3.22.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz",
+ "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.3.5"
+ }
+ },
+ "node-addon-api": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
+ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
"dev": true
},
- "nomnom": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz",
- "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=",
+ "node-releases": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz",
+ "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
"requires": {
- "colors": "0.5.x",
- "underscore": "1.1.x"
+ "path-key": "^3.0.0"
}
},
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "requires": {
+ "boolbase": "^1.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
"dev": true
},
"once": {
@@ -1305,42 +1420,22 @@
"mimic-fn": "^2.1.0"
}
},
- "optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "requires": {
- "yocto-queue": "^0.1.0"
+ "p-try": "^2.0.0"
}
},
"p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
- "p-limit": "^3.0.2"
+ "p-limit": "^2.2.0"
}
},
"p-try": {
@@ -1349,13 +1444,40 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "parse-semver": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz",
+ "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=",
"dev": true,
"requires": {
- "callsites": "^3.0.0"
+ "semver": "^5.1.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "parse5": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz",
+ "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==",
+ "dev": true,
+ "requires": {
+ "entities": "^4.3.0"
+ }
+ },
+ "parse5-htmlparser2-tree-adapter": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
+ "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
+ "dev": true,
+ "requires": {
+ "domhandler": "^5.0.2",
+ "parse5": "^7.0.0"
}
},
"path-exists": {
@@ -1371,35 +1493,102 @@
"dev": true
},
"path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
},
"picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "prebuild-install": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz",
+ "integrity": "sha512-CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==",
+ "dev": true,
+ "requires": {
+ "detect-libc": "^2.0.0",
+ "expand-template": "^2.0.3",
+ "github-from-package": "0.0.0",
+ "minimist": "^1.2.3",
+ "mkdirp-classic": "^0.5.3",
+ "napi-build-utils": "^1.0.1",
+ "node-abi": "^3.3.0",
+ "npmlog": "^4.0.1",
+ "pump": "^3.0.0",
+ "rc": "^1.2.7",
+ "simple-get": "^4.0.0",
+ "tar-fs": "^2.0.0",
+ "tunnel-agent": "^0.6.0"
+ }
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dev": true,
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -1409,98 +1598,122 @@
"safe-buffer": "^5.1.0"
}
},
- "readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dev": true,
"requires": {
- "picomatch": "^2.2.1"
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
}
},
- "regexpp": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
- "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
- "dev": true
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
+ "read": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
+ "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+ "dev": true,
+ "requires": {
+ "mute-stream": "~0.0.4"
+ }
},
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
},
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
+ "rechoir": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+ "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "dev": true,
+ "requires": {
+ "resolve": "^1.9.0"
+ }
},
- "restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "resolve": {
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"dev": true,
"requires": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
}
},
- "rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "resolve-from": "^5.0.0"
}
},
- "run-async": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
- "rxjs": {
- "version": "6.6.3",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
- "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==",
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
- "tslib": "^1.9.0"
+ "glob": "^7.1.3"
}
},
"safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
},
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
"semver": {
- "version": "7.3.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
- "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
@@ -1512,53 +1725,78 @@
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
+ "shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.2"
+ }
+ },
"shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "shebang-regex": "^3.0.0"
}
},
"shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
"signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true
},
- "slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "dev": true
+ },
+ "simple-get": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
+ "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- }
+ "decompress-response": "^6.0.0",
+ "once": "^1.3.1",
+ "simple-concat": "^1.0.0"
}
},
"source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
- "optional": true,
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dev": true,
"requires": {
- "amdefine": ">=0.0.4"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
},
"sprintf-js": {
@@ -1568,115 +1806,156 @@
"dev": true
},
"string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- }
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
}
},
"strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "ansi-regex": "^4.1.0"
+ "ansi-regex": "^2.0.0"
},
"dependencies": {
"ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
"dev": true
}
}
},
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
"strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
"supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true
+ },
+ "tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "dev": true
+ },
+ "tar-fs": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+ "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "chownr": "^1.1.1",
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^2.1.4"
}
},
- "table": {
- "version": "5.4.6",
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
"requires": {
- "ajv": "^6.10.2",
- "lodash": "^4.17.14",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
},
"dependencies": {
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
}
}
}
},
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
+ "terser": {
+ "version": "5.13.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz",
+ "integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==",
+ "dev": true,
+ "requires": {
+ "acorn": "^8.5.0",
+ "commander": "^2.20.0",
+ "source-map": "~0.8.0-beta.0",
+ "source-map-support": "~0.5.20"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.8.0-beta.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
+ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
+ "dev": true,
+ "requires": {
+ "whatwg-url": "^7.0.0"
+ }
+ }
+ }
},
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
+ "terser-webpack-plugin": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
+ "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
+ "dev": true,
+ "requires": {
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.0",
+ "source-map": "^0.6.1",
+ "terser": "^5.7.2"
+ }
},
"tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"dev": true,
"requires": {
- "os-tmpdir": "~1.0.2"
+ "rimraf": "^3.0.0"
}
},
"to-regex-range": {
@@ -1688,186 +1967,350 @@
"is-number": "^7.0.0"
}
},
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "tsutils": {
- "version": "3.17.1",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
- "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
"dev": true,
"requires": {
- "tslib": "^1.8.1"
+ "punycode": "^2.1.0"
}
},
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "ts-loader": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz",
+ "integrity": "sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2"
+ "chalk": "^4.1.0",
+ "enhanced-resolve": "^4.0.0",
+ "loader-utils": "^2.0.0",
+ "micromatch": "^4.0.0",
+ "semver": "^7.3.4"
}
},
- "type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
"dev": true
},
- "typescript": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
- "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
+ "tunnel": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
+ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"dev": true
},
- "underscore": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz",
- "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA="
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
},
- "uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "typed-rest-client": {
+ "version": "1.8.9",
+ "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz",
+ "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==",
"dev": true,
"requires": {
- "punycode": "^2.1.0"
+ "qs": "^6.9.1",
+ "tunnel": "0.0.6",
+ "underscore": "^1.12.1"
}
},
- "v8-compile-cache": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
- "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
+ "uc.micro": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
+ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
"dev": true
},
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "underscore": {
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz",
+ "integrity": "sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==",
+ "dev": true
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "punycode": "^2.1.0"
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "url-join": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
+ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
"dev": true
},
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "dev": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "vsce": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.8.0.tgz",
+ "integrity": "sha512-p6BTbUVp33Ed0OWRRhRQT55yrmgLEca2fTmqxZJW44T1eP4yVWEsdaNIDsjFIeuCrjG/CYvwi1QLG4ql0s7bDA==",
+ "dev": true,
+ "requires": {
+ "azure-devops-node-api": "^11.0.1",
+ "chalk": "^2.4.2",
+ "cheerio": "^1.0.0-rc.9",
+ "commander": "^6.1.0",
+ "glob": "^7.0.6",
+ "hosted-git-info": "^4.0.2",
+ "keytar": "^7.7.0",
+ "leven": "^3.1.0",
+ "markdown-it": "^12.3.2",
+ "mime": "^1.3.4",
+ "minimatch": "^3.0.3",
+ "parse-semver": "^1.1.1",
+ "read": "^1.0.7",
+ "semver": "^5.1.0",
+ "tmp": "^0.2.1",
+ "typed-rest-client": "^1.8.4",
+ "url-join": "^4.0.1",
+ "xml2js": "^0.4.23",
+ "yauzl": "^2.3.1",
+ "yazl": "^2.2.2"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "color-name": "1.1.3"
}
},
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
+ },
+ "commander": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "has-flag": "^3.0.0"
}
}
}
},
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "workerpool": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz",
- "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "watchpack": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
+ "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "webpack": {
+ "version": "5.72.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz",
+ "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==",
+ "dev": true,
+ "requires": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^0.0.51",
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/wasm-edit": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "acorn": "^8.4.1",
+ "acorn-import-assertions": "^1.7.6",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.9.3",
+ "es-module-lexer": "^0.9.0",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.1.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.1.3",
+ "watchpack": "^2.3.1",
+ "webpack-sources": "^3.2.3"
},
"dependencies": {
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "enhanced-resolve": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
+ "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
}
+ },
+ "tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-cli": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
+ "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
+ "dev": true,
+ "requires": {
+ "@discoveryjs/json-ext": "^0.5.0",
+ "@webpack-cli/configtest": "^1.1.1",
+ "@webpack-cli/info": "^1.4.1",
+ "@webpack-cli/serve": "^1.6.1",
+ "colorette": "^2.0.14",
+ "commander": "^7.0.0",
+ "execa": "^5.0.0",
+ "fastest-levenshtein": "^1.0.12",
+ "import-local": "^3.0.2",
+ "interpret": "^2.2.0",
+ "rechoir": "^0.7.0",
+ "webpack-merge": "^5.7.3"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "dev": true
}
}
},
+ "webpack-merge": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
+ "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
+ "dev": true,
+ "requires": {
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
+ }
+ },
+ "webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "wildcard": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+ "dev": true
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "write": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
- "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "xml2js": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+ "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"dev": true,
"requires": {
- "mkdirp": "^0.5.1"
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
}
},
- "y18n": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
- "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
+ "xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"dev": true
},
"yallist": {
@@ -1876,133 +2319,24 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- },
- "dependencies": {
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- }
- }
- },
- "yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+ "yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
"dev": true,
"requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
}
},
- "yargs-unparser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "yazl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz",
+ "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==",
"dev": true,
"requires": {
- "camelcase": "^6.0.0",
- "decamelize": "^4.0.0",
- "flat": "^5.0.2",
- "is-plain-obj": "^2.1.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
- "dev": true
- },
- "decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
- "dev": true
- }
+ "buffer-crc32": "~0.2.3"
}
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true
}
}
}
diff --git a/package.json b/package.json
index f5dbcb0..d71220a 100644
--- a/package.json
+++ b/package.json
@@ -3,11 +3,11 @@
"displayName": "DBC Language Syntax",
"description": "Provides VS Code support for CAN DBC files",
"repository": {
- "tpye": "git",
+ "type": "git",
"url": "https://github.com/lharri73/DBC-Language-Syntax"
},
"license": "GPL-2.0-only",
- "version": "1.2.3",
+ "version": "2.0.0",
"publisher": "lharri73",
"engines": {
"vscode": "^1.43.0"
@@ -22,13 +22,18 @@
"candb",
"dbc",
"vector",
- "canbus"
+ "canbus",
+ "j1939"
],
"icon": "res/image.png",
+ "galleryBanner": {
+ "color": "#77c3e4",
+ "theme": "dark"
+ },
"activationEvents": [
"onLanguage:dbc"
],
- "main": "./client/out/extension",
+ "main": "./client/build/ext-src/serverPack.js",
"contributes": {
"languages": [
{
@@ -77,29 +82,49 @@
"description": "Traces the communication between VS Code and the language server."
}
}
+ },
+ "commands": [
+ {
+ "command": "dbc.showPreview",
+ "title": "Open DBC Preview",
+ "category": "dbc",
+ "icon": {
+ "light": "res/open-preview_light.svg",
+ "dark": "res/open-preview_dark.svg"
+ }
+ }
+ ],
+ "menus": {
+ "editor/title": [
+ {
+ "when": "editorLangId == 'dbc' && dbcLangSyntax.clientActive",
+ "command": "dbc.showPreview",
+ "group": "navigation@1"
+ }
+ ]
}
},
"scripts": {
"vscode:prepublish": "make",
- "compile": "tsc -b",
- "watch": "tsc -b -w",
- "postinstall": "cd client && npm install && cd ../server && npm install && cd ../"
+ "build": "make",
+ "postinstall": "cd client && npm install && cd ../server && npm install && cd ../dbcLib && npm install"
},
"devDependencies": {
- "@types/mocha": "^8.0.3",
- "@types/node": "^12.19.9",
- "@typescript-eslint/parser": "^2.3.0",
- "eslint": "^6.4.0",
"js-yaml": "^3.14.1",
- "mocha": "^8.1.1",
- "typescript": "^4.0.2"
- },
- "dependencies": {
- "jison": "^0.4.18"
+ "ts-loader": "^8.1.0",
+ "vsce": "^2.8.0",
+ "webpack": "^5.68.0",
+ "webpack-cli": "^4.7.2"
},
"__metadata": {
"id": "92ea9bed-7f15-4d90-a0ab-8ff9481c55e9",
"publisherDisplayName": "Landon Harris",
"publisherId": "8bcdfeae-f8a0-4401-944b-f6c335536b5a"
+ },
+ "dependencies": {
+ "ansi-regex": "^6.0.1",
+ "glob-parent": "^6.0.2",
+ "lodash": "^4.17.21",
+ "minimist": "^1.2.6"
}
}
diff --git a/res/open-preview_dark.svg b/res/open-preview_dark.svg
new file mode 100644
index 0000000..f8b35ad
--- /dev/null
+++ b/res/open-preview_dark.svg
@@ -0,0 +1,84 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+ DBC
+
diff --git a/res/open-preview_light.svg b/res/open-preview_light.svg
new file mode 100644
index 0000000..5edabaf
--- /dev/null
+++ b/res/open-preview_light.svg
@@ -0,0 +1,83 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+ DBC
+
diff --git a/res/sidebar.gif b/res/sidebar.gif
new file mode 100644
index 0000000..67c3344
Binary files /dev/null and b/res/sidebar.gif differ
diff --git a/server/dbc.jison b/server/dbc.jison
index e5ed173..c64f9a8 100644
--- a/server/dbc.jison
+++ b/server/dbc.jison
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2021 Landon Harris
+ * Copyright (C) 2022 Landon Harris
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; version 2.
@@ -17,22 +17,18 @@
%{
const path = require("path");
-const {
- Attribute,
- AttributeDef,
- Database,
- EnvironmentVariable,
- Message,
- Node,
- Signal,
- SignalGroup,
- SignalType,
- ValTable,
- ValueType
-} = require(path.join(__dirname, "../../../out/db.js"));
-const { DBCError } = require(path.join(__dirname, "../../../out/errors.js"));
-
-var db = new Database();
+const dbclib = require(path.resolve(path.join(__dirname, '../../dbcLib/build/serverPack.js')));
+// const { Database } = require(path.join(dbcSrcDir, "db.js"));
+// const { Attribute, AttributeDef } = require(path.join(dbcSrcDir, "attributes.js"));
+// const { EnvironmentVariable } = require(path.join(dbcSrcDir, "ev.js"));
+// const { Message } = require(path.join(dbcSrcDir, "message.js"));
+// const { Node } = require(path.join(dbcSrcDir, "node.js"));
+// const { Signal, SignalGroup, SignalType } = require(path.join(dbcSrcDir, "signal.js"));
+// const { ValTable, ValueType } = require(path.join(dbcSrcDir, "valtable.js"));
+// const { DBCError } = require(path.join(dbcSrcDir,
+// "../errors.js"));
+// const Database = require('db')
+const db = new dbclib.Database();
%}
@@ -145,7 +141,7 @@ nodes
node_names
: %empty
| node_names node_name {
- db.nodes.set($node_name, new Node($node_name));
+ db.nodes.set($node_name, new dbclib.Node($node_name));
};
node_name
@@ -161,7 +157,7 @@ val_tables
val_table
: VAL_TABLE UNSAFE_WORD val_table_descriptions SEMICOLON EOL{
- $$ = new ValTable($UNSAFE_WORD);
+ $$ = new dbclib.ValTable($UNSAFE_WORD);
$$.descriptions = $val_table_descriptions;
};
@@ -189,7 +185,7 @@ messages
message
: BO id UNSAFE_WORD COLON DECIMAL transmitter EOL signals {
- $$ = new Message(yylineno,
+ $$ = new dbclib.Message(yylineno,
$id,
$UNSAFE_WORD,
parseInt($DECIMAL),
@@ -216,8 +212,8 @@ signals
signal
: SG UNSAFE_WORD /*multiplexer*/ COLON DECIMAL VBAR DECIMAL AT
byte_order signal_val_type OPEN_PAREN number COMMA number CLOSE_PAREN
- OPEN_BRACK number VBAR number CLOSE_BRACK QUOTED_STRING receivers EOL{
- $$ = new Signal(yylineno,
+ OPEN_BRACK number VBAR number CLOSE_BRACK QUOTED_STRING receivers EOL {
+ $$ = new dbclib.Signal(yylineno,
/*name: */$2,
/*start: */Number($4),
/*size: */Number($6),
@@ -238,7 +234,7 @@ byte_order
}else if( $1 == 1){
$$ = true;
}else{
- db.parseErrors.push(new DBCError(yylineno, "Byte order should be '0' or '1'\n Found " + $1, 1));
+ db.parseErrors.push(new dbclib.DBCError(yylineno, "Byte order should be '0' or '1'\n Found " + $1, 1));
$$ = true;
}
};
@@ -301,7 +297,7 @@ env_var
if(db.environmentVariables.has($2)){
cur = db.environmentVariables.get($2);
}else{
- cur = new EnvironmentVariable();
+ cur = new dbclib.EnvironmentVariable();
}
cur.name = $2;
@@ -325,7 +321,7 @@ env_var_type
}else if($1 == '2'){
$$ = 2;
}else{
- db.parseErrors.push(new DBCError(yylineno, "Environment variable type should be 0,1,2: \n(0: Int, 1: Float, 2: String)", 1));
+ db.parseErrors.push(new dbclib.DBCError(yylineno, "Environment variable type should be 0,1,2: \n(0: Int, 1: Float, 2: String)", 1));
$$ = 2;
}
};
@@ -371,7 +367,7 @@ signal_type
OPEN_PAREN number COMMA number CLOSE_PAREN
OPEN_BRACK number VBAR number CLOSE_BRACK
QUOTED_STRING number COMMA UNSAFE_WORD SEMICOLON EOL {
- var cursigType = new SignalType(
+ var cursigType = new dbclib.SignalType(
$2, /* name */
$4, /* size */
$6, /* byte_order */
@@ -399,7 +395,7 @@ comment
db.comment = $QUOTED_STRING;
} // -1 for the EOL
| CM BU UNSAFE_WORD QUOTED_STRING SEMICOLON EOL {
- var error = new DBCError(yy.lexer.yylloc.first_line-1, "Undefined node name: " + $UNSAFE_WORD, 0, $UNSAFE_WORD);
+ var error = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Undefined node name: " + $UNSAFE_WORD, 0, $UNSAFE_WORD);
error.addMapCondition(db.nodes, $UNSAFE_WORD);
db.parseErrors.push(error);
@@ -408,7 +404,7 @@ comment
db.nodes.get($UNSAFE_WORD).comment = $QUOTED_STRING;
}
| CM BO id QUOTED_STRING SEMICOLON EOL {
- var error = new DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $id, 0, $id);
+ var error = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $id, 0, $id);
error.addMapCondition(db.messages, $id);
db.parseErrors.push(error);
@@ -416,11 +412,11 @@ comment
db.messages.get($id).comment = $QUOTED_STRING;
}
| CM SG id UNSAFE_WORD QUOTED_STRING SEMICOLON EOL {
- var error = new DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $id, 0, $UNSAFE_WORD);
+ var error = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $id, 0, $UNSAFE_WORD);
error.addMapCondition(db.messages, $id);
db.parseErrors.push(error);
- var error2 = new DBCError(yy.lexer.yylloc.first_line-1, "Signal '" +$UNSAFE_WORD+"' NOT IN message " + $id, 0, $UNSAFE_WORD);
+ var error2 = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Signal '" +$UNSAFE_WORD+"' NOT IN message " + $id, 0, $UNSAFE_WORD);
error2.addMapCondition(db.messages.get($id)?.signals, $UNSAFE_WORD);
db.parseErrors.push(error2);
@@ -443,10 +439,10 @@ attribute_deffinitions
attribute_definition
: BA_DEF attr_obj_type QUOTED_STRING attr_val_type SEMICOLON EOL {
- db.attrDefs.set($3, new AttributeDef($3, $2, $4));
+ db.attrDefs.set($3, new dbclib.AttributeDef($3, $2, $4));
}
| BA_DEF_REL attr_obj_type QUOTED_STRING attr_val_type SEMICOLON EOL{
- db.attrDefs.set($3, new AttributeDef($3, $2, $4));
+ db.attrDefs.set($3, new dbclib.AttributeDef($3, $2, $4));
};
attr_obj_type
@@ -461,25 +457,25 @@ attr_obj_type
attr_val_type
: INT number number {
- $$ = new ValueType(0);
+ $$ = new dbclib.ValueType(0);
$$.min = $2;
$$.max = $3;
}
| HEX number number {
- $$ = new ValueType(1);
+ $$ = new dbclib.ValueType(1);
$$.min = $2;
$$.max = $3;
}
| FLOAT number number{
- $$ = new ValueType(2);
+ $$ = new dbclib.ValueType(2);
$$.min = $2;
$$.max = $3;
}
| STRING{
- $$ = new ValueType(3);
+ $$ = new dbclib.ValueType(3);
}
| ENUM enumVals{
- $$ = new ValueType(4);
+ $$ = new dbclib.ValueType(4);
$$.enumVals = $2;
};
@@ -526,7 +522,7 @@ signal_group
curGroup = db.messages.get($2).signalGroups.get($3);
// throw error?
}else{
- curGroup = new SignalGroup();
+ curGroup = new dbclib.SignalGroup();
}
curGroup.messageId = $2;
curGroup.name = $3;
@@ -564,38 +560,38 @@ attribute_valssss
attribute_vals
: BA QUOTED_STRING attribute_val SEMICOLON EOL {
// network attribute
- var attribute = new Attribute($2, 0, $3);
+ var attribute = new dbclib.Attribute($2, 0, $3);
db.attributes.set($2, attribute);
}
| BA QUOTED_STRING BU UNSAFE_WORD attribute_val SEMICOLON EOL {
- var error = new DBCError(yy.lexer.yylloc.first_line-1, "Undefined node: " + $4, 0, $QUOTED_STRING);
+ var error = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Undefined node: " + $4, 0, $QUOTED_STRING);
error.addMapCondition(db.nodes, $4);
db.parseErrors.push(error);
- var attribute = new Attribute($2, 1, $4);
+ var attribute = new dbclib.Attribute($2, 1, $4);
if(db.nodes.has($4) && db.nodes.get($4).attributes.has($2))
db.nodes.get($4).attributes.set($2,attribute);
}
| BA QUOTED_STRING BO id attribute_val SEMICOLON EOL {
- var error = new DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $4, 0, $QUOTED_STRING);
+ var error = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $4, 0, $QUOTED_STRING);
error.addMapCondition(db.messages, $4);
db.parseErrors.push(error);
- var attribute = new Attribute($2, 2, $5);
+ var attribute = new dbclib.Attribute($2, 2, $5);
if(db.messages.has($4) && db.messages.get($4).attributes.has($2))
db.messages.get($4).attributes.set($2, attribute);
}
| BA QUOTED_STRING SG id UNSAFE_WORD attribute_val SEMICOLON EOL {
- var error = new DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $4, 0, $QUOTED_STRING);
+ var error = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Undefined message: " + $4, 0, $QUOTED_STRING);
error.addMapCondition(db.messages, $4);
db.parseErrors.push(error);
- var error2 = new DBCError(yy.lexer.yylloc.first_line-1, "Undefined signal: '" + $5 + "'", 0, $QUOTED_STRING);
+ var error2 = new dbclib.DBCError(yy.lexer.yylloc.first_line-1, "Undefined signal: '" + $5 + "'", 0, $QUOTED_STRING);
error2.addMapCondition(db.messages.get($4)?.signals, $5);
db.parseErrors.push(error2);
- var attribute = new Attribute($2, 3, $6);
+ var attribute = new dbclib.Attribute($2, 3, $6);
if(db.messages.has($4) && db.messages.get($4).signals.has($5))
db.messages.get($4).signals.get($5).attributes.set($2, attribute);
@@ -605,7 +601,7 @@ attribute_vals
if(!db.environmentVariables.has($4)){
// db.parseErrors.push(new DBCParseError(yy.lexer.yylloc.first_line-1, "Cannot assgn environment variable attribute to undefined environment variable '" + $4 + "'\nUndefined Environment Variable: " + $4));
}else{
- var attribute = new Attribute($2, 4, $5);
+ var attribute = new dbclib.Attribute($2, 4, $5);
db.environmentVariables.get($4).attributes.set($2, attribute);
}
}
diff --git a/server/dbc.lex b/server/dbc.lex
index ac60652..17de90d 100644
--- a/server/dbc.lex
+++ b/server/dbc.lex
@@ -75,7 +75,7 @@ DEFINER (?![a-zA-Z])
"[" {return "OPEN_BRACK"}
"]" {return "CLOSE_BRACK"}
-([ ]*[\r\n]+)+ {return "EOL"}
+(\s*[\r\n]+)+ {return "EOL"}
{HEX_PREFIX}{HEX_DIGIT}+ {return "HEX"}
{UNSAFE_WORD} {return "UNSAFE_WORD"}
{DIGIT}+"."?{DIGIT}*{EPONENT} {return "DECIMAL_EXP"}
diff --git a/server/out/.keep b/server/out/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/server/package-lock.json b/server/package-lock.json
index e425698..236a799 100644
--- a/server/package-lock.json
+++ b/server/package-lock.json
@@ -4,6 +4,359 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@discoveryjs/json-ext": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz",
+ "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==",
+ "dev": true
+ },
+ "@gerhobbelt/ast-types": {
+ "version": "0.9.13-4",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/ast-types/-/ast-types-0.9.13-4.tgz",
+ "integrity": "sha512-V8UIj1XN6XOP014fPpecxEa7AlAB9kaTOB/wF9UbguuwIMWCHDmdA9i03JDK9zXyVDVaLWCYh42JK8F9f27AtA==",
+ "dev": true
+ },
+ "@gerhobbelt/ast-util": {
+ "version": "0.6.1-4",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/ast-util/-/ast-util-0.6.1-4.tgz",
+ "integrity": "sha512-NP7YZh7rR6CNiMLyKTF+qb2Epx0r5x/zKQ3Z14TgXl73YJurC8WkMkFM9nDj8cRXb6R+f+BEu4DqAvvYKMxbqg==",
+ "dev": true,
+ "requires": {
+ "@gerhobbelt/ast-types": "0.9.13-4",
+ "private": "0.1.7"
+ }
+ },
+ "@gerhobbelt/linewrap": {
+ "version": "0.2.2-3",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/linewrap/-/linewrap-0.2.2-3.tgz",
+ "integrity": "sha512-u2eUbXgNtqckBI4gxds/uiUNoytT+qIqpePmVDI5isW8A18uB3Qz1P+UxAHgFafGOZWJNrpR0IKnZhl7QhaUng==",
+ "dev": true
+ },
+ "@gerhobbelt/nomnom": {
+ "version": "1.8.4-24",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/nomnom/-/nomnom-1.8.4-24.tgz",
+ "integrity": "sha512-spzyz2vHd1BhYNSUMXjqJOwk4AjnOIzZz3cYCOryUCzMvlqz01/+SAPEy/pjT47CrOGdWd0JgemePjru1aLYgQ==",
+ "dev": true,
+ "requires": {
+ "@gerhobbelt/linewrap": "0.2.2-3",
+ "chalk": "2.1.0",
+ "exit": "0.1.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
+ "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.1.0",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^4.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^2.0.0"
+ }
+ }
+ }
+ },
+ "@gerhobbelt/recast": {
+ "version": "0.13.0-24",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/recast/-/recast-0.13.0-24.tgz",
+ "integrity": "sha512-WqIAY+8RwgsgZHtJjeZJK3/w60uOMGOiW3Tcrm+gE31a3lcCjMnCgmYbauHLGCUYdRtepGS+jnr29ub3MFhKCg==",
+ "dev": true,
+ "requires": {
+ "@gerhobbelt/ast-types": "0.10.1-15",
+ "@gerhobbelt/esprima": "4.0.1-15",
+ "core-js": "2.5.3",
+ "private": "0.1.8",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "@gerhobbelt/ast-types": {
+ "version": "0.10.1-15",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/ast-types/-/ast-types-0.10.1-15.tgz",
+ "integrity": "sha512-CXoPKXH9xqCiWza0S/4TFjXa7aS8GAA8gYenBzhMN5+VwWDFBd2QVUGESq75nRe+yxgUkzSFQvq6rtAuQLRouA==",
+ "dev": true
+ },
+ "@gerhobbelt/esprima": {
+ "version": "4.0.1-15",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/esprima/-/esprima-4.0.1-15.tgz",
+ "integrity": "sha512-0VITWyCsgbRlNv0WjWfEszAHcgJL/iAQKSNfzU/uoJ6S7W/mgM8q4iWmzv7BDl4nmRpcYoSqW2B/BwXJNFzNMg==",
+ "dev": true
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "@gerhobbelt/xregexp": {
+ "version": "3.2.0-22",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/xregexp/-/xregexp-3.2.0-22.tgz",
+ "integrity": "sha512-TRu38Z67VxFSMrBP3z/ORiJVQqp56ulidZirbobtmJnVGBWLdo4GbHtihgIJFGieIZuk+LxmPkK45SY+SQsR3A==",
+ "dev": true
+ },
+ "@types/eslint": {
+ "version": "7.2.9",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.9.tgz",
+ "integrity": "sha512-SdAAXZNvWfhtf3X3y1cbbCZhP3xyPh7mfTvzV6CgfWc/ZhiHpyr9bVroe2/RCHIf7gczaNcprhaBLsx0CCJHQA==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "@types/eslint-scope": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz",
+ "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==",
+ "dev": true,
+ "requires": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.46",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz",
+ "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==",
+ "dev": true
+ },
+ "@types/json-schema": {
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "14.14.37",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
+ "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
+ "dev": true
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz",
+ "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-numbers": "1.11.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.0"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz",
+ "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz",
+ "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz",
+ "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-numbers": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz",
+ "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.0",
+ "@webassemblyjs/helper-api-error": "1.11.0",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz",
+ "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz",
+ "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.0",
+ "@webassemblyjs/helper-buffer": "1.11.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+ "@webassemblyjs/wasm-gen": "1.11.0"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz",
+ "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==",
+ "dev": true,
+ "requires": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz",
+ "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==",
+ "dev": true,
+ "requires": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz",
+ "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==",
+ "dev": true
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz",
+ "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.0",
+ "@webassemblyjs/helper-buffer": "1.11.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+ "@webassemblyjs/helper-wasm-section": "1.11.0",
+ "@webassemblyjs/wasm-gen": "1.11.0",
+ "@webassemblyjs/wasm-opt": "1.11.0",
+ "@webassemblyjs/wasm-parser": "1.11.0",
+ "@webassemblyjs/wast-printer": "1.11.0"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz",
+ "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+ "@webassemblyjs/ieee754": "1.11.0",
+ "@webassemblyjs/leb128": "1.11.0",
+ "@webassemblyjs/utf8": "1.11.0"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz",
+ "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.0",
+ "@webassemblyjs/helper-buffer": "1.11.0",
+ "@webassemblyjs/wasm-gen": "1.11.0",
+ "@webassemblyjs/wasm-parser": "1.11.0"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz",
+ "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.0",
+ "@webassemblyjs/helper-api-error": "1.11.0",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.0",
+ "@webassemblyjs/ieee754": "1.11.0",
+ "@webassemblyjs/leb128": "1.11.0",
+ "@webassemblyjs/utf8": "1.11.0"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz",
+ "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.11.0",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "@webpack-cli/configtest": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.3.tgz",
+ "integrity": "sha512-WQs0ep98FXX2XBAfQpRbY0Ma6ADw8JR6xoIkaIiJIzClGOMqVRvPCWqndTxf28DgFopWan0EKtHtg/5W1h0Zkw==",
+ "dev": true
+ },
+ "@webpack-cli/info": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.4.tgz",
+ "integrity": "sha512-ogE2T4+pLhTTPS/8MM3IjHn0IYplKM4HbVNMCWA9N4NrdPzunwenpCsqKEXyejMfRu6K8mhauIPYf8ZxWG5O6g==",
+ "dev": true,
+ "requires": {
+ "envinfo": "^7.7.3"
+ }
+ },
+ "@webpack-cli/serve": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.4.0.tgz",
+ "integrity": "sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg==",
+ "dev": true
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true
+ },
"JSONSelect": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz",
@@ -14,12 +367,119 @@
"resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
"integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c="
},
+ "acorn": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz",
+ "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-errors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+ "dev": true
+ },
+ "ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true
+ },
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"optional": true
},
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browserslist": {
+ "version": "4.16.6",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
+ "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001219",
+ "colorette": "^1.2.2",
+ "electron-to-chromium": "^1.3.723",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.71"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001230",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz",
+ "integrity": "sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "chrome-trace-event": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+ "dev": true
+ },
"cjson": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz",
@@ -28,16 +488,188 @@
"jsonlint": "1.6.0"
}
},
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "colorette": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "dev": true
+ },
"colors": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",
"integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q="
},
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "core-js": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
+ "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "dbclib": {
+ "version": "file:../dbcLib",
+ "requires": {
+ "@msgpack/msgpack": "^2.7.0",
+ "js-base64": "^3.6.1"
+ },
+ "dependencies": {
+ "@msgpack/msgpack": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.7.0.tgz",
+ "integrity": "sha512-mlRYq9FSsOd4m+3wZWatemn3hGFZPWNJ4JQOdrir4rrMK2PyIk26idKBoUWrqF3HJJHl+5GpRU+M0wEruJwecg=="
+ },
+ "js-base64": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.1.tgz",
+ "integrity": "sha512-Frdq2+tRRGLQUIQOgsIGSCd1VePCS2fsddTG5dTCqR0JHgltXWfsxnY0gIXPoMeRmdom6Oyq+UMOFg5suduOjQ=="
+ }
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
"ebnf-parser": {
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz",
"integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE="
},
+ "electron-to-chromium": {
+ "version": "1.3.741",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.741.tgz",
+ "integrity": "sha512-4i3T0cwnHo1O4Mnp9JniEco8bZiXoqbm3PhW5hv7uu8YLg35iajYrRnNyKFaN8/8SSTskU2hYqVTeYVPceSpUA==",
+ "dev": true
+ },
+ "emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "dev": true
+ },
+ "enhanced-resolve": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
+ "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ }
+ },
+ "envinfo": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
+ "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "dev": true,
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
+ "es-module-lexer": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
+ "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==",
+ "dev": true
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
"escodegen": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
@@ -49,11 +681,46 @@
"source-map": "~0.1.33"
}
},
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ }
+ }
+ },
"esprima": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
"integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk="
},
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.2.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true
+ }
+ }
+ },
"estraverse": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
@@ -64,6 +731,219 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
"integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA="
},
+ "events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true
+ },
+ "execa": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
+ "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fastest-levenshtein": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
+ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true
+ },
+ "glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true
+ },
+ "import-local": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "interpret": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
+ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
+ "dev": true
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-core-module": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
+ "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "jest-worker": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
+ "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
"jison": {
"version": "0.4.18",
"resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz",
@@ -79,6 +959,74 @@
"nomnom": "1.5.2"
}
},
+ "jison-gho-loader": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/jison-gho-loader/-/jison-gho-loader-1.0.2.tgz",
+ "integrity": "sha512-IlazJw+EkFihV3cR+ByIwmTb7xXzb5ztQOwJXv8n4Dj0lALRk5eDCZrMnJb5Ks/f0+YzSbndaeKNtFRllHC98A==",
+ "dev": true,
+ "requires": {
+ "jison-gho": "^0.6.1-216",
+ "loader-utils": "^1.2.3",
+ "schema-utils": "^1.0.0"
+ },
+ "dependencies": {
+ "@gerhobbelt/json5": {
+ "version": "0.5.1-21",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/json5/-/json5-0.5.1-21.tgz",
+ "integrity": "sha512-BwqwZb2iv7Iu4nwJwj1D0LKvnvKxMVXB+VgTsrwb+s36KY/xYaTmKbFq0MAoEGiMBcB8jz3/L/J6lBBdx5XqAw==",
+ "dev": true,
+ "requires": {
+ "yargs": "10.0.3"
+ }
+ },
+ "jison-gho": {
+ "version": "0.6.1-216",
+ "resolved": "https://registry.npmjs.org/jison-gho/-/jison-gho-0.6.1-216.tgz",
+ "integrity": "sha512-sBwC7puJgM1ECfBX0dbHpNo0v0+Dz4vXPoEpxUSVH8m3BiNRYLYtJeACC5vm8ACK5F4bQWrcHNacrqcVrYnWqA==",
+ "dev": true,
+ "requires": {
+ "@gerhobbelt/ast-util": "0.6.1-4",
+ "@gerhobbelt/json5": "0.5.1-21",
+ "@gerhobbelt/nomnom": "1.8.4-24",
+ "@gerhobbelt/recast": "0.13.0-24",
+ "@gerhobbelt/xregexp": "3.2.0-22"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ }
+ }
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
+ }
+ },
"jison-lex": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz",
@@ -88,6 +1036,32 @@
"nomnom": "1.5.2"
}
},
+ "js-base64": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.0.tgz",
+ "integrity": "sha512-wVdUBYQeY2gY73RIlPrysvpYx+2vheGo8Y1SNQv/BzHToWpAZzJU7Z6uheKMAe+GLSBig5/Ps2nxg/8tRB73xg=="
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
+ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
"jsonlint": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz",
@@ -97,11 +1071,143 @@
"nomnom": ">= 1.5.x"
}
},
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
"lex-parser": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz",
"integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA="
},
+ "loader-runner": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
+ "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "mem": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ },
+ "dependencies": {
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ }
+ }
+ },
+ "memory-fs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+ "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+ "dev": true,
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.2.3"
+ }
+ },
+ "mime-db": {
+ "version": "1.47.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
+ "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.30",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
+ "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.47.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "1.1.72",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz",
+ "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==",
+ "dev": true
+ },
"nomnom": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz",
@@ -111,6 +1217,387 @@
"underscore": "1.1.x"
}
},
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
+ "dev": true,
+ "requires": {
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ }
+ }
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ },
+ "dependencies": {
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ }
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
+ "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "private": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
+ "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "rechoir": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
+ "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
+ "dev": true,
+ "requires": {
+ "resolve": "^1.9.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.6",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "serialize-javascript": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
+ "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.2"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+ "dev": true
+ },
"source-map": {
"version": "0.1.43",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
@@ -120,31 +1607,211 @@
"amdefine": ">=0.0.4"
}
},
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "dev": true
+ },
+ "terser": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz",
+ "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.7.2",
+ "source-map-support": "~0.5.19"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz",
+ "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==",
+ "dev": true,
+ "requires": {
+ "jest-worker": "^26.6.2",
+ "p-limit": "^3.1.0",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
+ "source-map": "^0.6.1",
+ "terser": "^5.5.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "ts-loader": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.1.0.tgz",
+ "integrity": "sha512-YiQipGGAFj2zBfqLhp28yUvPP9jUGqHxRzrGYuc82Z2wM27YIHbElXiaZDc93c3x0mz4zvBmS6q/DgExpdj37A==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "enhanced-resolve": "^4.0.0",
+ "loader-utils": "^2.0.0",
+ "micromatch": "^4.0.0",
+ "semver": "^7.3.4"
+ }
+ },
"underscore": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz",
"integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA="
},
+ "uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
"vscode-jsonrpc": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.1.tgz",
- "integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A=="
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz",
+ "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg=="
},
"vscode-languageserver": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-6.1.1.tgz",
- "integrity": "sha512-DueEpkUAkD5XTR4MLYNr6bQIp/UFR0/IPApgXU3YfCBCB08u2sm9hRCs6DxYZELkk++STPjpcjksR2H8qI3cDQ==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz",
+ "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==",
"requires": {
- "vscode-languageserver-protocol": "^3.15.3"
+ "vscode-languageserver-protocol": "3.16.0"
}
},
"vscode-languageserver-protocol": {
- "version": "3.15.3",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz",
- "integrity": "sha512-zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==",
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz",
+ "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==",
"requires": {
- "vscode-jsonrpc": "^5.0.1",
- "vscode-languageserver-types": "3.15.1"
+ "vscode-jsonrpc": "6.0.0",
+ "vscode-languageserver-types": "3.16.0"
}
},
"vscode-languageserver-textdocument": {
@@ -153,9 +1820,267 @@
"integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA=="
},
"vscode-languageserver-types": {
- "version": "3.15.1",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz",
- "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ=="
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
+ "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA=="
+ },
+ "watchpack": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz",
+ "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==",
+ "dev": true,
+ "requires": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ }
+ },
+ "webpack": {
+ "version": "5.31.2",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.31.2.tgz",
+ "integrity": "sha512-0bCQe4ybo7T5Z0SC5axnIAH+1WuIdV4FwLYkaAlLtvfBhIx8bPS48WHTfiRZS1VM+pSiYt7e/rgLs3gLrH82lQ==",
+ "dev": true,
+ "requires": {
+ "@types/eslint-scope": "^3.7.0",
+ "@types/estree": "^0.0.46",
+ "@webassemblyjs/ast": "1.11.0",
+ "@webassemblyjs/wasm-edit": "1.11.0",
+ "@webassemblyjs/wasm-parser": "1.11.0",
+ "acorn": "^8.0.4",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.7.0",
+ "es-module-lexer": "^0.4.0",
+ "eslint-scope": "^5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.4",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.0.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.1.1",
+ "watchpack": "^2.0.0",
+ "webpack-sources": "^2.1.1"
+ },
+ "dependencies": {
+ "enhanced-resolve": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz",
+ "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ }
+ },
+ "tapable": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz",
+ "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-cli": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.0.tgz",
+ "integrity": "sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g==",
+ "dev": true,
+ "requires": {
+ "@discoveryjs/json-ext": "^0.5.0",
+ "@webpack-cli/configtest": "^1.0.3",
+ "@webpack-cli/info": "^1.2.4",
+ "@webpack-cli/serve": "^1.4.0",
+ "colorette": "^1.2.1",
+ "commander": "^7.0.0",
+ "execa": "^5.0.0",
+ "fastest-levenshtein": "^1.0.12",
+ "import-local": "^3.0.2",
+ "interpret": "^2.2.0",
+ "rechoir": "^0.7.0",
+ "v8-compile-cache": "^2.2.0",
+ "webpack-merge": "^5.7.3"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-merge": {
+ "version": "5.7.3",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz",
+ "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==",
+ "dev": true,
+ "requires": {
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
+ }
+ },
+ "webpack-sources": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz",
+ "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==",
+ "dev": true,
+ "requires": {
+ "source-list-map": "^2.0.1",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "wildcard": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "y18n": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
+ "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz",
+ "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "find-up": "^2.1.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^8.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
+ "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true
}
}
}
diff --git a/server/package.json b/server/package.json
index aeafa1f..cf10734 100644
--- a/server/package.json
+++ b/server/package.json
@@ -13,10 +13,20 @@
"url": "https://github.com/lharri73/DBC-Language-Syntax"
},
"dependencies": {
+ "dbclib": "file:../dbcLib",
"jison": "^0.4.18",
"jison-lex": "^0.3.4",
- "vscode-languageserver": "^6.1.1",
+ "js-base64": "^3.6.0",
+ "vscode-languageserver": "^7.0.0",
"vscode-languageserver-textdocument": "^1.0.1"
},
- "scripts": {}
+ "scripts": {
+ "build": "tsc && webpack --mode development"
+ },
+ "devDependencies": {
+ "jison-gho-loader": "^1.0.2",
+ "ts-loader": "^8.1.0",
+ "webpack": "^5.31.2",
+ "webpack-cli": "^4.7.0"
+ }
}
diff --git a/server/src/db.ts b/server/src/db.ts
deleted file mode 100644
index 934238b..0000000
--- a/server/src/db.ts
+++ /dev/null
@@ -1,278 +0,0 @@
-/**
- * Copyright (C) 2021 Landon Harris
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * .
-*/
-
-import { DBCError } from "./errors";
-export class Signal {
- public constructor(lineNo: number,
- Name: string,
- Start: number,
- Size: number,
- Order: boolean,
- Type: boolean,
- Factor: number,
- Offset: number,
- Min: number,
- Max: number,
- Unit: string,
- Receivers: string[]){
- this.name = Name;
- this.startBit = Start;
- this.bitSize = Size;
- this.byteOrder = Order;
- this.valueType = Type;
- this.factor = Factor;
- this.offset = Offset;
- this.minimun = Min;
- this.maximum = Max;
- this.unit = Unit;
- this.receivers = Receivers;
- this.valTable = null;
- this.comment = "";
- this.attributes = new Map();
- this.lineNum = lineNo;
- }
-
- public name: string;
- public startBit: number;
- public bitSize: number;
- public byteOrder: boolean; // true: little, false: big
- public valueType: boolean; // true: signed, false: unsigned
- public factor: number;
- public offset: number;
- public minimun: number;
- public maximum: number;
- public unit: string;
- public receivers: string[];
- public valTable: ValTable | null;
- public comment: string;
- public attributes: Map;
- public lineNum: number;
-}
-
-export class Message{
- public constructor(endLineNum: number,
- Id: number,
- Name: string,
- Size: number,
- Transmitter: string,
- Signals: Map){
- this.id = Id;
- this.name = Name;
- this.size = Size;
- this.transmitter = Transmitter;
- this.signals = Signals;
- this.comment = "";
- this.transmitters = [];
- this.signalGroups = new Map();
- this.attributes = new Map();
- this.endNum = endLineNum;
- }
- public id: number;
- public name: string;
- public size: number;
- public transmitter: string;
- public transmitters: string[];
- public signals: Map;
- public comment: string;
- public signalGroups: Map;
- public attributes: Map;
-
- private endNum: number;
-
- get lineNum(): number{
- return this.endNum - this.signals.size;
- }
-}
-
-export class EnvironmentVariable{
- public constructor(){
- this.name = "";
- this.type = 2;
- this.min = -1;
- this.max = 0;
- this.unit = "";
- this.initialVal = 0;
- this.id = 0;
- this.transmitters = [];
- this.valueDescriptions = new Map();
- this.dataSize = 0; // used when ENVVAR_DATA is present
- this.comment = "";
- this.attributes = new Map();
- }
- public name: string;
- public type: number; // 0: integer, 1: float, 2: string, 3: data(ENVVAR_DATA)
- public min: number;
- public max: number;
- public unit: string;
- public initialVal: number;
- public id: number;
- public transmitters: string[];
- public valueDescriptions: Map;
- public dataSize: number;
- public comment: string;
- public attributes: Map;
-}
-
-export class SignalType{
- public constructor(name: string,
- size: number,
- byteOrder: boolean,
- valueType: boolean,
- factor: number,
- offset: number,
- min: number,
- max: number,
- unit: string,
- defaultVal: number,
- valTable: string){
- this.name = name;
- this.size = size;
- this.byteOrder = byteOrder;
- this.valueType = valueType;
- this.factor = factor;
- this.offset = offset;
- this.minimum = min;
- this.maximum = max;
- this.unit = unit;
- this.default = defaultVal;
- this.valTable = valTable;
-
- }
- public name: string;
- public size: number;
- public byteOrder: boolean; // true: little, false: big
- public valueType: boolean; // true: signed, false: unsigned
- public factor: number;
- public offset: number;
- public minimum: number;
- public maximum: number;
- public unit: string;
- public default: number;
- public valTable: string; // name of valtable
-}
-
-export class SignalGroup{
- public constructor(){
- this.messageId = 0;
- this.name = "";
- this.repetitions = 0;
- this.signals = [];
- }
- public messageId: number;
- public name: string;
- public repetitions: number;
- public signals: string[];
-}
-
-export interface BitTiming{
- baudRate: number,
- register_1: number,
- register_2: number
-};
-
-export class Attribute{
- public constructor(name: string,
- objectType: number,
- value: any){
- this.name = name;
- this.type = objectType;
- this.value = value;
- }
- public name: string;
- public type: number;
- public value: any;
-}
-
-export class Database{
- public constructor(){
- this.messages = new Map();
- this.valTables = new Map();
- this.version = "";
- this.symbols = [];
- this.parseErrors = [];
- this.bitTiming = {
- baudRate: -1,
- register_1: -1,
- register_2: -1
- };
- this.nodes = new Map();
- this.environmentVariables = new Map();
- this.signalTypes = new Map();
- this.comment = "";
- this.attrDefs = new Map();
- this.attributes = new Map();
- }
-
- public messages: Map;
- public version: string;
- public symbols: string[];
- public parseErrors: DBCError[];
- public bitTiming: BitTiming;
- public valTables: Map;
- public nodes: Map;
- public environmentVariables: Map;
- public signalTypes: Map;
- public comment: string;
- public attrDefs: Map;
- public attributes: Map;
-}
-
-//----------------------
-
-export class Node{
- public constructor(name: string){
- this.name = name;
- this.comment = "";
- this.attributes = new Map();
- }
-
- public name: string;
- public comment: string;
- public attributes: Map;
-}
-
-export class ValTable{
- public constructor(name: string){
- this.name = name;
- this.descriptions = new Map();
- }
- public name: string;
- public descriptions: Map;
-}
-
-export class ValueType{
- public constructor(type: number){
- this.type = type;
- this.min = 0;
- this.max = 0;
- this.enumVals = [];
- }
- public type: number;
- public min: number;
- public max: number;
- public enumVals: string[];
-}
-
-export class AttributeDef{
- public constructor(name: string, objType: number, valType: ValueType){
- this.name = name;
- this.objType = objType;
- this.valType = valType;
- }
- public name: string;
- public objType: number;
- public valType: ValueType;
-}
diff --git a/server/src/index.ts b/server/src/index.ts
index 521a335..0ade834 100644
--- a/server/src/index.ts
+++ b/server/src/index.ts
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2021 Landon Harris
+ * Copyright (C) 2022 Landon Harris
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; version 2.
@@ -12,7 +12,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
-*/
+ */
+
+import { DBCServer } from './langServer'
import {
createConnection,
@@ -20,13 +22,12 @@ import {
InitializeParams,
ProposedFeatures,
InitializeResult,
- TextDocumentSyncKind
-} from 'vscode-languageserver'
+ TextDocumentSyncKind,
+} from 'vscode-languageserver/node'
-import DBCServer from './server'
let connection: Connection = createConnection(ProposedFeatures.all);
-let hasWorkspaceFolderCapability: boolean = false;
+let hasWorkspaceFolderCapability: boolean = true;
let server: DBCServer;
connection.onInitialize((params: InitializeParams): InitializeResult =>{
@@ -34,15 +35,14 @@ connection.onInitialize((params: InitializeParams): InitializeResult =>{
// initialize the dbc server
server = DBCServer.initialize(connection, params);
-
const result: InitializeResult = {
capabilities: {
- textDocumentSync: TextDocumentSyncKind.Incremental,
+ textDocumentSync: TextDocumentSyncKind.Full
// Tell the client that this server supports code completion.
- completionProvider: {
- resolveProvider: true
- }
+ // completionProvider: {
+ // resolveProvider: false
+ // }
}
}
@@ -61,4 +61,11 @@ connection.onInitialized(() =>{
server.register();
})
+connection.onShutdown(() =>{
+ // server.unregister();
+})
+
+connection.onDidChangeTextDocument(() => {
+})
+
connection.listen();
diff --git a/server/src/server.ts b/server/src/langServer.ts
similarity index 62%
rename from server/src/server.ts
rename to server/src/langServer.ts
index 72378de..e36205b 100644
--- a/server/src/server.ts
+++ b/server/src/langServer.ts
@@ -17,26 +17,23 @@
import {
Connection,
TextDocuments,
- Diagnostic,
- DiagnosticSeverity,
InitializeParams,
DidChangeConfigurationNotification,
- CompletionItem,
- CompletionItemKind,
- TextDocumentPositionParams,
DidChangeWatchedFilesParams,
WorkspaceFoldersChangeEvent,
TextDocumentChangeEvent,
- DidChangeConfigurationParams
+ DidChangeConfigurationParams,
+ DidChangeTextDocumentParams,
+ DidCloseTextDocumentParams
} from 'vscode-languageserver';
import {
TextDocument
} from 'vscode-languageserver-textdocument';
-import { resolve } from 'vscode-languageserver/lib/files';
import { DBCParser } from './parser';
import LanguageSettings from './settings';
+
// create connection for the server
interface serverCapabilities{
@@ -45,9 +42,26 @@ interface serverCapabilities{
diagnosticInformation: boolean
}
-export default class DBCServer{
- public static initialize(con: Connection, params: InitializeParams): DBCServer{
- // create analyser here too
+export class DBCServer {
+
+ public static initialize(con: Connection, params: InitializeParams){
+ return new DBCServer(con, params);
+ }
+
+ private capabilities: serverCapabilities;
+
+ private documents: TextDocuments = new TextDocuments(TextDocument);
+ private connection: Connection;
+ // private analyzer;
+ private defaultSettings: LanguageSettings;
+ private globalSettings: LanguageSettings;
+
+ private documentSettings: Map>;
+
+ private parser: DBCParser;
+ private working: boolean;
+
+ private constructor(con: Connection, params: InitializeParams){
let capabilities = params.capabilities;
let hasConfigurationCapability: boolean = !!(capabilities.workspace && !!capabilities.workspace.configuration);
@@ -63,28 +77,14 @@ export default class DBCServer{
workspaceFolder: hasWorkspaceFolderCapability,
diagnosticInformation: hasDiagnosticRelatedInformationCapability
}
- return new DBCServer(con, caps);
- }
- private capabilities: serverCapabilities;
-
- private documents: TextDocuments = new TextDocuments(TextDocument);
- private connection: Connection;
- // private analyzer;
- private defaultSettings: LanguageSettings;
- private globalSettings: LanguageSettings;
-
- private documentSettings: Map>;
-
- private parser: DBCParser;
-
- private constructor(con: Connection, caps: serverCapabilities){
this.capabilities = caps;
this.connection = con;
this.defaultSettings = {silenceMapWarnings: false};
this.globalSettings = this.defaultSettings;
this.documentSettings = new Map();
this.parser = new DBCParser(con);
+ this.working = false;
}
public register(): void{
@@ -94,36 +94,51 @@ export default class DBCServer{
this.connection.client.register(DidChangeConfigurationNotification.type, undefined);
}
- if(this.capabilities.workspaceFolder){
- this.connection.workspace.onDidChangeWorkspaceFolders(this.workspaceChange.bind(this));
- }
-
- this.connection.onDidChangeWatchedFiles(this.onWatchFileChange.bind(this));
+ this.connection.onDidChangeTextDocument((change: DidChangeTextDocumentParams)=>{
+ if(this.working) return; // really this should stop the current parse job but that's difficult so...this works.
+ this.working = true;
+ this.getDocumentSettings(change.textDocument.uri).then((settings) =>{
+ this.parser.addConfig(settings);
+
+ this.parser.parse(change.contentChanges[0].text, change.textDocument.uri);
+ this.working = false;
+ });
+ });
- this.documents.onDidClose(this.onDocumentClose.bind(this));
- this.documents.onDidChangeContent(this.onDocumentChange.bind(this));
+ this.documents.onDidClose((event: TextDocumentChangeEvent) => {
+ this.documentSettings.delete(event.document.uri);
+ });
+
- // apparently this can't be a function?
- this.connection.onDidChangeConfiguration((change: DidChangeConfigurationParams) =>{
- this.globalSettings = {
- silenceMapWarnings: change.settings.dbc.silenceMapWarnings
- }
+ // this.connection.onDidChangeConfiguration((change: DidChangeConfigurationParams) =>{
+ // console.debug("config change", change);
+ // this.globalSettings = {
+ // silenceMapWarnings: change.settings.dbc.silenceMapWarnings
+ // }
- this.parser.addConfig(this.globalSettings);
- // recheck all files
- this.documents.all().forEach((doc) =>{
- this.parser.clearDiag(doc.uri);
- this.parser.parse(doc.getText(), doc.uri);
+ // this.parser.addConfig(this.globalSettings);
+ // // recheck all files
+ // this.documents.all().forEach((doc) =>{
+ // this.parser.clearDiag(doc.uri);
+ // this.parser.parse(doc.getText(), doc.uri);
+ // });
+ // });
+
+ this.connection.onNotification("dbc/parseRequest", (uri: string) => {
+ // console.log("force parse");
+ this.getDocumentSettings(uri).then((settings) =>{
+ this.parser.addConfig(settings);
+ var text = this.documents.get(uri)?.getText();
+ if(text === undefined){
+ return;
+ }
+ this.parser.parse(text, uri, true);
});
});
- }
-
- private onWatchFileChange(change: DidChangeWatchedFilesParams){
- console.log('watched files change event received');
- }
-
- private workspaceChange(event: WorkspaceFoldersChangeEvent){
- console.log('workspace folder change event received');
+
+ this.connection.onDidCloseTextDocument((params: DidCloseTextDocumentParams) => {
+ this.connection.sendNotification("dbc/closeFile", params.textDocument.uri);
+ });
}
private getDocumentSettings(uri: string): Thenable {
@@ -143,15 +158,4 @@ export default class DBCServer{
}
}
- private onDocumentClose(e: TextDocumentChangeEvent){
- this.documentSettings.delete(e.document.uri);
- }
-
- private async onDocumentChange(change: TextDocumentChangeEvent){
- this.getDocumentSettings(change.document.uri).then((settings) =>{
- this.parser.addConfig(settings);
- console.log(settings);
- this.parser.parse(change.document.getText(), change.document.uri);
- });
- }
}
diff --git a/server/src/parser.ts b/server/src/parser.ts
index 0c0dd94..4181d12 100644
--- a/server/src/parser.ts
+++ b/server/src/parser.ts
@@ -15,65 +15,74 @@
*/
-import { Parser } from 'jison';
+import { Parser, Generator } from 'jison';
var Lexer = require('jison-lex'); // this is probably bad
import { fstat, readFileSync, writeFileSync } from 'fs';
import { resolve } from 'path';
-import { ParsedUrlQuery } from 'querystring';
-import { Connection, Diagnostic, DiagnosticSeverity } from 'vscode-languageserver';
-import { TextDocument } from 'vscode-languageserver-textdocument';
-import { DBCError } from "./errors";
+
+import { Connection, Diagnostic, DiagnosticSeverity } from 'vscode-languageserver/node';
import LanguageSettings from './settings';
+import { encodeDb, DBCError, Database } from 'dbclib';
export class DBCParser {
// private database: Database;
private tokens: string;
private lexicon: string;
private connection: Connection;
- private lexer;
+ // private lexer;
private lastContents: string;
private silenceMap: boolean;
public constructor(connection: Connection){
this.tokens = readFileSync(resolve(__dirname,"..","dbc.jison"), "utf8");
this.lexicon = readFileSync(resolve(__dirname,"..","dbc.lex"), "utf8");
- this.lexer = new Lexer(this.lexicon);
+ // this.lexer = new Lexer(this.lexicon);
+
this.connection = connection;
this.lastContents = "";
this.silenceMap = false;
}
- public parse(contents: string, uri: string){
- console.log(this.silenceMap);
+ public parse(contents: string, uri: string, force: boolean = false){
/* create a new parser to clear the context within
* the parser itself. */
var parser = new Parser(this.tokens);
- parser.lexer = this.lexer;
+ // this.lexer.
+ parser.lexer = new Lexer(this.lexicon);
+ if(contents == this.lastContents && !force){
+ console.debug("parse elided...content unchanged");
+ return;
+ }
+ let parseResult: Database;
try {
- var parseResult = parser.parse(contents);
- this.lastContents = contents;
-
- if(parseResult.parseErrors.length != 0){
- this.sendCustomParseError(uri, parseResult.parseErrors);
- }else{
- this.clearDiag(uri);
- }
- // if no error
- console.log(parseResult);
-
+ parseResult = parser.parse(contents);
} catch (e) {
- console.log(e);
try{
this.sendDiag(e, uri);
}catch(_){
this.sendBadLine(e, uri);
}finally{
// debug value
- console.log("Error: ", JSON.stringify(e));
+ console.error("Parse Error: ", JSON.stringify(e));
+ parser = null;
+ return; // don't have a valid result to send to vscode
}
}
+ parser = null;
+
+ this.lastContents = contents;
+
+ if(parseResult.parseErrors.length != 0){
+ this.sendCustomParseError(uri, parseResult.parseErrors);
+ }else{
+ this.clearDiag(uri);
+ }
+ // if no error
+ parseResult.fileName = uri; // we send the uri into the fileName field so we can decode it on the client side
+ var toSend = encodeDb(parseResult);
+ this.connection.sendNotification("dbc/fileParsed", toSend);
}
// send errors to vscode
diff --git a/server/tsconfig.json b/server/tsconfig.json
index adcaadc..a793a5d 100644
--- a/server/tsconfig.json
+++ b/server/tsconfig.json
@@ -1,7 +1,7 @@
{
"compilerOptions": {
- "target": "es2019",
- "lib": ["ES2019"],
+ "target": "es2015",
+ "lib": ["ES2015", "dom"],
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
diff --git a/server/webpack.config.js b/server/webpack.config.js
new file mode 100644
index 0000000..1ad7027
--- /dev/null
+++ b/server/webpack.config.js
@@ -0,0 +1,43 @@
+//@ts-check
+
+'use strict';
+
+const path = require('path');
+
+/**@type {import('webpack').Configuration}*/
+const config = {
+ target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/
+
+ entry: './out/index.js', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/
+ output: {
+ // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/
+ path: path.resolve(__dirname, 'dist'),
+ filename: 'serverPack.js',
+ libraryTarget: 'commonjs2'
+ },
+ devtool: 'source-map',
+ externals: {
+ vscode: 'commonjs vscode' // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/
+ },
+ resolve: {
+ // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader
+ extensions: ['.ts', '.js']
+ },
+ module: {
+ rules: [
+ {
+ exclude: /node_modules/,
+ // use: [
+ // {
+ // loader: 'ts-loader',
+ // options:
+ // {
+ // configFile:"tsconfig.json"
+ // }
+ // }
+ // ]
+ }
+ ]
+ }
+};
+module.exports = config;
diff --git a/src/dbcLang.yml b/syntaxSrc/dbcLang.yml
similarity index 100%
rename from src/dbcLang.yml
rename to syntaxSrc/dbcLang.yml
diff --git a/src/snippets.yml b/syntaxSrc/snippets.yml
similarity index 100%
rename from src/snippets.yml
rename to syntaxSrc/snippets.yml
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 8ef9317..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "compilerOptions": {
- "module": "commonjs",
- "target": "es2019",
- "lib": ["ES2019"],
- "outDir": "out",
- "rootDir": "src",
- "sourceMap": true
- },
- "include": [
- "src"
- ],
- "exclude": [
- "node_modules",
- ".vscode-test"
- ],
- "references": [
- { "path": "./client" },
- { "path": "./server" }
- ]
-}